Thread (27 messages) 27 messages, 9 authors, 2021-07-28

Re: [RFC PATH 2/2] gpio: starfive-jh7100: Add StarFive JH7100 GPIO driver

From: Matti Vaittinen <mazziesaccount@gmail.com>
Date: 2021-07-05 14:33:23
Also in: linux-devicetree, linux-riscv, lkml

Hi deee Ho Drew, Michael, All

On Mon, 2021-07-05 at 15:29 +0200, Michael Walle wrote:
Hi Drew,

Am 2021-07-02 23:06, schrieb Drew Fustini:
quoted
On Fri, Jul 02, 2021 at 07:03:19PM +0300, Andy Shevchenko wrote:
quoted
On Thu, Jul 1, 2021 at 3:23 AM Drew Fustini <drew@beagleboard.org
quoted
wrote:
quoted
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@esmil.dk>
Signed-off-by: Huan Feng <redacted>
Signed-off-by: Drew Fustini <redacted>
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?
quoted
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.
regmap_irq_type".
If you're lucky, you can just supply the corresponding values that
fits
your hardware.
I added some level IRQ type-configuration support to regmap_irq back
when I wrote the BD70528 support. You should be able to just fill the
bit-mask indicating IRQ types supported by your GPIO controller
hardware, and then the corresponding type register values. As far as I
remember the supported types and values are given "per IRQ". If my
memory serves me right there was a limitation that the regmap-IRQ does
not distinguish setup where GPIO controller supports rising and falling
edges - but not both. That would have required adding another type
flag.
 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.
The BD70528 has not been used too much and is scheduled for removal. It
may have received only limited testing but it *should* be functional
though.

Best Regards
	Matti Vaittinen
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help