Commit 3741715c authored by Jan Kiszka's avatar Jan Kiszka Committed by Gerd Hoffmann
Browse files

usb: Resolve warnings about unassigned bus on usb device creation



When creating an USB device the old way, there is no way to specify the
target bus. Thus the warning issued by usb_create makes no sense and
rather confuses our users.

Resolve this by passing a bus reference to the usbdevice_init handler
and letting those handlers forward it to usb_create.

Signed-off-by: default avatarJan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
parent e6472210
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -498,14 +498,14 @@ static int usb_bt_initfn(USBDevice *dev)
    return 0;
}

USBDevice *usb_bt_init(HCIInfo *hci)
USBDevice *usb_bt_init(USBBus *bus, HCIInfo *hci)
{
    USBDevice *dev;
    struct USBBtState *s;

    if (!hci)
        return NULL;
    dev = usb_create_simple(NULL /* FIXME */, "usb-bt-dongle");
    dev = usb_create_simple(bus, "usb-bt-dongle");
    if (!dev) {
        return NULL;
    }
+4 −14
Original line number Diff line number Diff line
@@ -203,13 +203,14 @@ typedef struct LegacyUSBFactory
{
    const char *name;
    const char *usbdevice_name;
    USBDevice *(*usbdevice_init)(const char *params);
    USBDevice *(*usbdevice_init)(USBBus *bus, const char *params);
} LegacyUSBFactory;

static GSList *legacy_usb_factory;

void usb_legacy_register(const char *typename, const char *usbdevice_name,
                         USBDevice *(*usbdevice_init)(const char *params))
                         USBDevice *(*usbdevice_init)(USBBus *bus,
                                                      const char *params))
{
    if (usbdevice_name) {
        LegacyUSBFactory *f = g_malloc0(sizeof(*f));
@@ -224,17 +225,6 @@ USBDevice *usb_create(USBBus *bus, const char *name)
{
    DeviceState *dev;

#if 1
    /* temporary stopgap until all usb is properly qdev-ified */
    if (!bus) {
        bus = usb_bus_find(-1);
        if (!bus)
            return NULL;
        error_report("%s: no bus specified, using \"%s\" for \"%s\"",
                __FUNCTION__, bus->qbus.name, name);
    }
#endif

    dev = qdev_create(&bus->qbus, name);
    return USB_DEVICE(dev);
}
@@ -565,7 +555,7 @@ USBDevice *usbdevice_create(const char *cmdline)
        }
        return usb_create_simple(bus, f->name);
    }
    return f->usbdevice_init(params);
    return f->usbdevice_init(bus, params);
}

static void usb_device_class_init(ObjectClass *klass, void *data)
+2 −2
Original line number Diff line number Diff line
@@ -568,7 +568,7 @@ static int usb_msd_initfn(USBDevice *dev)
    return 0;
}

static USBDevice *usb_msd_init(const char *filename)
static USBDevice *usb_msd_init(USBBus *bus, const char *filename)
{
    static int nr=0;
    char id[8];
@@ -611,7 +611,7 @@ static USBDevice *usb_msd_init(const char *filename)
    }

    /* create guest device */
    dev = usb_create(NULL /* FIXME */, "usb-storage");
    dev = usb_create(bus, "usb-storage");
    if (!dev) {
        return NULL;
    }
+2 −2
Original line number Diff line number Diff line
@@ -1353,7 +1353,7 @@ static int usb_net_initfn(USBDevice *dev)
    return 0;
}

static USBDevice *usb_net_init(const char *cmdline)
static USBDevice *usb_net_init(USBBus *bus, const char *cmdline)
{
    USBDevice *dev;
    QemuOpts *opts;
@@ -1371,7 +1371,7 @@ static USBDevice *usb_net_init(const char *cmdline)
        return NULL;
    }

    dev = usb_create(NULL /* FIXME */, "usb-net");
    dev = usb_create(bus, "usb-net");
    if (!dev) {
        return NULL;
    }
+4 −4
Original line number Diff line number Diff line
@@ -492,7 +492,7 @@ static int usb_serial_initfn(USBDevice *dev)
    return 0;
}

static USBDevice *usb_serial_init(const char *filename)
static USBDevice *usb_serial_init(USBBus *bus, const char *filename)
{
    USBDevice *dev;
    CharDriverState *cdrv;
@@ -535,7 +535,7 @@ static USBDevice *usb_serial_init(const char *filename)
    if (!cdrv)
        return NULL;

    dev = usb_create(NULL /* FIXME */, "usb-serial");
    dev = usb_create(bus, "usb-serial");
    if (!dev) {
        return NULL;
    }
@@ -549,7 +549,7 @@ static USBDevice *usb_serial_init(const char *filename)
    return dev;
}

static USBDevice *usb_braille_init(const char *unused)
static USBDevice *usb_braille_init(USBBus *bus, const char *unused)
{
    USBDevice *dev;
    CharDriverState *cdrv;
@@ -558,7 +558,7 @@ static USBDevice *usb_braille_init(const char *unused)
    if (!cdrv)
        return NULL;

    dev = usb_create(NULL /* FIXME */, "usb-braille");
    dev = usb_create(bus, "usb-braille");
    qdev_prop_set_chr(&dev->qdev, "chardev", cdrv);
    qdev_init_nofail(&dev->qdev);

Loading