Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

iio: light: gp2ap002: Make use of the helper function dev_err_probe()

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>
Link: https://lore.kernel.org/r/20211008092656.421-3-caihuoqing@baidu.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

authored by

Cai Huoqing and committed by
Jonathan Cameron
77b91b1c 0d31d91e

+10 -14
+10 -14
drivers/iio/light/gp2ap002.c
··· 503 503 if (!gp2ap002->is_gp2ap002s00f) { 504 504 gp2ap002->alsout = devm_iio_channel_get(dev, "alsout"); 505 505 if (IS_ERR(gp2ap002->alsout)) { 506 - if (PTR_ERR(gp2ap002->alsout) == -ENODEV) { 507 - dev_err(dev, "no ADC, deferring...\n"); 508 - return -EPROBE_DEFER; 509 - } 510 - dev_err(dev, "failed to get ALSOUT ADC channel\n"); 511 - return PTR_ERR(gp2ap002->alsout); 506 + ret = PTR_ERR(gp2ap002->alsout); 507 + ret = (ret == -ENODEV) ? -EPROBE_DEFER : ret; 508 + return dev_err_probe(dev, ret, "failed to get ALSOUT ADC channel\n"); 512 509 } 513 510 ret = iio_get_channel_type(gp2ap002->alsout, &ch_type); 514 511 if (ret < 0) ··· 518 521 } 519 522 520 523 gp2ap002->vdd = devm_regulator_get(dev, "vdd"); 521 - if (IS_ERR(gp2ap002->vdd)) { 522 - dev_err(dev, "failed to get VDD regulator\n"); 523 - return PTR_ERR(gp2ap002->vdd); 524 - } 524 + if (IS_ERR(gp2ap002->vdd)) 525 + return dev_err_probe(dev, PTR_ERR(gp2ap002->vdd), 526 + "failed to get VDD regulator\n"); 527 + 525 528 gp2ap002->vio = devm_regulator_get(dev, "vio"); 526 - if (IS_ERR(gp2ap002->vio)) { 527 - dev_err(dev, "failed to get VIO regulator\n"); 528 - return PTR_ERR(gp2ap002->vio); 529 - } 529 + if (IS_ERR(gp2ap002->vio)) 530 + return dev_err_probe(dev, PTR_ERR(gp2ap002->vio), 531 + "failed to get VIO regulator\n"); 530 532 531 533 /* Operating voltage 2.4V .. 3.6V according to datasheet */ 532 534 ret = regulator_set_voltage(gp2ap002->vdd, 2400000, 3600000);