diff mbox

drm: exynos: hdmi: simplify extracting hpd-gpio from DT

Message ID 534BB34F.7040308@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Tomasz Stanislawski April 14, 2014, 10:07 a.m. UTC
This patch eliminates redundant checks while retrieving HPD gpio from DT during
HDMI's probe().

Signed-off-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
---
 drivers/gpu/drm/exynos/exynos_hdmi.c |   13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

Comments

Joonyoung Shim April 14, 2014, 12:05 p.m. UTC | #1
Hi Tomasz,

On 04/14/2014 07:07 PM, Tomasz Stanislawski wrote:
> This patch eliminates redundant checks while retrieving HPD gpio from DT during
> HDMI's probe().
>
> Signed-off-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
> ---
>   drivers/gpu/drm/exynos/exynos_hdmi.c |   13 ++++---------
>   1 file changed, 4 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
> index e1a2e88..300c2af 100644
> --- a/drivers/gpu/drm/exynos/exynos_hdmi.c
> +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
> @@ -2011,23 +2011,18 @@ static struct s5p_hdmi_platform_data *drm_hdmi_dt_parse_pdata
>   {
>   	struct device_node *np = dev->of_node;
>   	struct s5p_hdmi_platform_data *pd;
> -	u32 value;
>
>   	pd = devm_kzalloc(dev, sizeof(*pd), GFP_KERNEL);
>   	if (!pd)
> -		goto err_data;
> +		return NULL;
>
> -	if (!of_find_property(np, "hpd-gpio", &value)) {
> +	pd->hpd_gpio = of_get_named_gpio_flags(np, "hpd-gpio", 0, NULL);

This is same with
pd->hpd_gpio = of_get_named_gpio(np, "hpd-gpio", 0);

> +	if (pd->hpd_gpio < 0) {

How about use gpio_is_valid()?

>   		DRM_ERROR("no hpd gpio property found\n");
> -		goto err_data;
> +		return NULL;
>   	}
>
> -	pd->hpd_gpio = of_get_named_gpio(np, "hpd-gpio", 0);
> -
>   	return pd;
> -
> -err_data:
> -	return NULL;
>   }
>
>   static struct of_device_id hdmi_match_types[] = {
>
>

Thanks.
diff mbox

Patch

diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index e1a2e88..300c2af 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -2011,23 +2011,18 @@  static struct s5p_hdmi_platform_data *drm_hdmi_dt_parse_pdata
 {
 	struct device_node *np = dev->of_node;
 	struct s5p_hdmi_platform_data *pd;
-	u32 value;

 	pd = devm_kzalloc(dev, sizeof(*pd), GFP_KERNEL);
 	if (!pd)
-		goto err_data;
+		return NULL;

-	if (!of_find_property(np, "hpd-gpio", &value)) {
+	pd->hpd_gpio = of_get_named_gpio_flags(np, "hpd-gpio", 0, NULL);
+	if (pd->hpd_gpio < 0) {
 		DRM_ERROR("no hpd gpio property found\n");
-		goto err_data;
+		return NULL;
 	}

-	pd->hpd_gpio = of_get_named_gpio(np, "hpd-gpio", 0);
-
 	return pd;
-
-err_data:
-	return NULL;
 }

 static struct of_device_id hdmi_match_types[] = {