diff options
Diffstat (limited to 'drivers/ssb/scan.c')
| -rw-r--r-- | drivers/ssb/scan.c | 8 | 
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/ssb/scan.c b/drivers/ssb/scan.c index b74212d698c..0d6c0280eb3 100644 --- a/drivers/ssb/scan.c +++ b/drivers/ssb/scan.c @@ -162,6 +162,8 @@ static u8 chipid_to_nrcores(u16 chipid)  static u32 scan_read32(struct ssb_bus *bus, u8 current_coreidx,  		       u16 offset)  { +	u32 lo, hi; +  	switch (bus->bustype) {  	case SSB_BUSTYPE_SSB:  		offset += current_coreidx * SSB_CORE_SIZE; @@ -174,7 +176,9 @@ static u32 scan_read32(struct ssb_bus *bus, u8 current_coreidx,  			offset -= 0x800;  		} else  			ssb_pcmcia_switch_segment(bus, 0); -		break; +		lo = readw(bus->mmio + offset); +		hi = readw(bus->mmio + offset + 2); +		return lo | (hi << 16);  	case SSB_BUSTYPE_SDIO:  		offset += current_coreidx * SSB_CORE_SIZE;  		return ssb_sdio_scan_read32(bus, offset); @@ -350,7 +354,7 @@ int ssb_bus_scan(struct ssb_bus *bus,  		dev->bus = bus;  		dev->ops = bus->ops; -		ssb_dprintk(KERN_INFO PFX +		printk(KERN_DEBUG PFX  			    "Core %d found: %s "  			    "(cc 0x%03X, rev 0x%02X, vendor 0x%04X)\n",  			    i, ssb_core_name(dev->id.coreid),  |