[thermal: thermal/next] iio: adc: qcom-spmi-adc5: use of_device_get_match_data
From: thermal-bot for Dmitry Baryshkov <hidden>
Date: 2021-02-18 20:43:11
Subsystem:
arm/qualcomm mailing list, iio subsystem and drivers, the rest · Maintainers:
Jonathan Cameron, Linus Torvalds
The following commit has been merged into the thermal/next branch of thermal: Commit-ID: 9695a2a52c8304902e1fc315990f3f7f89a28a39 Gitweb: https://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux.git//9695a2a52c8304902e1fc315990f3f7f89a28a39 Author: Dmitry Baryshkov [off-list ref] AuthorDate: Fri, 04 Dec 2020 05:55:00 +03:00 Committer: Jonathan Cameron [off-list ref] CommitterDate: Sat, 16 Jan 2021 18:23:36 iio: adc: qcom-spmi-adc5: use of_device_get_match_data Use of_device_get_match_data() instead of hand-coding it manually. Signed-off-by: Dmitry Baryshkov <redacted> Acked-by: Manivannan Sadhasivam <redacted> Link: https://lore.kernel.org/r/20201204025509.1075506-7-dmitry.baryshkov@linaro.org (local) Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> --- 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 b10a0fc..87438d1 100644
--- a/drivers/iio/adc/qcom-spmi-adc5.c
+++ b/drivers/iio/adc/qcom-spmi-adc5.c@@ -15,6 +15,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;