Re: [PATCH 3/5] Input: s3c2410_ts: Use devm_platform_ioremap_resource()
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2019-07-16 15:52:59
Also in:
linux-input, lkml
Hi Mukesh, On Thu, Apr 04, 2019 at 12:47:21PM +0530, Mukesh Ojha wrote:
quoted hunk ↗ jump to hunk
devm_platform_ioremap_resource() internally have platform_get_resource() and devm_ioremap_resource() in it. So instead of calling them separately use devm_platform_ioremap_resource() directly. Signed-off-by: Mukesh Ojha <redacted> --- drivers/input/touchscreen/s3c2410_ts.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-)diff --git a/drivers/input/touchscreen/s3c2410_ts.c b/drivers/input/touchscreen/s3c2410_ts.c index 1173890..e11cdae 100644 --- a/drivers/input/touchscreen/s3c2410_ts.c +++ b/drivers/input/touchscreen/s3c2410_ts.c@@ -242,7 +242,6 @@ static int s3c2410ts_probe(struct platform_device *pdev) struct s3c2410_ts_mach_info *info; struct device *dev = &pdev->dev; struct input_dev *input_dev; - struct resource *res; int ret = -EINVAL; /* Initialise input stuff */@@ -277,14 +276,7 @@ static int s3c2410ts_probe(struct platform_device *pdev) goto err_clk; } - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!res) { - dev_err(dev, "no resource for registers\n"); - ret = -ENOENT; - goto err_clk; - } - - ts.io = ioremap(res->start, resource_size(res)); + ts.io = devm_platform_ioremap_resource(pdev, 0);
This is not an equivalent transformation: the original code (rightly or wrongly) did not request the memory regions described by 'res' while new variant does. Also you can't simply slap a single devm resource in a driver that does not use managed resources as it messes up the release order. -- Dmitry _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel