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

leds: sgm3140: Simplify with dev_err_probe()

Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and also it prints the error value.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Pavel Machek <pavel@ucw.cz>

authored by

Krzysztof Kozlowski and committed by
Pavel Machek
4582e783 7e8da605

+9 -18
+9 -18
drivers/leds/leds-sgm3140.c
··· 195 195 196 196 priv->flash_gpio = devm_gpiod_get(&pdev->dev, "flash", GPIOD_OUT_LOW); 197 197 ret = PTR_ERR_OR_ZERO(priv->flash_gpio); 198 - if (ret) { 199 - if (ret != -EPROBE_DEFER) 200 - dev_err(&pdev->dev, 201 - "Failed to request flash gpio: %d\n", ret); 202 - return ret; 203 - } 198 + if (ret) 199 + return dev_err_probe(&pdev->dev, ret, 200 + "Failed to request flash gpio\n"); 204 201 205 202 priv->enable_gpio = devm_gpiod_get(&pdev->dev, "enable", GPIOD_OUT_LOW); 206 203 ret = PTR_ERR_OR_ZERO(priv->enable_gpio); 207 - if (ret) { 208 - if (ret != -EPROBE_DEFER) 209 - dev_err(&pdev->dev, 210 - "Failed to request enable gpio: %d\n", ret); 211 - return ret; 212 - } 204 + if (ret) 205 + return dev_err_probe(&pdev->dev, ret, 206 + "Failed to request enable gpio\n"); 213 207 214 208 priv->vin_regulator = devm_regulator_get(&pdev->dev, "vin"); 215 209 ret = PTR_ERR_OR_ZERO(priv->vin_regulator); 216 - if (ret) { 217 - if (ret != -EPROBE_DEFER) 218 - dev_err(&pdev->dev, 219 - "Failed to request regulator: %d\n", ret); 220 - return ret; 221 - } 210 + if (ret) 211 + return dev_err_probe(&pdev->dev, ret, 212 + "Failed to request regulator\n"); 222 213 223 214 child_node = fwnode_get_next_available_child_node(pdev->dev.fwnode, 224 215 NULL);