--- a/drivers/ssb/driver_chipcommon_pmu.c
+++ b/drivers/ssb/driver_chipcommon_pmu.c
-@@ -28,6 +28,21 @@ static void ssb_chipco_pll_write(struct
+@@ -28,6 +28,21 @@ static void ssb_chipco_pll_write(struct
chipco_write32(cc, SSB_CHIPCO_PLLCTL_DATA, value);
}
struct pmu0_plltab_entry {
u16 freq; /* Crystal frequency in kHz.*/
u8 xf; /* Crystal frequency value for PMU control */
-@@ -506,3 +521,82 @@ void ssb_pmu_init(struct ssb_chipcommon
+@@ -506,3 +521,82 @@ void ssb_pmu_init(struct ssb_chipcommon
ssb_pmu_pll_init(cc);
ssb_pmu_resources_init(cc);
}
/* Extract the antenna gain values. */
SPEX(antenna_gain.ghz24.a0, SSB_SPROM8_AGAIN01,
-@@ -549,6 +600,7 @@ static int sprom_extract(struct ssb_bus
+@@ -549,6 +600,7 @@ static int sprom_extract(struct ssb_bus
ssb_printk(KERN_WARNING PFX "Unsupported SPROM"
" revision %d detected. Will extract"
" v1\n", out->revision);
}
--- a/drivers/ssb/scan.c
+++ b/drivers/ssb/scan.c
-@@ -175,6 +175,9 @@ static u32 scan_read32(struct ssb_bus *b
+@@ -175,6 +175,8 @@ static u32 scan_read32(struct ssb_bus *b
} else
ssb_pcmcia_switch_segment(bus, 0);
break;
+ case SSB_BUSTYPE_SDIO:
-+ offset += current_coreidx * SSB_CORE_SIZE;
-+ return ssb_sdio_scan_read32(bus, offset);
++ break;
}
return readl(bus->mmio + offset);
}
-@@ -188,6 +191,8 @@ static int scan_switchcore(struct ssb_bu
+@@ -188,6 +190,8 @@ static int scan_switchcore(struct ssb_bu
return ssb_pci_switch_coreidx(bus, coreidx);
case SSB_BUSTYPE_PCMCIA:
return ssb_pcmcia_switch_coreidx(bus, coreidx);
}
return 0;
}
-@@ -206,6 +211,8 @@ void ssb_iounmap(struct ssb_bus *bus)
+@@ -206,6 +210,8 @@ void ssb_iounmap(struct ssb_bus *bus)
SSB_BUG_ON(1); /* Can't reach this code. */
#endif
break;
}
bus->mmio = NULL;
bus->mapped_device = NULL;
-@@ -230,6 +237,8 @@ static void __iomem *ssb_ioremap(struct
+@@ -230,6 +236,8 @@ static void __iomem *ssb_ioremap(struct
SSB_BUG_ON(1); /* Can't reach this code. */
#endif
break;