Hi Chengwei, thanks for your patch! On Wed, Oct 19, 2022 at 4:26 AM chengwei <foxfly.lai.tw@xxxxxxxxx> wrote: > The UP Squared board <http://www.upboard.com> implements certain > features (pin control) through an on-board FPGA. > > Signed-off-by: Javier Arteaga <javier@xxxxxxxxxx> > [merge various fixes] > Signed-off-by: Nicola Lunghi <nicola.lunghi@xxxxxxxxxx> > Signed-off-by: chengwei <larry.lai@xxxxxxxxxxxxxxx> I am a bit confused by this driver. Andy pointed out some obvious nits that need to be fixed but the overall architecture here is also a bit puzzling. This seems to want to be compatible to Raspberry Pi (RPi), then which one? The driver seems to translate GPIO calls to "native GPIO" in some cases, which GPIO controller is that? Also I don't see why, normally a pin control driver is an agnostic back-end for a GPIO controller, so the GPIO driver should be the same (whatever "native") means, and this driver should not even implement a gpio chip, just let the GPIO driver do its job and call back into the pin control back-end whenever it needs it. Also we already have a driver that collects existing GPIOs to a new GPIO chip, the GPIO aggregator: drivers/gpio/gpio-aggregator.c Maybe if you can explain a bit about how this hardware works and why you have to do indirect calls to another GPIO controller, things will be easier to understand? Yours, Linus Walleij