@@ -405,12 +405,9 @@ static int imx6ul_tsc_probe(struct platform_device *pdev)
init_completion(&tsc->completion);
tsc->xnur_gpio = devm_gpiod_get(&pdev->dev, "xnur", GPIOD_IN);
- if (IS_ERR(tsc->xnur_gpio)) {
- err = PTR_ERR(tsc->xnur_gpio);
- dev_err(&pdev->dev,
- "failed to request GPIO tsc_X- (xnur): %d\n", err);
- return err;
- }
+ if (IS_ERR(tsc->xnur_gpio))
+ return dev_err_probe(&pdev->dev, PTR_ERR(tsc->xnur_gpio),
+ "failed to request GPIO tsc_X- (xnur)\n");
tsc->tsc_regs = devm_platform_ioremap_resource(pdev, 0);
if (IS_ERR(tsc->tsc_regs)) {
@@ -427,18 +424,14 @@ static int imx6ul_tsc_probe(struct platform_device *pdev)
}
tsc->tsc_clk = devm_clk_get(&pdev->dev, "tsc");
- if (IS_ERR(tsc->tsc_clk)) {
- err = PTR_ERR(tsc->tsc_clk);
- dev_err(&pdev->dev, "failed getting tsc clock: %d\n", err);
- return err;
- }
+ if (IS_ERR(tsc->tsc_clk))
+ return dev_err_probe(&pdev->dev, PTR_ERR(tsc->tsc_clk),
+ "failed getting tsc clock\n");
tsc->adc_clk = devm_clk_get(&pdev->dev, "adc");
- if (IS_ERR(tsc->adc_clk)) {
- err = PTR_ERR(tsc->adc_clk);
- dev_err(&pdev->dev, "failed getting adc clock: %d\n", err);
- return err;
- }
+ if (IS_ERR(tsc->adc_clk))
+ return dev_err_probe(&pdev->dev, PTR_ERR(tsc->adc_clk),
+ "failed getting adc clock\n");
tsc_irq = platform_get_irq(pdev, 0);
if (tsc_irq < 0)
When possible use dev_err_probe help to properly deal with the PROBE_DEFER error, the benefit is that DEFER issue will be logged in the devices_deferred debugfs file. Using dev_err_probe() can reduce code size, and the error value gets printed. Signed-off-by: Cai Huoqing <caihuoqing@baidu.com> --- drivers/input/touchscreen/imx6ul_tsc.c | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-)