Skip to contentSkip to conversation

FAILED: patch "[PATCH] gpiolib: acpi: Add ACPI_GPIO_QUIRK_ABSOLUTE_NUMBER quirk" failed to apply to 5.4-stable tree

PATCH [email protected] 2 participants 6 messages Mar 11, 2021 – Mar 12, 2021

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 5.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From 62d5247d239d4b48762192a251c647d7c997616a Mon Sep 17 00:00:00 2001
From: Andy Shevchenko <[email protected]>
Date: Thu, 25 Feb 2021 18:33:18 +0200
Subject: [PATCH] gpiolib: acpi: Add ACPI_GPIO_QUIRK_ABSOLUTE_NUMBER quirk

On some systems the ACPI tables has wrong pin number and instead of having a relative one it provides an absolute one in the global GPIO number space.

Add ACPI_GPIO_QUIRK_ABSOLUTE_NUMBER quirk to cope with such cases.

Fixes ba8c90c61847 ("gpio: pca953x: Override IRQ for one of the expanders on Galileo Gen 2")

Depends-on: 0ea683931adb ("gpio: dwapb: Convert driver to using the GPIO-lib-based IRQ-chip")

drivers/gpio/gpiolib-acpi.c +6 -1
index 86efa2d9bf7f..0fa0127d50ec 100644
@@ -677,6 +677,7 @@ static int acpi_populate_gpio_lookup(struct acpi_resource *ares, void *data)
 	if (!lookup->desc) {
 		const struct acpi_resource_gpio *agpio = &ares->data.gpio;
 		bool gpioint = agpio->connection_type == ACPI_RESOURCE_GPIO_TYPE_INT;
+		struct gpio_desc *desc;
 		u16 pin_index;
 
 		if (lookup->info.quirks & ACPI_GPIO_QUIRK_ONLY_GPIOIO && gpioint)
@@ -689,8 +690,12 @@ static int acpi_populate_gpio_lookup(struct acpi_resource *ares, void *data)
 		if (pin_index >= agpio->pin_table_length)
 			return 1;
 
-		lookup->desc = acpi_get_gpiod(agpio->resource_source.string_ptr,
+		if (lookup->info.quirks & ACPI_GPIO_QUIRK_ABSOLUTE_NUMBER)
+			desc = gpio_to_desc(agpio->pin_table[pin_index]);
+		else
+			desc = acpi_get_gpiod(agpio->resource_source.string_ptr,
 					      agpio->pin_table[pin_index]);
+		lookup->desc = desc;
 		lookup->info.pin_config = agpio->pin_config;
 		lookup->info.debounce = agpio->debounce_timeout;
 		lookup->info.gpioint = gpioint;
include/linux/gpio/consumer.h +2 -0
index ef49307611d2..c73b25bc9213 100644
@@ -674,6 +674,8 @@ struct acpi_gpio_mapping {
  * get GpioIo type explicitly, this quirk may be used.
  */
 #define ACPI_GPIO_QUIRK_ONLY_GPIOIO		BIT(1)
+/* Use given pin as an absolute GPIO number in the system */
+#define ACPI_GPIO_QUIRK_ABSOLUTE_NUMBER		BIT(2)
 
 	unsigned int quirks;
 };
#1 lore raw
Quoted 5 lines · On Thu, Mar 11, 2021 at 07:12:55PM +0100, [email protected] wrote:

The patch below does not apply to the 5.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

No need for v5.4.

Please, also drop gpio-pca953x-set-irq-type-when-handle-intel-galileo-gen-2.patch gpiolib-acpi-allow-to-find-gpioint-resource-by-name-and-index.patch

from 5.4-stable queue, thanks!

Signature · 2 lines
With Best Regards,
Andy Shevchenko
author maintainer
#2 lore raw
Quoted 7 lines · Andy Shevchenko
Quoted 5 lines · On Thu, Mar 11, 2021 at 07:12:55PM +0100, [email protected] wrote:

The patch below does not apply to the 5.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

Quoted 7 lines

No need for v5.4.

Please, also drop gpio-pca953x-set-irq-type-when-handle-intel-galileo-gen-2.patch gpiolib-acpi-allow-to-find-gpioint-resource-by-name-and-index.patch

from 5.4-stable queue, thanks!

Why? If you look at the first commit above, it says:

Fixes ba8c90c61847 ("gpio: pca953x: Override IRQ for one of the expanders on Galileo Gen 2")

which is in the 5.4.52 kernel release. So why shouldn't it go there?

Same goes for the gpiolib-acpi-allow-to-find-gpioint-resource-by-name-and-index.patch patch.

Is your marking of the "Fixes:" tags incorrect somehow?

confused,

greg k-h

#3 lore raw
Quoted 21 lines · Greg KH
Quoted 7 lines · Andy Shevchenko
Quoted 5 lines · On Thu, Mar 11, 2021 at 07:12:55PM +0100, [email protected] wrote:

The patch below does not apply to the 5.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

Quoted 7 lines

No need for v5.4.

Please, also drop gpio-pca953x-set-irq-type-when-handle-intel-galileo-gen-2.patch gpiolib-acpi-allow-to-find-gpioint-resource-by-name-and-index.patch

from 5.4-stable queue, thanks!

Why? If you look at the first commit above, it says:

Fixes ba8c90c61847 ("gpio: pca953x: Override IRQ for one of the expanders on Galileo Gen 2")

which is in the 5.4.52 kernel release. So why shouldn't it go there?

Quoted 7 lines

Same goes for the gpiolib-acpi-allow-to-find-gpioint-resource-by-name-and-index.patch patch.

Is your marking of the "Fixes:" tags incorrect somehow?

confused,

It has also Depends-on which points out that the regression only visible when that commit is in the tree.

If you want to see them in v5.4, I can backport the series.

Signature · 2 lines
With Best Regards,
Andy Shevchenko
#4 lore raw
Quoted 26 lines · Andy Shevchenko
Quoted 25 lines · Greg KH
Quoted 7 lines · Andy Shevchenko
Quoted 5 lines · On Thu, Mar 11, 2021 at 07:12:55PM +0100, [email protected] wrote:

The patch below does not apply to the 5.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

Quoted 7 lines

No need for v5.4.

Please, also drop gpio-pca953x-set-irq-type-when-handle-intel-galileo-gen-2.patch gpiolib-acpi-allow-to-find-gpioint-resource-by-name-and-index.patch

from 5.4-stable queue, thanks!

Why? If you look at the first commit above, it says:

Fixes ba8c90c61847 ("gpio: pca953x: Override IRQ for one of the expanders on Galileo Gen 2")

which is in the 5.4.52 kernel release. So why shouldn't it go there?

Same goes for the gpiolib-acpi-allow-to-find-gpioint-resource-by-name-and-index.patch patch.

Quoted 8 lines
Quoted 3 lines

Is your marking of the "Fixes:" tags incorrect somehow?

confused,

It has also Depends-on which points out that the regression only visible when that commit is in the tree.

If you want to see them in v5.4, I can backport the series.

Since the other two in your queue, you may try to use this one, which I have sent for v5.10.y, but it seems good enough for v5.4.

https://lore.kernel.org/stable/[email protected]/T/#u

Thanks!

Signature · 2 lines
With Best Regards,
Andy Shevchenko
author maintainer
#5 lore raw
Quoted 34 lines · Andy Shevchenko
Quoted 33 lines · Andy Shevchenko
Quoted 21 lines · Greg KH
Quoted 7 lines · Andy Shevchenko
Quoted 5 lines · On Thu, Mar 11, 2021 at 07:12:55PM +0100, [email protected] wrote:

The patch below does not apply to the 5.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

Quoted 7 lines

No need for v5.4.

Please, also drop gpio-pca953x-set-irq-type-when-handle-intel-galileo-gen-2.patch gpiolib-acpi-allow-to-find-gpioint-resource-by-name-and-index.patch

from 5.4-stable queue, thanks!

Why? If you look at the first commit above, it says:

Fixes ba8c90c61847 ("gpio: pca953x: Override IRQ for one of the expanders on Galileo Gen 2")

which is in the 5.4.52 kernel release. So why shouldn't it go there?

Quoted 7 lines

Same goes for the gpiolib-acpi-allow-to-find-gpioint-resource-by-name-and-index.patch patch.

Is your marking of the "Fixes:" tags incorrect somehow?

confused,

It has also Depends-on which points out that the regression only visible when that commit is in the tree.

Quoted 6 lines
Quoted 1 line

If you want to see them in v5.4, I can backport the series.

Since the other two in your queue, you may try to use this one, which I have sent for v5.10.y, but it seems good enough for v5.4.

https://lore.kernel.org/stable/[email protected]/T/#u

Ok, this looks to not make sense for 5.4.y, so I've dropped all of the gpiolib patches from there, and fixed up the 5.10.y ones, so we should be all good now.

thanks,

greg k-h