Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
[cascardo/linux.git] / drivers / bcma / driver_mips.c
index 004d6aa..04faf6d 100644 (file)
@@ -20,6 +20,9 @@
 #include <linux/serial_core.h>
 #include <linux/serial_reg.h>
 #include <linux/time.h>
+#ifdef CONFIG_BCM47XX
+#include <bcm47xx_nvram.h>
+#endif
 
 enum bcma_boot_dev {
        BCMA_BOOT_DEV_UNK = 0,
@@ -115,7 +118,7 @@ static u32 bcma_core_mips_irqflag(struct bcma_device *dev)
  * If disabled, 5 is returned.
  * If not supported, 6 is returned.
  */
-static unsigned int bcma_core_mips_irq(struct bcma_device *dev)
+unsigned int bcma_core_mips_irq(struct bcma_device *dev)
 {
        struct bcma_device *mdev = dev->bus->drv_mips.core;
        u32 irqflag;
@@ -133,13 +136,6 @@ static unsigned int bcma_core_mips_irq(struct bcma_device *dev)
        return 5;
 }
 
-unsigned int bcma_core_irq(struct bcma_device *dev)
-{
-       unsigned int mips_irq = bcma_core_mips_irq(dev);
-       return mips_irq <= 4 ? mips_irq + 2 : 0;
-}
-EXPORT_SYMBOL(bcma_core_irq);
-
 static void bcma_core_mips_set_irq(struct bcma_device *dev, unsigned int irq)
 {
        unsigned int oldirq = bcma_core_mips_irq(dev);
@@ -323,10 +319,16 @@ static void bcma_core_mips_flash_detect(struct bcma_drv_mips *mcore)
        switch (boot_dev) {
        case BCMA_BOOT_DEV_PARALLEL:
        case BCMA_BOOT_DEV_SERIAL:
-               /* TODO: Init NVRAM using BCMA_SOC_FLASH2 window */
+#ifdef CONFIG_BCM47XX
+               bcm47xx_nvram_init_from_mem(BCMA_SOC_FLASH2,
+                                           BCMA_SOC_FLASH2_SZ);
+#endif
                break;
        case BCMA_BOOT_DEV_NAND:
-               /* TODO: Init NVRAM using BCMA_SOC_FLASH1 window */
+#ifdef CONFIG_BCM47XX
+               bcm47xx_nvram_init_from_mem(BCMA_SOC_FLASH1,
+                                           BCMA_SOC_FLASH1_SZ);
+#endif
                break;
        default:
                break;
@@ -423,7 +425,7 @@ void bcma_core_mips_init(struct bcma_drv_mips *mcore)
                break;
        default:
                list_for_each_entry(core, &bus->cores, list) {
-                       core->irq = bcma_core_irq(core);
+                       core->irq = bcma_core_irq(core, 0);
                }
                bcma_err(bus,
                         "Unknown device (0x%x) found, can not configure IRQs\n",