Re: [PATCH v5 2/3] mfd: add support for Allwinner SoCs ADC

Maxime Ripard
2016-09-12T10:07:32Z

[-- Attachment #1: Type: text/plain, Size: 1260 bytes --]

On Mon, Sep 12, 2016 at 10:59:23AM +0100, Lee Jones wrote:
> > >> +static const struct of_device_id sun4i_gpadc_mfd_of_match[] = {
> > >> + {
> > >> + .compatible = "allwinner,sun4i-a10-ts",
> > >> + .data = &sun4i_gpadc_mfd_cells,
> > >> + }, {
> > >> + .compatible = "allwinner,sun5i-a13-ts",
> > >> + .data = &sun5i_gpadc_mfd_cells,
> > >> + }, {
> > >> + .compatible = "allwinner,sun6i-a31-ts",
> > >> + .data = &sun6i_gpadc_mfd_cells,
> > >> + }, { /* sentinel */ }
> > >> +};
> > >
> > > Don't mix OF and MFD functionality.
> > >
> > > Why don't you create a node for "iio_hwmon" and have
> > > platform_of_populate() do your bidding?
> > >
> >
> > We are using a stable binding which we cannot modify. This means, the DT
> > in its current state can only be modified to add features, which is not
> > the case of this driver (it is a rewriting of an existing driver which
> > uses the rtp node).
>
> Then use .data = <defined model ID> and set up a switch() in .probe().

Uh? Why? It just adds a non-standard indirection, while using
of_match_device is very standard, and used extensively in Linux.

Maxime

--
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]