diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2021-08-31 14:41:41 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2021-08-31 14:41:41 -0700 |
commit | a998a62be9cdb509491731ffe81575aa09943a32 (patch) | |
tree | 12f89fd74e0bbdae12fdd159ba5a2c4ecfeeeefa /drivers/leds/led-core.c | |
parent | e7c1bbcf0c315c56cd970642214aa1df3d8cf61d (diff) | |
parent | 239f32b4f161c1584cd4b386d6ab8766432a6ede (diff) |
Merge tag 'leds-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds
Pull LED updates from Pavel Machek:
"Usual driver changes, some documentation that should hopefully get LED
names standartized, and many fixes"
* tag 'leds-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds: (32 commits)
leds: pca955x: Switch to i2c probe_new
leds: pca955x: Let the core process the fwnode
leds: pca955x: Implement the default-state property
leds: pca955x: Add brightness_get function
leds: pca955x: Clean up code formatting
leds: leds-core: Implement the retain-state-shutdown property
dt-bindings: leds: Add retain-state-shutdown boolean
Documentation: leds: standartizing LED names
leds: trigger: remove reference to obsolete CONFIG_IDE_GD_ATA
leds: lp50xx: Fix chip name in KConfig
leds: pwm: add support for default-state device property
leds: move default_state read from fwnode to core
leds: flash: Remove redundant initialization of variable ret
leds: lgm-sso: Propagate error codes from callee to caller
leds: trigger: audio: Add an activate callback to ensure the initial brightness is set
leds: rt8515: Put fwnode in any case during ->probe()
leds: lt3593: Put fwnode in any case during ->probe()
leds: lm3697: Make error handling more robust
leds: lm3697: Update header block to reflect reality
leds: lm3692x: Correct headers (of*.h -> mod_devicetable.h)
...
Diffstat (limited to 'drivers/leds/led-core.c')
-rw-r--r-- | drivers/leds/led-core.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/leds/led-core.c b/drivers/leds/led-core.c index 8eb8054ef9c6..4a97cb745788 100644 --- a/drivers/leds/led-core.c +++ b/drivers/leds/led-core.c @@ -477,3 +477,18 @@ int led_compose_name(struct device *dev, struct led_init_data *init_data, return 0; } EXPORT_SYMBOL_GPL(led_compose_name); + +enum led_default_state led_init_default_state_get(struct fwnode_handle *fwnode) +{ + const char *state = NULL; + + if (!fwnode_property_read_string(fwnode, "default-state", &state)) { + if (!strcmp(state, "keep")) + return LEDS_DEFSTATE_KEEP; + if (!strcmp(state, "on")) + return LEDS_DEFSTATE_ON; + } + + return LEDS_DEFSTATE_OFF; +} +EXPORT_SYMBOL_GPL(led_init_default_state_get); |