Re: [PATCH v4 3/5] serial: sc16is7xx: split into core and I2C/SPI parts (core)

From: Geert Uytterhoeven
Date: Fri May 24 2024 - 03:48:18 EST


Hi Hugo,

On Fri, May 24, 2024 at 1:56 AM Hugo Villeneuve <hugo@xxxxxxxxxxx> wrote:
> On Thu, 23 May 2024 09:33:36 +0200
> Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
> > On Tue, Apr 23, 2024 at 3:11 PM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
> > > On Tue, Apr 23, 2024 at 12:37 PM Andy Shevchenko
> > > <andy.shevchenko@xxxxxxxxx> wrote:
> > > > On Tue, Apr 23, 2024 at 1:01 PM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
> > > > > On Tue, Apr 9, 2024 at 5:48 PM Hugo Villeneuve <hugo@xxxxxxxxxxx> wrote:
> > >
> > > > > > -config SERIAL_SC16IS7XX
> > > > > > - tristate "SC16IS7xx serial support"
> > > > > > + tristate "NXP SC16IS7xx UART support"
> > > > >
> > > > > Hence this replaces SERIAL_SC16IS7XX_CORE by SERIAL_SC16IS7XX,
> > > > > so arch/mips/configs/cu1??0-neo_defconfig needs to updated.
> > > >
> > > > select SERIAL_CORE
> > > > - depends on (SPI_MASTER && !I2C) || I2C
> > > > + select SERIAL_SC16IS7XX_SPI if SPI_MASTER
> > > > + select SERIAL_SC16IS7XX_I2C if I2C
> > > >
> > > > > So if SPI_MASTER or I2C is enabled, the corresponding SERIAL_SC16IS7XX_*
> > > > > subdriver can no longer be disabled? According to
> > > > > https://lore.kernel.org/all/20240403123501.8ef5c99f65a40ca2c10f635a@xxxxxxxxxxx/
> > > > > you did want to support that?
> > > >
> > > > I believe it has been taken from one of the IIO drivers as an example.
> > >
> > > Looks like a bad example to follow:
> > > 1. The driver question now pops up if both I2C and SPI_MASTER
> > > are disabled,
> > > 2. What if SERIAL_SC16IS7XX_CORE is builtin, but I2C and/or
> > > SPI_MASTER are modular?
> > >
> > > I believe the only way to fix that is by letting the sub-drivers select the
> > > core driver, like before.
> >
> > FTR, this issue is now upstream.

> I replied to you and Andy a few weeks ago about this (multiple emails with suggestions/explanations), and I even asked if you were satisfied with what I proposed, but never got anything from you, so I am still waiting on feedback to send a patch to fix this:
>
> https://lore.kernel.org/all/20240430090333.5c5f029553cabcdf699310cb@xxxxxxxxxxx/

Sorry, I indeed forgot to reply there.

Please use two visible symbols (for I2C and SPI), which select
the invisible SERIAL_SC16IS7XX_CORE.
Thanks!

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68korg

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds