summaryrefslogtreecommitdiff
path: root/drivers/leds/leds-lm3530.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/leds/leds-lm3530.c')
-rw-r--r--drivers/leds/leds-lm3530.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/leds/leds-lm3530.c b/drivers/leds/leds-lm3530.c
index a036a19040f..c3182fae12e 100644
--- a/drivers/leds/leds-lm3530.c
+++ b/drivers/leds/leds-lm3530.c
@@ -486,6 +486,24 @@ static int lm3530_remove(struct i2c_client *client)
return 0;
}
+
+/***************************************************************************
+ * lm3530_shutdown - make sure brightness is set to 0
+ *
+ * The PMIC of the Olio H1 can't provide the power needed by the lm3530,
+ * in other words, it does it's own power management. This means we need
+ * to shut off power usage. Brightness of 0 should do this.
+ */
+
+static void lm3530_shutdown(struct i2c_client *client)
+{
+ struct lm3530_data *drvdata = i2c_get_clientdata(client);
+
+ lm3530_brightness_set(&(drvdata->led_dev), LED_OFF);
+
+ return;
+}
+
static const struct i2c_device_id lm3530_id[] = {
{LM3530_NAME, 0},
{}
@@ -495,6 +513,7 @@ MODULE_DEVICE_TABLE(i2c, lm3530_id);
static struct i2c_driver lm3530_i2c_driver = {
.probe = lm3530_probe,
.remove = lm3530_remove,
+ .shutdown = lm3530_shutdown,
.id_table = lm3530_id,
.driver = {
.name = LM3530_NAME,