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

Commit c488637c authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge branch 'samsung-fixes-2' of git://github.com/kgene/linux-samsung into HEAD

parents 72cc2056 d03c3593
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1160,7 +1160,7 @@ void __init_or_cpufreq exynos4_setup_clocks(void)

	vpllsrc = clk_get_rate(&clk_vpllsrc.clk);
	vpll = s5p_get_pll46xx(vpllsrc, __raw_readl(S5P_VPLL_CON0),
				__raw_readl(S5P_VPLL_CON1), pll_4650);
				__raw_readl(S5P_VPLL_CON1), pll_4650c);

	clk_fout_apll.ops = &exynos4_fout_apll_ops;
	clk_fout_mpll.rate = mpll;
+9 −1
Original line number Diff line number Diff line
@@ -132,12 +132,18 @@ static cycle_t exynos4_frc_read(struct clocksource *cs)
	return ((cycle_t)hi << 32) | lo;
}

static void exynos4_frc_resume(struct clocksource *cs)
{
	exynos4_mct_frc_start(0, 0);
}

struct clocksource mct_frc = {
	.name		= "mct-frc",
	.rating		= 400,
	.read		= exynos4_frc_read,
	.mask		= CLOCKSOURCE_MASK(64),
	.flags		= CLOCK_SOURCE_IS_CONTINUOUS,
	.resume		= exynos4_frc_resume,
};

static void __init exynos4_clocksource_init(void)
@@ -389,9 +395,11 @@ static void exynos4_mct_tick_init(struct clock_event_device *evt)
}

/* Setup the local clock events for a CPU */
void __cpuinit local_timer_setup(struct clock_event_device *evt)
int __cpuinit local_timer_setup(struct clock_event_device *evt)
{
	exynos4_mct_tick_init(evt);

	return 0;
}

int local_timer_ack(void)
+2 −0
Original line number Diff line number Diff line
@@ -106,6 +106,8 @@ void __cpuinit platform_secondary_init(unsigned int cpu)
	 */
	spin_lock(&boot_lock);
	spin_unlock(&boot_lock);

	set_cpu_online(cpu, true);
}

int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle)
+6 −5
Original line number Diff line number Diff line
@@ -19,15 +19,16 @@ void samsung_keypad_cfg_gpio(unsigned int rows, unsigned int cols)

	if (rows > 8) {
		/* Set all the necessary GPX2 pins: KP_ROW[0~7] */
		s3c_gpio_cfgrange_nopull(EXYNOS4_GPX2(0), 8, S3C_GPIO_SFN(3));
		s3c_gpio_cfgall_range(EXYNOS4_GPX2(0), 8, S3C_GPIO_SFN(3),
					S3C_GPIO_PULL_UP);

		/* Set all the necessary GPX3 pins: KP_ROW[8~] */
		s3c_gpio_cfgrange_nopull(EXYNOS4_GPX3(0), (rows - 8),
					 S3C_GPIO_SFN(3));
		s3c_gpio_cfgall_range(EXYNOS4_GPX3(0), (rows - 8),
					 S3C_GPIO_SFN(3), S3C_GPIO_PULL_UP);
	} else {
		/* Set all the necessary GPX2 pins: KP_ROW[x] */
		s3c_gpio_cfgrange_nopull(EXYNOS4_GPX2(0), rows,
					 S3C_GPIO_SFN(3));
		s3c_gpio_cfgall_range(EXYNOS4_GPX2(0), rows, S3C_GPIO_SFN(3),
					S3C_GPIO_PULL_UP);
	}

	/* Set all the necessary GPX1 pins to special-function 3: KP_COL[x] */
+0 −39
Original line number Diff line number Diff line
@@ -262,45 +262,6 @@ static struct samsung_keypad_platdata smdk6410_keypad_data __initdata = {
	.cols		= 8,
};

static int smdk6410_backlight_init(struct device *dev)
{
	int ret;

	ret = gpio_request(S3C64XX_GPF(15), "Backlight");
	if (ret) {
		printk(KERN_ERR "failed to request GPF for PWM-OUT1\n");
		return ret;
	}

	/* Configure GPIO pin with S3C64XX_GPF15_PWM_TOUT1 */
	s3c_gpio_cfgpin(S3C64XX_GPF(15), S3C_GPIO_SFN(2));

	return 0;
}

static void smdk6410_backlight_exit(struct device *dev)
{
	s3c_gpio_cfgpin(S3C64XX_GPF(15), S3C_GPIO_OUTPUT);
	gpio_free(S3C64XX_GPF(15));
}

static struct platform_pwm_backlight_data smdk6410_backlight_data = {
	.pwm_id		= 1,
	.max_brightness	= 255,
	.dft_brightness	= 255,
	.pwm_period_ns	= 78770,
	.init		= smdk6410_backlight_init,
	.exit		= smdk6410_backlight_exit,
};

static struct platform_device smdk6410_backlight_device = {
	.name		= "pwm-backlight",
	.dev		= {
		.parent		= &s3c_device_timer[1].dev,
		.platform_data	= &smdk6410_backlight_data,
	},
};

static struct map_desc smdk6410_iodesc[] = {};

static struct platform_device *smdk6410_devices[] __initdata = {
Loading