Dnia piątek, 12 października 2012 23:44:05 Sylwester Nawrocki pisze:
> On 10/12/2012 10:47 PM, Ajay Kumar wrote:
> > This patch enables device tree based discovery support for DP driver.
> > The driver is modified to handle platform data in both the cases:
> > with DT and non-DT.
> > 
> > Signed-off-by: Ajay Kumar<ajaykumar...@samsung.com>
> > Acked-by: Jingoo Han<jg1....@samsung.com>
> > ---
> > 
> >   drivers/video/exynos/exynos_dp_core.c |  161
> >   ++++++++++++++++++++++++++++++---
> >   drivers/video/exynos/exynos_dp_core.h |    2 +
> >   2 files changed, 149 insertions(+), 14 deletions(-)
> > 
> > diff --git a/drivers/video/exynos/exynos_dp_core.c
> > b/drivers/video/exynos/exynos_dp_core.c index d55470e..62932ba 100644
> > --- a/drivers/video/exynos/exynos_dp_core.c
> > +++ b/drivers/video/exynos/exynos_dp_core.c
> > @@ -18,6 +18,7 @@
> > 
> >   #include<linux/io.h>
> >   #include<linux/interrupt.h>
> >   #include<linux/delay.h>
> > 
> > +#include<linux/of.h>
> > 
> >   #include<video/exynos_dp.h>
> > 
> > @@ -856,6 +857,99 @@ static irqreturn_t exynos_dp_irq_handler(int irq,
> > void *arg)> 
> >     return IRQ_HANDLED;
> >   
> >   }
> > 
> > +#ifdef CONFIG_OF
> > +struct exynos_dp_platdata *exynos_dp_dt_parse_pdata(struct device
> > *dev)
> > +{
> > +   struct device_node *dp_node = dev->of_node;
> > +   struct exynos_dp_platdata *pd;
> > +   struct video_info *dp_video_config;
> > +
> > +   pd = devm_kzalloc(dev, sizeof(*pd), GFP_KERNEL);
> > +   if (!pd) {
> > +           dev_err(dev, "memory allocation for pdata failed\n");
> > +           return ERR_PTR(-ENOMEM);
> > +   }
> > +   dp_video_config = devm_kzalloc(dev,
> > +                           sizeof(*dp_video_config), GFP_KERNEL);
> > +
> > +   if (!dp_video_config) {
> > +           dev_err(dev, "memory allocation for video config failed\n");
> > +           return ERR_PTR(-ENOMEM);
> > +   }
> > +   pd->video_info = dp_video_config;
> > +
> > +   if (of_get_property(dp_node, "hsync-active-high", NULL))
> > +           dp_video_config->h_sync_polarity = 1;
> > +
> > +   if (of_get_property(dp_node, "vsync-active-high", NULL))
> > +           dp_video_config->v_sync_polarity = 1;
> > +
> > +   if (of_get_property(dp_node, "interlaced", NULL))
> > +           dp_video_config->interlaced = 1;
> 
> of_property_read_bool() could also be used here.

Wouldn't it make the property mandatory?

I would just use of_find_property here, instead of of_get_property.

Best regards,
Tomasz Figa

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to