Re: [PATCH v3 2/5] gpio: gxp: Add HPE GXP GPIO

From: Hawkins, Nick
Date: Wed Jun 07 2023 - 12:08:06 EST


> > > Why are you not using gpio-regmap?
> >
> > Is there are good example or previous commit you would recommend
> > looking at that shows how to convert from regmap to gpio-regmap?
> > Later in the code I am using regmap_read and regmap_update_bits
> > with large differences in offset registers, and not so much a
> > contiguous block.


> I don't know how good these are, but that's what we have currently as
> most prominent use of gpio-regmap


> 1) (ongoing) https://lore.kernel.org/linux-gpio/20230606092107.764621-6-jiawenwu@xxxxxxxxxxxxxx <mailto:20230606092107.764621-6-jiawenwu@xxxxxxxxxxxxxx>/
> 2) (in the repo)
> https://elixir.bootlin.com/linux/v6.4-rc4/source/drivers/gpio/gpio-i8255.c <https://elixir.bootlin.com/linux/v6.4-rc4/source/drivers/gpio/gpio-i8255.c>
> 3) (in the repo)
> https://elixir.bootlin.com/linux/v6.4-rc4/source/drivers/gpio/gpio-104-idi-48.c <https://elixir.bootlin.com/linux/v6.4-rc4/source/drivers/gpio/gpio-104-idi-48.c>


> 2) & 3) were converted, so you may see by executing respective `git
> log -p -- drivers/gpio/...`.

Greetings Andy,

Thank you for those links, I have observed the gpio_regmap code
they have implemented in that case. It appears that the regmap
code is opening the entire range of memory to be read. For my
particular purpose I am not wanting to expose all the 0-0xff byte
range of the GPIOs. In my case is it still necessary to use the
gpio_regmap code?

If gpio_regmap is required, how do I create a direct correlation
between a specific gpio-line and a register offset? For example, in
gpio-gxp-pl.c. Gpio-line at offset 0 (IOPLED) is at register 0x04. The
gpio-line at offset 8 (FAN_INST) is at register 0x27.

Additionally, is it required to remove gpio_chip if gpio_regmap is
used?

Thank you for the assistance,

-Nick Hawkins