From: Greg Kroah-Hartman Date: Mon, 13 Jun 2022 09:14:13 +0000 (+0200) Subject: drop platform-finally-disallow-irq0-in-platform_get_irq-a.patch from everywhere X-Git-Tag: v4.9.318~34 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=dec3c2c9c2bccd68c9d6ded59e54db484856f32e;p=thirdparty%2Fkernel%2Fstable-queue.git drop platform-finally-disallow-irq0-in-platform_get_irq-a.patch from everywhere --- diff --git a/queue-5.10/platform-finally-disallow-irq0-in-platform_get_irq-a.patch b/queue-5.10/platform-finally-disallow-irq0-in-platform_get_irq-a.patch deleted file mode 100644 index 6ba9648b9cf..00000000000 --- a/queue-5.10/platform-finally-disallow-irq0-in-platform_get_irq-a.patch +++ /dev/null @@ -1,55 +0,0 @@ -From f774747a385caf5dca7e9c779ba82873c11159a8 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 11 Mar 2022 22:35:29 +0300 -Subject: platform: finally disallow IRQ0 in platform_get_irq() and its ilk - -From: Sergey Shtylyov - -[ Upstream commit ce753ad1549cbe9ccaea4c06a1f5fa47432c8289 ] - -The commit a85a6c86c25b ("driver core: platform: Clarify that IRQ 0 is -invalid") only calls WARN() when IRQ0 is about to be returned, however -using IRQ0 is considered invalid (according to Linus) outside the arch/ -code where it's used by the i8253 drivers. Many driver subsystems treat -0 specially (e.g. as an indication of the polling mode by libata), so -the users of platform_get_irq[_byname]() in them would have to filter -out IRQ0 explicitly and this (quite obviously) doesn't scale... -Let's finally get this straight and return -EINVAL instead of IRQ0! - -Fixes: a85a6c86c25b ("driver core: platform: Clarify that IRQ 0 is invalid") -Acked-by: Marc Zyngier -Signed-off-by: Sergey Shtylyov -Link: https://lore.kernel.org/r/025679e1-1f0a-ae4b-4369-01164f691511@omp.ru -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Sasha Levin ---- - drivers/base/platform.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/drivers/base/platform.c b/drivers/base/platform.c -index 88aef93eb4dd..ad9ef67df7ad 100644 ---- a/drivers/base/platform.c -+++ b/drivers/base/platform.c -@@ -235,7 +235,8 @@ int platform_get_irq_optional(struct platform_device *dev, unsigned int num) - ret = -ENXIO; - #endif - out: -- WARN(ret == 0, "0 is an invalid IRQ number\n"); -+ if (WARN(!ret, "0 is an invalid IRQ number\n")) -+ return -EINVAL; - return ret; - } - EXPORT_SYMBOL_GPL(platform_get_irq_optional); -@@ -328,7 +329,8 @@ static int __platform_get_irq_byname(struct platform_device *dev, - - r = platform_get_resource_byname(dev, IORESOURCE_IRQ, name); - if (r) { -- WARN(r->start == 0, "0 is an invalid IRQ number\n"); -+ if (WARN(!r->start, "0 is an invalid IRQ number\n")) -+ return -EINVAL; - return r->start; - } - --- -2.35.1 - diff --git a/queue-5.15/platform-finally-disallow-irq0-in-platform_get_irq-a.patch b/queue-5.15/platform-finally-disallow-irq0-in-platform_get_irq-a.patch deleted file mode 100644 index ca2d0ad18d4..00000000000 --- a/queue-5.15/platform-finally-disallow-irq0-in-platform_get_irq-a.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 94ed149cab47d752cadb9fb64792f90b39da8af3 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 11 Mar 2022 22:35:29 +0300 -Subject: platform: finally disallow IRQ0 in platform_get_irq() and its ilk - -From: Sergey Shtylyov - -[ Upstream commit ce753ad1549cbe9ccaea4c06a1f5fa47432c8289 ] - -The commit a85a6c86c25b ("driver core: platform: Clarify that IRQ 0 is -invalid") only calls WARN() when IRQ0 is about to be returned, however -using IRQ0 is considered invalid (according to Linus) outside the arch/ -code where it's used by the i8253 drivers. Many driver subsystems treat -0 specially (e.g. as an indication of the polling mode by libata), so -the users of platform_get_irq[_byname]() in them would have to filter -out IRQ0 explicitly and this (quite obviously) doesn't scale... -Let's finally get this straight and return -EINVAL instead of IRQ0! - -Fixes: a85a6c86c25b ("driver core: platform: Clarify that IRQ 0 is invalid") -Acked-by: Marc Zyngier -Signed-off-by: Sergey Shtylyov -Link: https://lore.kernel.org/r/025679e1-1f0a-ae4b-4369-01164f691511@omp.ru -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Sasha Levin ---- - drivers/base/platform.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/drivers/base/platform.c b/drivers/base/platform.c -index 652531f67135..dd208430aadc 100644 ---- a/drivers/base/platform.c -+++ b/drivers/base/platform.c -@@ -231,7 +231,8 @@ int platform_get_irq_optional(struct platform_device *dev, unsigned int num) - out_not_found: - ret = -ENXIO; - out: -- WARN(ret == 0, "0 is an invalid IRQ number\n"); -+ if (WARN(!ret, "0 is an invalid IRQ number\n")) -+ return -EINVAL; - return ret; - } - EXPORT_SYMBOL_GPL(platform_get_irq_optional); -@@ -445,7 +446,8 @@ static int __platform_get_irq_byname(struct platform_device *dev, - - r = platform_get_resource_byname(dev, IORESOURCE_IRQ, name); - if (r) { -- WARN(r->start == 0, "0 is an invalid IRQ number\n"); -+ if (WARN(!r->start, "0 is an invalid IRQ number\n")) -+ return -EINVAL; - return r->start; - } - --- -2.35.1 - diff --git a/queue-5.17/platform-finally-disallow-irq0-in-platform_get_irq-a.patch b/queue-5.17/platform-finally-disallow-irq0-in-platform_get_irq-a.patch deleted file mode 100644 index 92350eed2b9..00000000000 --- a/queue-5.17/platform-finally-disallow-irq0-in-platform_get_irq-a.patch +++ /dev/null @@ -1,55 +0,0 @@ -From fc32121eed7d2ef5aae923d1f0e6f8ee762e8c8c Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 11 Mar 2022 22:35:29 +0300 -Subject: platform: finally disallow IRQ0 in platform_get_irq() and its ilk - -From: Sergey Shtylyov - -[ Upstream commit ce753ad1549cbe9ccaea4c06a1f5fa47432c8289 ] - -The commit a85a6c86c25b ("driver core: platform: Clarify that IRQ 0 is -invalid") only calls WARN() when IRQ0 is about to be returned, however -using IRQ0 is considered invalid (according to Linus) outside the arch/ -code where it's used by the i8253 drivers. Many driver subsystems treat -0 specially (e.g. as an indication of the polling mode by libata), so -the users of platform_get_irq[_byname]() in them would have to filter -out IRQ0 explicitly and this (quite obviously) doesn't scale... -Let's finally get this straight and return -EINVAL instead of IRQ0! - -Fixes: a85a6c86c25b ("driver core: platform: Clarify that IRQ 0 is invalid") -Acked-by: Marc Zyngier -Signed-off-by: Sergey Shtylyov -Link: https://lore.kernel.org/r/025679e1-1f0a-ae4b-4369-01164f691511@omp.ru -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Sasha Levin ---- - drivers/base/platform.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/drivers/base/platform.c b/drivers/base/platform.c -index 6cb04ac48bf0..d7e14363e417 100644 ---- a/drivers/base/platform.c -+++ b/drivers/base/platform.c -@@ -231,7 +231,8 @@ int platform_get_irq_optional(struct platform_device *dev, unsigned int num) - out_not_found: - ret = -ENXIO; - out: -- WARN(ret == 0, "0 is an invalid IRQ number\n"); -+ if (WARN(!ret, "0 is an invalid IRQ number\n")) -+ return -EINVAL; - return ret; - } - EXPORT_SYMBOL_GPL(platform_get_irq_optional); -@@ -446,7 +447,8 @@ static int __platform_get_irq_byname(struct platform_device *dev, - - r = platform_get_resource_byname(dev, IORESOURCE_IRQ, name); - if (r) { -- WARN(r->start == 0, "0 is an invalid IRQ number\n"); -+ if (WARN(!r->start, "0 is an invalid IRQ number\n")) -+ return -EINVAL; - return r->start; - } - --- -2.35.1 - diff --git a/queue-5.18/platform-finally-disallow-irq0-in-platform_get_irq-a.patch b/queue-5.18/platform-finally-disallow-irq0-in-platform_get_irq-a.patch deleted file mode 100644 index 3cfc0afd8e3..00000000000 --- a/queue-5.18/platform-finally-disallow-irq0-in-platform_get_irq-a.patch +++ /dev/null @@ -1,55 +0,0 @@ -From dabc818457ed941db86f911c1fed9fd94fa0d56f Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 11 Mar 2022 22:35:29 +0300 -Subject: platform: finally disallow IRQ0 in platform_get_irq() and its ilk - -From: Sergey Shtylyov - -[ Upstream commit ce753ad1549cbe9ccaea4c06a1f5fa47432c8289 ] - -The commit a85a6c86c25b ("driver core: platform: Clarify that IRQ 0 is -invalid") only calls WARN() when IRQ0 is about to be returned, however -using IRQ0 is considered invalid (according to Linus) outside the arch/ -code where it's used by the i8253 drivers. Many driver subsystems treat -0 specially (e.g. as an indication of the polling mode by libata), so -the users of platform_get_irq[_byname]() in them would have to filter -out IRQ0 explicitly and this (quite obviously) doesn't scale... -Let's finally get this straight and return -EINVAL instead of IRQ0! - -Fixes: a85a6c86c25b ("driver core: platform: Clarify that IRQ 0 is invalid") -Acked-by: Marc Zyngier -Signed-off-by: Sergey Shtylyov -Link: https://lore.kernel.org/r/025679e1-1f0a-ae4b-4369-01164f691511@omp.ru -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Sasha Levin ---- - drivers/base/platform.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/drivers/base/platform.c b/drivers/base/platform.c -index 8cc272fd5c99..7d08cd8947be 100644 ---- a/drivers/base/platform.c -+++ b/drivers/base/platform.c -@@ -231,7 +231,8 @@ int platform_get_irq_optional(struct platform_device *dev, unsigned int num) - out_not_found: - ret = -ENXIO; - out: -- WARN(ret == 0, "0 is an invalid IRQ number\n"); -+ if (WARN(!ret, "0 is an invalid IRQ number\n")) -+ return -EINVAL; - return ret; - } - EXPORT_SYMBOL_GPL(platform_get_irq_optional); -@@ -446,7 +447,8 @@ static int __platform_get_irq_byname(struct platform_device *dev, - - r = platform_get_resource_byname(dev, IORESOURCE_IRQ, name); - if (r) { -- WARN(r->start == 0, "0 is an invalid IRQ number\n"); -+ if (WARN(!r->start, "0 is an invalid IRQ number\n")) -+ return -EINVAL; - return r->start; - } - --- -2.35.1 -