[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251221142602.47368-5-krzysztof.kozlowski@oss.qualcomm.com>
Date: Sun, 21 Dec 2025 15:26:04 +0100
From: Krzysztof Kozlowski <krzysztof.kozlowski@....qualcomm.com>
To: Jonathan Cameron <jic23@...nel.org>, David Lechner <dlechner@...libre.com>,
Nuno Sá <nuno.sa@...log.com>,
Andy Shevchenko <andy@...nel.org>, Joel Stanley <joel@....id.au>,
Andrew Jeffery <andrew@...econstruct.com.au>,
Krzysztof Kozlowski <krzk@...nel.org>,
Alim Akhtar <alim.akhtar@...sung.com>,
Heiko Stuebner <heiko@...ech.de>,
Philipp Zabel <p.zabel@...gutronix.de>, linux-iio@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-aspeed@...ts.ozlabs.org,
linux-kernel@...r.kernel.org, linux-samsung-soc@...r.kernel.org,
linux-rockchip@...ts.infradead.org
Cc: Krzysztof Kozlowski <krzysztof.kozlowski@....qualcomm.com>
Subject: [PATCH 2/3] iio: adc: exynos: Simplify probe() with local 'dev' and 'np'
Simplify the probe function by using local 'dev' and 'np' variables
instead of full pointer dereferences. This makes several lines shorter,
which allows to avoid wrapping making code more readable.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@....qualcomm.com>
---
drivers/iio/adc/exynos_adc.c | 36 ++++++++++++++++--------------------
1 file changed, 16 insertions(+), 20 deletions(-)
diff --git a/drivers/iio/adc/exynos_adc.c b/drivers/iio/adc/exynos_adc.c
index 491e8dcfd91e..aa287132a369 100644
--- a/drivers/iio/adc/exynos_adc.c
+++ b/drivers/iio/adc/exynos_adc.c
@@ -552,12 +552,13 @@ static int exynos_adc_remove_devices(struct device *dev, void *c)
static int exynos_adc_probe(struct platform_device *pdev)
{
struct exynos_adc *info = NULL;
+ struct device *dev = &pdev->dev;
struct device_node *np = pdev->dev.of_node;
struct iio_dev *indio_dev = NULL;
int ret;
int irq;
- indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(struct exynos_adc));
+ indio_dev = devm_iio_device_alloc(dev, sizeof(struct exynos_adc));
if (!indio_dev)
return -ENOMEM;
@@ -565,7 +566,7 @@ static int exynos_adc_probe(struct platform_device *pdev)
info->data = exynos_adc_get_data(pdev);
if (!info->data)
- return dev_err_probe(&pdev->dev, -EINVAL, "failed getting exynos_adc_data\n");
+ return dev_err_probe(dev, -EINVAL, "failed getting exynos_adc_data\n");
info->regs = devm_platform_ioremap_resource(pdev, 0);
if (IS_ERR(info->regs))
@@ -573,11 +574,9 @@ static int exynos_adc_probe(struct platform_device *pdev)
if (info->data->needs_adc_phy) {
- info->pmu_map = syscon_regmap_lookup_by_phandle(
- pdev->dev.of_node,
- "samsung,syscon-phandle");
+ info->pmu_map = syscon_regmap_lookup_by_phandle(np, "samsung,syscon-phandle");
if (IS_ERR(info->pmu_map))
- return dev_err_probe(&pdev->dev, PTR_ERR(info->pmu_map),
+ return dev_err_probe(dev, PTR_ERR(info->pmu_map),
"syscon regmap lookup failed.\n");
}
@@ -585,25 +584,24 @@ static int exynos_adc_probe(struct platform_device *pdev)
if (irq < 0)
return irq;
info->irq = irq;
- info->dev = &pdev->dev;
+ info->dev = dev;
init_completion(&info->completion);
- info->clk = devm_clk_get(&pdev->dev, "adc");
+ info->clk = devm_clk_get(dev, "adc");
if (IS_ERR(info->clk))
- return dev_err_probe(&pdev->dev, PTR_ERR(info->clk), "failed getting clock\n");
+ return dev_err_probe(dev, PTR_ERR(info->clk), "failed getting clock\n");
if (info->data->needs_sclk) {
- info->sclk = devm_clk_get(&pdev->dev, "sclk");
+ info->sclk = devm_clk_get(dev, "sclk");
if (IS_ERR(info->sclk))
- return dev_err_probe(&pdev->dev, PTR_ERR(info->sclk),
+ return dev_err_probe(dev, PTR_ERR(info->sclk),
"failed getting sclk clock\n");
}
- info->vdd = devm_regulator_get(&pdev->dev, "vdd");
+ info->vdd = devm_regulator_get(dev, "vdd");
if (IS_ERR(info->vdd))
- return dev_err_probe(&pdev->dev, PTR_ERR(info->vdd),
- "failed getting regulator");
+ return dev_err_probe(dev, PTR_ERR(info->vdd), "failed getting regulator");
ret = regulator_enable(info->vdd);
if (ret)
@@ -619,7 +617,7 @@ static int exynos_adc_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, indio_dev);
- indio_dev->name = dev_name(&pdev->dev);
+ indio_dev->name = dev_name(dev);
indio_dev->info = &exynos_adc_iio_info;
indio_dev->modes = INDIO_DIRECT_MODE;
indio_dev->channels = exynos_adc_iio_channels;
@@ -627,11 +625,9 @@ static int exynos_adc_probe(struct platform_device *pdev)
mutex_init(&info->lock);
- ret = request_irq(info->irq, exynos_adc_isr,
- 0, dev_name(&pdev->dev), info);
+ ret = request_irq(info->irq, exynos_adc_isr, 0, dev_name(dev), info);
if (ret < 0) {
- dev_err(&pdev->dev, "failed requesting irq, irq = %d\n",
- info->irq);
+ dev_err(dev, "failed requesting irq, irq = %d\n", info->irq);
goto err_disable_clk;
}
@@ -644,7 +640,7 @@ static int exynos_adc_probe(struct platform_device *pdev)
ret = of_platform_populate(np, exynos_adc_match, NULL, &indio_dev->dev);
if (ret < 0) {
- dev_err(&pdev->dev, "failed adding child nodes\n");
+ dev_err(dev, "failed adding child nodes\n");
goto err_of_populate;
}
--
2.51.0
Powered by blists - more mailing lists