Merge "Revert "Don't allocate address space for bmoca on host CPU""
diff --git a/3.3/bmoca.c b/3.3/bmoca.c
index 4d9a906..e8f1829 100644
--- a/3.3/bmoca.c
+++ b/3.3/bmoca.c
@@ -2382,10 +2382,7 @@
static int moca_probe(struct platform_device *pdev)
{
struct moca_priv_data *priv;
-#if !defined(CONFIG_BCM_6802_MoCA)
struct resource *mres, *ires = NULL;
-#endif
- unsigned long long base;
int minor, err = 0;
struct moca_platform_data *pd = pdev->dev.platform_data;
@@ -2464,12 +2461,6 @@
goto bad;
}
-#if defined(CONFIG_BCM_6802_MoCA)
- base = pd->spi_base;
- priv->base = (void *)pd->spi_base;
- priv->irq = pd->spi->irq;
- priv->i2c_base = (void *)pd->bcm3450_i2c_base;
-#else
mres = platform_get_resource(pdev, IORESOURCE_MEM, 0);
ires = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
@@ -2479,7 +2470,11 @@
goto bad;
}
- base = mres->start;
+#if defined(CONFIG_BCM_6802_MoCA)
+ priv->base = (void *)mres->start;
+ priv->irq = pd->spi->irq;
+ priv->i2c_base = (void *)pd->bcm3450_i2c_base;
+#else
priv->base = ioremap(mres->start, mres->end - mres->start + 1);
priv->irq = ires->start;
priv->i2c_base = ioremap(pd->bcm3450_i2c_base, sizeof(struct bsc_regs));
@@ -2501,7 +2496,7 @@
printk(KERN_INFO "bmoca: adding minor #%d at base 0x%08llx, IRQ %d, "
"I2C 0x%08llx/0x%02x\n", priv->minor,
- base, priv->irq,
+ (unsigned long long)mres->start, priv->irq,
(unsigned long long)pd->bcm3450_i2c_base, pd->bcm3450_i2c_addr);
minor_tbl[priv->minor] = priv;
diff --git a/bmoca-6802.c b/bmoca-6802.c
index 78910ae..5714cad 100644
--- a/bmoca-6802.c
+++ b/bmoca-6802.c
@@ -87,7 +87,6 @@
.bcm3450_i2c_base = 0x10406200,
.bcm3450_i2c_addr = 0x70,
- .spi_base = 0x10600000,
.hw_rev = HWREV_MOCA_20_GEN22,
.rf_band = MOCA_BAND_EXT_D,
.chip_id = 0,
@@ -99,11 +98,24 @@
#endif
};
+static struct resource moca_lan_resources[] = {
+ [0] = {
+ .start = 0x10600000,
+ .end = 0x107ffd97,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = { /* Not used for 6802, define for bmoca */
+ .start = 0,
+ .end = 0,
+ .flags = IORESOURCE_IRQ,
+ }
+};
+
static struct platform_device moca_lan_plat_dev = {
.name = "bmoca",
.id = 0,
- .num_resources = 0,
- .resource = NULL,
+ .num_resources = ARRAY_SIZE(moca_lan_resources),
+ .resource = moca_lan_resources,
.dev = {
.platform_data = &moca_lan_data,
.release = bogus_release,
@@ -116,7 +128,6 @@
.bcm3450_i2c_base = 0x10406200,
.bcm3450_i2c_addr = 0x70,
- .spi_base = 0x10600000,
.hw_rev = HWREV_MOCA_20_GEN22,
.chip_id = 0,
@@ -131,11 +142,24 @@
#endif
};
+static struct resource moca_wan_resources[] = {
+ [0] = {
+ .start = 0x10600000,
+ .end = 0x107ffd97,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = { /* Not used for 6802, define for bmoca */
+ .start = 0,
+ .end = 0,
+ .flags = IORESOURCE_IRQ,
+ }
+};
+
static struct platform_device moca_wan_plat_dev = {
.name = "bmoca",
.id = 1,
- .num_resources = 0,
- .resource = NULL,
+ .num_resources = ARRAY_SIZE(moca_wan_resources),
+ .resource = moca_wan_resources,
.dev = {
.platform_data = &moca_wan_data,
.release = bogus_release,
diff --git a/bmoca.h b/bmoca.h
index 3014df6..0c238f5 100644
--- a/bmoca.h
+++ b/bmoca.h
@@ -160,8 +160,6 @@
phys_addr_t bcm3450_i2c_base;
int bcm3450_i2c_addr;
- u32 spi_base;
-
u32 hw_rev; /* this is the chip_id */
u32 rf_band;