Re: The new SSB subsystem for bcm43xx (and others)
From: Michael Buesch <hidden>
Date: 2007-02-10 22:15:21
On Saturday 10 February 2007 23:11, Matthew Garrett wrote:
On Sat, Feb 10, 2007 at 10:03:57PM +0100, Michael Buesch wrote:quoted
On Saturday 10 February 2007 21:46, Matthew Garrett wrote:quoted
I'm testing with your bcm43xx git tree, which I'm guessing is the current ssb code. The only problem I've found is that there doesn't seem to be any sysfs relationship between the ssb bus and (in this case) the PCI device that it's associated with. Is this fixable? Right now it appears as an entirely separate branch of the device tree, which doesn't seem quite right.I guess that's fixable, but I didn't care too much, yet.Ok, here's a patch. The stack of PCMCIA headers are needed to get the pcmcia_device structure. Seems to work fine for PCI - I don't have any PCMCIA devices. The SSB devices now appear underneath the PCI device rather than in the top level of /sys/devices. Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org>
Ok, nice. Thanks for figuring this out. I'll apply this too my tree.
quoted hunk ↗ jump to hunk
---diff --git a/drivers/ssb/scan.c b/drivers/ssb/scan.c index 64f94b8..b16cee9 100644 --- a/drivers/ssb/scan.c +++ b/drivers/ssb/scan.c@@ -15,6 +15,11 @@ #include <linux/ssb/ssb.h> #include <linux/ssb/ssb_regs.h> #include <linux/pci.h> +#include <pcmcia/cs_types.h> +#include <pcmcia/cs.h> +#include <pcmcia/cistpl.h> +#include <pcmcia/ciscode.h> +#include <pcmcia/ds.h> #include <asm/io.h> #include "ssb_private.h"@@ -306,8 +311,12 @@ int ssb_bus_scan(struct ssb_bus *bus, dev->id.vendor = (idhi & SSB_IDHIGH_VC) >> SSB_IDHIGH_VC_SHIFT; dev->core_index = i; dev->bus = bus; - if ((dev->bus->bustype == SSB_BUSTYPE_PCI) && (bus->host_pci)) + if ((dev->bus->bustype == SSB_BUSTYPE_PCI) && (bus->host_pci)) { dev->irq = bus->host_pci->irq; + dev->dev.parent = &bus->host_pci->dev; + } else if (dev->bus->bustype == SSB_BUSTYPE_PCMCIA) { + dev->dev.parent = &bus->host_pcmcia->dev; + } ssb_dprintk(KERN_INFO PFX "Core %d found: %s "
-- Greetings Michael.