linux-leds.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/7] leds-bcm6328: code cleaning
@ 2015-11-29 16:35 Álvaro Fernández Rojas
  2015-11-29 16:35 ` [PATCH 2/7] leds-bcm6328: remove unneded lock when checking initial LED status Álvaro Fernández Rojas
                   ` (7 more replies)
  0 siblings, 8 replies; 21+ messages in thread
From: Álvaro Fernández Rojas @ 2015-11-29 16:35 UTC (permalink / raw)
  To: linux-leds, j.anaszewski, jogo, f.fainelli, cernekee, simon
  Cc: Álvaro Fernández Rojas

- Remove double whitespace
- Add missing brackets
- Add spinlock info

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
 drivers/leds/leds-bcm6328.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/leds/leds-bcm6328.c b/drivers/leds/leds-bcm6328.c
index 0329dee..1ef69c2 100644
--- a/drivers/leds/leds-bcm6328.c
+++ b/drivers/leds/leds-bcm6328.c
@@ -42,7 +42,7 @@
 #define BCM6328_LED_SHIFT_TEST		BIT(30)
 #define BCM6328_LED_TEST		BIT(31)
 #define BCM6328_INIT_MASK		(BCM6328_SERIAL_LED_EN | \
-					 BCM6328_SERIAL_LED_MUX  | \
+					 BCM6328_SERIAL_LED_MUX | \
 					 BCM6328_SERIAL_LED_CLK_NPOL | \
 					 BCM6328_SERIAL_LED_DATA_PPOL | \
 					 BCM6328_SERIAL_LED_SHIFT_DIR)
@@ -151,9 +151,9 @@ static int bcm6328_blink_set(struct led_classdev *led_cdev,
 	}
 
 	delay = *delay_on / BCM6328_LED_INTERVAL_MS;
-	if (delay == 0)
+	if (delay == 0) {
 		delay = 1;
-	else if (delay > BCM6328_LED_INTV_MASK) {
+	} else if (delay > BCM6328_LED_INTV_MASK) {
 		dev_dbg(led_cdev->dev,
 			"fallback to soft blinking (delay > %ums)\n",
 			BCM6328_LED_INTV_MASK * BCM6328_LED_INTERVAL_MS);
@@ -337,7 +337,7 @@ static int bcm6328_leds_probe(struct platform_device *pdev)
 	struct device_node *child;
 	struct resource *mem_r;
 	void __iomem *mem;
-	spinlock_t *lock;
+	spinlock_t *lock; /* memory lock */
 	unsigned long val, *blink_leds, *blink_delay;
 
 	mem_r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 2/7] leds-bcm6328: remove unneded lock when checking initial LED status
  2015-11-29 16:35 [PATCH 1/7] leds-bcm6328: code cleaning Álvaro Fernández Rojas
@ 2015-11-29 16:35 ` Álvaro Fernández Rojas
  2015-11-29 16:35 ` [PATCH 3/7] leds-bcm6358: Use bcm6358_led_set() in order to get rid of the lock Álvaro Fernández Rojas
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 21+ messages in thread
From: Álvaro Fernández Rojas @ 2015-11-29 16:35 UTC (permalink / raw)
  To: linux-leds, j.anaszewski, jogo, f.fainelli, cernekee, simon
  Cc: Álvaro Fernández Rojas

This lock isn't really needed, since we're only reading the register and
changes made to other LEDs aren't relevant.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
 drivers/leds/leds-bcm6328.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/leds/leds-bcm6328.c b/drivers/leds/leds-bcm6328.c
index 1ef69c2..cd54264 100644
--- a/drivers/leds/leds-bcm6328.c
+++ b/drivers/leds/leds-bcm6328.c
@@ -264,7 +264,6 @@ static int bcm6328_led(struct device *dev, struct device_node *nc, u32 reg,
 		       unsigned long *blink_leds, unsigned long *blink_delay)
 {
 	struct bcm6328_led *led;
-	unsigned long flags;
 	const char *state;
 	int rc;
 
@@ -286,7 +285,6 @@ static int bcm6328_led(struct device *dev, struct device_node *nc, u32 reg,
 						    "linux,default-trigger",
 						    NULL);
 
-	spin_lock_irqsave(lock, flags);
 	if (!of_property_read_string(nc, "default-state", &state)) {
 		if (!strcmp(state, "on")) {
 			led->cdev.brightness = LED_FULL;
@@ -314,7 +312,6 @@ static int bcm6328_led(struct device *dev, struct device_node *nc, u32 reg,
 	} else {
 		led->cdev.brightness = LED_OFF;
 	}
-	spin_unlock_irqrestore(lock, flags);
 
 	bcm6328_led_set(&led->cdev, led->cdev.brightness);
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 3/7] leds-bcm6358: Use bcm6358_led_set() in order to get rid of the lock
  2015-11-29 16:35 [PATCH 1/7] leds-bcm6328: code cleaning Álvaro Fernández Rojas
  2015-11-29 16:35 ` [PATCH 2/7] leds-bcm6328: remove unneded lock when checking initial LED status Álvaro Fernández Rojas
@ 2015-11-29 16:35 ` Álvaro Fernández Rojas
  2015-11-29 16:35 ` [PATCH 4/7] leds-bcm6358: remove unneded lock when checking initial LED status Álvaro Fernández Rojas
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 21+ messages in thread
From: Álvaro Fernández Rojas @ 2015-11-29 16:35 UTC (permalink / raw)
  To: linux-leds, j.anaszewski, jogo, f.fainelli, cernekee, simon
  Cc: Álvaro Fernández Rojas

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
 drivers/leds/leds-bcm6358.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/leds/leds-bcm6358.c b/drivers/leds/leds-bcm6358.c
index 82b4ee1..a98cc71 100644
--- a/drivers/leds/leds-bcm6358.c
+++ b/drivers/leds/leds-bcm6358.c
@@ -141,9 +141,10 @@ static int bcm6358_led(struct device *dev, struct device_node *nc, u32 reg,
 	} else {
 		led->cdev.brightness = LED_OFF;
 	}
-	bcm6358_led_mode(led, led->cdev.brightness);
 	spin_unlock_irqrestore(lock, flags);
 
+	bcm6358_led_set(&led->cdev, led->cdev.brightness);
+
 	led->cdev.brightness_set = bcm6358_led_set;
 
 	rc = led_classdev_register(dev, &led->cdev);
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 4/7] leds-bcm6358: remove unneded lock when checking initial LED status
  2015-11-29 16:35 [PATCH 1/7] leds-bcm6328: code cleaning Álvaro Fernández Rojas
  2015-11-29 16:35 ` [PATCH 2/7] leds-bcm6328: remove unneded lock when checking initial LED status Álvaro Fernández Rojas
  2015-11-29 16:35 ` [PATCH 3/7] leds-bcm6358: Use bcm6358_led_set() in order to get rid of the lock Álvaro Fernández Rojas
@ 2015-11-29 16:35 ` Álvaro Fernández Rojas
  2015-11-29 16:35 ` [PATCH 5/7] leds-bcm6328: switch to __raw_readl() and __raw_writel() Álvaro Fernández Rojas
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 21+ messages in thread
From: Álvaro Fernández Rojas @ 2015-11-29 16:35 UTC (permalink / raw)
  To: linux-leds, j.anaszewski, jogo, f.fainelli, cernekee, simon
  Cc: Álvaro Fernández Rojas

This lock isn't really needed, since we're only reading the register and
changes made to other LEDs aren't relevant.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
 drivers/leds/leds-bcm6358.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/leds/leds-bcm6358.c b/drivers/leds/leds-bcm6358.c
index a98cc71..ab09ea4 100644
--- a/drivers/leds/leds-bcm6358.c
+++ b/drivers/leds/leds-bcm6358.c
@@ -99,7 +99,6 @@ static int bcm6358_led(struct device *dev, struct device_node *nc, u32 reg,
 		       void __iomem *mem, spinlock_t *lock)
 {
 	struct bcm6358_led *led;
-	unsigned long flags;
 	const char *state;
 	int rc;
 
@@ -119,7 +118,6 @@ static int bcm6358_led(struct device *dev, struct device_node *nc, u32 reg,
 						    "linux,default-trigger",
 						    NULL);
 
-	spin_lock_irqsave(lock, flags);
 	if (!of_property_read_string(nc, "default-state", &state)) {
 		if (!strcmp(state, "on")) {
 			led->cdev.brightness = LED_FULL;
@@ -141,7 +139,6 @@ static int bcm6358_led(struct device *dev, struct device_node *nc, u32 reg,
 	} else {
 		led->cdev.brightness = LED_OFF;
 	}
-	spin_unlock_irqrestore(lock, flags);
 
 	bcm6358_led_set(&led->cdev, led->cdev.brightness);
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 5/7] leds-bcm6328: switch to __raw_readl() and __raw_writel()
  2015-11-29 16:35 [PATCH 1/7] leds-bcm6328: code cleaning Álvaro Fernández Rojas
                   ` (2 preceding siblings ...)
  2015-11-29 16:35 ` [PATCH 4/7] leds-bcm6358: remove unneded lock when checking initial LED status Álvaro Fernández Rojas
@ 2015-11-29 16:35 ` Álvaro Fernández Rojas
  2015-11-29 20:25   ` Simon Arlott
  2015-11-30  4:32   ` Florian Fainelli
  2015-11-29 16:35 ` [PATCH 6/7] leds-bcm6358: " Álvaro Fernández Rojas
                   ` (3 subsequent siblings)
  7 siblings, 2 replies; 21+ messages in thread
From: Álvaro Fernández Rojas @ 2015-11-29 16:35 UTC (permalink / raw)
  To: linux-leds, j.anaszewski, jogo, f.fainelli, cernekee, simon
  Cc: Álvaro Fernández Rojas

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
 drivers/leds/leds-bcm6328.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/leds/leds-bcm6328.c b/drivers/leds/leds-bcm6328.c
index cd54264..876f0ce 100644
--- a/drivers/leds/leds-bcm6328.c
+++ b/drivers/leds/leds-bcm6328.c
@@ -76,12 +76,12 @@ struct bcm6328_led {
 
 static void bcm6328_led_write(void __iomem *reg, unsigned long data)
 {
-	iowrite32be(data, reg);
+	__raw_writel(data, reg);
 }
 
 static unsigned long bcm6328_led_read(void __iomem *reg)
 {
-	return ioread32be(reg);
+	return __raw_readl(reg);
 }
 
 /**
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 6/7] leds-bcm6358: switch to __raw_readl() and __raw_writel()
  2015-11-29 16:35 [PATCH 1/7] leds-bcm6328: code cleaning Álvaro Fernández Rojas
                   ` (3 preceding siblings ...)
  2015-11-29 16:35 ` [PATCH 5/7] leds-bcm6328: switch to __raw_readl() and __raw_writel() Álvaro Fernández Rojas
@ 2015-11-29 16:35 ` Álvaro Fernández Rojas
  2015-11-29 16:35 ` [PATCH 7/7] leds-bcm6328: simplify duplicated unlock in bcm6328_blink_set Álvaro Fernández Rojas
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 21+ messages in thread
From: Álvaro Fernández Rojas @ 2015-11-29 16:35 UTC (permalink / raw)
  To: linux-leds, j.anaszewski, jogo, f.fainelli, cernekee, simon
  Cc: Álvaro Fernández Rojas

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
 drivers/leds/leds-bcm6358.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/leds/leds-bcm6358.c b/drivers/leds/leds-bcm6358.c
index ab09ea4..ae32f94 100644
--- a/drivers/leds/leds-bcm6358.c
+++ b/drivers/leds/leds-bcm6358.c
@@ -49,12 +49,12 @@ struct bcm6358_led {
 
 static void bcm6358_led_write(void __iomem *reg, unsigned long data)
 {
-	iowrite32be(data, reg);
+	__raw_writel(data, reg);
 }
 
 static unsigned long bcm6358_led_read(void __iomem *reg)
 {
-	return ioread32be(reg);
+	return __raw_readl(reg);
 }
 
 static unsigned long bcm6358_led_busy(void __iomem *mem)
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 7/7] leds-bcm6328: simplify duplicated unlock in bcm6328_blink_set
  2015-11-29 16:35 [PATCH 1/7] leds-bcm6328: code cleaning Álvaro Fernández Rojas
                   ` (4 preceding siblings ...)
  2015-11-29 16:35 ` [PATCH 6/7] leds-bcm6358: " Álvaro Fernández Rojas
@ 2015-11-29 16:35 ` Álvaro Fernández Rojas
  2015-11-30 10:46 ` [PATCH 1/7] leds-bcm6328: code cleaning Jacek Anaszewski
  2015-12-15 20:03 ` [PATCH v2 0/8] leds: bcm6328/bcm6358: several fixes and improvements Álvaro Fernández Rojas
  7 siblings, 0 replies; 21+ messages in thread
From: Álvaro Fernández Rojas @ 2015-11-29 16:35 UTC (permalink / raw)
  To: linux-leds, j.anaszewski, jogo, f.fainelli, cernekee, simon
  Cc: Álvaro Fernández Rojas

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
 drivers/leds/leds-bcm6328.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/leds/leds-bcm6328.c b/drivers/leds/leds-bcm6328.c
index 876f0ce..a361829 100644
--- a/drivers/leds/leds-bcm6328.c
+++ b/drivers/leds/leds-bcm6328.c
@@ -138,6 +138,7 @@ static int bcm6328_blink_set(struct led_classdev *led_cdev,
 	struct bcm6328_led *led =
 		container_of(led_cdev, struct bcm6328_led, cdev);
 	unsigned long delay, flags;
+	int rc;
 
 	if (!*delay_on)
 		*delay_on = BCM6328_LED_DEF_DELAY;
@@ -175,16 +176,15 @@ static int bcm6328_blink_set(struct led_classdev *led_cdev,
 		bcm6328_led_write(led->mem + BCM6328_REG_INIT, val);
 
 		bcm6328_led_mode(led, BCM6328_LED_MODE_BLINK);
-
-		spin_unlock_irqrestore(led->lock, flags);
+		rc = 0;
 	} else {
-		spin_unlock_irqrestore(led->lock, flags);
 		dev_dbg(led_cdev->dev,
 			"fallback to soft blinking (delay already set)\n");
-		return -EINVAL;
+		rc = -EINVAL;
 	}
+	spin_unlock_irqrestore(led->lock, flags);
 
-	return 0;
+	return rc;
 }
 
 static int bcm6328_hwled(struct device *dev, struct device_node *nc, u32 reg,
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH 5/7] leds-bcm6328: switch to __raw_readl() and __raw_writel()
  2015-11-29 16:35 ` [PATCH 5/7] leds-bcm6328: switch to __raw_readl() and __raw_writel() Álvaro Fernández Rojas
@ 2015-11-29 20:25   ` Simon Arlott
  2015-11-30  4:32   ` Florian Fainelli
  1 sibling, 0 replies; 21+ messages in thread
From: Simon Arlott @ 2015-11-29 20:25 UTC (permalink / raw)
  To: Álvaro Fernández Rojas, linux-leds, j.anaszewski, jogo,
	f.fainelli, cernekee

On 29/11/15 16:35, Álvaro Fernández Rojas wrote:
> Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
> ---
>  drivers/leds/leds-bcm6328.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/leds/leds-bcm6328.c b/drivers/leds/leds-bcm6328.c
> index cd54264..876f0ce 100644
> --- a/drivers/leds/leds-bcm6328.c
> +++ b/drivers/leds/leds-bcm6328.c
> @@ -76,12 +76,12 @@ struct bcm6328_led {
>  
>  static void bcm6328_led_write(void __iomem *reg, unsigned long data)
>  {
> -	iowrite32be(data, reg);
> +	__raw_writel(data, reg);
>  }
>  
>  static unsigned long bcm6328_led_read(void __iomem *reg)
>  {
> -	return ioread32be(reg);
> +	return __raw_readl(reg);
>  }
>  
>  /**
> 

If the wrapper functions don't add anything, would it not be better to
just remove them completely?

-- 
Simon Arlott

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 5/7] leds-bcm6328: switch to __raw_readl() and __raw_writel()
  2015-11-29 16:35 ` [PATCH 5/7] leds-bcm6328: switch to __raw_readl() and __raw_writel() Álvaro Fernández Rojas
  2015-11-29 20:25   ` Simon Arlott
@ 2015-11-30  4:32   ` Florian Fainelli
  2015-11-30 10:46     ` Jacek Anaszewski
  1 sibling, 1 reply; 21+ messages in thread
From: Florian Fainelli @ 2015-11-30  4:32 UTC (permalink / raw)
  To: Álvaro Fernández Rojas, linux-leds, j.anaszewski, jogo,
	cernekee, simon

Le 29/11/2015 08:35, Álvaro Fernández Rojas a écrit :
> Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

This driver has a slight chance of running on a BCM63138 SoC which is
ARM-based and little endian, so I would keep the wrapper around here
just so it is easy for somebody to add support for a different platform
later on.

> ---
>  drivers/leds/leds-bcm6328.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/leds/leds-bcm6328.c b/drivers/leds/leds-bcm6328.c
> index cd54264..876f0ce 100644
> --- a/drivers/leds/leds-bcm6328.c
> +++ b/drivers/leds/leds-bcm6328.c
> @@ -76,12 +76,12 @@ struct bcm6328_led {
>  
>  static void bcm6328_led_write(void __iomem *reg, unsigned long data)
>  {
> -	iowrite32be(data, reg);
> +	__raw_writel(data, reg);
>  }
>  
>  static unsigned long bcm6328_led_read(void __iomem *reg)
>  {
> -	return ioread32be(reg);
> +	return __raw_readl(reg);
>  }
>  
>  /**
> 

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 5/7] leds-bcm6328: switch to __raw_readl() and __raw_writel()
  2015-11-30  4:32   ` Florian Fainelli
@ 2015-11-30 10:46     ` Jacek Anaszewski
  0 siblings, 0 replies; 21+ messages in thread
From: Jacek Anaszewski @ 2015-11-30 10:46 UTC (permalink / raw)
  To: Florian Fainelli
  Cc: Álvaro Fernández Rojas, linux-leds, jogo, cernekee,
	simon

Hi Florian, Alvaro

On 11/30/2015 05:32 AM, Florian Fainelli wrote:
> Le 29/11/2015 08:35, Álvaro Fernández Rojas a écrit :
>> Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
>
> This driver has a slight chance of running on a BCM63138 SoC which is
> ARM-based and little endian, so I would keep the wrapper around here
> just so it is easy for somebody to add support for a different platform
> later on.

Thanks for sharing this info.

Alvaro - is the performance gain resulting from this change
specifically important for some of your use cases?

>> ---
>>   drivers/leds/leds-bcm6328.c | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/leds/leds-bcm6328.c b/drivers/leds/leds-bcm6328.c
>> index cd54264..876f0ce 100644
>> --- a/drivers/leds/leds-bcm6328.c
>> +++ b/drivers/leds/leds-bcm6328.c
>> @@ -76,12 +76,12 @@ struct bcm6328_led {
>>
>>   static void bcm6328_led_write(void __iomem *reg, unsigned long data)
>>   {
>> -	iowrite32be(data, reg);
>> +	__raw_writel(data, reg);
>>   }
>>
>>   static unsigned long bcm6328_led_read(void __iomem *reg)
>>   {
>> -	return ioread32be(reg);
>> +	return __raw_readl(reg);
>>   }
>>
>>   /**
>>
>
>


-- 
Best Regards,
Jacek Anaszewski

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 1/7] leds-bcm6328: code cleaning
  2015-11-29 16:35 [PATCH 1/7] leds-bcm6328: code cleaning Álvaro Fernández Rojas
                   ` (5 preceding siblings ...)
  2015-11-29 16:35 ` [PATCH 7/7] leds-bcm6328: simplify duplicated unlock in bcm6328_blink_set Álvaro Fernández Rojas
@ 2015-11-30 10:46 ` Jacek Anaszewski
  2015-12-15 20:03 ` [PATCH v2 0/8] leds: bcm6328/bcm6358: several fixes and improvements Álvaro Fernández Rojas
  7 siblings, 0 replies; 21+ messages in thread
From: Jacek Anaszewski @ 2015-11-30 10:46 UTC (permalink / raw)
  To: Álvaro Fernández Rojas
  Cc: linux-leds, jogo, f.fainelli, cernekee, simon

Hi Alvaro,

Thanks for the patches. Please use "leds: bcm6328"
(or leds: bcm6358) prefix in the commit title. Please also add commit
description to the patches that are missing it.

On 11/29/2015 05:35 PM, Álvaro Fernández Rojas wrote:
> - Remove double whitespace
> - Add missing brackets
> - Add spinlock info
>
> Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
> ---
>   drivers/leds/leds-bcm6328.c | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/leds/leds-bcm6328.c b/drivers/leds/leds-bcm6328.c
> index 0329dee..1ef69c2 100644
> --- a/drivers/leds/leds-bcm6328.c
> +++ b/drivers/leds/leds-bcm6328.c
> @@ -42,7 +42,7 @@
>   #define BCM6328_LED_SHIFT_TEST		BIT(30)
>   #define BCM6328_LED_TEST		BIT(31)
>   #define BCM6328_INIT_MASK		(BCM6328_SERIAL_LED_EN | \
> -					 BCM6328_SERIAL_LED_MUX  | \
> +					 BCM6328_SERIAL_LED_MUX | \
>   					 BCM6328_SERIAL_LED_CLK_NPOL | \
>   					 BCM6328_SERIAL_LED_DATA_PPOL | \
>   					 BCM6328_SERIAL_LED_SHIFT_DIR)
> @@ -151,9 +151,9 @@ static int bcm6328_blink_set(struct led_classdev *led_cdev,
>   	}
>
>   	delay = *delay_on / BCM6328_LED_INTERVAL_MS;
> -	if (delay == 0)
> +	if (delay == 0) {
>   		delay = 1;
> -	else if (delay > BCM6328_LED_INTV_MASK) {
> +	} else if (delay > BCM6328_LED_INTV_MASK) {
>   		dev_dbg(led_cdev->dev,
>   			"fallback to soft blinking (delay > %ums)\n",
>   			BCM6328_LED_INTV_MASK * BCM6328_LED_INTERVAL_MS);
> @@ -337,7 +337,7 @@ static int bcm6328_leds_probe(struct platform_device *pdev)
>   	struct device_node *child;
>   	struct resource *mem_r;
>   	void __iomem *mem;
> -	spinlock_t *lock;
> +	spinlock_t *lock; /* memory lock */
>   	unsigned long val, *blink_leds, *blink_delay;
>
>   	mem_r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>


-- 
Best Regards,
Jacek Anaszewski

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH v2 0/8] leds: bcm6328/bcm6358: several fixes and improvements
  2015-11-29 16:35 [PATCH 1/7] leds-bcm6328: code cleaning Álvaro Fernández Rojas
                   ` (6 preceding siblings ...)
  2015-11-30 10:46 ` [PATCH 1/7] leds-bcm6328: code cleaning Jacek Anaszewski
@ 2015-12-15 20:03 ` Álvaro Fernández Rojas
  2015-12-15 20:03   ` [PATCH v2 1/8] leds: bcm6328: code cleaning Álvaro Fernández Rojas
                     ` (8 more replies)
  7 siblings, 9 replies; 21+ messages in thread
From: Álvaro Fernández Rojas @ 2015-12-15 20:03 UTC (permalink / raw)
  To: linux-leds, j.anaszewski, jogo, f.fainelli, cernekee, simon
  Cc: Álvaro Fernández Rojas

These patches add several fixes and improvements for leds-bcm6328 and
leds-bcm6358.

v2: introduce changes suggested by Jacek and Florian
 - change "leds-bcm6328:" to "leds: bcm6328:"
 - change "leds-bcm6358:" to "leds: bcm6358:"
 - add little endian support
 - bcm6358: Merge bcm6358_led_mode into bcm6358_led_set

Álvaro Fernández Rojas (8):
  leds: bcm6328: code cleaning
  leds: bcm6328: remove unneded lock when checking initial LED
  leds: bcm6358: Use bcm6358_led_set() in order to get rid of the lock
  leds: bcm6358: remove unneded lock when checking initial LED status
  leds: bcm6328: add little endian support
  leds: bcm6358: add little endian support
  leds: bcm6328: simplify duplicated unlock in bcm6328_blink_set
  leds: bcm6358: merge bcm6358_led_mode and bcm6358_led_set

 drivers/leds/leds-bcm6328.c | 29 +++++++++++++++++------------
 drivers/leds/leds-bcm6358.c | 34 ++++++++++++++++------------------
 2 files changed, 33 insertions(+), 30 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH v2 1/8] leds: bcm6328: code cleaning
  2015-12-15 20:03 ` [PATCH v2 0/8] leds: bcm6328/bcm6358: several fixes and improvements Álvaro Fernández Rojas
@ 2015-12-15 20:03   ` Álvaro Fernández Rojas
  2015-12-15 20:03   ` [PATCH v2 2/8] leds: bcm6328: remove unneded lock when checking initial LED Álvaro Fernández Rojas
                     ` (7 subsequent siblings)
  8 siblings, 0 replies; 21+ messages in thread
From: Álvaro Fernández Rojas @ 2015-12-15 20:03 UTC (permalink / raw)
  To: linux-leds, j.anaszewski, jogo, f.fainelli, cernekee, simon
  Cc: Álvaro Fernández Rojas

- Remove double whitespace
- Add missing brackets
- Add spinlock info

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
 v2: no changes

 drivers/leds/leds-bcm6328.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/leds/leds-bcm6328.c b/drivers/leds/leds-bcm6328.c
index 0329dee..1ef69c2 100644
--- a/drivers/leds/leds-bcm6328.c
+++ b/drivers/leds/leds-bcm6328.c
@@ -42,7 +42,7 @@
 #define BCM6328_LED_SHIFT_TEST		BIT(30)
 #define BCM6328_LED_TEST		BIT(31)
 #define BCM6328_INIT_MASK		(BCM6328_SERIAL_LED_EN | \
-					 BCM6328_SERIAL_LED_MUX  | \
+					 BCM6328_SERIAL_LED_MUX | \
 					 BCM6328_SERIAL_LED_CLK_NPOL | \
 					 BCM6328_SERIAL_LED_DATA_PPOL | \
 					 BCM6328_SERIAL_LED_SHIFT_DIR)
@@ -151,9 +151,9 @@ static int bcm6328_blink_set(struct led_classdev *led_cdev,
 	}
 
 	delay = *delay_on / BCM6328_LED_INTERVAL_MS;
-	if (delay == 0)
+	if (delay == 0) {
 		delay = 1;
-	else if (delay > BCM6328_LED_INTV_MASK) {
+	} else if (delay > BCM6328_LED_INTV_MASK) {
 		dev_dbg(led_cdev->dev,
 			"fallback to soft blinking (delay > %ums)\n",
 			BCM6328_LED_INTV_MASK * BCM6328_LED_INTERVAL_MS);
@@ -337,7 +337,7 @@ static int bcm6328_leds_probe(struct platform_device *pdev)
 	struct device_node *child;
 	struct resource *mem_r;
 	void __iomem *mem;
-	spinlock_t *lock;
+	spinlock_t *lock; /* memory lock */
 	unsigned long val, *blink_leds, *blink_delay;
 
 	mem_r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH v2 2/8] leds: bcm6328: remove unneded lock when checking initial LED
  2015-12-15 20:03 ` [PATCH v2 0/8] leds: bcm6328/bcm6358: several fixes and improvements Álvaro Fernández Rojas
  2015-12-15 20:03   ` [PATCH v2 1/8] leds: bcm6328: code cleaning Álvaro Fernández Rojas
@ 2015-12-15 20:03   ` Álvaro Fernández Rojas
  2015-12-15 20:03   ` [PATCH v2 3/8] leds: bcm6358: Use bcm6358_led_set() in order to get rid of the lock Álvaro Fernández Rojas
                     ` (6 subsequent siblings)
  8 siblings, 0 replies; 21+ messages in thread
From: Álvaro Fernández Rojas @ 2015-12-15 20:03 UTC (permalink / raw)
  To: linux-leds, j.anaszewski, jogo, f.fainelli, cernekee, simon
  Cc: Álvaro Fernández Rojas

This lock isn't really needed, since we're only reading the register and
changes made to other LEDs aren't relevant.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
 v2: no changes

 drivers/leds/leds-bcm6328.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/leds/leds-bcm6328.c b/drivers/leds/leds-bcm6328.c
index 1ef69c2..cd54264 100644
--- a/drivers/leds/leds-bcm6328.c
+++ b/drivers/leds/leds-bcm6328.c
@@ -264,7 +264,6 @@ static int bcm6328_led(struct device *dev, struct device_node *nc, u32 reg,
 		       unsigned long *blink_leds, unsigned long *blink_delay)
 {
 	struct bcm6328_led *led;
-	unsigned long flags;
 	const char *state;
 	int rc;
 
@@ -286,7 +285,6 @@ static int bcm6328_led(struct device *dev, struct device_node *nc, u32 reg,
 						    "linux,default-trigger",
 						    NULL);
 
-	spin_lock_irqsave(lock, flags);
 	if (!of_property_read_string(nc, "default-state", &state)) {
 		if (!strcmp(state, "on")) {
 			led->cdev.brightness = LED_FULL;
@@ -314,7 +312,6 @@ static int bcm6328_led(struct device *dev, struct device_node *nc, u32 reg,
 	} else {
 		led->cdev.brightness = LED_OFF;
 	}
-	spin_unlock_irqrestore(lock, flags);
 
 	bcm6328_led_set(&led->cdev, led->cdev.brightness);
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH v2 3/8] leds: bcm6358: Use bcm6358_led_set() in order to get rid of the lock
  2015-12-15 20:03 ` [PATCH v2 0/8] leds: bcm6328/bcm6358: several fixes and improvements Álvaro Fernández Rojas
  2015-12-15 20:03   ` [PATCH v2 1/8] leds: bcm6328: code cleaning Álvaro Fernández Rojas
  2015-12-15 20:03   ` [PATCH v2 2/8] leds: bcm6328: remove unneded lock when checking initial LED Álvaro Fernández Rojas
@ 2015-12-15 20:03   ` Álvaro Fernández Rojas
  2015-12-15 20:03   ` [PATCH v2 4/8] leds: bcm6358: remove unneded lock when checking initial LED status Álvaro Fernández Rojas
                     ` (5 subsequent siblings)
  8 siblings, 0 replies; 21+ messages in thread
From: Álvaro Fernández Rojas @ 2015-12-15 20:03 UTC (permalink / raw)
  To: linux-leds, j.anaszewski, jogo, f.fainelli, cernekee, simon
  Cc: Álvaro Fernández Rojas

Replaces bcm6358_led_mode with bcm6358_led_set so we don't need to handle
the lock.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
 v2: no changes

 drivers/leds/leds-bcm6358.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/leds/leds-bcm6358.c b/drivers/leds/leds-bcm6358.c
index 82b4ee1..a98cc71 100644
--- a/drivers/leds/leds-bcm6358.c
+++ b/drivers/leds/leds-bcm6358.c
@@ -141,9 +141,10 @@ static int bcm6358_led(struct device *dev, struct device_node *nc, u32 reg,
 	} else {
 		led->cdev.brightness = LED_OFF;
 	}
-	bcm6358_led_mode(led, led->cdev.brightness);
 	spin_unlock_irqrestore(lock, flags);
 
+	bcm6358_led_set(&led->cdev, led->cdev.brightness);
+
 	led->cdev.brightness_set = bcm6358_led_set;
 
 	rc = led_classdev_register(dev, &led->cdev);
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH v2 4/8] leds: bcm6358: remove unneded lock when checking initial LED status
  2015-12-15 20:03 ` [PATCH v2 0/8] leds: bcm6328/bcm6358: several fixes and improvements Álvaro Fernández Rojas
                     ` (2 preceding siblings ...)
  2015-12-15 20:03   ` [PATCH v2 3/8] leds: bcm6358: Use bcm6358_led_set() in order to get rid of the lock Álvaro Fernández Rojas
@ 2015-12-15 20:03   ` Álvaro Fernández Rojas
  2015-12-15 20:03   ` [PATCH v2 5/8] leds: bcm6328: add little endian support Álvaro Fernández Rojas
                     ` (4 subsequent siblings)
  8 siblings, 0 replies; 21+ messages in thread
From: Álvaro Fernández Rojas @ 2015-12-15 20:03 UTC (permalink / raw)
  To: linux-leds, j.anaszewski, jogo, f.fainelli, cernekee, simon
  Cc: Álvaro Fernández Rojas

This lock isn't really needed, since we're only reading the register and
changes made to other LEDs aren't relevant.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
 v2: no changes

 drivers/leds/leds-bcm6358.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/leds/leds-bcm6358.c b/drivers/leds/leds-bcm6358.c
index a98cc71..ab09ea4 100644
--- a/drivers/leds/leds-bcm6358.c
+++ b/drivers/leds/leds-bcm6358.c
@@ -99,7 +99,6 @@ static int bcm6358_led(struct device *dev, struct device_node *nc, u32 reg,
 		       void __iomem *mem, spinlock_t *lock)
 {
 	struct bcm6358_led *led;
-	unsigned long flags;
 	const char *state;
 	int rc;
 
@@ -119,7 +118,6 @@ static int bcm6358_led(struct device *dev, struct device_node *nc, u32 reg,
 						    "linux,default-trigger",
 						    NULL);
 
-	spin_lock_irqsave(lock, flags);
 	if (!of_property_read_string(nc, "default-state", &state)) {
 		if (!strcmp(state, "on")) {
 			led->cdev.brightness = LED_FULL;
@@ -141,7 +139,6 @@ static int bcm6358_led(struct device *dev, struct device_node *nc, u32 reg,
 	} else {
 		led->cdev.brightness = LED_OFF;
 	}
-	spin_unlock_irqrestore(lock, flags);
 
 	bcm6358_led_set(&led->cdev, led->cdev.brightness);
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH v2 5/8] leds: bcm6328: add little endian support
  2015-12-15 20:03 ` [PATCH v2 0/8] leds: bcm6328/bcm6358: several fixes and improvements Álvaro Fernández Rojas
                     ` (3 preceding siblings ...)
  2015-12-15 20:03   ` [PATCH v2 4/8] leds: bcm6358: remove unneded lock when checking initial LED status Álvaro Fernández Rojas
@ 2015-12-15 20:03   ` Álvaro Fernández Rojas
  2015-12-15 20:03   ` [PATCH v2 6/8] leds: bcm6358: " Álvaro Fernández Rojas
                     ` (3 subsequent siblings)
  8 siblings, 0 replies; 21+ messages in thread
From: Álvaro Fernández Rojas @ 2015-12-15 20:03 UTC (permalink / raw)
  To: linux-leds, j.anaszewski, jogo, f.fainelli, cernekee, simon
  Cc: Álvaro Fernández Rojas

This adds little endian support while keeping big endian support.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
 v2: add little endian support instead of switch to __raw io

 drivers/leds/leds-bcm6328.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/leds/leds-bcm6328.c b/drivers/leds/leds-bcm6328.c
index cd54264..e13daa2 100644
--- a/drivers/leds/leds-bcm6328.c
+++ b/drivers/leds/leds-bcm6328.c
@@ -76,12 +76,20 @@ struct bcm6328_led {
 
 static void bcm6328_led_write(void __iomem *reg, unsigned long data)
 {
+#ifdef CONFIG_CPU_BIG_ENDIAN
 	iowrite32be(data, reg);
+#else
+	writel(data, reg);
+#endif
 }
 
 static unsigned long bcm6328_led_read(void __iomem *reg)
 {
+#ifdef CONFIG_CPU_BIG_ENDIAN
 	return ioread32be(reg);
+#else
+	return readl(reg);
+#endif
 }
 
 /**
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH v2 6/8] leds: bcm6358: add little endian support
  2015-12-15 20:03 ` [PATCH v2 0/8] leds: bcm6328/bcm6358: several fixes and improvements Álvaro Fernández Rojas
                     ` (4 preceding siblings ...)
  2015-12-15 20:03   ` [PATCH v2 5/8] leds: bcm6328: add little endian support Álvaro Fernández Rojas
@ 2015-12-15 20:03   ` Álvaro Fernández Rojas
  2015-12-15 20:03   ` [PATCH v2 7/8] leds: bcm6328: simplify duplicated unlock in bcm6328_blink_set Álvaro Fernández Rojas
                     ` (2 subsequent siblings)
  8 siblings, 0 replies; 21+ messages in thread
From: Álvaro Fernández Rojas @ 2015-12-15 20:03 UTC (permalink / raw)
  To: linux-leds, j.anaszewski, jogo, f.fainelli, cernekee, simon
  Cc: Álvaro Fernández Rojas

This adds little endian support while keeping big endian support.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
 v2: add little endian support instead of switch to __raw io

 drivers/leds/leds-bcm6358.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/leds/leds-bcm6358.c b/drivers/leds/leds-bcm6358.c
index ab09ea4..ffc978d 100644
--- a/drivers/leds/leds-bcm6358.c
+++ b/drivers/leds/leds-bcm6358.c
@@ -49,12 +49,20 @@ struct bcm6358_led {
 
 static void bcm6358_led_write(void __iomem *reg, unsigned long data)
 {
+#ifdef CONFIG_CPU_BIG_ENDIAN
 	iowrite32be(data, reg);
+#else
+	writel(data, reg);
+#endif
 }
 
 static unsigned long bcm6358_led_read(void __iomem *reg)
 {
+#ifdef CONFIG_CPU_BIG_ENDIAN
 	return ioread32be(reg);
+#else
+	return readl(reg);
+#endif
 }
 
 static unsigned long bcm6358_led_busy(void __iomem *mem)
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH v2 7/8] leds: bcm6328: simplify duplicated unlock in bcm6328_blink_set
  2015-12-15 20:03 ` [PATCH v2 0/8] leds: bcm6328/bcm6358: several fixes and improvements Álvaro Fernández Rojas
                     ` (5 preceding siblings ...)
  2015-12-15 20:03   ` [PATCH v2 6/8] leds: bcm6358: " Álvaro Fernández Rojas
@ 2015-12-15 20:03   ` Álvaro Fernández Rojas
  2015-12-15 20:03   ` [PATCH v2 8/8] leds: bcm6358: merge bcm6358_led_mode and bcm6358_led_set Álvaro Fernández Rojas
  2015-12-16  8:49   ` [PATCH v2 0/8] leds: bcm6328/bcm6358: several fixes and improvements Jacek Anaszewski
  8 siblings, 0 replies; 21+ messages in thread
From: Álvaro Fernández Rojas @ 2015-12-15 20:03 UTC (permalink / raw)
  To: linux-leds, j.anaszewski, jogo, f.fainelli, cernekee, simon
  Cc: Álvaro Fernández Rojas

Instead of duplicating the unlock we can store the return value and use a
single unlock before returning that value, which simplifies the code.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
 v2: no changes

 drivers/leds/leds-bcm6328.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/leds/leds-bcm6328.c b/drivers/leds/leds-bcm6328.c
index e13daa2..47f7c9f 100644
--- a/drivers/leds/leds-bcm6328.c
+++ b/drivers/leds/leds-bcm6328.c
@@ -146,6 +146,7 @@ static int bcm6328_blink_set(struct led_classdev *led_cdev,
 	struct bcm6328_led *led =
 		container_of(led_cdev, struct bcm6328_led, cdev);
 	unsigned long delay, flags;
+	int rc;
 
 	if (!*delay_on)
 		*delay_on = BCM6328_LED_DEF_DELAY;
@@ -183,16 +184,15 @@ static int bcm6328_blink_set(struct led_classdev *led_cdev,
 		bcm6328_led_write(led->mem + BCM6328_REG_INIT, val);
 
 		bcm6328_led_mode(led, BCM6328_LED_MODE_BLINK);
-
-		spin_unlock_irqrestore(led->lock, flags);
+		rc = 0;
 	} else {
-		spin_unlock_irqrestore(led->lock, flags);
 		dev_dbg(led_cdev->dev,
 			"fallback to soft blinking (delay already set)\n");
-		return -EINVAL;
+		rc = -EINVAL;
 	}
+	spin_unlock_irqrestore(led->lock, flags);
 
-	return 0;
+	return rc;
 }
 
 static int bcm6328_hwled(struct device *dev, struct device_node *nc, u32 reg,
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH v2 8/8] leds: bcm6358: merge bcm6358_led_mode and bcm6358_led_set
  2015-12-15 20:03 ` [PATCH v2 0/8] leds: bcm6328/bcm6358: several fixes and improvements Álvaro Fernández Rojas
                     ` (6 preceding siblings ...)
  2015-12-15 20:03   ` [PATCH v2 7/8] leds: bcm6328: simplify duplicated unlock in bcm6328_blink_set Álvaro Fernández Rojas
@ 2015-12-15 20:03   ` Álvaro Fernández Rojas
  2015-12-16  8:49   ` [PATCH v2 0/8] leds: bcm6328/bcm6358: several fixes and improvements Jacek Anaszewski
  8 siblings, 0 replies; 21+ messages in thread
From: Álvaro Fernández Rojas @ 2015-12-15 20:03 UTC (permalink / raw)
  To: linux-leds, j.anaszewski, jogo, f.fainelli, cernekee, simon
  Cc: Álvaro Fernández Rojas

bcm6358_led_mode is now only called by bcm6358_led_set, so merge both in one
single function.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
 v2: introduce new patch to merge bcm6358_led_mode into bcm6358_led_set

 drivers/leds/leds-bcm6358.c | 20 ++++++--------------
 1 file changed, 6 insertions(+), 14 deletions(-)

diff --git a/drivers/leds/leds-bcm6358.c b/drivers/leds/leds-bcm6358.c
index ffc978d..7413e3e 100644
--- a/drivers/leds/leds-bcm6358.c
+++ b/drivers/leds/leds-bcm6358.c
@@ -76,12 +76,15 @@ static unsigned long bcm6358_led_busy(void __iomem *mem)
 	return val;
 }
 
-static void bcm6358_led_mode(struct bcm6358_led *led, unsigned long value)
+static void bcm6358_led_set(struct led_classdev *led_cdev,
+			    enum led_brightness value)
 {
-	unsigned long val;
+	struct bcm6358_led *led =
+		container_of(led_cdev, struct bcm6358_led, cdev);
+	unsigned long flags, val;
 
+	spin_lock_irqsave(led->lock, flags);
 	bcm6358_led_busy(led->mem);
-
 	val = bcm6358_led_read(led->mem + BCM6358_REG_MODE);
 	if ((led->active_low && value == LED_OFF) ||
 	    (!led->active_low && value != LED_OFF))
@@ -89,17 +92,6 @@ static void bcm6358_led_mode(struct bcm6358_led *led, unsigned long value)
 	else
 		val &= ~(BIT(led->pin));
 	bcm6358_led_write(led->mem + BCM6358_REG_MODE, val);
-}
-
-static void bcm6358_led_set(struct led_classdev *led_cdev,
-			    enum led_brightness value)
-{
-	struct bcm6358_led *led =
-		container_of(led_cdev, struct bcm6358_led, cdev);
-	unsigned long flags;
-
-	spin_lock_irqsave(led->lock, flags);
-	bcm6358_led_mode(led, value);
 	spin_unlock_irqrestore(led->lock, flags);
 }
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH v2 0/8] leds: bcm6328/bcm6358: several fixes and improvements
  2015-12-15 20:03 ` [PATCH v2 0/8] leds: bcm6328/bcm6358: several fixes and improvements Álvaro Fernández Rojas
                     ` (7 preceding siblings ...)
  2015-12-15 20:03   ` [PATCH v2 8/8] leds: bcm6358: merge bcm6358_led_mode and bcm6358_led_set Álvaro Fernández Rojas
@ 2015-12-16  8:49   ` Jacek Anaszewski
  8 siblings, 0 replies; 21+ messages in thread
From: Jacek Anaszewski @ 2015-12-16  8:49 UTC (permalink / raw)
  To: Álvaro Fernández Rojas
  Cc: linux-leds, jogo, f.fainelli, cernekee, simon

Hi Alvaro,

Thanks for the update, patch set applied.

On 12/15/2015 09:03 PM, Álvaro Fernández Rojas wrote:
> These patches add several fixes and improvements for leds-bcm6328 and
> leds-bcm6358.
>
> v2: introduce changes suggested by Jacek and Florian
>   - change "leds-bcm6328:" to "leds: bcm6328:"
>   - change "leds-bcm6358:" to "leds: bcm6358:"
>   - add little endian support
>   - bcm6358: Merge bcm6358_led_mode into bcm6358_led_set
>
> Álvaro Fernández Rojas (8):
>    leds: bcm6328: code cleaning
>    leds: bcm6328: remove unneded lock when checking initial LED
>    leds: bcm6358: Use bcm6358_led_set() in order to get rid of the lock
>    leds: bcm6358: remove unneded lock when checking initial LED status
>    leds: bcm6328: add little endian support
>    leds: bcm6358: add little endian support
>    leds: bcm6328: simplify duplicated unlock in bcm6328_blink_set
>    leds: bcm6358: merge bcm6358_led_mode and bcm6358_led_set
>
>   drivers/leds/leds-bcm6328.c | 29 +++++++++++++++++------------
>   drivers/leds/leds-bcm6358.c | 34 ++++++++++++++++------------------
>   2 files changed, 33 insertions(+), 30 deletions(-)
>


-- 
Best Regards,
Jacek Anaszewski

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2015-12-16  8:49 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-29 16:35 [PATCH 1/7] leds-bcm6328: code cleaning Álvaro Fernández Rojas
2015-11-29 16:35 ` [PATCH 2/7] leds-bcm6328: remove unneded lock when checking initial LED status Álvaro Fernández Rojas
2015-11-29 16:35 ` [PATCH 3/7] leds-bcm6358: Use bcm6358_led_set() in order to get rid of the lock Álvaro Fernández Rojas
2015-11-29 16:35 ` [PATCH 4/7] leds-bcm6358: remove unneded lock when checking initial LED status Álvaro Fernández Rojas
2015-11-29 16:35 ` [PATCH 5/7] leds-bcm6328: switch to __raw_readl() and __raw_writel() Álvaro Fernández Rojas
2015-11-29 20:25   ` Simon Arlott
2015-11-30  4:32   ` Florian Fainelli
2015-11-30 10:46     ` Jacek Anaszewski
2015-11-29 16:35 ` [PATCH 6/7] leds-bcm6358: " Álvaro Fernández Rojas
2015-11-29 16:35 ` [PATCH 7/7] leds-bcm6328: simplify duplicated unlock in bcm6328_blink_set Álvaro Fernández Rojas
2015-11-30 10:46 ` [PATCH 1/7] leds-bcm6328: code cleaning Jacek Anaszewski
2015-12-15 20:03 ` [PATCH v2 0/8] leds: bcm6328/bcm6358: several fixes and improvements Álvaro Fernández Rojas
2015-12-15 20:03   ` [PATCH v2 1/8] leds: bcm6328: code cleaning Álvaro Fernández Rojas
2015-12-15 20:03   ` [PATCH v2 2/8] leds: bcm6328: remove unneded lock when checking initial LED Álvaro Fernández Rojas
2015-12-15 20:03   ` [PATCH v2 3/8] leds: bcm6358: Use bcm6358_led_set() in order to get rid of the lock Álvaro Fernández Rojas
2015-12-15 20:03   ` [PATCH v2 4/8] leds: bcm6358: remove unneded lock when checking initial LED status Álvaro Fernández Rojas
2015-12-15 20:03   ` [PATCH v2 5/8] leds: bcm6328: add little endian support Álvaro Fernández Rojas
2015-12-15 20:03   ` [PATCH v2 6/8] leds: bcm6358: " Álvaro Fernández Rojas
2015-12-15 20:03   ` [PATCH v2 7/8] leds: bcm6328: simplify duplicated unlock in bcm6328_blink_set Álvaro Fernández Rojas
2015-12-15 20:03   ` [PATCH v2 8/8] leds: bcm6358: merge bcm6358_led_mode and bcm6358_led_set Álvaro Fernández Rojas
2015-12-16  8:49   ` [PATCH v2 0/8] leds: bcm6328/bcm6358: several fixes and improvements Jacek Anaszewski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).