Commit a9eeb0e6 authored by Olof Johansson's avatar Olof Johansson

Merge tag 'samsung-soc-5.6-2' of...

Merge tag 'samsung-soc-5.6-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/soc

Samsung mach/soc changes for v5.6, part 2

1. Switch from legacy to atomic pwm API in rx1950 (s3c24xx),
2. Cleanups of unneeded selects in Kconfig.

* tag 'samsung-soc-5.6-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: s3c64xx: Drop unneeded select of TIMER_OF
  ARM: exynos: Drop unneeded select of MIGHT_HAVE_CACHE_L2X0
  ARM: s3c24xx: Switch to atomic pwm API in rx1950

Link: https://lore.kernel.org/r/20200122172649.3143-1-krzk@kernel.orgSigned-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 31a7d26f af15a11b
...@@ -64,7 +64,6 @@ config ARCH_EXYNOS4 ...@@ -64,7 +64,6 @@ config ARCH_EXYNOS4
select CLKSRC_SAMSUNG_PWM if CPU_EXYNOS4210 select CLKSRC_SAMSUNG_PWM if CPU_EXYNOS4210
select CPU_EXYNOS4210 select CPU_EXYNOS4210
select GIC_NON_BANKED select GIC_NON_BANKED
select MIGHT_HAVE_CACHE_L2X0
help help
Samsung Exynos4 (Cortex-A9) SoC based systems Samsung Exynos4 (Cortex-A9) SoC based systems
......
...@@ -377,6 +377,7 @@ static struct pwm_lookup rx1950_pwm_lookup[] = { ...@@ -377,6 +377,7 @@ static struct pwm_lookup rx1950_pwm_lookup[] = {
}; };
static struct pwm_device *lcd_pwm; static struct pwm_device *lcd_pwm;
static struct pwm_state lcd_pwm_state;
static void rx1950_lcd_power(int enable) static void rx1950_lcd_power(int enable)
{ {
...@@ -429,15 +430,16 @@ static void rx1950_lcd_power(int enable) ...@@ -429,15 +430,16 @@ static void rx1950_lcd_power(int enable)
/* GPB1->OUTPUT, GPB1->0 */ /* GPB1->OUTPUT, GPB1->0 */
gpio_direction_output(S3C2410_GPB(1), 0); gpio_direction_output(S3C2410_GPB(1), 0);
pwm_config(lcd_pwm, 0, LCD_PWM_PERIOD);
pwm_disable(lcd_pwm); lcd_pwm_state.enabled = false;
pwm_apply_state(lcd_pwm, &lcd_pwm_state);
/* GPC0->0, GPC10->0 */ /* GPC0->0, GPC10->0 */
gpio_direction_output(S3C2410_GPC(0), 0); gpio_direction_output(S3C2410_GPC(0), 0);
gpio_direction_output(S3C2410_GPC(10), 0); gpio_direction_output(S3C2410_GPC(10), 0);
} else { } else {
pwm_config(lcd_pwm, LCD_PWM_DUTY, LCD_PWM_PERIOD); lcd_pwm_state.enabled = true;
pwm_enable(lcd_pwm); pwm_apply_state(lcd_pwm, &lcd_pwm_state);
gpio_direction_output(S3C2410_GPC(0), 1); gpio_direction_output(S3C2410_GPC(0), 1);
gpio_direction_output(S3C2410_GPC(5), 1); gpio_direction_output(S3C2410_GPC(5), 1);
...@@ -493,10 +495,13 @@ static int rx1950_backlight_init(struct device *dev) ...@@ -493,10 +495,13 @@ static int rx1950_backlight_init(struct device *dev)
} }
/* /*
* FIXME: pwm_apply_args() should be removed when switching to * This is only required to initialize .polarity; all other values are
* the atomic PWM API. * fixed in this driver.
*/ */
pwm_apply_args(lcd_pwm); pwm_init_state(lcd_pwm, &lcd_pwm_state);
lcd_pwm_state.period = LCD_PWM_PERIOD;
lcd_pwm_state.duty_cycle = LCD_PWM_DUTY;
rx1950_lcd_power(1); rx1950_lcd_power(1);
rx1950_bl_power(1); rx1950_bl_power(1);
......
...@@ -336,7 +336,6 @@ config MACH_WLF_CRAGG_6410 ...@@ -336,7 +336,6 @@ config MACH_WLF_CRAGG_6410
config MACH_S3C64XX_DT config MACH_S3C64XX_DT
bool "Samsung S3C6400/S3C6410 machine using Device Tree" bool "Samsung S3C6400/S3C6410 machine using Device Tree"
select TIMER_OF
select CPU_S3C6400 select CPU_S3C6400
select CPU_S3C6410 select CPU_S3C6410
select PINCTRL select PINCTRL
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment