OSDN Git Service

iio: adc: meson-saradc: use of_device_get_match_data
authorMartin Blumenstingl <martin.blumenstingl@googlemail.com>
Sat, 22 Sep 2018 22:21:01 +0000 (00:21 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 29 Sep 2018 11:26:08 +0000 (12:26 +0100)
This simplifies our _probe function by using of_device_get_match_data
instead of open-coding it. No functional changes.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/meson_saradc.c

index b97b06b..9d8f213 100644 (file)
@@ -978,11 +978,11 @@ MODULE_DEVICE_TABLE(of, meson_sar_adc_of_match);
 
 static int meson_sar_adc_probe(struct platform_device *pdev)
 {
+       const struct meson_sar_adc_data *match_data;
        struct meson_sar_adc_priv *priv;
        struct iio_dev *indio_dev;
        struct resource *res;
        void __iomem *base;
-       const struct of_device_id *match;
        int irq, ret;
 
        indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*priv));
@@ -994,13 +994,13 @@ static int meson_sar_adc_probe(struct platform_device *pdev)
        priv = iio_priv(indio_dev);
        init_completion(&priv->done);
 
-       match = of_match_device(meson_sar_adc_of_match, &pdev->dev);
-       if (!match) {
-               dev_err(&pdev->dev, "failed to match device\n");
+       match_data = of_device_get_match_data(&pdev->dev);
+       if (!match_data) {
+               dev_err(&pdev->dev, "failed to get match data\n");
                return -ENODEV;
        }
 
-       priv->data = match->data;
+       priv->data = match_data;
 
        indio_dev->name = priv->data->name;
        indio_dev->dev.parent = &pdev->dev;