[RFC PATH 2/2] gpio: starfive-jh7100: Add StarFive JH7100 GPIO driver
Michael Walle
michael at walle.cc
Mon Jul 5 06:29:35 PDT 2021
Hi Drew,
Am 2021-07-02 23:06, schrieb Drew Fustini:
> On Fri, Jul 02, 2021 at 07:03:19PM +0300, Andy Shevchenko wrote:
>> On Thu, Jul 1, 2021 at 3:23 AM Drew Fustini <drew at beagleboard.org>
>> wrote:
>> >
>> > 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 at esmil.dk>
>> > Signed-off-by: Huan Feng <huan.feng at starfivetech.com>
>> > Signed-off-by: Drew Fustini <drew at beagleboard.org>
>>
>> Seems some Co-developed-by are missing.
>
> Thank you for suggesting this. Huan Feng originally wrote the driver.
> Emil and I have made some changes to reorganize and clean it up for
> submission.
>
> Do you think all three of us should list Co-developed-by: for our names
> in addition to the SOB?
>
>> Brief look into the code brings the Q. Can't you utilize gpio-regmap
>> here? Why not?
>
> Michael Walle asked about this yesterday and it was my first time
> looking at regmap and gpio-regmap. I've been reading the code and it
> does look like I should try convert this driver over to using
> gpio-regmap.
>
> The open question in my mind is how to handle the interrupt type (edge
> trigged on positive or negative, level triggered on high or low).
> Hopefully I can find some other examples that can help me think about
> how to do that correctly.
Have a look at include/linux/regmap.h, there is "struct
regmap_irq_type".
If you're lucky, you can just supply the corresponding values that fits
your hardware. If it doesn't match your hardware at all, then you can
keep your own functions, or if its slightly different, then maybe you
can add support for your quirk in regmap-irq. You don't necessarily have
to use regmap-irq together with gpio-regmap. You can also just use
regmap-irq or gpio-regmap independently.
A quick grep for "type_rising_" lists drivers/mfd/max77650.c and
drivers/mfd/rohm-bd70528.c for example.
-michael
More information about the linux-riscv
mailing list