static int ssb_ohci_probe(struct ssb_device *dev, const struct ssb_device_id *id) { int err; u16 chipid_top; /* USBcores are only connected on embedded devices. */ chipid_top = (dev->bus->chip_id & 0xFF00); if (chipid_top != 0x4700 && chipid_top != 0x5300) return -ENODEV; /* TODO: Probably need checks here; is the core connected? */ if (usb_disabled()) return -ENODEV; /* We currently always attach SSB_DEV_USB11_HOSTDEV * as HOST OHCI. If we want to attach it as Client device, * we must branch here and call into the (yet to * be written) Client mode driver. Same for remove(). */ err = ssb_ohci_attach(dev); return err; }
static int ssb_ohci_probe(struct ssb_device *dev, const struct ssb_device_id *id) { int err; u16 chipid_top; chipid_top = (dev->bus->chip_id & 0xFF00); if (chipid_top != 0x4700 && chipid_top != 0x5300) return -ENODEV; if (usb_disabled()) return -ENODEV; err = ssb_ohci_attach(dev); return err; }