Re: [PATCH v1 0/5] gpio: regmap: Make use of 'ngpios' property

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu Feb 13, 2025 at 8:48 PM CET, Andy Shevchenko wrote:
> It appears that regmap GPIO doesn't take into account 'ngpios' property
> and requires hard coded values or duplication of the parsing the same
> outside of GPIO library. This miniseries addresses that.
>
> For the record, I have checked all bgpio_init() users and haven't seen
> the suspicious code that this series might break, e.g., an equivalent of
> something like this:
>
> static int foo_probe(struct device *dev)
> {
> 	struct gpio_chip *gc = devm_kzalloc(...);
> 	struct fwnode_handle *fwnode = ...; // NOT dev_fwnode(dev)!
>
> 	...
> 	gc->parent = dev;
> 	gc->fwnode = fwnode;
>
> 	ret = bgpio_init(gc, dev, ...);
> 	...
> }
>
> Reported-by: Mathieu Dubois-Briand <mathieu.dubois-briand@xxxxxxxxxxx>
>
> Andy Shevchenko (5):
>   gpiolib: Extract gpiochip_choose_fwnode() for wider use
>   gpiolib: Use fwnode instead of device in gpiochip_get_ngpios()
>   gpio: regmap: Group optional assignments together for better
>     understanding
>   gpio: regmap: Move optional assignments down in the code
>   gpio: regmap: Allow ngpio to be read from the property
>
>  drivers/gpio/gpio-regmap.c  | 41 +++++++++++++++++++++----------------
>  drivers/gpio/gpiolib.c      | 27 ++++++++++++++++--------
>  include/linux/gpio/regmap.h |  4 ++--
>  3 files changed, 43 insertions(+), 29 deletions(-)

Hi Andy,

Thanks, I confirm I tested this series and it does fix my case: I can
leave the ngpio field uninitialized and its value will be correctly
retrieved from the "ngpios" property.

Also the whole series looks good to me.

-- 
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com






[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux