On Wed, 9 Sep 2020 17:42:44 +0300 Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> wrote: > Use of_device_get_match_data() instead of hand-coding it manually. > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> Acked-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > --- > drivers/iio/adc/qcom-spmi-adc5.c | 18 +++++++----------- > 1 file changed, 7 insertions(+), 11 deletions(-) > > diff --git a/drivers/iio/adc/qcom-spmi-adc5.c b/drivers/iio/adc/qcom-spmi-adc5.c > index c2da8f068b87..ae27ed7a26ff 100644 > --- a/drivers/iio/adc/qcom-spmi-adc5.c > +++ b/drivers/iio/adc/qcom-spmi-adc5.c > @@ -14,6 +14,7 @@ > #include <linux/math64.h> > #include <linux/module.h> > #include <linux/of.h> > +#include <linux/of_device.h> > #include <linux/platform_device.h> > #include <linux/regmap.h> > #include <linux/slab.h> > @@ -807,8 +808,6 @@ static int adc5_get_dt_data(struct adc5_chip *adc, struct device_node *node) > struct adc5_channel_prop prop, *chan_props; > struct device_node *child; > unsigned int index = 0; > - const struct of_device_id *id; > - const struct adc5_data *data; > int ret; > > adc->nchannels = of_get_available_child_count(node); > @@ -827,24 +826,21 @@ static int adc5_get_dt_data(struct adc5_chip *adc, struct device_node *node) > > chan_props = adc->chan_props; > iio_chan = adc->iio_chans; > - id = of_match_node(adc5_match_table, node); > - if (id) > - data = id->data; > - else > - data = &adc5_data_pmic; > - adc->data = data; > + adc->data = of_device_get_match_data(adc->dev); > + if (!adc->data) > + adc->data = &adc5_data_pmic; > > for_each_available_child_of_node(node, child) { > - ret = adc5_get_dt_channel_data(adc, &prop, child, data); > + ret = adc5_get_dt_channel_data(adc, &prop, child, adc->data); > if (ret) { > of_node_put(child); > return ret; > } > > prop.scale_fn_type = > - data->adc_chans[prop.channel].scale_fn_type; > + adc->data->adc_chans[prop.channel].scale_fn_type; > *chan_props = prop; > - adc_chan = &data->adc_chans[prop.channel]; > + adc_chan = &adc->data->adc_chans[prop.channel]; > > iio_chan->channel = prop.channel; > iio_chan->datasheet_name = prop.datasheet_name;