On 06/06/2011 01:22 AM, Julian Calaby wrote: > Hauke, > > Minor nit: > > On Mon, Jun 6, 2011 at 08:07, Hauke Mehrtens <hauke@xxxxxxxxxx> wrote: >> This patch adds support for using bcma on an embedded bus. An embedded >> system like the bcm4716 could register this bus and it searches for the >> bcma cores then. >> >> Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> >> --- >> diff --git a/drivers/bcma/scan.c b/drivers/bcma/scan.c >> index 70b39f7..9229615 100644 >> --- a/drivers/bcma/scan.c >> +++ b/drivers/bcma/scan.c >> @@ -219,9 +219,34 @@ int bcma_bus_scan(struct bcma_bus *bus) >> bus->chipinfo.id = (tmp & BCMA_CC_ID_ID) >> BCMA_CC_ID_ID_SHIFT; >> bus->chipinfo.rev = (tmp & BCMA_CC_ID_REV) >> BCMA_CC_ID_REV_SHIFT; >> bus->chipinfo.pkg = (tmp & BCMA_CC_ID_PKG) >> BCMA_CC_ID_PKG_SHIFT; >> + bus->nr_cores = (tmp & BCMA_CC_ID_NRCORES) >> BCMA_CC_ID_NRCORES_SHIFT; >> + >> + /* If we are an embedded device we now know the number of avaliable >> + * core and ioremap the correct space. >> + */ >> + if (bus->hosttype == BCMA_HOSTTYPE_EMBEDDED) { >> + iounmap(bus->mmio); >> + mmio = ioremap(BCMA_ADDR_BASE, BCMA_CORE_SIZE * bus->nr_cores); >> + if (!mmio) >> + return -ENOMEM; >> + bus->mmio = mmio; >> + >> + mmio = ioremap(BCMA_WRAP_BASE, BCMA_CORE_SIZE * bus->nr_cores); >> + if (!mmio) >> + return -ENOMEM; >> + bus->host_embedded = mmio; >> + } >> + /* reset it to 0 as we use it for counting */ >> + bus->nr_cores = 0; > > Would it make sense to use a local variable for nr_cores, and only use > it within the BCMA_HOSTTYPE_EMBEDDED if statement, rather than > re-using bus->nr_cores and having to reset it? Yes that looks better. Hauke