[PATCH v8 5/7] PCI: Allow pci_bus_for_each_resource() to take less arguments

2023-03-30 Thread Andy Shevchenko
Refactor pci_bus_for_each_resource() in the same way as it's done in pci_dev_for_each_resource() case. This will allow to hide iterator inside the loop, where it's not used otherwise. No functional changes intended. Signed-off-by: Andy Shevchenko Reviewed-by: Krzysztof Wilczyński Reviewed

[PATCH v8 6/7] EISA: Convert to use less arguments in pci_bus_for_each_resource()

2023-03-30 Thread Andy Shevchenko
The pci_bus_for_each_resource() can hide the iterator loop since it may be not used otherwise. With this, we may drop that iterator variable definition. Signed-off-by: Andy Shevchenko Reviewed-by: Krzysztof Wilczyński Reviewed-by: Philippe Mathieu-Daudé --- drivers/eisa/pci_eisa.c | 4 ++-- 1

[PATCH v8 4/7] PCI: Document pci_bus_for_each_resource() to avoid confusion

2023-03-30 Thread Andy Shevchenko
There might be a confusion with the implementation of the pci_bus_for_each_resources() due to side effect of Logical OR. Document entire macro and explain how it works and why the conditional needs to be like that. Signed-off-by: Andy Shevchenko --- include/linux/pci.h | 20

[PATCH v8 3/7] PCI: Introduce pci_dev_for_each_resource()

2023-03-30 Thread Andy Shevchenko
. Suggested-by: Andy Shevchenko Signed-off-by: Mika Westerberg Signed-off-by: Andy Shevchenko Reviewed-by: Krzysztof Wilczyński --- .clang-format | 1 + arch/alpha/kernel/pci.c | 5 ++-- arch/arm/kernel/bios32.c | 16 ++--- arch

[PATCH v8 1/7] kernel.h: Split out COUNT_ARGS() and CONCATENATE()

2023-03-30 Thread Andy Shevchenko
kernel.h is being used as a dump for all kinds of stuff for a long time. The COUNT_ARGS() and CONCATENATE() macros may be used in some places without need of the full kernel.h dependency train with it. Here is the attempt on cleaning it up by splitting out these macros(). Signed-off-by: Andy

[PATCH v8 2/7] PCI: Introduce pci_resource_n()

2023-03-30 Thread Andy Shevchenko
Introduce pci_resource_n() and replace open-coded implementations of it in pci.h. Signed-off-by: Andy Shevchenko Reviewed-by: Philippe Mathieu-Daudé --- include/linux/pci.h | 15 +++ 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/include/linux/pci.h b/include/linux

[PATCH v8 0/7] Add pci_dev_for_each_resource() helper and update users

2023-03-30 Thread Andy Shevchenko
to pcmcia patch (Dominik) Changelog v2: - refactor to have two macros - refactor existing pci_bus_for_each_resource() in the same way and convert users Andy Shevchenko (6): kernel.h: Split out COUNT_ARGS() and CONCATENATE() PCI: Introduce pci_resource_n() PCI: Document pci_bus_for_each_resource

Re: [PATCH v7 3/6] PCI: Allow pci_bus_for_each_resource() to take less arguments

2023-03-30 Thread Andy Shevchenko
d671ebbaebfc2 ("[PATCH v7 3/6] PCI: Allow > pci_bus_for_each_resource() to take less arguments") > url: > https://github.com/intel-lab-lkp/linux/commits/Andy-Shevchenko/kernel-h-Split-out-COUNT_ARGS-and-CONCATENATE/20230324-013857 > base: https://git.kernel.org/cgit/

Re: [PATCH v7 6/6] PCI: Make use of pci_resource_n()

2023-03-24 Thread Andy Shevchenko
On Fri, Mar 24, 2023 at 10:08:39AM +0100, Philippe Mathieu-Daudé wrote: > On 23/3/23 18:36, Andy Shevchenko wrote: > > Replace open-coded implementations of pci_resource_n() in pci.h. ... > > #define pci_resource_n(dev, bar) (&(dev)->resource[(bar)]) > > -#define

Re: [PATCH v7 4/6] EISA: Convert to use less arguments in pci_bus_for_each_resource()

2023-03-24 Thread Andy Shevchenko
On Fri, Mar 24, 2023 at 10:02:15AM +0100, Philippe Mathieu-Daudé wrote: > On 23/3/23 18:36, Andy Shevchenko wrote: > > The pci_bus_for_each_resource() can hide the iterator loop since > > it may be not used otherwise. With this, we may drop that iterator > > variable defini

[PATCH v7 5/6] pcmcia: Convert to use less arguments in pci_bus_for_each_resource()

2023-03-23 Thread Andy Shevchenko
The pci_bus_for_each_resource() can hide the iterator loop since it may be not used otherwise. With this, we may drop that iterator variable definition. Signed-off-by: Andy Shevchenko Reviewed-by: Krzysztof Wilczyński Acked-by: Dominik Brodowski --- drivers/pcmcia/rsrc_nonstatic.c | 9

[PATCH v7 6/6] PCI: Make use of pci_resource_n()

2023-03-23 Thread Andy Shevchenko
Replace open-coded implementations of pci_resource_n() in pci.h. Signed-off-by: Andy Shevchenko --- include/linux/pci.h | 14 ++ 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/include/linux/pci.h b/include/linux/pci.h index 70a4684d5f26..9539cf63fe5e 100644

[PATCH v7 3/6] PCI: Allow pci_bus_for_each_resource() to take less arguments

2023-03-23 Thread Andy Shevchenko
Refactor pci_bus_for_each_resource() in the same way as it's done in pci_dev_for_each_resource() case. This will allow to hide iterator inside the loop, where it's not used otherwise. No functional changes intended. Signed-off-by: Andy Shevchenko Reviewed-by: Krzysztof Wilczyński --- drivers

[PATCH v7 0/6] Add pci_dev_for_each_resource() helper and update users

2023-03-23 Thread Andy Shevchenko
by Mika, see above - added tag to pcmcia patch (Dominik) Changelog v2: - refactor to have two macros - refactor existing pci_bus_for_each_resource() in the same way and convert users Andy Shevchenko (5): kernel.h: Split out COUNT_ARGS() and CONCATENATE() PCI: Allow pci_bus_for_each_resource

[PATCH v7 2/6] PCI: Introduce pci_dev_for_each_resource()

2023-03-23 Thread Andy Shevchenko
. Suggested-by: Andy Shevchenko Signed-off-by: Mika Westerberg Signed-off-by: Andy Shevchenko Reviewed-by: Krzysztof Wilczyński --- .clang-format | 1 + arch/alpha/kernel/pci.c | 5 ++-- arch/arm/kernel/bios32.c | 16 ++--- arch

[PATCH v7 4/6] EISA: Convert to use less arguments in pci_bus_for_each_resource()

2023-03-23 Thread Andy Shevchenko
The pci_bus_for_each_resource() can hide the iterator loop since it may be not used otherwise. With this, we may drop that iterator variable definition. Signed-off-by: Andy Shevchenko Reviewed-by: Krzysztof Wilczyński --- drivers/eisa/pci_eisa.c | 4 ++-- 1 file changed, 2 insertions(+), 2

[PATCH v7 1/6] kernel.h: Split out COUNT_ARGS() and CONCATENATE()

2023-03-23 Thread Andy Shevchenko
kernel.h is being used as a dump for all kinds of stuff for a long time. The COUNT_ARGS() and CONCATENATE() macros may be used in some places without need of the full kernel.h dependency train with it. Here is the attempt on cleaning it up by splitting out these macros(). Signed-off-by: Andy

Re: [PATCH v6 1/4] PCI: Introduce pci_dev_for_each_resource()

2023-03-23 Thread Andy Shevchenko
On Thu, Mar 23, 2023 at 10:02:38AM -0500, Bjorn Helgaas wrote: > On Thu, Mar 23, 2023 at 04:30:01PM +0200, Andy Shevchenko wrote: ... > I poked around looking for similar patterns elsewhere with: > > git grep "#define.*for_each_.*_p(" > git grep "#define.*f

Re: [PATCH v6 1/4] PCI: Introduce pci_dev_for_each_resource()

2023-03-23 Thread Andy Shevchenko
On Wed, Mar 22, 2023 at 02:28:04PM -0500, Bjorn Helgaas wrote: > On Mon, Mar 20, 2023 at 03:16:30PM +0200, Andy Shevchenko wrote: ... > > + pci_dev_for_each_resource_p(dev, r) { > > /* zap the 2nd function of the winbond chip */ > > - if (d

[PATCH v6 3/4] EISA: Convert to use pci_bus_for_each_resource_p()

2023-03-20 Thread Andy Shevchenko
The pci_bus_for_each_resource_p() hides the iterator loop since it may be not used otherwise. With this, we may drop that iterator variable definition. Signed-off-by: Andy Shevchenko Reviewed-by: Krzysztof Wilczyński --- drivers/eisa/pci_eisa.c | 4 ++-- 1 file changed, 2 insertions(+), 2

[PATCH v6 0/4] Add pci_dev_for_each_resource() helper and update users

2023-03-20 Thread Andy Shevchenko
existing pci_bus_for_each_resource() in the same way and convert users Andy Shevchenko (3): PCI: Split pci_bus_for_each_resource_p() out of pci_bus_for_each_resource() EISA: Convert to use pci_bus_for_each_resource_p() pcmcia: Convert to use pci_bus_for_each_resource_p() Mika Westerberg

[PATCH v6 4/4] pcmcia: Convert to use pci_bus_for_each_resource_p()

2023-03-20 Thread Andy Shevchenko
The pci_bus_for_each_resource_p() hides the iterator loop since it may be not used otherwise. With this, we may drop that iterator variable definition. Signed-off-by: Andy Shevchenko Reviewed-by: Krzysztof Wilczyński Acked-by: Dominik Brodowski --- drivers/pcmcia/rsrc_nonstatic.c | 9

[PATCH v6 1/4] PCI: Introduce pci_dev_for_each_resource()

2023-03-20 Thread Andy Shevchenko
. Suggested-by: Andy Shevchenko Signed-off-by: Mika Westerberg Signed-off-by: Andy Shevchenko Reviewed-by: Krzysztof Wilczyński --- .clang-format | 2 ++ arch/alpha/kernel/pci.c | 5 ++-- arch/arm/kernel/bios32.c | 16

[PATCH v6 2/4] PCI: Split pci_bus_for_each_resource_p() out of pci_bus_for_each_resource()

2023-03-20 Thread Andy Shevchenko
Refactor pci_bus_for_each_resource() in the same way as it's done in pci_dev_for_each_resource() case. This will allow to hide iterator inside the loop, where it's not used otherwise. No functional changes intended. Signed-off-by: Andy Shevchenko Reviewed-by: Krzysztof Wilczyński --- .clang

[PATCH v5 1/4] PCI: Introduce pci_dev_for_each_resource()

2023-03-14 Thread Andy Shevchenko
. Suggested-by: Andy Shevchenko Signed-off-by: Mika Westerberg Signed-off-by: Andy Shevchenko Reviewed-by: Krzysztof Wilczyński --- .clang-format | 2 ++ arch/alpha/kernel/pci.c | 5 ++-- arch/arm/kernel/bios32.c | 16

[PATCH v5 3/4] EISA: Convert to use pci_bus_for_each_resource_p()

2023-03-14 Thread Andy Shevchenko
The pci_bus_for_each_resource_p() hides the iterator loop since it may be not used otherwise. With this, we may drop that iterator variable definition. Signed-off-by: Andy Shevchenko Reviewed-by: Krzysztof Wilczyński --- drivers/eisa/pci_eisa.c | 4 ++-- 1 file changed, 2 insertions(+), 2

[PATCH v5 2/4] PCI: Split pci_bus_for_each_resource_p() out of pci_bus_for_each_resource()

2023-03-14 Thread Andy Shevchenko
Refactor pci_bus_for_each_resource() in the same way as it's done in pci_dev_for_each_resource() case. This will allow to hide iterator inside the loop, where it's not used otherwise. No functional changes intended. Signed-off-by: Andy Shevchenko Reviewed-by: Krzysztof Wilczyński --- .clang

[PATCH v5 4/4] pcmcia: Convert to use pci_bus_for_each_resource_p()

2023-03-14 Thread Andy Shevchenko
The pci_bus_for_each_resource_p() hides the iterator loop since it may be not used otherwise. With this, we may drop that iterator variable definition. Signed-off-by: Andy Shevchenko Reviewed-by: Krzysztof Wilczyński Acked-by: Dominik Brodowski --- drivers/pcmcia/rsrc_nonstatic.c | 9

[PATCH v5 0/4] PCI: Add pci_dev_for_each_resource() helper and update users

2023-03-14 Thread Andy Shevchenko
and convert users Andy Shevchenko (3): PCI: Split pci_bus_for_each_resource_p() out of pci_bus_for_each_resource() EISA: Convert to use pci_bus_for_each_resource_p() pcmcia: Convert to use pci_bus_for_each_resource_p() Mika Westerberg (1): PCI: Introduce pci_dev_for_each_resource() .clang

Re: [PATCH v4 1/4] PCI: Introduce pci_dev_for_each_resource()

2023-03-14 Thread Andy Shevchenko
> > 059b4a086017fb Mika Westerberg 2023-03-10 249 > resource_size(r) == 0) > 0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 250 > continue; Thanks, I'll fix in v5. -- With Best Regards, Andy Shevchenko

Re: [PATCH v4 1/4] PCI: Introduce pci_dev_for_each_resource()

2023-03-14 Thread Andy Shevchenko
On Fri, Mar 10, 2023 at 03:15:38PM -0700, Keith Busch wrote: > On Fri, Mar 10, 2023 at 07:14:13PM +0200, Andy Shevchenko wrote: ... > > +#define pci_dev_for_each_resource_p(dev, res) > > \ > > + __pci_dev_for_each_resource(dev, res, i, unsign

[PATCH v4 1/4] PCI: Introduce pci_dev_for_each_resource()

2023-03-10 Thread Andy Shevchenko
. Suggested-by: Andy Shevchenko Signed-off-by: Mika Westerberg Signed-off-by: Andy Shevchenko Reviewed-by: Krzysztof Wilczyński --- .clang-format | 2 ++ arch/alpha/kernel/pci.c | 5 ++-- arch/arm/kernel/bios32.c | 16

[PATCH v4 4/4] pcmcia: Convert to use pci_bus_for_each_resource_p()

2023-03-10 Thread Andy Shevchenko
The pci_bus_for_each_resource_p() hides the iterator loop since it may be not used otherwise. With this, we may drop that iterator variable definition. Signed-off-by: Andy Shevchenko Reviewed-by: Krzysztof Wilczyński Acked-by: Dominik Brodowski --- drivers/pcmcia/rsrc_nonstatic.c | 9

[PATCH v4 3/4] EISA: Convert to use pci_bus_for_each_resource_p()

2023-03-10 Thread Andy Shevchenko
The pci_bus_for_each_resource_p() hides the iterator loop since it may be not used otherwise. With this, we may drop that iterator variable definition. Signed-off-by: Andy Shevchenko Reviewed-by: Krzysztof Wilczyński --- drivers/eisa/pci_eisa.c | 4 ++-- 1 file changed, 2 insertions(+), 2

[PATCH v4 0/4] PCI: Add pci_dev_for_each_resource() helper and update users

2023-03-10 Thread Andy Shevchenko
above - added tag to pcmcia patch (Dominik) Changelog v2: - refactor to have two macros - refactor existing pci_bus_for_each_resource() in the same way and convert users Andy Shevchenko (3): PCI: Split pci_bus_for_each_resource_p() out of pci_bus_for_each_resource() EISA: Convert to use

[PATCH v4 2/4] PCI: Split pci_bus_for_each_resource_p() out of pci_bus_for_each_resource()

2023-03-10 Thread Andy Shevchenko
Refactor pci_bus_for_each_resource() in the same way as it's done in pci_dev_for_each_resource() case. This will allow to hide iterator inside the loop, where it's not used otherwise. No functional changes intended. Signed-off-by: Andy Shevchenko Reviewed-by: Krzysztof Wilczyński --- .clang

Re: [PATCH v4 00/18] gpiolib cleanups

2023-02-15 Thread Andy Shevchenko
On Wed, Feb 15, 2023 at 04:52:29PM +0100, Bartosz Golaszewski wrote: > On Wed, Feb 8, 2023 at 6:34 PM Andy Shevchenko > wrote: > > > > These are some older patches Arnd did last year, rebased to > > linux-next-20230208. On top there are Andy's patches regarding >

Re: [PATCH v4 02/18] ARM: s3c24xx: Use the right include

2023-02-08 Thread Andy Shevchenko
On Wed, Feb 08, 2023 at 06:39:12PM +0100, Krzysztof Kozlowski wrote: > On 08/02/2023 18:33, Andy Shevchenko wrote: ... > It's not s3c24xx anymore, so subject prefix: > ARM: s3c64xx: Fixed locally, thanks. -- With Best Regards, Andy Shevchenko

[PATCH v4 18/18] gpiolib: Clean up headers

2023-02-08 Thread Andy Shevchenko
There is a few things done: - include only the headers we are direct user of - when pointer is in use, provide a forward declaration - add missing headers - group generic headers and subsystem headers - sort each group alphabetically Signed-off-by: Andy Shevchenko --- drivers/gpio/gpiolib

[PATCH v4 13/18] gpio: reg: Add missing header(s)

2023-02-08 Thread Andy Shevchenko
Do not imply that some of the generic headers may be always included. Instead, include explicitly what we are direct user of. While at it, split out the GPIO group of headers. Signed-off-by: Andy Shevchenko --- drivers/gpio/gpio-reg.c | 12 ++-- 1 file changed, 10 insertions(+), 2

[PATCH v4 15/18] gpiolib: Drop unused forward declaration from driver.h

2023-02-08 Thread Andy Shevchenko
There is no struct device_node pointers anywhere in the header, drop unused forward declaration. Signed-off-by: Andy Shevchenko --- include/linux/gpio/driver.h | 1 - 1 file changed, 1 deletion(-) diff --git a/include/linux/gpio/driver.h b/include/linux/gpio/driver.h index ccd8a512d854

[PATCH v4 12/18] gpio: aggregator: Add missing header(s)

2023-02-08 Thread Andy Shevchenko
Do not imply that some of the generic headers may be always included. Instead, include explicitly what we are direct user of. While at it, drop unused linux/gpio.h and split out the GPIO group of headers. Signed-off-by: Andy Shevchenko Reviewed-by: Geert Uytterhoeven --- drivers/gpio/gpio

[PATCH v4 10/18] gpiolib: split linux/gpio/driver.h out of linux/gpio.h

2023-02-08 Thread Andy Shevchenko
From: Arnd Bergmann Almost all gpio drivers include linux/gpio/driver.h, and other files should not rely on includes from this header. Remove the indirect include from here and include the correct headers directly from where they are used. Reviewed-by: Andy Shevchenko Signed-off-by: Arnd

[PATCH v4 08/18] gpiolib: remove gpio_set_debounce()

2023-02-08 Thread Andy Shevchenko
From: Arnd Bergmann gpio_set_debounce() only has a single user, which is trivially converted to gpiod_set_debounce(). Signed-off-by: Arnd Bergmann Reviewed-by: Linus Walleij Reviewed-by: Andy Shevchenko Signed-off-by: Andy Shevchenko --- Documentation/driver-api/gpio/legacy.rst

[PATCH v4 17/18] gpiolib: Group forward declarations in consumer.h

2023-02-08 Thread Andy Shevchenko
For better maintenance group the forward declarations together. Signed-off-by: Andy Shevchenko --- include/linux/gpio/consumer.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/include/linux/gpio/consumer.h b/include/linux/gpio/consumer.h index a7eb8aa1e54c..5432e5d5fbfb

[PATCH v4 05/18] gpiolib: remove empty asm/gpio.h files

2023-02-08 Thread Andy Shevchenko
as the only gpio driver that needs something custom for gpiolib. Reviewed-by: Geert Uytterhoeven Reviewed-by: Andy Shevchenko Acked-by: Bartosz Golaszewski Signed-off-by: Arnd Bergmann Reviewed-by: Linus Walleij Signed-off-by: Andy Shevchenko Reviewed-by: Vincenzo Palazzo --- arch/arm/Kconfig

[PATCH v4 16/18] gpiolib: Deduplicate forward declarations in consumer.h

2023-02-08 Thread Andy Shevchenko
The struct fwnode_handle pointer is used in both branches of ifdeffery, no need to have a copy of the same in each of them, just make it global. Signed-off-by: Andy Shevchenko --- include/linux/gpio/consumer.h | 7 +-- 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/include

[PATCH v4 03/18] hte: tegra-194: Use proper includes

2023-02-08 Thread Andy Shevchenko
) and sort the headers. Signed-off-by: Linus Walleij Signed-off-by: Andy Shevchenko --- drivers/hte/hte-tegra194-test.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/hte/hte-tegra194-test.c b/drivers/hte/hte-tegra194-test.c index 5d776a185bd6..358d4a10c6a1

[PATCH v4 00/18] gpiolib cleanups

2023-02-08 Thread Andy Shevchenko
was merged - rebase on latest gpio tree - leave unused gpio_cansleep() in place for now - address feedback from Andy Shevchenko Andy Shevchenko (7): gpio: aggregator: Add missing header(s) gpio: reg: Add missing header(s) gpio: regmap: Add missing header(s) gpiolib: Drop unused forward

[PATCH v4 02/18] ARM: s3c24xx: Use the right include

2023-02-08 Thread Andy Shevchenko
From: Linus Walleij The file s3c64xx.c is including despite using no symbols from the file, however it needs it to implicitly bring in of_have_populated_dt() so include explicitly instead. Signed-off-by: Linus Walleij Signed-off-by: Andy Shevchenko --- arch/arm/mach-s3c/s3c64xx.c | 2 +- 1

[PATCH v4 11/18] gpiolib: split of_mm_gpio_chip out of linux/of_gpio.h

2023-02-08 Thread Andy Shevchenko
From: Arnd Bergmann This is a rarely used feature that has nothing to do with the client-side of_gpio.h. Split it out with a separate header file and Kconfig option so it can be removed on its own timeline aside from removing the of_gpio consumer interfaces. Reviewed-by: Andy Shevchenko

[PATCH v4 14/18] gpio: regmap: Add missing header(s)

2023-02-08 Thread Andy Shevchenko
Do not imply that some of the generic headers may be always included. Instead, include explicitly what we are direct user of. While at it, split out the GPIO group of headers. Signed-off-by: Andy Shevchenko --- drivers/gpio/gpio-regmap.c | 12 +--- 1 file changed, 9 insertions(+), 3

[PATCH v4 09/18] gpiolib: remove legacy gpio_export()

2023-02-08 Thread Andy Shevchenko
From: Arnd Bergmann There are only a handful of users of gpio_export() and related functions. As these are just wrappers around the modern gpiod_export() helper, remove the wrappers and open-code the gpio_to_desc in all callers to shrink the legacy API. Reviewed-by: Andy Shevchenko Signed-off

[PATCH v4 06/18] gpiolib: coldfire: remove custom asm/gpio.h

2023-02-08 Thread Andy Shevchenko
is even less useful, as it is guarded by an #ifdef that is never true. Reviewed-by: Geert Uytterhoeven Reviewed-by: Andy Shevchenko Acked-by: Bartosz Golaszewski Signed-off-by: Arnd Bergmann Reviewed-by: Linus Walleij Signed-off-by: Andy Shevchenko --- arch/m68k/Kconfig.cpu| 1

[PATCH v4 07/18] gpiolib: remove asm-generic/gpio.h

2023-02-08 Thread Andy Shevchenko
From: Arnd Bergmann The asm-generic/gpio.h file is now always included when using gpiolib, so just move its contents into linux/gpio.h with a few minor simplifications. Signed-off-by: Arnd Bergmann Reviewed-by: Linus Walleij Reviewed-by: Andy Shevchenko Signed-off-by: Andy Shevchenko

[PATCH v4 04/18] gpiolib: Make the legacy consumer-only

2023-02-08 Thread Andy Shevchenko
From: Linus Walleij The legacy header was an all-inclusive header used by drivers and consumers alike. After eliminating the last users of the driver defines, we can drop the inclusion of the header. Signed-off-by: Linus Walleij Signed-off-by: Andy Shevchenko --- include/asm-generic/gpio.h

[PATCH v4 01/18] ARM: orion/gpio: Use the right include

2023-02-08 Thread Andy Shevchenko
From: Linus Walleij This is a GPIO driver so include and not the legacy header. Switch a single call to the legacy API and use as well. Signed-off-by: Linus Walleij Signed-off-by: Andy Shevchenko --- arch/arm/plat-orion/gpio.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions

Re: [PATCH v3 06/12] gpiolib: split linux/gpio/driver.h out of linux/gpio.h

2023-02-08 Thread Andy Shevchenko
On Wed, Feb 08, 2023 at 12:55:06AM +0200, Andy Shevchenko wrote: > On Tue, Feb 07, 2023 at 03:55:23PM +0100, Linus Walleij wrote: > > On Tue, Feb 7, 2023 at 3:29 PM Andy Shevchenko > > wrote: > > > > > From: Arnd Bergmann > > > > > > Alm

Re: [PATCH v3 04/12] gpiolib: remove gpio_set_debounce

2023-02-07 Thread Andy Shevchenko
On Tue, Feb 07, 2023 at 01:32:01PM -0800, Dmitry Torokhov wrote: > On Tue, Feb 07, 2023 at 04:29:44PM +0200, Andy Shevchenko wrote: > > @@ -1010,14 +1009,21 @@ static int ads7846_setup_pendown(struct spi_device > > *spi, > > } > > > >

Re: [PATCH v3 06/12] gpiolib: split linux/gpio/driver.h out of linux/gpio.h

2023-02-07 Thread Andy Shevchenko
On Tue, Feb 07, 2023 at 03:55:23PM +0100, Linus Walleij wrote: > On Tue, Feb 7, 2023 at 3:29 PM Andy Shevchenko > wrote: > > > From: Arnd Bergmann > > > > Almost all gpio drivers include linux/gpio/driver.h, and other > > files should not rely on includes

[PATCH v3 12/12] gpiolib: Clean up headers

2023-02-07 Thread Andy Shevchenko
There is a few things done: - include only the headers we are direct user of - when pointer is in use, provide a forward declaration - add missing headers - group generic headers and subsystem headers - sort each group alphabetically Signed-off-by: Andy Shevchenko --- drivers/gpio/gpiolib

[PATCH v3 10/12] gpiolib: Deduplicate forward declarations in consumer.h

2023-02-07 Thread Andy Shevchenko
The struct fwnode_handle pointer is used in both branches of ifdeffery, no need to have a copy of the same in each of them, just make it global. Signed-off-by: Andy Shevchenko --- include/linux/gpio/consumer.h | 7 +-- 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/include

[PATCH v3 11/12] gpiolib: Group forward declarations in consumer.h

2023-02-07 Thread Andy Shevchenko
For better maintenance group the forward declarations together. Signed-off-by: Andy Shevchenko --- include/linux/gpio/consumer.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/include/linux/gpio/consumer.h b/include/linux/gpio/consumer.h index a7eb8aa1e54c..5432e5d5fbfb

[PATCH v3 09/12] gpiolib: Drop unused forward declaration from driver.h

2023-02-07 Thread Andy Shevchenko
There is no struct device_node pointers anywhere in the header, drop unused forward declaration. Signed-off-by: Andy Shevchenko --- include/linux/gpio/driver.h | 1 - 1 file changed, 1 deletion(-) diff --git a/include/linux/gpio/driver.h b/include/linux/gpio/driver.h index ccd8a512d854

[PATCH v3 08/12] gpio: aggregator: Add missing header(s)

2023-02-07 Thread Andy Shevchenko
Do not imply that some of the generic headers may be always included. Instead, include explicitly what we are direct user of. Signed-off-by: Andy Shevchenko --- drivers/gpio/gpio-aggregator.c | 9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/gpio/gpio

[PATCH v3 07/12] gpiolib: split of_mm_gpio_chip out of linux/of_gpio.h

2023-02-07 Thread Andy Shevchenko
From: Arnd Bergmann This is a rarely used feature that has nothing to do with the client-side of_gpio.h. Split it out with a separate header file and Kconfig option so it can be removed on its own timeline aside from removing the of_gpio consumer interfaces. Reviewed-by: Andy Shevchenko

[PATCH v3 06/12] gpiolib: split linux/gpio/driver.h out of linux/gpio.h

2023-02-07 Thread Andy Shevchenko
From: Arnd Bergmann Almost all gpio drivers include linux/gpio/driver.h, and other files should not rely on includes from this header. Remove the indirect include from here and include the correct headers directly from where they are used. Reviewed-by: Andy Shevchenko Signed-off-by: Arnd

[PATCH v3 05/12] gpiolib: remove legacy gpio_export

2023-02-07 Thread Andy Shevchenko
From: Arnd Bergmann There are only a handful of users of gpio_export() and related functions. As these are just wrappers around the modern gpiod_export() helper, remove the wrappers and open-code the gpio_to_desc in all callers to shrink the legacy API. Reviewed-by: Andy Shevchenko Signed-off

[PATCH v3 04/12] gpiolib: remove gpio_set_debounce

2023-02-07 Thread Andy Shevchenko
From: Arnd Bergmann gpio_set_debounce() only has a single user, which is trivially converted to gpiod_set_debounce(). Signed-off-by: Arnd Bergmann Reviewed-by: Linus Walleij Reviewed-by: Andy Shevchenko Signed-off-by: Andy Shevchenko --- Documentation/driver-api/gpio/legacy.rst | 2

[PATCH v3 03/12] gpiolib: remove asm-generic/gpio.h

2023-02-07 Thread Andy Shevchenko
From: Arnd Bergmann The asm-generic/gpio.h file is now always included when using gpiolib, so just move its contents into linux/gpio.h with a few minor simplifications. Signed-off-by: Arnd Bergmann Reviewed-by: Linus Walleij Reviewed-by: Andy Shevchenko Signed-off-by: Andy Shevchenko

[PATCH v3 01/12] gpiolib: remove empty asm/gpio.h files

2023-02-07 Thread Andy Shevchenko
as the only gpio driver that needs something custom for gpiolib. Reviewed-by: Geert Uytterhoeven Reviewed-by: Andy Shevchenko Acked-by: Bartosz Golaszewski Signed-off-by: Arnd Bergmann Reviewed-by: Linus Walleij Signed-off-by: Andy Shevchenko --- arch/arm/Kconfig| 1 - arch

[PATCH v3 00/12] gpiolib cleanups

2023-02-07 Thread Andy Shevchenko
for now - address feedback from Andy Shevchenko Andy Shevchenko (5): gpio: aggregator: Add missing header(s) gpiolib: Drop unused forward declaration from driver.h gpiolib: Deduplicate forward declarations in consumer.h gpiolib: Group forward declarations in consumer.h gpiolib: Clean up

[PATCH v3 02/12] gpiolib: coldfire: remove custom asm/gpio.h

2023-02-07 Thread Andy Shevchenko
is even less useful, as it is guarded by an #ifdef that is never true. Reviewed-by: Geert Uytterhoeven Reviewed-by: Andy Shevchenko Acked-by: Bartosz Golaszewski Signed-off-by: Arnd Bergmann Reviewed-by: Linus Walleij Signed-off-by: Andy Shevchenko --- arch/m68k/Kconfig.cpu| 1

Re: [Intel-gfx] [RFC DO NOT MERGE] treewide: use __xchg in most obvious places

2023-01-10 Thread Andy Shevchenko
On Tue, Jan 10, 2023 at 01:46:37PM +0100, Andrzej Hajda wrote: > On 10.01.2023 12:07, Andy Shevchenko wrote: > > On Tue, Jan 10, 2023 at 11:53:06AM +0100, Andrzej Hajda wrote: ... > > > + return __xchg(_chain->p_prod_elem, > > > + (void

Re: [RFC DO NOT MERGE] treewide: use __xchg in most obvious places

2023-01-10 Thread Andy Shevchenko
return __xchg(_chain->p_prod_elem, > + (void *)(((u8 *)p_chain->p_prod_elem) + > p_chain->elem_size)); Wondering if you still need a (void *) casting after the change. Ditto for the rest of similar cases. > } ... Btw, is it done by coccinelle? If no, why not providing the script? -- With Best Regards, Andy Shevchenko

Re: [PATCH 10/15] staging: fbtft: core: Introduce backlight_is_blank()

2023-01-09 Thread Andy Shevchenko
set_value(par->gpio.led[0], polarity); ? -- With Best Regards, Andy Shevchenko

Re: [PATCH 09/15] staging: fbtft: fb_ssd1351.c: Introduce backlight_is_blank()

2023-01-09 Thread Andy Shevchenko
pped - it was only used for debug. > Signed-off-by: Sam Ravnborg > Cc: Stephen Kitt > Cc: Greg Kroah-Hartman > Cc: Daniel Thompson > Cc: Andy Shevchenko > Cc: linux-fb...@vger.kernel.org Not sure why you have this (at least) explicitly mentioned as get_maintainer.pl ca

Re: [PATCH 18/19] linux/include: add non-atomic version of xchg

2022-12-22 Thread Andy Shevchenko
IW, Reviewed-by: Andy Shevchenko > Signed-off-by: Andrzej Hajda > --- > include/linux/non-atomic/xchg.h | 19 +++ > 1 file changed, 19 insertions(+) > create mode 100644 include/linux/non-atomic/xchg.h > > diff --git a/include/linux/non-atomic/xchg.h b/include/l

Re: [PATCH v2] soc: fsl: qe: request pins non-exclusively

2022-12-05 Thread Andy Shevchenko
e/qe.h > @@ -172,14 +172,15 @@ static inline int par_io_data_set(u8 port, u8 pin, u8 > val) { return -ENOSYS; } > /* > * Pin multiplexing functions. > */ > +struct device; > struct qe_pin; > #ifdef CONFIG_QE_GPIO > -extern struct qe_pin *qe_pin_request(struct device_node *np, int index); > +extern struct qe_pin *qe_pin_request(struct device *dev, int index); > extern void qe_pin_free(struct qe_pin *qe_pin); > extern void qe_pin_set_gpio(struct qe_pin *qe_pin); > extern void qe_pin_set_dedicated(struct qe_pin *pin); > #else > -static inline struct qe_pin *qe_pin_request(struct device_node *np, int > index) > +static inline struct qe_pin *qe_pin_request(struct device *dev, int index) > { > return ERR_PTR(-ENOSYS); > } > -- > 2.39.0.rc0.267.gcb52ba06e7-goog > > > -- > Dmitry -- With Best Regards, Andy Shevchenko

Re: [RESEND PATCH] soc: fsl: qe: request pins non-exclusively

2022-12-05 Thread Andy Shevchenko
ue to no reaction on the patch [1] from Freescale maintainers (*). Either soc subsystem can pull this [2] or your patch can go via pin control subsystem. *) Note, there is not Arnd's name nor soc mailing list in the MAINTAINERS regarding those files, so I had had no idea about the correct route of the change. [1]: https://lore.kernel.org/lkml/20221005152947.71696-1-andriy.shevche...@linux.intel.com/ [2]: https://lore.kernel.org/linux-gpio/y3yy%2fm0f%2frh0j...@black.fi.intel.com/ -- With Best Regards, Andy Shevchenko

Re: [PATCH 000/606] i2c: Complete conversion to i2c_probe_new

2022-11-26 Thread Andy Shevchenko
ight have dropped one... > > You could have done: > > H=$(git rev-parse @) > b4 am -P 49-190 20221118224540.619276-1-...@kleine-koenig.org > git am ... > git filter-branch -f --msg-filter "grep -v 'Signed-off-by: Jonathan'; > echo 'Reviewed-b

[PATCH v3 4/4] pcmcia: Convert to use pci_bus_for_each_resource_p()

2022-11-14 Thread Andy Shevchenko
The pci_bus_for_each_resource_p() hides the iterator loop since it may be not used otherwise. With this, we may drop that iterator variable definition. Signed-off-by: Andy Shevchenko Acked-by: Dominik Brodowski --- drivers/pcmcia/rsrc_nonstatic.c | 9 +++-- drivers/pcmcia/yenta_socket.c

[PATCH v3 1/4] PCI: Introduce pci_dev_for_each_resource()

2022-11-14 Thread Andy Shevchenko
. Suggested-by: Andy Shevchenko Signed-off-by: Mika Westerberg Signed-off-by: Andy Shevchenko --- .clang-format| 2 ++ arch/alpha/kernel/pci.c | 5 ++--- arch/arm/kernel/bios32.c | 16 +++- arch/mips/pci/pci-legacy.c | 3 +-- arch/powerpc

[PATCH v3 3/4] EISA: Convert to use pci_bus_for_each_resource_p()

2022-11-14 Thread Andy Shevchenko
The pci_bus_for_each_resource_p() hides the iterator loop since it may be not used otherwise. With this, we may drop that iterator variable definition. Signed-off-by: Andy Shevchenko --- drivers/eisa/pci_eisa.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/eisa

[PATCH v3 2/4] PCI: Split pci_bus_for_each_resource_p() out of pci_bus_for_each_resource()

2022-11-14 Thread Andy Shevchenko
Refactor pci_bus_for_each_resource() in the same way as it's done in pci_dev_for_each_resource() case. This will allow to hide iterator inside the loop, where it's not used otherwise. No functional changes intended. Signed-off-by: Andy Shevchenko --- .clang-format | 1

[PATCH v3 0/4] PCI: Add pci_dev_for_each_resource() helper and

2022-11-14 Thread Andy Shevchenko
...@linux.intel.com Changelog v3: - rebased on top of v2 by Mika, see above - added tag to pcmcia patch (Dominik) Changelog v2: - refactor to have two macros - refactor existing pci_bus_for_each_resource() in the same way and convert users Andy Shevchenko (3): PCI: Split

Re: [PATCH] soc: fsl: qe: request pins non-exclusively

2022-11-08 Thread Andy Shevchenko
hat patch into the SoC patch tracker (s...@kernel.org) > with a not to apply it directly, I suggest you do the same (or ask me > to sign it off and send it). It depends on the patch in my tree, which is in your tree as well. I guess you need to take or wait for v6.2-rc1. -- With Best Regards, Andy Shevchenko

Re: [PATCH v2 4/4] pcmcia: Convert to use pci_bus_for_each_resource_p()

2022-11-03 Thread Andy Shevchenko
sidering this is done, can you issue your conditional tag so I will > > > incorporate it in v3? > > > > No need, really. Again, unless Dominik thinks otherwise. > > Ah, thanks for the correction. Then v2 is perfectly fine. I'm fine with either, thanks! -- With Best Regards, Andy Shevchenko

Re: [PATCH v2 4/4] pcmcia: Convert to use pci_bus_for_each_resource_p()

2022-11-03 Thread Andy Shevchenko
dy - unless I am also reading > the current implementation wrong. But it wouldn't be harmful either. > That said, Dominik is the maintainer of PCMCIA driver, so his is the last > word, so to speak. :) > > > Considering this is done, can you issue your conditional tag so I will > > incorporate it in v3? > > No need, really. Again, unless Dominik thinks otherwise. I think that what is wanted to have to get his tag. Thanks for review, both of you, guys! -- With Best Regards, Andy Shevchenko

Re: [PATCH v2 4/4] pcmcia: Convert to use pci_bus_for_each_resource_p()

2022-11-03 Thread Andy Shevchenko
On Thu, Nov 03, 2022 at 06:25:45PM +0100, Dominik Brodowski wrote: > Am Thu, Nov 03, 2022 at 07:12:45PM +0200 schrieb Andy Shevchenko: > > On Thu, Nov 03, 2022 at 06:03:24PM +0100, Dominik Brodowski wrote: ... > > Considering this is done, can you issue your condi

Re: [PATCH v2 4/4] pcmcia: Convert to use pci_bus_for_each_resource_p()

2022-11-03 Thread Andy Shevchenko
On Thu, Nov 03, 2022 at 06:03:24PM +0100, Dominik Brodowski wrote: > Am Thu, Nov 03, 2022 at 06:46:44PM +0200 schrieb Andy Shevchenko: ... > > - > > - for (i = 0; i < PCI_BRIDGE_RESOURCE_NUM; i++) { > > - res = s->cb_dev->bus->resource[i]; > > -

[PATCH v2 1/4] PCI: Introduce pci_dev_for_each_resource()

2022-11-03 Thread Andy Shevchenko
. Suggested-by: Andy Shevchenko Signed-off-by: Mika Westerberg Signed-off-by: Andy Shevchenko --- .clang-format| 2 ++ arch/alpha/kernel/pci.c | 5 ++--- arch/arm/kernel/bios32.c | 16 +++- arch/mips/pci/pci-legacy.c | 3 +-- arch/powerpc

[PATCH v2 2/4] PCI: Split pci_bus_for_each_resource_p() out of pci_bus_for_each_resource()

2022-11-03 Thread Andy Shevchenko
Refactor pci_bus_for_each_resource() in the same way as it's done in pci_dev_for_each_resource() case. This will allow to hide iterator inside the loop, where it's not used otherwise. No functional changes intended. Signed-off-by: Andy Shevchenko --- .clang-format | 1

[PATCH v2 4/4] pcmcia: Convert to use pci_bus_for_each_resource_p()

2022-11-03 Thread Andy Shevchenko
The pci_bus_for_each_resource_p() hides the iterator loop since it may be not used otherwise. With this, we may drop that iterator variable definition. Signed-off-by: Andy Shevchenko --- drivers/pcmcia/rsrc_nonstatic.c | 9 +++-- drivers/pcmcia/yenta_socket.c | 3 +-- 2 files changed, 4

[PATCH v2 0/4] PCI: Add pci_dev_for_each_resource() helper and refactor bus one

2022-11-03 Thread Andy Shevchenko
-mika.westerb...@linux.intel.com/ Changelog v2: - refactor to have two macros - refactor existing pci_bus_for_each_resource() in the same way and convert users Andy Shevchenko (3): PCI: Split pci_bus_for_each_resource_p() out of pci_bus_for_each_resource() EISA: Convert to use

[PATCH v2 3/4] EISA: Convert to use pci_bus_for_each_resource_p()

2022-11-03 Thread Andy Shevchenko
The pci_bus_for_each_resource_p() hides the iterator loop since it may be not used otherwise. With this, we may drop that iterator variable definition. Signed-off-by: Andy Shevchenko --- drivers/eisa/pci_eisa.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/eisa

Re: [PATCH v2 0/2] gpiolib: more cleanups to get rid of of_node

2022-11-02 Thread Andy Shevchenko
On Fri, Oct 21, 2022 at 10:01:34PM +0300, Andy Shevchenko wrote: > On Wed, Oct 05, 2022 at 06:29:45PM +0300, Andy Shevchenko wrote: > > One more user outside of GPIO library and pin control folders needs > > to be updated to use fwnode instead of of_node. To make this easier > &g

Re: [PATCH v2 0/2] gpiolib: more cleanups to get rid of of_node

2022-10-21 Thread Andy Shevchenko
On Wed, Oct 05, 2022 at 06:29:45PM +0300, Andy Shevchenko wrote: > One more user outside of GPIO library and pin control folders needs > to be updated to use fwnode instead of of_node. To make this easier > introduce a helper in property.h and convert the user. > > Note, the helper

Re: [PATCH v4 2/6] treewide: use prandom_u32_max() when possible

2022-10-08 Thread Andy Shevchenko
ULT; > >> identifier FUNC; > >> @@ > >> > >> - (FUNC()@p & (LITERAL)) > >> + prandom_u32_max(RESULT) > > > >Oh that's pretty cool. I can do the saturation check in python, since > >`value` holds the parsed result. Neat. > > It is (at least how I have it here) just the string, so YMMV. ... > >Thanks a bunch for the guidance. > > Sure thing! I was pleased to figure out how to do the python bit. I believe it can be optimized -- With Best Regards, Andy Shevchenko

Re: [PATCH v1 1/5] treewide: use prandom_u32_max() when possible

2022-10-06 Thread Andy Shevchenko
; have a chance to flow through subsystem trees. +1 to all arguments for the splitting. I looked a bit into the code I have the interest to, but I won't spam people with not-so-important questions / comments / tags, etc. -- With Best Regards, Andy Shevchenko

<    1   2   3   4   5   >