On Fri, 6 Oct 2023 17:44:39 -0500 Rob Herring <robh@xxxxxxxxxx> wrote: > Use preferred device_get_match_data() instead of of_match_device() to > get the driver match data. With this, adjust the includes to explicitly > include the correct headers. > > Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Applied to the togreg branch of iio.git and pushed out first as testing to let 0-day see if it can find any issues that we missed. Thanks, Jonathan > --- > drivers/iio/adc/stm32-adc-core.c | 11 +++-------- > drivers/iio/adc/twl6030-gpadc.c | 10 ++++------ > drivers/iio/dac/stm32-dac-core.c | 9 ++++----- > 3 files changed, 11 insertions(+), 19 deletions(-) > > diff --git a/drivers/iio/adc/stm32-adc-core.c b/drivers/iio/adc/stm32-adc-core.c > index c19506b0aac8..616dd729666a 100644 > --- a/drivers/iio/adc/stm32-adc-core.c > +++ b/drivers/iio/adc/stm32-adc-core.c > @@ -17,10 +17,11 @@ > #include <linux/irqdomain.h> > #include <linux/mfd/syscon.h> > #include <linux/module.h> > -#include <linux/of_device.h> > +#include <linux/of.h> > #include <linux/of_platform.h> > #include <linux/platform_device.h> > #include <linux/pm_runtime.h> > +#include <linux/property.h> > #include <linux/regmap.h> > #include <linux/regulator/consumer.h> > #include <linux/slab.h> > @@ -708,8 +709,6 @@ static int stm32_adc_probe(struct platform_device *pdev) > struct stm32_adc_priv *priv; > struct device *dev = &pdev->dev; > struct device_node *np = pdev->dev.of_node; > - const struct of_device_id *of_id; > - > struct resource *res; > u32 max_rate; > int ret; > @@ -722,11 +721,7 @@ static int stm32_adc_probe(struct platform_device *pdev) > return -ENOMEM; > platform_set_drvdata(pdev, &priv->common); > > - of_id = of_match_device(dev->driver->of_match_table, dev); > - if (!of_id) > - return -ENODEV; > - > - priv->cfg = (const struct stm32_adc_priv_cfg *)of_id->data; > + priv->cfg = device_get_match_data(dev); > priv->nb_adc_max = priv->cfg->num_adcs; > spin_lock_init(&priv->common.lock); > > diff --git a/drivers/iio/adc/twl6030-gpadc.c b/drivers/iio/adc/twl6030-gpadc.c > index 224e9cb5e147..78bf55438b2c 100644 > --- a/drivers/iio/adc/twl6030-gpadc.c > +++ b/drivers/iio/adc/twl6030-gpadc.c > @@ -16,9 +16,10 @@ > */ > #include <linux/interrupt.h> > #include <linux/kernel.h> > +#include <linux/mod_devicetable.h> > #include <linux/module.h> > #include <linux/platform_device.h> > -#include <linux/of_platform.h> > +#include <linux/property.h> > #include <linux/mfd/twl.h> > #include <linux/iio/iio.h> > #include <linux/iio/sysfs.h> > @@ -879,17 +880,14 @@ static int twl6030_gpadc_probe(struct platform_device *pdev) > struct device *dev = &pdev->dev; > struct twl6030_gpadc_data *gpadc; > const struct twl6030_gpadc_platform_data *pdata; > - const struct of_device_id *match; > struct iio_dev *indio_dev; > int irq; > int ret; > > - match = of_match_device(of_twl6030_match_tbl, dev); > - if (!match) > + pdata = device_get_match_data(&pdev->dev); > + if (!pdata) > return -EINVAL; > > - pdata = match->data; > - > indio_dev = devm_iio_device_alloc(dev, sizeof(*gpadc)); > if (!indio_dev) > return -ENOMEM; > diff --git a/drivers/iio/dac/stm32-dac-core.c b/drivers/iio/dac/stm32-dac-core.c > index 15abe048729e..e150ac729154 100644 > --- a/drivers/iio/dac/stm32-dac-core.c > +++ b/drivers/iio/dac/stm32-dac-core.c > @@ -9,9 +9,12 @@ > > #include <linux/clk.h> > #include <linux/delay.h> > +#include <linux/mod_devicetable.h> > #include <linux/module.h> > #include <linux/of_platform.h> > +#include <linux/platform_device.h> > #include <linux/pm_runtime.h> > +#include <linux/property.h> > #include <linux/regulator/consumer.h> > #include <linux/reset.h> > > @@ -94,16 +97,12 @@ static int stm32_dac_probe(struct platform_device *pdev) > struct reset_control *rst; > int ret; > > - if (!dev->of_node) > - return -ENODEV; > - > priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); > if (!priv) > return -ENOMEM; > platform_set_drvdata(pdev, &priv->common); > > - cfg = (const struct stm32_dac_cfg *) > - of_match_device(dev->driver->of_match_table, dev)->data; > + cfg = device_get_match_data(dev); > > mmio = devm_platform_ioremap_resource(pdev, 0); > if (IS_ERR(mmio))