Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966292AbeAJQHB (ORCPT + 1 other); Wed, 10 Jan 2018 11:07:01 -0500 Received: from mail.free-electrons.com ([62.4.15.54]:38208 "EHLO mail.free-electrons.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965824AbeAJP7o (ORCPT ); Wed, 10 Jan 2018 10:59:44 -0500 From: Maxime Ripard To: Daniel Vetter , Jani Nikula , Sean Paul Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Laurent Pinchart , Maxime Ripard Subject: [PATCH] drm/panel: lvds: Handle the optional regulator case properly Date: Wed, 10 Jan 2018 16:59:41 +0100 Message-Id: <20180110155941.16109-1-maxime.ripard@free-electrons.com> X-Mailer: git-send-email 2.14.3 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: The devm_regulator_get_optional function, unlike it was assumed in the commit a1c55bccf600 ("drm/panel: lvds: Add support for the power-supply property"), is actually returning an error pointer with -ENODEV instead of NULL when there's no regulator to find. Make sure we handle that case properly. Fixes: a1c55bccf600 ("drm/panel: lvds: Add support for the power-supply property") Signed-off-by: Maxime Ripard --- drivers/gpu/drm/panel/panel-lvds.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-lvds.c b/drivers/gpu/drm/panel/panel-lvds.c index 57e38a9e7ab4..9f46e7095c0e 100644 --- a/drivers/gpu/drm/panel/panel-lvds.c +++ b/drivers/gpu/drm/panel/panel-lvds.c @@ -215,8 +215,13 @@ static int panel_lvds_probe(struct platform_device *pdev) lvds->supply = devm_regulator_get_optional(lvds->dev, "power"); if (IS_ERR(lvds->supply)) { ret = PTR_ERR(lvds->supply); - dev_err(lvds->dev, "failed to request regulator: %d\n", ret); - return ret; + + if (ret != -ENODEV) { + dev_err(lvds->dev, "failed to request regulator: %d\n", ret); + return ret; + } else { + lvds->supply = NULL; + } } /* Get GPIOs and backlight controller. */ -- 2.14.3