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.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAl4ohVcQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD16yhD/sF39YOK3B7jNkTD1AYn7NndWELZjNpQbs+
 ncSShCJFSNlGavGJFZz6Nv4lJXWBYk8Rf1NXfEs+q3bnkng4X2o41iy6zFJKKDIY
 Hak2XYe/1VMWTS2RsGgd9ucR5lSOhxQtJ4eZw/RrPuWUu2i4jfjLVaLOXfHKK1sd
 MF0fhuwySCv+8exRWO572qhXZI14G6rUC0MQoCEU9YTJ5Yt9dxnhk9seCQCcTytI
 DnGiakIky3zmBUW97KCtUgYxNP9dlcGioqDeHi5M2OzKfsI2psdiUmpCGfCcZgfE
 BgArUJNe/TEKgz/BER1mHIgFjIqV7g3w6grEzWxoaL/u8k1eJYD12+o2VRL/qTx6
 YYr1sXMPI2wVa/MAODXLpsU2B/lEur5rW97BgQt+rPWB/sxO1N5PArNEFN2BIXbK
 qVlFyy2DKYqiRuOsn4Y4qy0h+ACcbPgZrdKbSVfGMoIDtBfAj2Wi7w3oG4tVOu3A
 yHhITLAheF1NU32h+GaGG8kKOOS3v0PqarwTDRuZ95d0bEM3uVC8AbvaDCHYiDPO
 E1Q1GVFd77udfNb3rFKm5MDop+aRlxhGHvR1xTiIPitU8999ii+ztlWgcxr3B3Sc
 TxfQwztCj5pmSXP8Rm+FcWHMlUeNRXvXYhOv1KFarfQ0ZiBJlDQdMBFDPimMY4lw
 NPgdEH0ANQ==
 =iP3T
 -----END PGP SIGNATURE-----

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.org
Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
Olof Johansson 2020-01-22 16:41:24 -08:00
commit a9eeb0e611
3 changed files with 12 additions and 9 deletions

View File

@ -64,7 +64,6 @@ config ARCH_EXYNOS4
select CLKSRC_SAMSUNG_PWM if CPU_EXYNOS4210
select CPU_EXYNOS4210
select GIC_NON_BANKED
select MIGHT_HAVE_CACHE_L2X0
help
Samsung Exynos4 (Cortex-A9) SoC based systems

View File

@ -377,6 +377,7 @@ static struct pwm_lookup rx1950_pwm_lookup[] = {
};
static struct pwm_device *lcd_pwm;
static struct pwm_state lcd_pwm_state;
static void rx1950_lcd_power(int enable)
{
@ -429,15 +430,16 @@ static void rx1950_lcd_power(int enable)
/* GPB1->OUTPUT, GPB1->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 */
gpio_direction_output(S3C2410_GPC(0), 0);
gpio_direction_output(S3C2410_GPC(10), 0);
} else {
pwm_config(lcd_pwm, LCD_PWM_DUTY, LCD_PWM_PERIOD);
pwm_enable(lcd_pwm);
lcd_pwm_state.enabled = true;
pwm_apply_state(lcd_pwm, &lcd_pwm_state);
gpio_direction_output(S3C2410_GPC(0), 1);
gpio_direction_output(S3C2410_GPC(5), 1);
@ -493,10 +495,13 @@ static int rx1950_backlight_init(struct device *dev)
}
/*
* FIXME: pwm_apply_args() should be removed when switching to
* the atomic PWM API.
* This is only required to initialize .polarity; all other values are
* 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_bl_power(1);

View File

@ -336,7 +336,6 @@ config MACH_WLF_CRAGG_6410
config MACH_S3C64XX_DT
bool "Samsung S3C6400/S3C6410 machine using Device Tree"
select TIMER_OF
select CPU_S3C6400
select CPU_S3C6410
select PINCTRL