[PATCHv3 1/5] drm: exynos: hdmi: remove usage of struct s5p_hdmi_platform_data
Joonyoung Shim
jy0922.shim at samsung.com
Wed Apr 16 18:54:47 PDT 2014
Hi Tomasz,
On 04/17/2014 12:12 AM, Tomasz Stanislawski wrote:
> This patch continues shift of DRM EXYNOS to DT-only configuration.
> The usage of the old structure for HDMI's platform data is
> removed.
>
> Signed-off-by: Tomasz Stanislawski <t.stanislaws at samsung.com>
> ---
> drivers/gpu/drm/exynos/exynos_hdmi.c | 30 ++++++++----------------------
> 1 file changed, 8 insertions(+), 22 deletions(-)
>
> diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
> index 9a6d652..482ca77 100644
> --- a/drivers/gpu/drm/exynos/exynos_hdmi.c
> +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
> @@ -43,7 +43,6 @@
> #include "exynos_mixer.h"
>
> #include <linux/gpio.h>
> -#include <media/s5p_hdmi.h>
>
> #define get_hdmi_display(dev) platform_get_drvdata(to_platform_device(dev))
> #define ctx_from_connector(c) container_of(c, struct hdmi_context, connector)
> @@ -2011,28 +2010,18 @@ fail:
> return -ENODEV;
> }
>
> -static struct s5p_hdmi_platform_data *drm_hdmi_dt_parse_pdata
> - (struct device *dev)
> +static int drm_hdmi_dt_parse(struct hdmi_context *hdata, struct device_node *np)
> {
> - 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;
> -
> if (!of_find_property(np, "hpd-gpio", &value)) {
> DRM_ERROR("no hpd gpio property found\n");
> - goto err_data;
> + return -ENOENT;
> }
>
> - pd->hpd_gpio = of_get_named_gpio(np, "hpd-gpio", 0);
> -
> - return pd;
> + hdata->hpd_gpio = of_get_named_gpio(np, "hpd-gpio", 0);
>
> -err_data:
> - return NULL;
> + return 0;
> }
>
> static struct of_device_id hdmi_match_types[] = {
> @@ -2051,7 +2040,6 @@ static int hdmi_probe(struct platform_device *pdev)
> {
> struct device *dev = &pdev->dev;
> struct hdmi_context *hdata;
> - struct s5p_hdmi_platform_data *pdata;
> struct resource *res;
> const struct of_device_id *match;
> struct device_node *ddc_node, *phy_node;
> @@ -2061,14 +2049,14 @@ static int hdmi_probe(struct platform_device *pdev)
> if (!dev->of_node)
> return -ENODEV;
>
> - pdata = drm_hdmi_dt_parse_pdata(dev);
> - if (!pdata)
> - return -EINVAL;
> -
> hdata = devm_kzalloc(dev, sizeof(struct hdmi_context), GFP_KERNEL);
> if (!hdata)
> return -ENOMEM;
>
> + ret = drm_hdmi_dt_parse(hdata, dev->of_node);
> + if (ret)
> + return -EINVAL;
It's better to return ret value.
More information about the dri-devel
mailing list