Lines Matching refs:mdrv
395 unsigned int offset, struct mic_driver *mdrv) in mic_add_device() argument
404 dev_err(mdrv->dev, "Cannot allocate mic dev %u type %u\n", in mic_add_device()
409 mvdev->mdev = &mdrv->mdev; in mic_add_device()
410 mvdev->vdev.dev.parent = mdrv->dev; in mic_add_device()
460 unsigned int offset, struct mic_driver *mdrv) in mic_handle_config_change() argument
469 dev_dbg(mdrv->dev, "%s %d\n", __func__, __LINE__); in mic_handle_config_change()
479 unsigned int offset, struct mic_driver *mdrv) in mic_remove_device() argument
488 dev_dbg(mdrv->dev, in mic_remove_device()
501 dev_dbg(mdrv->dev, "%s %d guest_ack %d\n", in mic_remove_device()
511 static void mic_scan_devices(struct mic_driver *mdrv, bool remove) in mic_scan_devices() argument
522 d = mdrv->dp + i; in mic_scan_devices()
540 dev = device_find_child(mdrv->dev, (void __force *)d, in mic_scan_devices()
547 mic_handle_config_change(d, i, mdrv); in mic_scan_devices()
548 ret = mic_remove_device(d, i, mdrv); in mic_scan_devices()
559 dev_dbg(mdrv->dev, "%s %d Adding new virtio device %p\n", in mic_scan_devices()
562 mic_add_device(d, i, mdrv); in mic_scan_devices()
571 struct mic_driver *mdrv = container_of(work, in mic_hotplug_devices() local
574 mic_scan_devices(mdrv, !REMOVE_DEVICES); in mic_hotplug_devices()
583 struct mic_driver *mdrv = (struct mic_driver *)data; in mic_extint_handler() local
585 dev_dbg(mdrv->dev, "%s %d hotplug work\n", in mic_extint_handler()
587 mic_ack_interrupt(&mdrv->mdev); in mic_extint_handler()
588 schedule_work(&mdrv->hotplug_work); in mic_extint_handler()
595 int mic_devices_init(struct mic_driver *mdrv) in mic_devices_init() argument
601 INIT_WORK(&mdrv->hotplug_work, mic_hotplug_devices); in mic_devices_init()
602 mic_scan_devices(mdrv, !REMOVE_DEVICES); in mic_devices_init()
606 "virtio_config_intr", mdrv, in mic_devices_init()
613 bootparam = mdrv->dp; in mic_devices_init()
623 void mic_devices_uninit(struct mic_driver *mdrv) in mic_devices_uninit() argument
625 struct mic_bootparam __iomem *bootparam = mdrv->dp; in mic_devices_uninit()
627 mic_free_card_irq(virtio_config_cookie, mdrv); in mic_devices_uninit()
628 flush_work(&mdrv->hotplug_work); in mic_devices_uninit()
629 mic_scan_devices(mdrv, REMOVE_DEVICES); in mic_devices_uninit()