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

From: Geert Uytterhoeven
Date: Tue Apr 23 2024 - 09:11:35 EST


Hi Andy,

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.

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