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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 23 Apr 2024 15:11:12 +0200
Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:

Hi Geert,

> 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,

True.

V3 originally had this:

>  config SERIAL_SC16IS7XX
>         tristate "SC16IS7xx serial support"
>         select SERIAL_CORE
> -       depends on (SPI_MASTER && !I2C) || I2C
> +       depends on SPI_MASTER || I2C

And Andy commented "Is it?", which I probably misinterpreted as I should
not list them as dependencies.

Reintroducing "depends on SPI_MASTER || I2C" fixes this issue.


>   2. What if SERIAL_SC16IS7XX_CORE is builtin, but I2C and/or
>      SPI_MASTER are modular?

a) SERIAL_SC16IS7XX builtin and I2C modular:
CONFIG_SERIAL_SC16IS7XX=y
CONFIG_SERIAL_SC16IS7XX_I2C=m
CONFIG_SERIAL_SC16IS7XX_SPI=y

SPI_MASTER is only boolean and cannot be modular.

Hugo.


> 
> 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@xxxxxxxxxxxxxx
> 
> 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
> 


-- 
Hugo Villeneuve




[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux