static ssize_t show_index(struct device *cd,
struct device_attribute *attr, char *buf)
{
- struct video_device *vfd = container_of(cd, struct video_device,
- class_dev);
+ struct video_device *vfd = container_of(cd, struct video_device, dev);
return sprintf(buf, "%i\n", vfd->index);
}
static ssize_t show_name(struct device *cd,
struct device_attribute *attr, char *buf)
{
- struct video_device *vfd = container_of(cd, struct video_device,
- class_dev);
+ struct video_device *vfd = container_of(cd, struct video_device, dev);
return sprintf(buf, "%.*s\n", (int)sizeof(vfd->name), vfd->name);
}
static void video_release(struct device *cd)
{
- struct video_device *vfd = container_of(cd, struct video_device,
- class_dev);
+ struct video_device *vfd = container_of(cd, struct video_device, dev);
#if 1
/* needed until all drivers are fixed */
for (i = 0; i < VIDEO_NUM_DEVICES; i++) {
if (video_device[i] != NULL &&
video_device[i] != vdev &&
- video_device[i]->dev == vdev->dev) {
+ video_device[i]->parent == vdev->parent) {
used |= 1 << video_device[i]->index;
}
}
}
}
video_device[i] = vfd;
+ vfd->vfl_type = type;
vfd->minor = i;
ret = get_index(vfd, index);
mutex_init(&vfd->lock);
/* sysfs class */
- memset(&vfd->class_dev, 0x00, sizeof(vfd->class_dev));
- vfd->class_dev.class = &video_class;
- vfd->class_dev.devt = MKDEV(VIDEO_MAJOR, vfd->minor);
- if (vfd->dev)
- vfd->class_dev.parent = vfd->dev;
- sprintf(vfd->class_dev.bus_id, "%s%d", name_base, i - base);
- ret = device_register(&vfd->class_dev);
+ memset(&vfd->dev, 0x00, sizeof(vfd->dev));
+ vfd->dev.class = &video_class;
+ vfd->dev.devt = MKDEV(VIDEO_MAJOR, vfd->minor);
+ if (vfd->parent)
+ vfd->dev.parent = vfd->parent;
+ sprintf(vfd->dev.bus_id, "%s%d", name_base, i - base);
+ ret = device_register(&vfd->dev);
if (ret < 0) {
printk(KERN_ERR "%s: device_register failed\n", __func__);
goto fail_minor;
panic("videodev: bad unregister");
video_device[vfd->minor] = NULL;
- device_unregister(&vfd->class_dev);
+ device_unregister(&vfd->dev);
mutex_unlock(&videodev_lock);
}
EXPORT_SYMBOL(video_unregister_device);