Message ID | 1333614296-13256-2-git-send-email-tushar.behera@linaro.org |
---|---|
State | Accepted |
Headers | show |
Hi Tushbar Behera, On 04/05/2012 10:24 AM, Tushar Behera wrote: > Commit 350f2f4dad64 ("[media] v4l: s5p-tv: hdmi: add support for > platform data") makes the presence of platform data mandatory for s5p-tv > driver. Adding an API to plat-samsung for this purpose. > > Signed-off-by: Tushar Behera <tushar.behera@linaro.org> > --- > arch/arm/plat-samsung/devs.c | 25 +++++++++++++++++++++++++ > arch/arm/plat-samsung/include/plat/hdmi.h | 16 ++++++++++++++++ > 2 files changed, 41 insertions(+), 0 deletions(-) > create mode 100644 arch/arm/plat-samsung/include/plat/hdmi.h > > diff --git a/arch/arm/plat-samsung/devs.c b/arch/arm/plat-samsung/devs.c > index 8b928f9..0ac3884 100644 > --- a/arch/arm/plat-samsung/devs.c > +++ b/arch/arm/plat-samsung/devs.c > @@ -31,6 +31,8 @@ > #include <linux/ioport.h> > #include <linux/platform_data/s3c-hsudc.h> > > +#include <media/s5p_hdmi.h> > + > #include <asm/irq.h> > #include <asm/pmu.h> > #include <asm/mach/arch.h> > @@ -770,6 +772,29 @@ void __init s5p_i2c_hdmiphy_set_platdata(struct s3c2410_platform_i2c *pd) > npd = s3c_set_platdata(pd, sizeof(struct s3c2410_platform_i2c), > &s5p_device_i2c_hdmiphy); > } > + > +struct s5p_hdmi_platform_data s5p_hdmi_def_platdata; > + > +void __init s5p_hdmi_set_platdata(struct i2c_board_info *hdmiphy_info, > + struct i2c_board_info *mhl_info, int mhl_bus) > +{ > + struct s5p_hdmi_platform_data *pd = &s5p_hdmi_def_platdata; > + > + if (soc_is_exynos4210()) > + pd->hdmiphy_bus = 8; I found that hdmiphy is installed on 8th controller on all probably all chips from Exynos4*1* family not only 4210. It should be reflected here. > + else if (soc_is_s5pv210()) > + pd->hdmiphy_bus = 3; > + else > + pd->hdmiphy_bus = 0; > + > + pd->hdmiphy_info = hdmiphy_info; > + pd->mhl_info = mhl_info; > + pd->mhl_bus = mhl_bus; > + > + s3c_set_platdata(pd, sizeof(struct s5p_hdmi_platform_data), > + &s5p_device_hdmi); > +} > + > #endif /* CONFIG_S5P_DEV_I2C_HDMIPHY */ > > /* I2S */ > diff --git a/arch/arm/plat-samsung/include/plat/hdmi.h b/arch/arm/plat-samsung/include/plat/hdmi.h > new file mode 100644 > index 0000000..5dc7347 > --- /dev/null > +++ b/arch/arm/plat-samsung/include/plat/hdmi.h > @@ -0,0 +1,16 @@ > +/* > + * Copyright (C) 2012 Samsung Electronics Co.Ltd > + * > + * This program is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License as published by the > + * Free Software Foundation; either version 2 of the License, or (at your > + * option) any later version. > + */ > + > +#ifndef __PLAT_SAMSUNG_HDMI_H > +#define __PLAT_SAMSUNG_HDMI_H __FILE__ > + > +extern void s5p_hdmi_set_platdata(struct i2c_board_info *hdmiphy_info, > + struct i2c_board_info *mhl_info, int mhl_bus); > + > +#endif /* __PLAT_SAMSUNG_HDMI_H */
On 04/05/2012 02:56 PM, Tomasz Stanislawski wrote: > Hi Tushbar Behera, > > On 04/05/2012 10:24 AM, Tushar Behera wrote: >> Commit 350f2f4dad64 ("[media] v4l: s5p-tv: hdmi: add support for >> platform data") makes the presence of platform data mandatory for s5p-tv >> driver. Adding an API to plat-samsung for this purpose. >> >> Signed-off-by: Tushar Behera <tushar.behera@linaro.org> >> --- >> arch/arm/plat-samsung/devs.c | 25 +++++++++++++++++++++++++ >> arch/arm/plat-samsung/include/plat/hdmi.h | 16 ++++++++++++++++ >> 2 files changed, 41 insertions(+), 0 deletions(-) >> create mode 100644 arch/arm/plat-samsung/include/plat/hdmi.h >> >> diff --git a/arch/arm/plat-samsung/devs.c b/arch/arm/plat-samsung/devs.c >> index 8b928f9..0ac3884 100644 >> --- a/arch/arm/plat-samsung/devs.c >> +++ b/arch/arm/plat-samsung/devs.c >> @@ -31,6 +31,8 @@ >> #include <linux/ioport.h> >> #include <linux/platform_data/s3c-hsudc.h> >> >> +#include <media/s5p_hdmi.h> >> + >> #include <asm/irq.h> >> #include <asm/pmu.h> >> #include <asm/mach/arch.h> >> @@ -770,6 +772,29 @@ void __init s5p_i2c_hdmiphy_set_platdata(struct s3c2410_platform_i2c *pd) >> npd = s3c_set_platdata(pd, sizeof(struct s3c2410_platform_i2c), >> &s5p_device_i2c_hdmiphy); >> } >> + >> +struct s5p_hdmi_platform_data s5p_hdmi_def_platdata; >> + >> +void __init s5p_hdmi_set_platdata(struct i2c_board_info *hdmiphy_info, >> + struct i2c_board_info *mhl_info, int mhl_bus) >> +{ >> + struct s5p_hdmi_platform_data *pd = &s5p_hdmi_def_platdata; >> + >> + if (soc_is_exynos4210()) >> + pd->hdmiphy_bus = 8; > > I found that hdmiphy is installed on 8th controller on all probably all > chips from Exynos4*1* family not only 4210. It should be reflected here. > Thanks for pointing out ... I will update for other variants also. >> + else if (soc_is_s5pv210()) >> + pd->hdmiphy_bus = 3; >> + else >> + pd->hdmiphy_bus = 0; >> + >> + pd->hdmiphy_info = hdmiphy_info; >> + pd->mhl_info = mhl_info; >> + pd->mhl_bus = mhl_bus; >> + >> + s3c_set_platdata(pd, sizeof(struct s5p_hdmi_platform_data), >> + &s5p_device_hdmi); >> +} >> + >> #endif /* CONFIG_S5P_DEV_I2C_HDMIPHY */ >> >> /* I2S */ >> diff --git a/arch/arm/plat-samsung/include/plat/hdmi.h b/arch/arm/plat-samsung/include/plat/hdmi.h >> new file mode 100644 >> index 0000000..5dc7347 >> --- /dev/null >> +++ b/arch/arm/plat-samsung/include/plat/hdmi.h >> @@ -0,0 +1,16 @@ >> +/* >> + * Copyright (C) 2012 Samsung Electronics Co.Ltd >> + * >> + * This program is free software; you can redistribute it and/or modify it >> + * under the terms of the GNU General Public License as published by the >> + * Free Software Foundation; either version 2 of the License, or (at your >> + * option) any later version. >> + */ >> + >> +#ifndef __PLAT_SAMSUNG_HDMI_H >> +#define __PLAT_SAMSUNG_HDMI_H __FILE__ >> + >> +extern void s5p_hdmi_set_platdata(struct i2c_board_info *hdmiphy_info, >> + struct i2c_board_info *mhl_info, int mhl_bus); >> + >> +#endif /* __PLAT_SAMSUNG_HDMI_H */ >
diff --git a/arch/arm/plat-samsung/devs.c b/arch/arm/plat-samsung/devs.c index 8b928f9..0ac3884 100644 --- a/arch/arm/plat-samsung/devs.c +++ b/arch/arm/plat-samsung/devs.c @@ -31,6 +31,8 @@ #include <linux/ioport.h> #include <linux/platform_data/s3c-hsudc.h> +#include <media/s5p_hdmi.h> + #include <asm/irq.h> #include <asm/pmu.h> #include <asm/mach/arch.h> @@ -770,6 +772,29 @@ void __init s5p_i2c_hdmiphy_set_platdata(struct s3c2410_platform_i2c *pd) npd = s3c_set_platdata(pd, sizeof(struct s3c2410_platform_i2c), &s5p_device_i2c_hdmiphy); } + +struct s5p_hdmi_platform_data s5p_hdmi_def_platdata; + +void __init s5p_hdmi_set_platdata(struct i2c_board_info *hdmiphy_info, + struct i2c_board_info *mhl_info, int mhl_bus) +{ + struct s5p_hdmi_platform_data *pd = &s5p_hdmi_def_platdata; + + if (soc_is_exynos4210()) + pd->hdmiphy_bus = 8; + else if (soc_is_s5pv210()) + pd->hdmiphy_bus = 3; + else + pd->hdmiphy_bus = 0; + + pd->hdmiphy_info = hdmiphy_info; + pd->mhl_info = mhl_info; + pd->mhl_bus = mhl_bus; + + s3c_set_platdata(pd, sizeof(struct s5p_hdmi_platform_data), + &s5p_device_hdmi); +} + #endif /* CONFIG_S5P_DEV_I2C_HDMIPHY */ /* I2S */ diff --git a/arch/arm/plat-samsung/include/plat/hdmi.h b/arch/arm/plat-samsung/include/plat/hdmi.h new file mode 100644 index 0000000..5dc7347 --- /dev/null +++ b/arch/arm/plat-samsung/include/plat/hdmi.h @@ -0,0 +1,16 @@ +/* + * Copyright (C) 2012 Samsung Electronics Co.Ltd + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + */ + +#ifndef __PLAT_SAMSUNG_HDMI_H +#define __PLAT_SAMSUNG_HDMI_H __FILE__ + +extern void s5p_hdmi_set_platdata(struct i2c_board_info *hdmiphy_info, + struct i2c_board_info *mhl_info, int mhl_bus); + +#endif /* __PLAT_SAMSUNG_HDMI_H */
Commit 350f2f4dad64 ("[media] v4l: s5p-tv: hdmi: add support for platform data") makes the presence of platform data mandatory for s5p-tv driver. Adding an API to plat-samsung for this purpose. Signed-off-by: Tushar Behera <tushar.behera@linaro.org> --- arch/arm/plat-samsung/devs.c | 25 +++++++++++++++++++++++++ arch/arm/plat-samsung/include/plat/hdmi.h | 16 ++++++++++++++++ 2 files changed, 41 insertions(+), 0 deletions(-) create mode 100644 arch/arm/plat-samsung/include/plat/hdmi.h