Skip to contentSkip to conversation

LEDS: LED module for DA9052/53 PMIC

PATCH In review Ashish Jangam 2 participants 2 messages Jan 17, 2012

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 6/7 LEDS: LED module for DA9052/53 PMIC

LED Driver for Dialog Semiconductor DA9052 PMICs.

---
 drivers/leds/Kconfig       |    8 ++
 drivers/leds/Makefile      |    1 +
 drivers/leds/leds-da9052.c |  219 ++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 228 insertions(+), 0 deletions(-)
 create mode 100644 drivers/leds/leds-da9052.c
drivers/leds/Kconfig +8 -0
index 7101fe8..6de63c1 100644
@@ -268,6 +268,14 @@ config LEDS_DA903X
 	  This option enables support for on-chip LED drivers found
 	  on Dialog Semiconductor DA9030/DA9034 PMICs.
 
+config LEDS_DA9052
+	tristate "Dialog DA9052 LEDS"
+	depends on LEDS_CLASS
+	depends on PMIC_DA9052
+	help
+	  This option enables support for on-chip LED drivers found
+	  on Dialog Semiconductor DA9052 PMICs
+
 config LEDS_DAC124S085
 	tristate "LED Support for DAC124S085 SPI DAC"
 	depends on LEDS_CLASS
drivers/leds/Makefile +1 -0
index b8a9723..53b044e 100644
@@ -31,6 +31,7 @@ obj-$(CONFIG_LEDS_HP6XX)		+= leds-hp6xx.o
 obj-$(CONFIG_LEDS_FSG)			+= leds-fsg.o
 obj-$(CONFIG_LEDS_PCA955X)		+= leds-pca955x.o
 obj-$(CONFIG_LEDS_DA903X)		+= leds-da903x.o
+obj-$(CONFIG_LEDS_DA9052)		+= leds-da9052.o
 obj-$(CONFIG_LEDS_WM831X_STATUS)	+= leds-wm831x-status.o
 obj-$(CONFIG_LEDS_WM8350)		+= leds-wm8350.o
 obj-$(CONFIG_LEDS_PWM)			+= leds-pwm.o
drivers/leds/leds-da9052.c new file +219 -0

219 lines not on this page · raw message

#1 lore raw

drivers/leds/leds-da9052.c line 51

Quoted 2 lines · Ashish Jangam
drivers/leds/leds-da9052.c new file +2 -0
+	error = da9052_reg_write(led->da9052, led_reg[led->led_index],
+				 led->brightness | DA9052_LED_CONT_DIM);

The device has 8 bit registers but brightness could be any 8 bit number by default (and the driver doesn't set a maxmimum brightness that I noticed).

drivers/leds/leds-da9052.c line 215

Quoted 11 lines
drivers/leds/leds-da9052.c new file +11 -0
+static int __init da9052_led_init(void)
+{
+	return platform_driver_register(&da9052_led_driver);
+}
+module_init(da9052_led_init);
+
+static void __exit da9052_led_exit(void)
+{
+	platform_driver_unregister(&da9052_led_driver);
+}
+module_exit(da9052_led_exit);

Use module_platform_driver()