Re: [PATCH 0/5] i2c-mux-gpio: Split plat- and dt-specific code up

From: Peter Rosin
Date: Wed Apr 24 2019 - 17:25:34 EST


On 2019-04-24 14:34, Serge Semin wrote:
> The main idea of this patchset was to add the dt-based GPIOs support
> in i2c-mux-gpio driver. In particular we needed to have the full GPIOs
> specifier being handled including the dt-flags like GPIO_ACTIVE_HIGH,
> GPIO_ACTIVE_LOW, etc. Due to using a legacy GPIO interface the former
> driver implementation didn't provide this ability.

I'm curious why active low/high is of any importance? That will only affect
the state numbering, but I fail to see any relevance in that numbering. It's
just numbers, no?

If all the pins are inverted (anything else seems very strange), just
reverse the order. I.e. for a 4-way mux, use 3, 2, 1, 0 instead of
0, 1, 2, 3.

Why not?

Cheers,
Peter

> On the way of adding the full dt-GPIO flags support a small set of
> refactorings has been done in order to keep the platform_data-based
> systems support, make the code more readable and the alterations - clearer.
> In general the whole changes might be considered as the plat- and dt-
> specific code split up. In first patch we unpinned the platform-specific
> method of GPIO-chip probing. The second patch makes the driver to return
> an error if of-based (last resort path) failed to retrieve the driver
> private data. The next three patches is the sequence of initial channel
> info retrieval, platform_data-specific code isolation and finally full
> dt-based GPIOs request method introduction. The last patch does what
> we inteded this patchset for in the first place - adds the full dt-GPIO
> specifiers support.
>
>
> Serge Semin (5):
> i2c-mux-gpio: Unpin a platform-based device initialization
> i2c-mux-gpio: Return an error if no config data found
> i2c-mux-gpio: Save initial channel number to the idle data field
> i2c-mux-gpio: Unpin the platform-specific GPIOs request code
> i2c-mux-gpio: Create of-based GPIOs request method
>
> drivers/i2c/muxes/i2c-mux-gpio.c | 224 ++++++++++++++++++++-----------
> 1 file changed, 146 insertions(+), 78 deletions(-)
>