From: Dan Murphy <dmurphy@ti.com> To: Jacek Anaszewski <jacek.anaszewski@gmail.com>, linux-leds@vger.kernel.org Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, pavel@ucw.cz, robh@kernel.org Subject: Re: [PATCH 10/24] leds: lp8860: Use led_compose_name() Date: Thu, 8 Nov 2018 12:16:26 -0600 [thread overview] Message-ID: <d0d4eff7-5840-95d7-a1a1-104188d1b619@ti.com> (raw) In-Reply-To: <1541542052-10081-11-git-send-email-jacek.anaszewski@gmail.com> On 11/06/2018 04:07 PM, Jacek Anaszewski wrote: > Switch to using generic LED support for composing LED class > device name. > > Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com> > Signed-off-by: Dan Murphy <dmurphy@ti.com> > --- > drivers/leds/leds-lp8860.c | 38 +++++++++++++++++++------------------- > 1 file changed, 19 insertions(+), 19 deletions(-) > > diff --git a/drivers/leds/leds-lp8860.c b/drivers/leds/leds-lp8860.c > index 39c72a9..7c12ccd 100644 > --- a/drivers/leds/leds-lp8860.c > +++ b/drivers/leds/leds-lp8860.c > @@ -22,7 +22,6 @@ > #include <linux/of_gpio.h> > #include <linux/gpio/consumer.h> > #include <linux/slab.h> > -#include <uapi/linux/uleds.h> > > #define LP8860_DISP_CL1_BRT_MSB 0x00 > #define LP8860_DISP_CL1_BRT_LSB 0x01 > @@ -87,6 +86,8 @@ > > #define LP8860_CLEAR_FAULTS 0x01 > > +#define LP8860_NAME "lp8860" > + > /** > * struct lp8860_led - > * @lock - Lock for reading/writing the device > @@ -96,7 +97,6 @@ > * @eeprom_regmap - EEPROM register map > * @enable_gpio - VDDIO/EN gpio to enable communication interface > * @regulator - LED supply regulator pointer > - * @label - LED label > */ > struct lp8860_led { > struct mutex lock; > @@ -106,7 +106,6 @@ struct lp8860_led { > struct regmap *eeprom_regmap; > struct gpio_desc *enable_gpio; > struct regulator *regulator; > - char label[LED_MAX_NAME_SIZE]; > }; > > struct lp8860_eeprom_reg { > @@ -387,25 +386,26 @@ static int lp8860_probe(struct i2c_client *client, > struct lp8860_led *led; > struct device_node *np = client->dev.of_node; > struct device_node *child_node; > - const char *name; > + struct led_init_data init_data; > > led = devm_kzalloc(&client->dev, sizeof(*led), GFP_KERNEL); > if (!led) > return -ENOMEM; > > - for_each_available_child_of_node(np, child_node) { > - led->led_dev.default_trigger = of_get_property(child_node, > - "linux,default-trigger", > - NULL); > - > - ret = of_property_read_string(child_node, "label", &name); > - if (!ret) > - snprintf(led->label, sizeof(led->label), "%s:%s", > - id->name, name); > - else > - snprintf(led->label, sizeof(led->label), > - "%s::display_cluster", id->name); > - } We need to keep a loop here looking for additional nodes as this device has string support and just not cluster support. Just need to get the other LED patches done. > + child_node = of_get_next_available_child(np, NULL); > + if (!child_node) > + return -EINVAL; > + > + init_data.fwnode = of_fwnode_handle(child_node), > + > + led->led_dev.default_trigger = of_get_property(child_node, > + "linux,default-trigger", > + NULL); > + > + ret = led_compose_name(init_data.fwnode, LP8860_NAME, > + ":display_cluster", init_data.name); Should we use the #defines here for display_cluster? > + if (ret) > + return ret; > > led->enable_gpio = devm_gpiod_get_optional(&client->dev, > "enable", GPIOD_OUT_LOW); > @@ -420,7 +420,6 @@ static int lp8860_probe(struct i2c_client *client, > led->regulator = NULL; > > led->client = client; > - led->led_dev.name = led->label; > led->led_dev.brightness_set_blocking = lp8860_brightness_set; > > mutex_init(&led->lock); > @@ -447,7 +446,8 @@ static int lp8860_probe(struct i2c_client *client, > if (ret) > return ret; > > - ret = devm_led_classdev_register(&client->dev, &led->led_dev); > + ret = devm_led_classdev_register_ext(&client->dev, &led->led_dev, > + &init_data); > if (ret) { > dev_err(&client->dev, "led register err: %d\n", ret); > return ret; > -- ------------------ Dan Murphy
WARNING: multiple messages have this Message-ID (diff)
From: Dan Murphy <dmurphy@ti.com> To: Jacek Anaszewski <jacek.anaszewski@gmail.com>, <linux-leds@vger.kernel.org> Cc: <devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>, <pavel@ucw.cz>, <robh@kernel.org> Subject: Re: [PATCH 10/24] leds: lp8860: Use led_compose_name() Date: Thu, 8 Nov 2018 12:16:26 -0600 [thread overview] Message-ID: <d0d4eff7-5840-95d7-a1a1-104188d1b619@ti.com> (raw) In-Reply-To: <1541542052-10081-11-git-send-email-jacek.anaszewski@gmail.com> On 11/06/2018 04:07 PM, Jacek Anaszewski wrote: > Switch to using generic LED support for composing LED class > device name. > > Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com> > Signed-off-by: Dan Murphy <dmurphy@ti.com> > --- > drivers/leds/leds-lp8860.c | 38 +++++++++++++++++++------------------- > 1 file changed, 19 insertions(+), 19 deletions(-) > > diff --git a/drivers/leds/leds-lp8860.c b/drivers/leds/leds-lp8860.c > index 39c72a9..7c12ccd 100644 > --- a/drivers/leds/leds-lp8860.c > +++ b/drivers/leds/leds-lp8860.c > @@ -22,7 +22,6 @@ > #include <linux/of_gpio.h> > #include <linux/gpio/consumer.h> > #include <linux/slab.h> > -#include <uapi/linux/uleds.h> > > #define LP8860_DISP_CL1_BRT_MSB 0x00 > #define LP8860_DISP_CL1_BRT_LSB 0x01 > @@ -87,6 +86,8 @@ > > #define LP8860_CLEAR_FAULTS 0x01 > > +#define LP8860_NAME "lp8860" > + > /** > * struct lp8860_led - > * @lock - Lock for reading/writing the device > @@ -96,7 +97,6 @@ > * @eeprom_regmap - EEPROM register map > * @enable_gpio - VDDIO/EN gpio to enable communication interface > * @regulator - LED supply regulator pointer > - * @label - LED label > */ > struct lp8860_led { > struct mutex lock; > @@ -106,7 +106,6 @@ struct lp8860_led { > struct regmap *eeprom_regmap; > struct gpio_desc *enable_gpio; > struct regulator *regulator; > - char label[LED_MAX_NAME_SIZE]; > }; > > struct lp8860_eeprom_reg { > @@ -387,25 +386,26 @@ static int lp8860_probe(struct i2c_client *client, > struct lp8860_led *led; > struct device_node *np = client->dev.of_node; > struct device_node *child_node; > - const char *name; > + struct led_init_data init_data; > > led = devm_kzalloc(&client->dev, sizeof(*led), GFP_KERNEL); > if (!led) > return -ENOMEM; > > - for_each_available_child_of_node(np, child_node) { > - led->led_dev.default_trigger = of_get_property(child_node, > - "linux,default-trigger", > - NULL); > - > - ret = of_property_read_string(child_node, "label", &name); > - if (!ret) > - snprintf(led->label, sizeof(led->label), "%s:%s", > - id->name, name); > - else > - snprintf(led->label, sizeof(led->label), > - "%s::display_cluster", id->name); > - } We need to keep a loop here looking for additional nodes as this device has string support and just not cluster support. Just need to get the other LED patches done. > + child_node = of_get_next_available_child(np, NULL); > + if (!child_node) > + return -EINVAL; > + > + init_data.fwnode = of_fwnode_handle(child_node), > + > + led->led_dev.default_trigger = of_get_property(child_node, > + "linux,default-trigger", > + NULL); > + > + ret = led_compose_name(init_data.fwnode, LP8860_NAME, > + ":display_cluster", init_data.name); Should we use the #defines here for display_cluster? > + if (ret) > + return ret; > > led->enable_gpio = devm_gpiod_get_optional(&client->dev, > "enable", GPIOD_OUT_LOW); > @@ -420,7 +420,6 @@ static int lp8860_probe(struct i2c_client *client, > led->regulator = NULL; > > led->client = client; > - led->led_dev.name = led->label; > led->led_dev.brightness_set_blocking = lp8860_brightness_set; > > mutex_init(&led->lock); > @@ -447,7 +446,8 @@ static int lp8860_probe(struct i2c_client *client, > if (ret) > return ret; > > - ret = devm_led_classdev_register(&client->dev, &led->led_dev); > + ret = devm_led_classdev_register_ext(&client->dev, &led->led_dev, > + &init_data); > if (ret) { > dev_err(&client->dev, "led register err: %d\n", ret); > return ret; > -- ------------------ Dan Murphy
next prev parent reply other threads:[~2018-11-08 18:16 UTC|newest] Thread overview: 127+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-11-06 22:07 [PATCH 00/24] Add generic support for composing LED class device name Jacek Anaszewski 2018-11-06 22:07 ` [PATCH 01/24] leds: class: Improve LED and LED flash class registration API Jacek Anaszewski 2018-11-07 6:55 ` Baolin Wang 2018-11-07 20:51 ` Jacek Anaszewski 2018-11-08 17:50 ` Dan Murphy 2018-11-08 17:50 ` Dan Murphy 2018-11-08 20:47 ` Jacek Anaszewski 2018-11-11 11:31 ` Pavel Machek 2018-11-06 22:07 ` [PATCH 02/24] leds: core: Add support for composing LED class device names Jacek Anaszewski 2018-11-07 7:20 ` Baolin Wang 2018-11-08 20:47 ` Jacek Anaszewski 2018-11-09 2:35 ` Baolin Wang 2018-11-08 18:06 ` Dan Murphy 2018-11-08 18:06 ` Dan Murphy 2018-11-08 20:48 ` Jacek Anaszewski 2018-11-11 12:02 ` Pavel Machek 2018-11-11 20:02 ` Jacek Anaszewski 2018-11-11 20:16 ` Pavel Machek 2018-11-11 21:14 ` Jacek Anaszewski 2018-11-12 0:01 ` Vesa Jääskeläinen 2018-11-12 15:59 ` Jacek Anaszewski 2018-11-12 21:25 ` Linus Walleij 2018-11-12 21:25 ` Linus Walleij 2018-11-12 22:11 ` LEDs on USB keyboards was " Pavel Machek 2018-11-12 22:11 ` Pavel Machek 2018-11-12 10:35 ` Pavel Machek 2018-11-12 16:01 ` Jacek Anaszewski 2018-11-12 19:05 ` Pavel Machek 2018-11-12 20:11 ` Jacek Anaszewski 2018-11-12 22:06 ` Pavel Machek 2018-11-13 20:57 ` Jacek Anaszewski 2018-11-13 21:38 ` Geert Uytterhoeven 2018-11-13 21:38 ` Geert Uytterhoeven 2018-11-13 21:50 ` Pavel Machek 2018-11-13 21:50 ` Pavel Machek 2018-11-12 21:23 ` Linus Walleij 2018-11-12 21:23 ` Linus Walleij 2018-11-13 19:55 ` Jacek Anaszewski 2018-11-13 19:55 ` Jacek Anaszewski 2018-11-15 9:10 ` Linus Walleij 2018-11-15 9:10 ` Linus Walleij 2018-11-06 22:07 ` [PATCH 03/24] leds: dt-bindings: Add LED_FUNCTION definitions Jacek Anaszewski 2018-11-07 8:36 ` Vokáč Michal 2018-11-07 19:28 ` Jacek Anaszewski 2018-11-08 15:13 ` Rob Herring 2018-11-08 21:03 ` Jacek Anaszewski 2018-11-11 11:31 ` Pavel Machek 2018-11-11 20:02 ` Jacek Anaszewski 2018-11-11 20:20 ` Pavel Machek 2018-11-11 21:16 ` Jacek Anaszewski 2018-11-12 0:25 ` Vesa Jääskeläinen 2018-11-12 16:01 ` Jacek Anaszewski 2018-11-15 9:16 ` Linus Walleij 2018-11-15 9:16 ` Linus Walleij 2018-11-06 22:07 ` [PATCH 04/24] dt-bindings: leds: Add function and color properties Jacek Anaszewski 2018-11-08 18:00 ` Dan Murphy 2018-11-08 18:00 ` Dan Murphy 2018-11-08 20:47 ` Jacek Anaszewski 2018-11-08 21:08 ` Dan Murphy 2018-11-08 21:08 ` Dan Murphy 2018-11-09 20:00 ` Jacek Anaszewski 2018-11-09 8:32 ` Vesa Jääskeläinen 2018-11-09 20:42 ` Jacek Anaszewski 2018-11-10 17:19 ` Vesa Jääskeläinen 2018-11-12 16:02 ` Jacek Anaszewski 2018-11-13 7:10 ` Vesa Jääskeläinen 2018-11-13 19:02 ` Jacek Anaszewski 2018-11-12 18:27 ` Rob Herring 2018-11-13 20:57 ` Jacek Anaszewski 2018-11-27 20:37 ` Jacek Anaszewski 2018-11-27 20:37 ` Jacek Anaszewski 2018-11-30 14:38 ` Rob Herring 2018-11-30 21:08 ` Pavel Machek 2018-11-30 22:19 ` Rob Herring 2018-12-01 21:17 ` Jacek Anaszewski 2018-12-11 17:27 ` Rob Herring 2018-12-11 22:44 ` Pavel Machek 2018-12-21 10:12 ` Linus Walleij 2018-12-21 10:12 ` Linus Walleij 2018-12-12 9:59 ` Pavel Machek 2018-12-12 13:56 ` Rob Herring 2018-12-12 18:32 ` Pavel Machek 2018-12-23 20:11 ` Jacek Anaszewski 2018-11-06 22:07 ` [PATCH 05/24] dt-bindings: sc27xx-blt: " Jacek Anaszewski 2018-11-11 14:29 ` Pavel Machek 2018-11-11 20:03 ` Jacek Anaszewski 2018-11-06 22:07 ` [PATCH 06/24] leds: sc27xx-blt: Use led_compose_name() Jacek Anaszewski 2018-11-07 7:22 ` Baolin Wang 2018-11-11 14:31 ` Pavel Machek 2018-11-06 22:07 ` [PATCH 07/24] dt-bindings: lt3593: Add function and color properties Jacek Anaszewski 2018-11-06 22:07 ` [PATCH 08/24] leds: lt3593: Use led_compose_name() Jacek Anaszewski 2018-11-07 19:37 ` Daniel Mack 2018-11-07 19:49 ` Jacek Anaszewski 2018-11-08 8:33 ` Daniel Mack 2018-11-06 22:07 ` [PATCH 09/24] dt-bindings: lp8860: Add function and color properties Jacek Anaszewski 2018-11-08 18:01 ` Dan Murphy 2018-11-08 18:01 ` Dan Murphy 2018-11-06 22:07 ` [PATCH 10/24] leds: lp8860: Use led_compose_name() Jacek Anaszewski 2018-11-08 18:16 ` Dan Murphy [this message] 2018-11-08 18:16 ` Dan Murphy 2018-11-08 20:48 ` Jacek Anaszewski 2018-11-12 14:05 ` Dan Murphy 2018-11-12 14:05 ` Dan Murphy 2018-11-06 22:07 ` [PATCH 11/24] dt-bindings: lm3692x: Add function and color properties Jacek Anaszewski 2018-11-08 18:12 ` Dan Murphy 2018-11-08 18:12 ` Dan Murphy 2018-11-06 22:07 ` [PATCH 12/24] leds: lm3692x: Use led_compose_name() Jacek Anaszewski 2018-11-08 18:14 ` Dan Murphy 2018-11-08 18:14 ` Dan Murphy 2018-11-08 20:48 ` Jacek Anaszewski 2018-11-08 21:11 ` Dan Murphy 2018-11-08 21:11 ` Dan Murphy 2018-11-11 14:31 ` Pavel Machek 2018-11-06 22:07 ` [PATCH 13/24] dt-bindings: lm36010: Add function and color properties Jacek Anaszewski 2018-11-08 18:15 ` Dan Murphy 2018-11-08 18:15 ` Dan Murphy 2018-11-06 22:07 ` [PATCH 14/24] leds: lm3601x: Use led_compose_name() Jacek Anaszewski 2018-11-06 22:07 ` [PATCH 15/24] dt-bindings: cr0014114: Add function and color properties Jacek Anaszewski 2018-11-06 22:07 ` [PATCH 16/24] leds: cr0014114: Use led_compose_name() Jacek Anaszewski 2018-11-06 22:07 ` [PATCH 17/24] dt-bindings: aat1290: Add function and color properties Jacek Anaszewski 2018-11-06 22:07 ` [PATCH 18/24] leds: aat1290: Use led_compose_name() Jacek Anaszewski 2018-11-06 22:07 ` [PATCH 19/24] dt-bindings: as3645a: Add function and color properties Jacek Anaszewski 2018-11-06 22:07 ` [PATCH 20/24] leds: as3645a: Use led_compose_name() Jacek Anaszewski 2018-11-06 22:07 ` [PATCH 21/24] dt-bindings: leds-gpio: Add function and color properties Jacek Anaszewski 2018-11-06 22:07 ` [PATCH 22/24] leds: gpio: Use led_compose_name() Jacek Anaszewski 2018-11-06 22:07 ` [PATCH 23/24] dt-bindings: an30259a: Add function and color properties Jacek Anaszewski 2018-11-06 22:07 ` [PATCH 24/24] leds: an30259a: Use led_compose_name() Jacek Anaszewski
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=d0d4eff7-5840-95d7-a1a1-104188d1b619@ti.com \ --to=dmurphy@ti.com \ --cc=devicetree@vger.kernel.org \ --cc=jacek.anaszewski@gmail.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-leds@vger.kernel.org \ --cc=pavel@ucw.cz \ --cc=robh@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.