Lines Matching refs:dev
1245 struct kvm_device *dev, *tmp; in kvm_destroy_devices() local
1258 list_for_each_entry_safe(dev, tmp, &kvm->devices, vm_node) { in kvm_destroy_devices()
1259 list_del(&dev->vm_node); in kvm_destroy_devices()
1260 dev->ops->destroy(dev); in kvm_destroy_devices()
4691 struct kvm_device *dev = filp->private_data; in kvm_device_mmap() local
4693 if (dev->ops->mmap) in kvm_device_mmap()
4694 return dev->ops->mmap(dev, vma); in kvm_device_mmap()
4699 static int kvm_device_ioctl_attr(struct kvm_device *dev, in kvm_device_ioctl_attr() argument
4700 int (*accessor)(struct kvm_device *dev, in kvm_device_ioctl_attr() argument
4712 return accessor(dev, &attr); in kvm_device_ioctl_attr()
4718 struct kvm_device *dev = filp->private_data; in kvm_device_ioctl() local
4720 if (dev->kvm->mm != current->mm || dev->kvm->vm_dead) in kvm_device_ioctl()
4725 return kvm_device_ioctl_attr(dev, dev->ops->set_attr, arg); in kvm_device_ioctl()
4727 return kvm_device_ioctl_attr(dev, dev->ops->get_attr, arg); in kvm_device_ioctl()
4729 return kvm_device_ioctl_attr(dev, dev->ops->has_attr, arg); in kvm_device_ioctl()
4731 if (dev->ops->ioctl) in kvm_device_ioctl()
4732 return dev->ops->ioctl(dev, ioctl, arg); in kvm_device_ioctl()
4740 struct kvm_device *dev = filp->private_data; in kvm_device_release() local
4741 struct kvm *kvm = dev->kvm; in kvm_device_release()
4743 if (dev->ops->release) { in kvm_device_release()
4745 list_del_rcu(&dev->vm_node); in kvm_device_release()
4747 dev->ops->release(dev); in kvm_device_release()
4799 struct kvm_device *dev; in kvm_ioctl_create_device() local
4815 dev = kzalloc(sizeof(*dev), GFP_KERNEL_ACCOUNT); in kvm_ioctl_create_device()
4816 if (!dev) in kvm_ioctl_create_device()
4819 dev->ops = ops; in kvm_ioctl_create_device()
4820 dev->kvm = kvm; in kvm_ioctl_create_device()
4823 ret = ops->create(dev, type); in kvm_ioctl_create_device()
4826 kfree(dev); in kvm_ioctl_create_device()
4829 list_add_rcu(&dev->vm_node, &kvm->devices); in kvm_ioctl_create_device()
4833 ops->init(dev); in kvm_ioctl_create_device()
4836 ret = anon_inode_getfd(ops->name, &kvm_device_fops, dev, O_RDWR | O_CLOEXEC); in kvm_ioctl_create_device()
4840 list_del_rcu(&dev->vm_node); in kvm_ioctl_create_device()
4843 ops->release(dev); in kvm_ioctl_create_device()
4846 ops->destroy(dev); in kvm_ioctl_create_device()
5754 static void kvm_iodevice_destructor(struct kvm_io_device *dev) in kvm_iodevice_destructor() argument
5756 if (dev->ops->destructor) in kvm_iodevice_destructor()
5757 dev->ops->destructor(dev); in kvm_iodevice_destructor()
5765 struct kvm_io_device *pos = bus->range[i].dev; in kvm_io_bus_destroy()
5837 if (!kvm_iodevice_write(vcpu, bus->range[idx].dev, range->addr, in __kvm_io_bus_write()
5884 if (!kvm_iodevice_write(vcpu, bus->range[cookie].dev, addr, len, in kvm_io_bus_write_cookie()
5906 if (!kvm_iodevice_read(vcpu, bus->range[idx].dev, range->addr, in __kvm_io_bus_read()
5936 int len, struct kvm_io_device *dev) in kvm_io_bus_register_dev() argument
5960 .dev = dev, in kvm_io_bus_register_dev()
5980 struct kvm_io_device *dev) in kvm_io_bus_unregister_dev() argument
5992 if (bus->range[i].dev == dev) { in kvm_io_bus_unregister_dev()
6022 kvm_iodevice_destructor(dev); in kvm_io_bus_unregister_dev()
6044 iodev = bus->range[dev_idx].dev; in kvm_io_bus_get_dev()