Browse Source

leds: bcm6328: add little endian support

This adds little endian support while keeping big endian support.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Álvaro Fernández Rojas 9 years ago
parent
commit
a06cd4b762
1 changed files with 8 additions and 0 deletions
  1. 8 0
      drivers/leds/leds-bcm6328.c

+ 8 - 0
drivers/leds/leds-bcm6328.c

@@ -76,12 +76,20 @@ struct bcm6328_led {
 
 
 static void bcm6328_led_write(void __iomem *reg, unsigned long data)
 static void bcm6328_led_write(void __iomem *reg, unsigned long data)
 {
 {
+#ifdef CONFIG_CPU_BIG_ENDIAN
 	iowrite32be(data, reg);
 	iowrite32be(data, reg);
+#else
+	writel(data, reg);
+#endif
 }
 }
 
 
 static unsigned long bcm6328_led_read(void __iomem *reg)
 static unsigned long bcm6328_led_read(void __iomem *reg)
 {
 {
+#ifdef CONFIG_CPU_BIG_ENDIAN
 	return ioread32be(reg);
 	return ioread32be(reg);
+#else
+	return readl(reg);
+#endif
 }
 }
 
 
 /**
 /**