Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8917da43 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge branch 'v3.6-samsung-fixes-1' of...

Merge branch 'v3.6-samsung-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes

From Kukjin Kim <kgene.kim@samsung.com>:

For HDMI, already HDMI support for EXYNOS in mainline kernel is broken
because its configuration moved to platform data but regarding platform
data didn't support yet. And others are for fix warnings.

* 'v3.6-samsung-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung

:
  ARM: EXYNOS: Set HDMI platform data in Origen board
  ARM: EXYNOS: Set HDMI platform data in SMDKV310
  ARM: SAMSUNG: Add API to set platform data for s5p-tv driver
  ARM: SAMSUNG: Set HDMI platform data for Exynos4x12 SoCs
  ARM: Samsung: Make uart_save static in pm.c file
  ARM: S3C24XX: Fix s3c2410_dma_enqueue parameters
  ARM: S3C24XX: Add missing DMACH_DT_PROP

Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 1e72fe1f ccc61fd4
Loading
Loading
Loading
Loading
+7 −0
Original line number Original line Diff line number Diff line
@@ -42,6 +42,7 @@
#include <plat/backlight.h>
#include <plat/backlight.h>
#include <plat/fb.h>
#include <plat/fb.h>
#include <plat/mfc.h>
#include <plat/mfc.h>
#include <plat/hdmi.h>


#include <mach/ohci.h>
#include <mach/ohci.h>
#include <mach/map.h>
#include <mach/map.h>
@@ -734,6 +735,11 @@ static void __init origen_bt_setup(void)
	s3c_gpio_setpull(EXYNOS4_GPX2(2), S3C_GPIO_PULL_NONE);
	s3c_gpio_setpull(EXYNOS4_GPX2(2), S3C_GPIO_PULL_NONE);
}
}


/* I2C module and id for HDMIPHY */
static struct i2c_board_info hdmiphy_info = {
	I2C_BOARD_INFO("hdmiphy-exynos4210", 0x38),
};

static void s5p_tv_setup(void)
static void s5p_tv_setup(void)
{
{
	/* Direct HPD to HDMI chip */
	/* Direct HPD to HDMI chip */
@@ -781,6 +787,7 @@ static void __init origen_machine_init(void)


	s5p_tv_setup();
	s5p_tv_setup();
	s5p_i2c_hdmiphy_set_platdata(NULL);
	s5p_i2c_hdmiphy_set_platdata(NULL);
	s5p_hdmi_set_platdata(&hdmiphy_info, NULL, 0);


#ifdef CONFIG_DRM_EXYNOS
#ifdef CONFIG_DRM_EXYNOS
	s5p_device_fimd0.dev.platform_data = &drm_fimd_pdata;
	s5p_device_fimd0.dev.platform_data = &drm_fimd_pdata;
+7 −0
Original line number Original line Diff line number Diff line
@@ -40,6 +40,7 @@
#include <plat/mfc.h>
#include <plat/mfc.h>
#include <plat/ehci.h>
#include <plat/ehci.h>
#include <plat/clock.h>
#include <plat/clock.h>
#include <plat/hdmi.h>


#include <mach/map.h>
#include <mach/map.h>
#include <mach/ohci.h>
#include <mach/ohci.h>
@@ -354,6 +355,11 @@ static struct platform_pwm_backlight_data smdkv310_bl_data = {
	.pwm_period_ns  = 1000,
	.pwm_period_ns  = 1000,
};
};


/* I2C module and id for HDMIPHY */
static struct i2c_board_info hdmiphy_info = {
	I2C_BOARD_INFO("hdmiphy-exynos4210", 0x38),
};

static void s5p_tv_setup(void)
static void s5p_tv_setup(void)
{
{
	/* direct HPD to HDMI chip */
	/* direct HPD to HDMI chip */
@@ -388,6 +394,7 @@ static void __init smdkv310_machine_init(void)


	s5p_tv_setup();
	s5p_tv_setup();
	s5p_i2c_hdmiphy_set_platdata(NULL);
	s5p_i2c_hdmiphy_set_platdata(NULL);
	s5p_hdmi_set_platdata(&hdmiphy_info, NULL, 0);


	samsung_keypad_set_platdata(&smdkv310_keypad_data);
	samsung_keypad_set_platdata(&smdkv310_keypad_data);


+2 −1
Original line number Original line Diff line number Diff line
@@ -24,7 +24,8 @@
*/
*/


enum dma_ch {
enum dma_ch {
	DMACH_XD0,
	DMACH_DT_PROP = -1,	/* not yet supported, do not use */
	DMACH_XD0 = 0,
	DMACH_XD1,
	DMACH_XD1,
	DMACH_SDI,
	DMACH_SDI,
	DMACH_SPI0,
	DMACH_SPI0,
+1 −1
Original line number Original line Diff line number Diff line
@@ -430,7 +430,7 @@ s3c2410_dma_canload(struct s3c2410_dma_chan *chan)
 * when necessary.
 * when necessary.
*/
*/


int s3c2410_dma_enqueue(unsigned int channel, void *id,
int s3c2410_dma_enqueue(enum dma_ch channel, void *id,
			dma_addr_t data, int size)
			dma_addr_t data, int size)
{
{
	struct s3c2410_dma_chan *chan = s3c_dma_lookup_channel(channel);
	struct s3c2410_dma_chan *chan = s3c_dma_lookup_channel(channel);
+28 −1
Original line number Original line Diff line number Diff line
@@ -32,6 +32,8 @@
#include <linux/platform_data/s3c-hsudc.h>
#include <linux/platform_data/s3c-hsudc.h>
#include <linux/platform_data/s3c-hsotg.h>
#include <linux/platform_data/s3c-hsotg.h>


#include <media/s5p_hdmi.h>

#include <asm/irq.h>
#include <asm/irq.h>
#include <asm/pmu.h>
#include <asm/pmu.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
@@ -748,7 +750,8 @@ void __init s5p_i2c_hdmiphy_set_platdata(struct s3c2410_platform_i2c *pd)
	if (!pd) {
	if (!pd) {
		pd = &default_i2c_data;
		pd = &default_i2c_data;


		if (soc_is_exynos4210())
		if (soc_is_exynos4210() ||
		    soc_is_exynos4212() || soc_is_exynos4412())
			pd->bus_num = 8;
			pd->bus_num = 8;
		else if (soc_is_s5pv210())
		else if (soc_is_s5pv210())
			pd->bus_num = 3;
			pd->bus_num = 3;
@@ -759,6 +762,30 @@ void __init s5p_i2c_hdmiphy_set_platdata(struct s3c2410_platform_i2c *pd)
	npd = s3c_set_platdata(pd, sizeof(struct s3c2410_platform_i2c),
	npd = s3c_set_platdata(pd, sizeof(struct s3c2410_platform_i2c),
			       &s5p_device_i2c_hdmiphy);
			       &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() ||
	    soc_is_exynos4212() || soc_is_exynos4412())
		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 */
#endif /* CONFIG_S5P_DEV_I2C_HDMIPHY */


/* I2S */
/* I2S */
Loading