Re: [PATCH v2 2/2] mtd: rawnand: Add NAND controller support on Intel LGM SoC

From: Boris Brezillon
Date: Mon Apr 20 2020 - 06:29:08 EST


On Mon, 20 Apr 2020 13:14:42 +0300
Andy Shevchenko <andy.shevchenko@xxxxxxxxx> wrote:

> On Mon, Apr 20, 2020 at 12:53 PM Boris Brezillon
> <boris.brezillon@xxxxxxxxxxxxx> wrote:
> > On Mon, 20 Apr 2020 12:44:51 +0300
> > Andy Shevchenko <andy.shevchenko@xxxxxxxxx> wrote:
> >
> > > On Mon, Apr 20, 2020 at 12:21 PM Boris Brezillon
> > > <boris.brezillon@xxxxxxxxxxxxx> wrote:
> > > > On Mon, 20 Apr 2020 01:20:40 +0300
> > > > Andy Shevchenko <andriy.shevchenko@xxxxxxxxx> wrote:
> > > > > On Sat, Apr 18, 2020 at 10:55:33AM +0200, Boris Brezillon wrote:
> > > > > > On Fri, 17 Apr 2020 16:21:47 +0800
> > > > > > "Ramuthevar,Vadivel MuruganX"
> > > > > > <vadivel.muruganx.ramuthevar@xxxxxxxxxxxxxxx> wrote:
> > > > > >
> > > > > > > From: Ramuthevar Vadivel Murugan <vadivel.muruganx.ramuthevar@xxxxxxxxxxxxxxx>
> > > > >
> > > > > > > +static const struct of_device_id lgm_nand_match[] = {
> > > > > > > + { .compatible = "intel,lgm-nand", },
> > > > > > > + {}
> > > > > > > +};
> > > > > > > +MODULE_DEVICE_TABLE(of, lgm_nand_match);
> > > > > >
> > > > > > You probably have a missing "depends on OF" in your Kconfig.
> > > > >
> > > > > Since it's using device property API, dependency is not needed.
> > > > >
> > > >
> > > > There's no compile-time dependency, but this driver will be pretty
> > > > useless if all its users have the NAND controller node defined in their
> > > > DT and CONFIG_OF is not enabled.
> > >
> > > No, it's not.
> > > See [1] for the details how ACPI may utilize this table.
> > >
> > > [1]: https://www.kernel.org/doc/html/latest/firmware-guide/acpi/enumeration.html#device-tree-namespace-link-device-id
> >
> > Except the NAND framework does use the OF lib when parsing common DT
> > properties (like nand-ecc-mode, etc), so it does depend on OF if you
> > want those props to be parsed, which, according to the DT binding patch,
> > is the case.
>
> I see, so, NAND framework can be transformed at some point. In any
> case, from driver perspective it's OF independent.
>

Well, it uses it only if the driver passes an OF node which this driver
does (see the nand_set_flash_node() call), so no, it's really a driver
dependency.