leds: leds-gpio: adopt pinctrl support
Adopt pinctrl support to leds-gpio driver based on leds-gpio device pointer, pinctrl driver configure SoC pins to GPIO mode according to definitions provided in .dts file. Signed-off-by: AnilKumar Ch <anilkumar@ti.com> Acked-by: Marek Vasut <marex@denx.de> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
This commit is contained in:
parent
b98d13c725
commit
8fe4554f67
@ -20,6 +20,7 @@
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/workqueue.h>
|
#include <linux/workqueue.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
#include <linux/pinctrl/consumer.h>
|
||||||
|
|
||||||
struct gpio_led_data {
|
struct gpio_led_data {
|
||||||
struct led_classdev cdev;
|
struct led_classdev cdev;
|
||||||
@ -234,8 +235,14 @@ static int __devinit gpio_led_probe(struct platform_device *pdev)
|
|||||||
{
|
{
|
||||||
struct gpio_led_platform_data *pdata = pdev->dev.platform_data;
|
struct gpio_led_platform_data *pdata = pdev->dev.platform_data;
|
||||||
struct gpio_leds_priv *priv;
|
struct gpio_leds_priv *priv;
|
||||||
|
struct pinctrl *pinctrl;
|
||||||
int i, ret = 0;
|
int i, ret = 0;
|
||||||
|
|
||||||
|
pinctrl = devm_pinctrl_get_select_default(&pdev->dev);
|
||||||
|
if (IS_ERR(pinctrl))
|
||||||
|
dev_warn(&pdev->dev,
|
||||||
|
"pins are not configured from the driver\n");
|
||||||
|
|
||||||
if (pdata && pdata->num_leds) {
|
if (pdata && pdata->num_leds) {
|
||||||
priv = devm_kzalloc(&pdev->dev,
|
priv = devm_kzalloc(&pdev->dev,
|
||||||
sizeof_gpio_leds_priv(pdata->num_leds),
|
sizeof_gpio_leds_priv(pdata->num_leds),
|
||||||
|
Loading…
Reference in New Issue
Block a user