Commit 64b8dd29 authored by Wei Yongjun's avatar Wei Yongjun Committed by Dmitry Torokhov

Input: atmel_tsadcc - fix error handing with missing platform data

If pdata is NULL, atmel_tsadcc_probe() will release all the resources
and return 0, but we need a error code is returned in this case.
Fix to return -EINVAL and move the check for pdata to the begin
of this function.
Signed-off-by: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent fc4f3146
...@@ -183,10 +183,13 @@ static int atmel_tsadcc_probe(struct platform_device *pdev) ...@@ -183,10 +183,13 @@ static int atmel_tsadcc_probe(struct platform_device *pdev)
struct input_dev *input_dev; struct input_dev *input_dev;
struct resource *res; struct resource *res;
struct at91_tsadcc_data *pdata = pdev->dev.platform_data; struct at91_tsadcc_data *pdata = pdev->dev.platform_data;
int err = 0; int err;
unsigned int prsc; unsigned int prsc;
unsigned int reg; unsigned int reg;
if (!pdata)
return -EINVAL;
res = platform_get_resource(pdev, IORESOURCE_MEM, 0); res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!res) { if (!res) {
dev_err(&pdev->dev, "no mmio resource defined.\n"); dev_err(&pdev->dev, "no mmio resource defined.\n");
...@@ -265,9 +268,6 @@ static int atmel_tsadcc_probe(struct platform_device *pdev) ...@@ -265,9 +268,6 @@ static int atmel_tsadcc_probe(struct platform_device *pdev)
prsc = clk_get_rate(ts_dev->clk); prsc = clk_get_rate(ts_dev->clk);
dev_info(&pdev->dev, "Master clock is set at: %d Hz\n", prsc); dev_info(&pdev->dev, "Master clock is set at: %d Hz\n", prsc);
if (!pdata)
goto err_fail;
if (!pdata->adc_clock) if (!pdata->adc_clock)
pdata->adc_clock = ADC_DEFAULT_CLOCK; pdata->adc_clock = ADC_DEFAULT_CLOCK;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment