Hi Drew,
Am 2021-07-01 22:33, schrieb Drew Fustini:
On Thu, Jul 01, 2021 at 08:39:40AM +0200, Michael Walle wrote:
Hi Drew,
Am 2021-07-01 02:20, schrieb Drew Fustini:
> Add GPIO driver for the StarFive JH7100 SoC [1] used on the
> BeagleV Starlight JH7100 board [2].
>
> [1] https://github.com/starfive-tech/beaglev_doc/
> [2] https://github.com/beagleboard/beaglev-starlight
>
> Signed-off-by: Emil Renner Berthing <kernel@xxxxxxxx>
> Signed-off-by: Huan Feng <huan.feng@xxxxxxxxxxxxxxxx>
> Signed-off-by: Drew Fustini <drew@xxxxxxxxxxxxxxx>
Could this driver use GPIO_REGMAP and REGMAP_IRQ? See
drivers/gpio/gpio-sl28cpld.c for an example.
-michael
Thank you for the suggestion. I am not familiar with GPIO_REGMAP and
REGMAP_IRQ so I will read about it. Is the advantage is that is helps
to reduce code duplication by using an abstraction?
Yes, I've looked briefly at your patch and it seemed that GPIO_REGMAP
might fit here which will reduce code.
I did notice that the gpio-sifive.c driver used regmap_update_bits()
and
regmap_write().
I suppose that is better than writel_relaxed() and iowrite32() which
this RFC driver does?
Its just another abstraction layer in between. For MMIO it will also
end up using some variant of the above (see regmap-mmio.c). But if you
use regmap, you can also use REGMAP_IRQ which might also be a fit
for your GPIO controller and thus don't have to implement your own
versions for the irq_chip ops.
-michael