All of lore.kernel.org
 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 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.