Skip to content

Commit

Permalink
bcma: add bus num counter
Browse files Browse the repository at this point in the history
If we have two bcma buses on one computer the second will not work
without this patch. Now each bus gets an own number.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Hauke Mehrtens authored and John W. Linville committed Feb 6, 2012
1 parent 49dc957 commit 8f9ada4
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
12 changes: 11 additions & 1 deletion drivers/bcma/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,12 @@
MODULE_DESCRIPTION("Broadcom's specific AMBA driver");
MODULE_LICENSE("GPL");

/* contains the number the next bus should get. */
static unsigned int bcma_bus_next_num = 0;

/* bcma_buses_mutex locks the bcma_bus_next_num */
static DEFINE_MUTEX(bcma_buses_mutex);

static int bcma_bus_match(struct device *dev, struct device_driver *drv);
static int bcma_device_probe(struct device *dev);
static int bcma_device_remove(struct device *dev);
Expand Down Expand Up @@ -93,7 +99,7 @@ static int bcma_register_cores(struct bcma_bus *bus)

core->dev.release = bcma_release_core_dev;
core->dev.bus = &bcma_bus_type;
dev_set_name(&core->dev, "bcma%d:%d", 0/*bus->num*/, dev_id);
dev_set_name(&core->dev, "bcma%d:%d", bus->num, dev_id);

switch (bus->hosttype) {
case BCMA_HOSTTYPE_PCI:
Expand Down Expand Up @@ -137,6 +143,10 @@ int __devinit bcma_bus_register(struct bcma_bus *bus)
int err;
struct bcma_device *core;

mutex_lock(&bcma_buses_mutex);
bus->num = bcma_bus_next_num++;
mutex_unlock(&bcma_buses_mutex);

/* Scan for devices (cores) */
err = bcma_bus_scan(bus);
if (err) {
Expand Down
1 change: 1 addition & 0 deletions include/linux/bcma/bcma.h
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,7 @@ struct bcma_bus {
struct list_head cores;
u8 nr_cores;
u8 init_done:1;
u8 num;

struct bcma_drv_cc drv_cc;
struct bcma_drv_pci drv_pci;
Expand Down

0 comments on commit 8f9ada4

Please sign in to comment.