brcm63xx: add upstream LED drivers
[openwrt/staging/noltari.git] / target / linux / brcm63xx / patches-4.4 / 010-08-leds-bcm6358-add-little-endian-support.patch
1 From 9cadc2eff18c892bf8d11ac8115cbc1aa1172175 Mon Sep 17 00:00:00 2001
2 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
3 Date: Tue, 15 Dec 2015 21:03:50 +0100
4 Subject: [PATCH] leds: bcm6358: add little endian support
5 MIME-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8
9 This adds little endian support while keeping big endian support.
10
11 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
12 Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
13 ---
14 drivers/leds/leds-bcm6358.c | 8 ++++++++
15 1 file changed, 8 insertions(+)
16
17 --- a/drivers/leds/leds-bcm6358.c
18 +++ b/drivers/leds/leds-bcm6358.c
19 @@ -49,12 +49,20 @@ struct bcm6358_led {
20
21 static void bcm6358_led_write(void __iomem *reg, unsigned long data)
22 {
23 +#ifdef CONFIG_CPU_BIG_ENDIAN
24 iowrite32be(data, reg);
25 +#else
26 + writel(data, reg);
27 +#endif
28 }
29
30 static unsigned long bcm6358_led_read(void __iomem *reg)
31 {
32 +#ifdef CONFIG_CPU_BIG_ENDIAN
33 return ioread32be(reg);
34 +#else
35 + return readl(reg);
36 +#endif
37 }
38
39 static unsigned long bcm6358_led_busy(void __iomem *mem)