devm_pwm_get() can return -EPROBE_DEFER if the pwm regulator is not ready yet. Use dev_err_probe() for pwm regulator resources to indicate the deferral reason when waiting for the resource to come up. Signed-off-by: zhaoxiao <zhaoxiao@xxxxxxxxxxxxx> --- drivers/input/misc/max77693-haptic.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/input/misc/max77693-haptic.c b/drivers/input/misc/max77693-haptic.c index 4369d3c04d38..787ea6d0d64d 100644 --- a/drivers/input/misc/max77693-haptic.c +++ b/drivers/input/misc/max77693-haptic.c @@ -325,11 +325,9 @@ static int max77693_haptic_probe(struct platform_device *pdev) /* Get pwm and regulatot for haptic device */ haptic->pwm_dev = devm_pwm_get(&pdev->dev, NULL); - if (IS_ERR(haptic->pwm_dev)) { - dev_err(&pdev->dev, "failed to get pwm device\n"); - return PTR_ERR(haptic->pwm_dev); - } - + if (IS_ERR(haptic->pwm_dev)) + return dev_err_probe(&pdev->dev, PTR_ERR(haptic->pwm_dev), + "failed to get pwm device\n"); /* * FIXME: pwm_apply_args() should be removed when switching to the * atomic PWM API. -- 2.20.1 ÿ