Forráskód Böngészése

ARM: S3C64XX: Use PWM lookup table for mach-crag6410

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 10 éve
szülő
commit
799fbf8cee
1 módosított fájl, 7 hozzáadás és 2 törlés
  1. 7 2
      arch/arm/mach-s3c64xx/mach-crag6410.c

+ 7 - 2
arch/arm/mach-s3c64xx/mach-crag6410.c

@@ -25,6 +25,7 @@
 #include <linux/mmc/host.h>
 #include <linux/mmc/host.h>
 #include <linux/regulator/machine.h>
 #include <linux/regulator/machine.h>
 #include <linux/regulator/fixed.h>
 #include <linux/regulator/fixed.h>
+#include <linux/pwm.h>
 #include <linux/pwm_backlight.h>
 #include <linux/pwm_backlight.h>
 #include <linux/dm9000.h>
 #include <linux/dm9000.h>
 #include <linux/gpio_keys.h>
 #include <linux/gpio_keys.h>
@@ -108,11 +109,14 @@ static struct s3c2410_uartcfg crag6410_uartcfgs[] __initdata = {
 	},
 	},
 };
 };
 
 
+static struct pwm_lookup crag6410_pwm_lookup[] = {
+	PWM_LOOKUP("samsung-pwm", 0, "pwm-backlight", NULL, 100000,
+		   PWM_POLARITY_NORMAL),
+};
+
 static struct platform_pwm_backlight_data crag6410_backlight_data = {
 static struct platform_pwm_backlight_data crag6410_backlight_data = {
-	.pwm_id		= 0,
 	.max_brightness	= 1000,
 	.max_brightness	= 1000,
 	.dft_brightness	= 600,
 	.dft_brightness	= 600,
-	.pwm_period_ns	= 100000,	/* about 1kHz */
 	.enable_gpio	= -1,
 	.enable_gpio	= -1,
 };
 };
 
 
@@ -843,6 +847,7 @@ static void __init crag6410_machine_init(void)
 	samsung_keypad_set_platdata(&crag6410_keypad_data);
 	samsung_keypad_set_platdata(&crag6410_keypad_data);
 	s3c64xx_spi0_set_platdata(NULL, 0, 2);
 	s3c64xx_spi0_set_platdata(NULL, 0, 2);
 
 
+	pwm_add_table(crag6410_pwm_lookup, ARRAY_SIZE(crag6410_pwm_lookup));
 	platform_add_devices(crag6410_devices, ARRAY_SIZE(crag6410_devices));
 	platform_add_devices(crag6410_devices, ARRAY_SIZE(crag6410_devices));
 
 
 	gpio_led_register_device(-1, &gpio_leds_pdata);
 	gpio_led_register_device(-1, &gpio_leds_pdata);