aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-09-30leds: tca6507: use fwnode API instead of OFMarek Behún1-37/+29
Convert to use fwnode API instead of OF. It is more generic and if someone wants to use this driver without device-tree yet still, they will be able to via swnode fwnodes. Remove the gpio setup function from platdata. Signed-off-by: Marek Behún <[email protected]> Cc: NeilBrown <[email protected]> Cc: Linus Walleij <[email protected]> Tested-by: H. Nikolaus Schaller <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-30leds: tca6507: Absorb platform dataMarek Behún2-22/+10
The only in-tree usage of this driver is via device-tree. No on else includes linux/leds-tca6507.h, so absorb the definition of platdata structure. Signed-off-by: Marek Behún <[email protected]> Cc: NeilBrown <[email protected]> Reviewed-by: Linus Walleij <[email protected]> Tested-by: H. Nikolaus Schaller <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: parse linux,default-trigger DT property in LED coreMarek Behún24-72/+5
Do the parsing of `linux,default-trigger` DT property to LED core. Currently it is done in many different drivers and the code is repeated. This patch removes the parsing from 23 drivers: an30259a, aw2013, bcm6328, bcm6358, cr0014114, el15203000, gpio, is31fl32xx, lm3532, lm36274, lm3692x, lm3697, lp50xx, lp8860, lt3593, max77650, mt6323, ns2, pm8058, pwm, syscon, tlc591xx and turris-omnia. There is one driver in drivers/input which parses this property on it's own. I shall send a separate patch there after this is applied. There are still 8 drivers that parse this property on their own because they do not pass the led_init_data structure to the registering function. I will try to refactor those in the future. Signed-off-by: Marek Behún <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: syscon: use struct led_init_data when registeringMarek Behún1-3/+4
By using struct led_init_data when registering we do not need to parse `label` DT property. Moreover `label` is deprecated and if it is not present but `color` and `function` are, LED core will compose a name from these properties instead. Signed-off-by: Marek Behún <[email protected]> Cc: Linus Walleij <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: lm3532: don't parse label DT propertyMarek Behún1-12/+0
This driver uses extended LED registration, so we do not need to parse the `label` DT property on our own. Signed-off-by: Marek Behún <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: lm36274: use devres LED registering functionMarek Behún1-11/+2
Now that the potential use-after-free issue is resolved we can use devres for LED registration in this driver. By using devres version of LED registering function we can remove the .remove method from this driver. Signed-off-by: Marek Behún <[email protected]> Tested-by: Dan Murphy <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: lm36274: use platform device as parent of LEDMarek Behún1-2/+2
Instead of registering LED under the MFD device, this driver sets the parent of the LED it is registering to the parent of the MFD device (the I2C client device). Because of this we cannot use devres for LED registration, since it can result in use-after-free, see commit a0972fff0947 ("leds: lm36274: fix use-after-free on unbind"). The only other in-tree driver that also registers under the MFD device (drivers/regulator/lm363x-regulator.c) sets the parent to the MFD device. Set the parent of this LED to the MFD device, instead of the I2C client device. Signed-off-by: Marek Behún <[email protected]> Tested-by: Dan Murphy <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: lm36274: do not set chip settings in DT parsing functionMarek Behún1-8/+8
These settings are not parsed from DT and therefore semantically should not be set in function with a name lm36274_parse_dt. Signed-off-by: Marek Behún <[email protected]> Tested-by: Dan Murphy <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: lm36274: use struct led_init_data when registeringMarek Behún1-17/+25
By using struct led_init_data when registering we do not need to parse `label` DT property. Moreover `label` is deprecated and if it is not present but `color` and `function` are, LED core will compose a name from these properties instead. Previously if the `label` DT property was not present, the code composed name for the LED in the form "parent_name::" For backwards compatibility we therefore set init_data->default_label = ":"; so that the LED will not get a different name if `label` property is not present, nor are `color` and `function`. Signed-off-by: Marek Behún <[email protected]> Tested-by: Dan Murphy <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: lm36274: don't iterate through children since there is only oneMarek Behún1-27/+23
Do not use device_for_each_child_node. Since this driver works only with once child node present, use device_get_next_child_node instead. This also saves one level of indentation. Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Dan Murphy <[email protected]> Tested-by: Dan Murphy <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: lm36274: cosmetic: rename lm36274_data to chipMarek Behún1-42/+40
Rename this variable so that it is easier to read and easier to write in 80 columns. Also rename variable of this type in lm36274_brightness_set from led to chip, to be consistent. Signed-off-by: Marek Behún <[email protected]> Tested-by: Dan Murphy <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: Add driver for Acer Iconia Tab A500Dmitry Osipenko3-0/+137
Acer Iconia Tab A500 is an Android tablet device which has two LEDs embedded into the Power Button. Orange LED indicates "battery charging" status and white LED indicates "wake-up/charge-done" status. The new LED driver provides control over both LEDs to userspace. Signed-off-by: Dmitry Osipenko <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: pca9532 - simplify the return expression of pca9532_removeLiu Shixin1-6/+1
Simplify the return expression. Signed-off-by: Liu Shixin <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: ns2: use struct led_init_data when registeringMarek Behún1-5/+4
By using struct led_init_data when registering we do not need to parse `label` DT property. Moreover `label` is deprecated and if it is not present but `color` and `function` are, LED core will compose a name from these properties instead. Signed-off-by: Marek Behún <[email protected]> Cc: Simon Guinot <[email protected]> Cc: Simon Guinot <[email protected]> Cc: Vincent Donnefort <[email protected]> Cc: Thomas Petazzoni <[email protected]> Cc: Linus Walleij <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: ns2: remove unneeded variableMarek Behún1-5/+2
No need to use variable found, we can determine whether the mode was found by comparing iterator variable to its limit. Signed-off-by: Marek Behún <[email protected]> Cc: Simon Guinot <[email protected]> Cc: Simon Guinot <[email protected]> Cc: Vincent Donnefort <[email protected]> Cc: Thomas Petazzoni <[email protected]> Cc: Linus Walleij <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: ns2: register LED immediately after parsing DT propertiesMarek Behún1-103/+40
Register each LED immediately after parsing OF properties. This simplifies the driver. Signed-off-by: Marek Behún <[email protected]> Cc: Simon Guinot <[email protected]> Cc: Simon Guinot <[email protected]> Cc: Vincent Donnefort <[email protected]> Cc: Thomas Petazzoni <[email protected]> Cc: Linus Walleij <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: ns2: cosmetic change: use helper variableMarek Behún1-8/+7
Use helper variable dev instead of always writing &pdev->dev. Signed-off-by: Marek Behún <[email protected]> Cc: Simon Guinot <[email protected]> Cc: Simon Guinot <[email protected]> Cc: Vincent Donnefort <[email protected]> Cc: Thomas Petazzoni <[email protected]> Cc: Linus Walleij <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: ns2: cosmetic changeMarek Behún1-4/+2
Return directly instead of setting result and breaking. Signed-off-by: Marek Behún <[email protected]> Cc: Simon Guinot <[email protected]> Cc: Simon Guinot <[email protected]> Cc: Vincent Donnefort <[email protected]> Cc: Thomas Petazzoni <[email protected]> Cc: Linus Walleij <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: ns2: cosmetic variable renameMarek Behún1-56/+47
Rename variable led_dat to led in various functions. Signed-off-by: Marek Behún <[email protected]> Cc: Simon Guinot <[email protected]> Cc: Simon Guinot <[email protected]> Cc: Vincent Donnefort <[email protected]> Cc: Thomas Petazzoni <[email protected]> Cc: Linus Walleij <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: ns2: cosmetic structure renameMarek Behún1-17/+17
Rename structures: ns2_led -> ns2_led_of_one ns2_led_data -> ns2_led. Signed-off-by: Marek Behún <[email protected]> Cc: Simon Guinot <[email protected]> Cc: Simon Guinot <[email protected]> Cc: Vincent Donnefort <[email protected]> Cc: Thomas Petazzoni <[email protected]> Cc: Linus Walleij <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: ns2: use devres API for getting GPIO descriptorsMarek Behún1-4/+4
This drivers leaks GPIO descriptors on driver removal. Use devres API function devm_gpiod_get_from_of_node instead of gpiod_get_from_of_node to avoid this. Signed-off-by: Marek Behún <[email protected]> Cc: Simon Guinot <[email protected]> Cc: Simon Guinot <[email protected]> Cc: Vincent Donnefort <[email protected]> Cc: Thomas Petazzoni <[email protected]> Cc: Linus Walleij <[email protected]> Not-for-stable Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: ns2: move parsing of one LED into separate functionMarek Behún1-65/+55
Move parsing of DT properties of one LED into separate function. This saves indentation level and is nicer to read. Signed-off-by: Marek Behún <[email protected]> Cc: Simon Guinot <[email protected]> Cc: Simon Guinot <[email protected]> Cc: Vincent Donnefort <[email protected]> Cc: Thomas Petazzoni <[email protected]> Cc: Linus Walleij <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: ns2: support OF probing only, forget platdataMarek Behún1-25/+15
Move forward from platform data to device tree only. Since commit c7896490dd1a ("leds: ns2: Absorb platform data") the platform data structure is absorbed into the driver, because nothing else in the source tree uses it. Since nobody complained and all usage of this driver is via device tree, change the code to work with device tree only. As Linus Walleij wrote, the device tree should be the preferred way forward anyway. Signed-off-by: Marek Behún <[email protected]> Cc: Simon Guinot <[email protected]> Cc: Simon Guinot <[email protected]> Cc: Vincent Donnefort <[email protected]> Cc: Thomas Petazzoni <[email protected]> Cc: Linus Walleij <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: ns2: alloc simple array instead of struct ns2_led_privMarek Behún1-14/+7
Since .remove method is not needed now that we use devres, there is no need to remember the number of LEDs in struct ns2_led_priv. Alloc simple array of ns2_led_data structs. Signed-off-by: Marek Behún <[email protected]> Cc: Simon Guinot <[email protected]> Cc: Simon Guinot <[email protected]> Cc: Vincent Donnefort <[email protected]> Cc: Thomas Petazzoni <[email protected]> Cc: Linus Walleij <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: ns2: use devres LED registering functionMarek Behún1-28/+2
By using devres version of LED registering function we can remove the .remove method from this driver. The probe method also gets simpler. Signed-off-by: Marek Behún <[email protected]> Cc: Simon Guinot <[email protected]> Cc: Simon Guinot <[email protected]> Cc: Vincent Donnefort <[email protected]> Cc: Thomas Petazzoni <[email protected]> Cc: Linus Walleij <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: is31fl32xx: use struct led_init_data when registeringMarek Behún1-10/+9
By using struct led_init_data when registering we do not need to parse `label` DT property. Moreover `label` is deprecated and if it is not present but `color` and `function` are, LED core will compose a name from these properties instead. Signed-off-by: Marek Behún <[email protected]> Cc: H. Nikolaus Schaller <[email protected]> Cc: David Rivshin <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: pm8058: cosmetic change: no need to return in if guardMarek Behún1-4/+2
We can return the last ret value. Signed-off-by: Marek Behún <[email protected]> Cc: Linus Walleij <[email protected]> Cc: Bjorn Andersson <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: pm8058: cosmetic change: use helper variableMarek Behún1-9/+11
Use helper variable dev instead of always writing &pdev->dev. Signed-off-by: Marek Behún <[email protected]> Cc: Linus Walleij <[email protected]> Cc: Bjorn Andersson <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: pm8058: use struct led_init_data when registeringMarek Behún1-5/+6
By using struct led_init_data when registering we do not need to parse `label` DT property. Moreover `label` is deprecated and if it is not present but `color` and `function` are, LED core will compose a name from these properties instead. Signed-off-by: Marek Behún <[email protected]> Cc: Linus Walleij <[email protected]> Cc: Bjorn Andersson <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: mt6323: cosmetic change: use helper variableMarek Behún1-4/+3
Use helper variable dev instead of always writing &pdev->dev. Signed-off-by: Marek Behún <[email protected]> Cc: Sean Wang <[email protected]> Cc: John Crispin <[email protected]> Cc: Ryder Lee <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: mt6323: use struct led_init_data when registeringMarek Behún1-3/+6
By using struct led_init_data when registering we do not need to parse `label` DT property. Moreover `label` is deprecated and if it is not present but `color` and `function` are, LED core will compose a name from these properties instead. Since init_data is passed with fwnode handle, we do not need to set the of_node member of the newly created LED classdev. Signed-off-by: Marek Behún <[email protected]> Cc: Sean Wang <[email protected]> Cc: John Crispin <[email protected]> Cc: Ryder Lee <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: max77650: use struct led_init_data when registeringMarek Behún1-14/+9
By using struct led_init_data when registering we do not need to parse `label` DT property. Moreover `label` is deprecated and if it is not present but `color` and `function` are, LED core will compose a name from these properties instead. Previously if the `label` DT property was not present, the code composed name for the LED in the form "max77650::" For backwards compatibility we therefore set init_data->default_label = ":"; so that the LED will not get a different name if `label` property is not present. Signed-off-by: Marek Behún <[email protected]> Cc: Bartosz Golaszewski <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: lm3697: cosmetic change: use helper variable, reverse christmas treeMarek Behún1-39/+36
Use helper variable dev instead of always writing &client->dev, or &priv->client->dev, or even &led->priv->client->dev. With one more line moved reverse christmas tree is also achieved. Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Dan Murphy <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: lm3697: use struct led_init_data when registeringMarek Behún1-10/+8
By using struct led_init_data when registering we do not need to parse `label` DT property. Moreover `label` is deprecated and if it is not present but `color` and `function` are, LED core will compose a name from these properties instead. Previously if the `label` DT property was not present, the code composed name for the LED in the form "parent_name::" For backwards compatibility we therefore set init_data->default_label = ":"; so that the LED will not get a different name if `label` property is not present. Signed-off-by: Marek Behún <[email protected]> Cc: Dan Murphy <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: bcm6328, bcm6358: use struct led_init_data when registeringMarek Behún2-4/+6
By using struct led_init_data when registering we do not need to parse `label` DT property. Moreover `label` is deprecated and if it is not present but `color` and `function` are, LED core will compose a name from these properties instead. Signed-off-by: Marek Behún <[email protected]> Cc: Álvaro Fernández Rojas <[email protected]> Cc: Kevin Cernekee <[email protected]> Cc: Jaedon Shin <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: bcm6328, bcm6358: use devres LED registering functionMarek Behún2-2/+2
These two drivers do not provide remove method and use devres for allocation of other resources, yet they use led_classdev_register instead of the devres variant, devm_led_classdev_register. Fix this. Signed-off-by: Marek Behún <[email protected]> Cc: Álvaro Fernández Rojas <[email protected]> Cc: Kevin Cernekee <[email protected]> Cc: Jaedon Shin <[email protected]> Signed-off-by: Pavel Machek <[email protected]> Cc: [email protected]
2020-09-26leds: various: fix OF node leaksMarek Behún3-4/+12
Fix OF node leaks by calling of_node_put in for_each_available_child_of_node when the cycle breaks or returns. Signed-off-by: Marek Behún <[email protected]> Cc: Nikita Travkin <[email protected]> Cc: Milo Kim <[email protected]> Cc: Dan Murphy <[email protected]> Signed-off-by: Pavel Machek <[email protected]> Not-for-stable: untested, theoretical, insignificant leaks
2020-09-26leds: various: use only available OF childrenMarek Behún15-26/+26
Various drivers count and iterate over OF children nodes via of_get_child_count and for_each_child_of_node. Instead they should use of_get_available_child_count and for_each_available_child_of_node, so that if a given node has the `status` property set to `disabled`, the child will be ignored. Signed-off-by: Marek Behún <[email protected]> Cc: Andrew Lunn <[email protected]> Cc: Andrey Utkin <[email protected]> Cc: Baolin Wang <[email protected]> Cc: Baolin Wang <[email protected]> Cc: Benjamin Herrenschmidt <[email protected]> Cc: Christian Mauderer <[email protected]> Cc: Chunyan Zhang <[email protected]> Cc: Dan Murphy <[email protected]> Cc: David Rivshin <[email protected]> Cc: Haojian Zhuang <[email protected]> Cc: H. Nikolaus Schaller <[email protected]> Cc: Michael Ellerman <[email protected]> Cc: Milo Kim <[email protected]> Cc: NeilBrown <[email protected]> Cc: Nikita Travkin <[email protected]> Cc: Orson Zhai <[email protected]> Cc: Paul Mackerras <[email protected]> Cc: Philippe Retornaz <[email protected]> Cc: Riku Voipio <[email protected]> Cc: Simon Guinot <[email protected]> Cc: Simon Shields <[email protected]> Cc: Vasant Hegde <[email protected]> Cc: Xiaotong Lu <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: lt3593: do not rewrite .of_node of new LED device to wrong valueMarek Behún1-1/+0
The devm_led_classdev_register_ext is given init_data with fwnode set, so the LED core sets .of_node of the new LED classdev correctly. Do not rewrite this value to parent of_node. Signed-off-by: Marek Behún <[email protected]> Cc: Daniel Mack <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: various: use dev_of_node(dev) instead of dev->of_nodeMarek Behún28-35/+35
The dev_of_node function should be preferred. Signed-off-by: Marek Behún <[email protected]> Cc: Orson Zhai <[email protected]> Cc: Baolin Wang <[email protected]> Cc: Chunyan Zhang <[email protected]> Cc: Sean Wang <[email protected]> Cc: Matthias Brugger <[email protected]> Cc: Riku Voipio <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: various: use device_get_match_dataMarek Behún5-34/+6
Simply use device_get_match_data instead of matching against the match table again. Signed-off-by: Marek Behún <[email protected]> Cc: H. Nikolaus Schaller <[email protected]> Cc: David Rivshin <[email protected]> Cc: Sebastian Reichel <[email protected]> Cc: Christian Mauderer <[email protected]> Cc: Andrew Lunn <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: ip30: compile if COMPILE_TEST=yMarek Behún2-1/+2
This driver can be compiled on other platforms with small change if COMPILE_TEST=y. Signed-off-by: Marek Behún <[email protected]> Cc: Pavel Machek <[email protected]> Cc: Dan Murphy <[email protected]> Cc: Thomas Bogendoerfer <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: various: compile if COMPILE_TEST=yMarek Behún1-5/+5
These drivers can be compiled without modification when COMPILE_TEST=y: cobalt-qube, cobalt-raq, netxbig, ns2 and s3c24xx Signed-off-by: Marek Behún <[email protected]> Cc: Pavel Machek <[email protected]> Cc: Dan Murphy <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-26leds: pwm: Allow automatic labels for DT based devicesAlexander Dahl1-1/+2
If LEDs are configured through device tree and the property 'label' is omitted, the label is supposed to be generated from the properties 'function' and 'color' if present. While this works fine for e.g. the 'leds-gpio' driver, it did not for 'leds-pwm'. The reason is, you get this label naming magic only if you add a LED device through 'devm_led_classdev_register_ext()' and pass a pointer to the current device tree node. For the following node from dts the LED appeared as 'led-5' in sysfs before and as 'red:debug' after this change. pwm_leds { compatible = "pwm-leds"; led-5 { function = LED_FUNCTION_DEBUG; color = <LED_COLOR_ID_RED>; pwms = <&pwm0 2 10000000 0>; max-brightness = <127>; linux,default-trigger = "heartbeat"; panic-indicator; }; }; Signed-off-by: Alexander Dahl <[email protected]> Cc: Marek Behún <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-09leds: tlc591xx: Simplify with dev_err_probe()Krzysztof Kozlowski1-6/+4
Common pattern of handling deferred probe can be simplified with dev_err_probe(). Less code and also it prints the error value. Signed-off-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-09leds: sgm3140: Simplify with dev_err_probe()Krzysztof Kozlowski1-18/+9
Common pattern of handling deferred probe can be simplified with dev_err_probe(). Less code and also it prints the error value. Signed-off-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-09leds: pwm: Simplify with dev_err_probe()Krzysztof Kozlowski1-7/+4
Common pattern of handling deferred probe can be simplified with dev_err_probe(). Less code and also it prints the error value. Signed-off-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-09leds: lm3692x: Simplify with dev_err_probe()Krzysztof Kozlowski1-7/+4
Common pattern of handling deferred probe can be simplified with dev_err_probe(). Less code and also it prints the error value. Signed-off-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-09DT: leds: Add an optional property named 'shutdown-gpios'Grant Feng1-0/+2
The chip enters hardware shutdown when the SDB pin is pulled low. The chip releases hardware shutdown when the SDB pin is pulled high. Signed-off-by: Grant Feng <[email protected]> Acked-by: Rob Herring <[email protected]> Signed-off-by: Pavel Machek <[email protected]>
2020-09-09leds: is31fl319x: Add shutdown pin and generate a 5ms low pulse when startupGrant Feng1-0/+18
generate a 5ms low pulse on shutdown pin when startup, then the chip becomes more stable in the complex EM environment. Signed-off-by: Grant Feng <[email protected]> Signed-off-by: Pavel Machek <[email protected]>