Re: [PATCH v3] gpio: UniPhier: add driver for UniPhier GPIO controller

From: Linus Walleij
Date: Thu May 26 2016 - 05:06:56 EST

On Fri, May 20, 2016 at 6:30 AM, Masahiro Yamada
<yamada.masahiro@xxxxxxxxxxxxx> wrote:

> So, I'd like to know the recommended driver coding style
> based on 4.7-rc1.

Sure, best is to look at other recently added drivers
I guess.

> Diving into the git-log so far, I came up the following list:
> [1] The "dev" member of gpiochip was renamed to "parent"


> [2] The most recommended register function is now
> devm_gpiochip_add_data()

Yes, saves some code.

> [3] Pass the driver private data to the
> 3rd argument of devm_gpiochip_add_data().


> [4] Do not use container_of() to covert
> from gpiochip to driver private data.
> Instead, gpiochip_get_data() should be used.


> (I used of_mm_gpio_chip in v3,
> but I needed to use container_of() to
> convert from gpiochip to of_mm_gpio_chip.
> I am wondering if you are happy with it or not.)

We will see when we look at the code ;)
I guess it is OK. The alternative is to use gpio-generic instead,
see commit 42178e2a1e42b480ada954750f248b53d3fb5940
"drivers/gpio: Switch gpio-mpc8xxx to use gpio-generic"
for an example of that approach.

> [5] gpiochip.owner is being deprecated.
> So, platform drivers need not set
> "gpiochip.owner = THIS_MODULE".


> Correct?


> Is there anything else missing?

I advice to add a .get_direction() callback if possible and
also .set_single_ended() if the GPIO chip supports open
drain / open source in hardware.

Linus Walleij