Bladeren bron

ARM: S3C24XX: Use PWM lookup table for mach-rx1950

Use a PWM lookup table to provide the PWM to the pwm-backlight device.
The driver has a legacy code path that is required only because boards
still use the legacy method of requesting PWMs by global ID. Replacing
these usages allows that legacy fallback to be removed.

Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
Thierry Reding 9 jaren geleden
bovenliggende
commit
c107fe904a
1 gewijzigde bestanden met toevoegingen van 6 en 2 verwijderingen
  1. 6 2
      arch/arm/mach-s3c24xx/mach-rx1950.c

+ 6 - 2
arch/arm/mach-s3c24xx/mach-rx1950.c

@@ -375,6 +375,11 @@ static struct s3c2410fb_mach_info rx1950_lcd_cfg = {
 
 
 };
 };
 
 
+static struct pwm_lookup rx1950_pwm_lookup[] = {
+	PWM_LOOKUP("samsung-pwm", 0, "pwm-backlight.0", NULL, 48000,
+		   PWM_POLARITY_NORMAL),
+};
+
 static struct pwm_device *lcd_pwm;
 static struct pwm_device *lcd_pwm;
 
 
 static void rx1950_lcd_power(int enable)
 static void rx1950_lcd_power(int enable)
@@ -520,10 +525,8 @@ static int rx1950_backlight_notify(struct device *dev, int brightness)
 }
 }
 
 
 static struct platform_pwm_backlight_data rx1950_backlight_data = {
 static struct platform_pwm_backlight_data rx1950_backlight_data = {
-	.pwm_id = 0,
 	.max_brightness = 24,
 	.max_brightness = 24,
 	.dft_brightness = 4,
 	.dft_brightness = 4,
-	.pwm_period_ns = 48000,
 	.enable_gpio = -1,
 	.enable_gpio = -1,
 	.init = rx1950_backlight_init,
 	.init = rx1950_backlight_init,
 	.notify = rx1950_backlight_notify,
 	.notify = rx1950_backlight_notify,
@@ -792,6 +795,7 @@ static void __init rx1950_init_machine(void)
 	gpio_direction_output(S3C2410_GPA(4), 0);
 	gpio_direction_output(S3C2410_GPA(4), 0);
 	gpio_direction_output(S3C2410_GPJ(6), 0);
 	gpio_direction_output(S3C2410_GPJ(6), 0);
 
 
+	pwm_add_table(rx1950_pwm_lookup, ARRAY_SIZE(rx1950_pwm_lookup));
 	platform_add_devices(rx1950_devices, ARRAY_SIZE(rx1950_devices));
 	platform_add_devices(rx1950_devices, ARRAY_SIZE(rx1950_devices));
 
 
 	i2c_register_board_info(0, rx1950_i2c_devices,
 	i2c_register_board_info(0, rx1950_i2c_devices,