Re: [RFC PATCH 1/2] ACPI / PNP: Don't add "enumeration_by_parent" devices

From: Lee Jones
Date: Mon Apr 30 2018 - 06:46:56 EST


On Mon, 30 Apr 2018, John Garry wrote:

> > > > > So we using the mfd_cell to match child devices using _HID. At a glance, I
> > > > > don't actually see other drivers to use mfd_cell_acpi_match.pnpid .
> > > > >
> > > > > Anyway we don't use static tables as we need to update the resources of the
> > > > > cell dynamically. However I do look at a driver like intel_quark_i2c_gpio.c,
> > > > > and this dynamically modifies the value of global mfd_cell array here:
> > > > > https://elixir.bootlin.com/linux/latest/source/drivers/mfd/intel_quark_i2c_gpio.c#L266
> > > > >
> > > > > I know the cell array is only used at probe time, but this did not look to
> > > > > be good standard practice to me.
> > > >
> > > > Lots of drivers do this to supply dynamic data. If there is no other
> > > > sane way of providing such data, it's fine to do. Although each
> > > > situation should be dealt with on a case-by-case basis.
> > > >
> > >
> > > Hi Lee,
> > >
> > > Thanks for your input.
> > >
> > > I do see others drivers which use dynamic mem for the mfd_cells (like
> > > cros_ec_dev.c), so what we're doing in this driver already is not totally
> > > unchartered territory. But creating the MFD cells from the ACPI table could
> > > be ...
> >
> > Right. I don't normally like mixing platform data technologies (MFD,
> > ACPI and DT). I normally NACK patches which take information from
> > Device Tree and populate MFD cells with it. ACPI would be the same I
> > guess.
>
> Oh, well that is what we have in this driver. So what's the preferred
> approach? Just not use MFD model at all if ACPI/DT needs to be scanned for
> data to create the cells?

I've just seen the driver - yuk!

Why are you using the MFD API outside of MFD anyway?

--
Lee Jones [æçæ]
Linaro Services Technical Lead
Linaro.org â Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog