diff mbox series

[leds,1/5] leds: turris-omnia: use constants instead of macros for color command

Message ID 20201030023906.24259-1-kabel@kernel.org
State New
Headers show
Series [leds,1/5] leds: turris-omnia: use constants instead of macros for color command | expand

Commit Message

Marek Behún Oct. 30, 2020, 2:39 a.m. UTC
Use integer constants directly when building I2C messages for LED color
change command, instead of macros. The command is simple enough to
understand what is going on even without these names.

Signed-off-by: Marek Behún <kabel@kernel.org>
---
 drivers/leds/leds-turris-omnia.c | 34 ++++++++++++--------------------
 1 file changed, 13 insertions(+), 21 deletions(-)


base-commit: 041883d044672852fcb8254cfc7b683fd306c943

Comments

Dan Murphy Oct. 30, 2020, 1:08 p.m. UTC | #1
Marek

On 10/29/20 9:39 PM, Marek Behún wrote:
> Commit 77dce3a22e89 ("leds: disallow /sys/class/leds/*:multi:* for now")

> disallows LED_COLOR_ID_MULTI for now, and instead LED_COLOR_ID_RGB

> should be used. Fix this is leds-class-multicolor binding.

>

> After we have some usecases for non-RGB multicolor LEDs, this can be

> changed.

>

> Signed-off-by: Marek Behún <kabel@kernel.org>

> Fixes: 77dce3a22e89 ("leds: disallow /sys/class/leds/*:multi:* for now")

> Cc: devicetree@vger.kernel.org

> Cc: robh+dt@kernel.org

> ---

>   .../devicetree/bindings/leds/cznic,turris-omnia-leds.yaml     | 4 ++--

>   .../devicetree/bindings/leds/leds-class-multicolor.yaml       | 4 ++--

>   2 files changed, 4 insertions(+), 4 deletions(-)

>

> diff --git a/Documentation/devicetree/bindings/leds/cznic,turris-omnia-leds.yaml b/Documentation/devicetree/bindings/leds/cznic,turris-omnia-leds.yaml

> index fe7fa25877fd..2015db9b7618 100644

> --- a/Documentation/devicetree/bindings/leds/cznic,turris-omnia-leds.yaml

> +++ b/Documentation/devicetree/bindings/leds/cznic,turris-omnia-leds.yaml

> @@ -73,14 +73,14 @@ examples:

>                    * LEDs.

>                    */

>                   reg = <0>;

> -                color = <LED_COLOR_ID_MULTI>;

> +                color = <LED_COLOR_ID_RGB>;

>                   function = LED_FUNCTION_POWER;

>                   linux,default-trigger = "heartbeat";

>               };

>   

>               multi-led@a {

>                   reg = <0xa>;

> -                color = <LED_COLOR_ID_MULTI>;

> +                color = <LED_COLOR_ID_RGB>;

>                   function = LED_FUNCTION_INDICATOR;

>                   function-enumerator = <1>;

>               };

> diff --git a/Documentation/devicetree/bindings/leds/leds-class-multicolor.yaml b/Documentation/devicetree/bindings/leds/leds-class-multicolor.yaml

> index b1a53f054b89..9faa3609a6bb 100644

> --- a/Documentation/devicetree/bindings/leds/leds-class-multicolor.yaml

> +++ b/Documentation/devicetree/bindings/leds/leds-class-multicolor.yaml


Why are you resubmitting the multicolor.yaml?

https://lore.kernel.org/patchwork/patch/1320863/

This is waiting on DT review.

Dan
Marek Behún Oct. 30, 2020, 9:46 p.m. UTC | #2
On Fri, 30 Oct 2020 08:08:01 -0500
Dan Murphy <dmurphy@ti.com> wrote:

> Why are you resubmitting the multicolor.yaml?

> 

> https://lore.kernel.org/patchwork/patch/1320863/

> 

> This is waiting on DT review.

> 

> Dan

> 


I must have overlooked that patch, sorry.
Rob Herring (Arm) Nov. 4, 2020, 9:55 p.m. UTC | #3
On Fri, Oct 30, 2020 at 08:08:01AM -0500, Dan Murphy wrote:
> Marek
> 
> On 10/29/20 9:39 PM, Marek Behún wrote:
> > Commit 77dce3a22e89 ("leds: disallow /sys/class/leds/*:multi:* for now")
> > disallows LED_COLOR_ID_MULTI for now, and instead LED_COLOR_ID_RGB
> > should be used. Fix this is leds-class-multicolor binding.
> > 
> > After we have some usecases for non-RGB multicolor LEDs, this can be
> > changed.
> > 
> > Signed-off-by: Marek Behún <kabel@kernel.org>
> > Fixes: 77dce3a22e89 ("leds: disallow /sys/class/leds/*:multi:* for now")
> > Cc: devicetree@vger.kernel.org
> > Cc: robh+dt@kernel.org
> > ---
> >   .../devicetree/bindings/leds/cznic,turris-omnia-leds.yaml     | 4 ++--
> >   .../devicetree/bindings/leds/leds-class-multicolor.yaml       | 4 ++--
> >   2 files changed, 4 insertions(+), 4 deletions(-)
> > 
> > diff --git a/Documentation/devicetree/bindings/leds/cznic,turris-omnia-leds.yaml b/Documentation/devicetree/bindings/leds/cznic,turris-omnia-leds.yaml
> > index fe7fa25877fd..2015db9b7618 100644
> > --- a/Documentation/devicetree/bindings/leds/cznic,turris-omnia-leds.yaml
> > +++ b/Documentation/devicetree/bindings/leds/cznic,turris-omnia-leds.yaml
> > @@ -73,14 +73,14 @@ examples:
> >                    * LEDs.
> >                    */
> >                   reg = <0>;
> > -                color = <LED_COLOR_ID_MULTI>;
> > +                color = <LED_COLOR_ID_RGB>;
> >                   function = LED_FUNCTION_POWER;
> >                   linux,default-trigger = "heartbeat";
> >               };
> >               multi-led@a {
> >                   reg = <0xa>;
> > -                color = <LED_COLOR_ID_MULTI>;
> > +                color = <LED_COLOR_ID_RGB>;
> >                   function = LED_FUNCTION_INDICATOR;
> >                   function-enumerator = <1>;
> >               };
> > diff --git a/Documentation/devicetree/bindings/leds/leds-class-multicolor.yaml b/Documentation/devicetree/bindings/leds/leds-class-multicolor.yaml
> > index b1a53f054b89..9faa3609a6bb 100644
> > --- a/Documentation/devicetree/bindings/leds/leds-class-multicolor.yaml
> > +++ b/Documentation/devicetree/bindings/leds/leds-class-multicolor.yaml
> 
> Why are you resubmitting the multicolor.yaml?
> 
> https://lore.kernel.org/patchwork/patch/1320863/
> 
> This is waiting on DT review.

I'm expecting another version as you commented on it.

Rob
Dan Murphy Nov. 4, 2020, 9:58 p.m. UTC | #4
Rob

On 11/4/20 3:55 PM, Rob Herring wrote:
> On Fri, Oct 30, 2020 at 08:08:01AM -0500, Dan Murphy wrote:

>> Marek

>>

>> On 10/29/20 9:39 PM, Marek Behún wrote:

>>> Commit 77dce3a22e89 ("leds: disallow /sys/class/leds/*:multi:* for now")

>>> disallows LED_COLOR_ID_MULTI for now, and instead LED_COLOR_ID_RGB

>>> should be used. Fix this is leds-class-multicolor binding.

>>>

>>> After we have some usecases for non-RGB multicolor LEDs, this can be

>>> changed.

>>>

>>> Signed-off-by: Marek Behún <kabel@kernel.org>

>>> Fixes: 77dce3a22e89 ("leds: disallow /sys/class/leds/*:multi:* for now")

>>> Cc: devicetree@vger.kernel.org

>>> Cc: robh+dt@kernel.org

>>> ---

>>>    .../devicetree/bindings/leds/cznic,turris-omnia-leds.yaml     | 4 ++--

>>>    .../devicetree/bindings/leds/leds-class-multicolor.yaml       | 4 ++--

>>>    2 files changed, 4 insertions(+), 4 deletions(-)

>>>

>>> diff --git a/Documentation/devicetree/bindings/leds/cznic,turris-omnia-leds.yaml b/Documentation/devicetree/bindings/leds/cznic,turris-omnia-leds.yaml

>>> index fe7fa25877fd..2015db9b7618 100644

>>> --- a/Documentation/devicetree/bindings/leds/cznic,turris-omnia-leds.yaml

>>> +++ b/Documentation/devicetree/bindings/leds/cznic,turris-omnia-leds.yaml

>>> @@ -73,14 +73,14 @@ examples:

>>>                     * LEDs.

>>>                     */

>>>                    reg = <0>;

>>> -                color = <LED_COLOR_ID_MULTI>;

>>> +                color = <LED_COLOR_ID_RGB>;

>>>                    function = LED_FUNCTION_POWER;

>>>                    linux,default-trigger = "heartbeat";

>>>                };

>>>                multi-led@a {

>>>                    reg = <0xa>;

>>> -                color = <LED_COLOR_ID_MULTI>;

>>> +                color = <LED_COLOR_ID_RGB>;

>>>                    function = LED_FUNCTION_INDICATOR;

>>>                    function-enumerator = <1>;

>>>                };

>>> diff --git a/Documentation/devicetree/bindings/leds/leds-class-multicolor.yaml b/Documentation/devicetree/bindings/leds/leds-class-multicolor.yaml

>>> index b1a53f054b89..9faa3609a6bb 100644

>>> --- a/Documentation/devicetree/bindings/leds/leds-class-multicolor.yaml

>>> +++ b/Documentation/devicetree/bindings/leds/leds-class-multicolor.yaml

>> Why are you resubmitting the multicolor.yaml?

>>

>> https://lore.kernel.org/patchwork/patch/1320863/

>>

>> This is waiting on DT review.

> I'm expecting another version as you commented on it.


Yes you applied v2

https://www.spinics.net/lists/devicetree/msg384974.html

Dan

> Rob
diff mbox series

Patch

diff --git a/drivers/leds/leds-turris-omnia.c b/drivers/leds/leds-turris-omnia.c
index 8c5bdc3847ee..80b2d94844f2 100644
--- a/drivers/leds/leds-turris-omnia.c
+++ b/drivers/leds/leds-turris-omnia.c
@@ -27,14 +27,6 @@ 
 #define CMD_LED_SET_BRIGHTNESS		7
 #define CMD_LED_GET_BRIGHTNESS		8
 
-#define OMNIA_CMD			0
-
-#define OMNIA_CMD_LED_COLOR_LED		1
-#define OMNIA_CMD_LED_COLOR_R		2
-#define OMNIA_CMD_LED_COLOR_G		3
-#define OMNIA_CMD_LED_COLOR_B		4
-#define OMNIA_CMD_LED_COLOR_LEN		5
-
 struct omnia_led {
 	struct led_classdev_mc mc_cdev;
 	struct mc_subled subled_info[OMNIA_LED_NUM_CHANNELS];
@@ -55,21 +47,21 @@  static int omnia_led_brightness_set_blocking(struct led_classdev *cdev,
 	struct led_classdev_mc *mc_cdev = lcdev_to_mccdev(cdev);
 	struct omnia_leds *leds = dev_get_drvdata(cdev->dev->parent);
 	struct omnia_led *led = to_omnia_led(mc_cdev);
-	u8 buf[OMNIA_CMD_LED_COLOR_LEN], state;
+	u8 buf[5], state;
 	int ret;
 
 	mutex_lock(&leds->lock);
 
 	led_mc_calc_color_components(&led->mc_cdev, brightness);
 
-	buf[OMNIA_CMD] = CMD_LED_COLOR;
-	buf[OMNIA_CMD_LED_COLOR_LED] = led->reg;
-	buf[OMNIA_CMD_LED_COLOR_R] = mc_cdev->subled_info[0].brightness;
-	buf[OMNIA_CMD_LED_COLOR_G] = mc_cdev->subled_info[1].brightness;
-	buf[OMNIA_CMD_LED_COLOR_B] = mc_cdev->subled_info[2].brightness;
+	buf[0] = CMD_LED_COLOR;
+	buf[1] = led->reg;
+	buf[2] = mc_cdev->subled_info[0].brightness;
+	buf[3] = mc_cdev->subled_info[1].brightness;
+	buf[4] = mc_cdev->subled_info[2].brightness;
 
 	state = CMD_LED_STATE_LED(led->reg);
-	if (buf[OMNIA_CMD_LED_COLOR_R] || buf[OMNIA_CMD_LED_COLOR_G] || buf[OMNIA_CMD_LED_COLOR_B])
+	if (buf[2] || buf[3] || buf[4])
 		state |= CMD_LED_STATE_ON;
 
 	ret = i2c_smbus_write_byte_data(leds->client, CMD_LED_STATE, state);
@@ -250,18 +242,18 @@  static int omnia_leds_probe(struct i2c_client *client,
 
 static int omnia_leds_remove(struct i2c_client *client)
 {
-	u8 buf[OMNIA_CMD_LED_COLOR_LEN];
+	u8 buf[5];
 
 	/* put all LEDs into default (HW triggered) mode */
 	i2c_smbus_write_byte_data(client, CMD_LED_MODE,
 				  CMD_LED_MODE_LED(OMNIA_BOARD_LEDS));
 
 	/* set all LEDs color to [255, 255, 255] */
-	buf[OMNIA_CMD] = CMD_LED_COLOR;
-	buf[OMNIA_CMD_LED_COLOR_LED] = OMNIA_BOARD_LEDS;
-	buf[OMNIA_CMD_LED_COLOR_R] = 255;
-	buf[OMNIA_CMD_LED_COLOR_G] = 255;
-	buf[OMNIA_CMD_LED_COLOR_B] = 255;
+	buf[0] = CMD_LED_COLOR;
+	buf[1] = OMNIA_BOARD_LEDS;
+	buf[2] = 255;
+	buf[3] = 255;
+	buf[4] = 255;
 
 	i2c_master_send(client, buf, 5);