提交 22a04f10 编写于 作者: H Hans Verkuil 提交者: Mauro Carvalho Chehab

V4L/DVB (8429): videodev: renamed 'class_dev' to 'dev'

The class_dev field is a normal device, not a class device. This is very
confusing and now that the old 'dev' field has been renamed to 'parent'
we can rename 'class_dev' to just 'dev'.
Signed-off-by: NHans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
上级 5e85e732
......@@ -163,7 +163,7 @@ MODULE_LICENSE("GPL");
static ssize_t show_card(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);
struct bttv *btv = dev_get_drvdata(vfd->parent);
return sprintf(buf, "%d\n", btv ? btv->c.type : UNSET);
}
......@@ -4244,7 +4244,7 @@ static int __devinit bttv_register_video(struct bttv *btv)
goto err;
printk(KERN_INFO "bttv%d: registered device video%d\n",
btv->c.nr,btv->video_dev->minor & 0x1f);
if (device_create_file(&btv->video_dev->class_dev,
if (device_create_file(&btv->video_dev->dev,
&dev_attr_card)<0) {
printk(KERN_ERR "bttv%d: device_create_file 'card' "
"failed\n", btv->c.nr);
......
......@@ -985,7 +985,7 @@ static DEVICE_ATTR(i2c_val, S_IRUGO | S_IWUSR,
static int et61x251_create_sysfs(struct et61x251_device* cam)
{
struct device *classdev = &(cam->v4ldev->class_dev);
struct device *classdev = &(cam->v4ldev->dev);
int err = 0;
if ((err = device_create_file(classdev, &dev_attr_reg)))
......
......@@ -1038,8 +1038,7 @@ static ssize_t sn9c102_show_reg(struct device* cd,
if (mutex_lock_interruptible(&sn9c102_sysfs_lock))
return -ERESTARTSYS;
cam = video_get_drvdata(container_of(cd, struct video_device,
class_dev));
cam = video_get_drvdata(container_of(cd, struct video_device, dev));
if (!cam) {
mutex_unlock(&sn9c102_sysfs_lock);
return -ENODEV;
......@@ -1064,8 +1063,7 @@ sn9c102_store_reg(struct device* cd, struct device_attribute *attr,
if (mutex_lock_interruptible(&sn9c102_sysfs_lock))
return -ERESTARTSYS;
cam = video_get_drvdata(container_of(cd, struct video_device,
class_dev));
cam = video_get_drvdata(container_of(cd, struct video_device, dev));
if (!cam) {
mutex_unlock(&sn9c102_sysfs_lock);
return -ENODEV;
......@@ -1098,8 +1096,7 @@ static ssize_t sn9c102_show_val(struct device* cd,
if (mutex_lock_interruptible(&sn9c102_sysfs_lock))
return -ERESTARTSYS;
cam = video_get_drvdata(container_of(cd, struct video_device,
class_dev));
cam = video_get_drvdata(container_of(cd, struct video_device, dev));
if (!cam) {
mutex_unlock(&sn9c102_sysfs_lock);
return -ENODEV;
......@@ -1132,8 +1129,7 @@ sn9c102_store_val(struct device* cd, struct device_attribute *attr,
if (mutex_lock_interruptible(&sn9c102_sysfs_lock))
return -ERESTARTSYS;
cam = video_get_drvdata(container_of(cd, struct video_device,
class_dev));
cam = video_get_drvdata(container_of(cd, struct video_device, dev));
if (!cam) {
mutex_unlock(&sn9c102_sysfs_lock);
return -ENODEV;
......@@ -1170,8 +1166,7 @@ static ssize_t sn9c102_show_i2c_reg(struct device* cd,
if (mutex_lock_interruptible(&sn9c102_sysfs_lock))
return -ERESTARTSYS;
cam = video_get_drvdata(container_of(cd, struct video_device,
class_dev));
cam = video_get_drvdata(container_of(cd, struct video_device, dev));
if (!cam) {
mutex_unlock(&sn9c102_sysfs_lock);
return -ENODEV;
......@@ -1198,8 +1193,7 @@ sn9c102_store_i2c_reg(struct device* cd, struct device_attribute *attr,
if (mutex_lock_interruptible(&sn9c102_sysfs_lock))
return -ERESTARTSYS;
cam = video_get_drvdata(container_of(cd, struct video_device,
class_dev));
cam = video_get_drvdata(container_of(cd, struct video_device, dev));
if (!cam) {
mutex_unlock(&sn9c102_sysfs_lock);
return -ENODEV;
......@@ -1232,8 +1226,7 @@ static ssize_t sn9c102_show_i2c_val(struct device* cd,
if (mutex_lock_interruptible(&sn9c102_sysfs_lock))
return -ERESTARTSYS;
cam = video_get_drvdata(container_of(cd, struct video_device,
class_dev));
cam = video_get_drvdata(container_of(cd, struct video_device, dev));
if (!cam) {
mutex_unlock(&sn9c102_sysfs_lock);
return -ENODEV;
......@@ -1271,8 +1264,7 @@ sn9c102_store_i2c_val(struct device* cd, struct device_attribute *attr,
if (mutex_lock_interruptible(&sn9c102_sysfs_lock))
return -ERESTARTSYS;
cam = video_get_drvdata(container_of(cd, struct video_device,
class_dev));
cam = video_get_drvdata(container_of(cd, struct video_device, dev));
if (!cam) {
mutex_unlock(&sn9c102_sysfs_lock);
return -ENODEV;
......@@ -1318,8 +1310,7 @@ sn9c102_store_green(struct device* cd, struct device_attribute *attr,
if (mutex_lock_interruptible(&sn9c102_sysfs_lock))
return -ERESTARTSYS;
cam = video_get_drvdata(container_of(cd, struct video_device,
class_dev));
cam = video_get_drvdata(container_of(cd, struct video_device, dev));
if (!cam) {
mutex_unlock(&sn9c102_sysfs_lock);
return -ENODEV;
......@@ -1400,8 +1391,7 @@ static ssize_t sn9c102_show_frame_header(struct device* cd,
struct sn9c102_device* cam;
ssize_t count;
cam = video_get_drvdata(container_of(cd, struct video_device,
class_dev));
cam = video_get_drvdata(container_of(cd, struct video_device, dev));
if (!cam)
return -ENODEV;
......@@ -1428,49 +1418,49 @@ static DEVICE_ATTR(frame_header, S_IRUGO, sn9c102_show_frame_header, NULL);
static int sn9c102_create_sysfs(struct sn9c102_device* cam)
{
struct device *classdev = &(cam->v4ldev->class_dev);
struct device *dev = &(cam->v4ldev->dev);
int err = 0;
if ((err = device_create_file(classdev, &dev_attr_reg)))
if ((err = device_create_file(dev, &dev_attr_reg)))
goto err_out;
if ((err = device_create_file(classdev, &dev_attr_val)))
if ((err = device_create_file(dev, &dev_attr_val)))
goto err_reg;
if ((err = device_create_file(classdev, &dev_attr_frame_header)))
if ((err = device_create_file(dev, &dev_attr_frame_header)))
goto err_val;
if (cam->sensor.sysfs_ops) {
if ((err = device_create_file(classdev, &dev_attr_i2c_reg)))
if ((err = device_create_file(dev, &dev_attr_i2c_reg)))
goto err_frame_header;
if ((err = device_create_file(classdev, &dev_attr_i2c_val)))
if ((err = device_create_file(dev, &dev_attr_i2c_val)))
goto err_i2c_reg;
}
if (cam->bridge == BRIDGE_SN9C101 || cam->bridge == BRIDGE_SN9C102) {
if ((err = device_create_file(classdev, &dev_attr_green)))
if ((err = device_create_file(dev, &dev_attr_green)))
goto err_i2c_val;
} else {
if ((err = device_create_file(classdev, &dev_attr_blue)))
if ((err = device_create_file(dev, &dev_attr_blue)))
goto err_i2c_val;
if ((err = device_create_file(classdev, &dev_attr_red)))
if ((err = device_create_file(dev, &dev_attr_red)))
goto err_blue;
}
return 0;
err_blue:
device_remove_file(classdev, &dev_attr_blue);
device_remove_file(dev, &dev_attr_blue);
err_i2c_val:
if (cam->sensor.sysfs_ops)
device_remove_file(classdev, &dev_attr_i2c_val);
device_remove_file(dev, &dev_attr_i2c_val);
err_i2c_reg:
if (cam->sensor.sysfs_ops)
device_remove_file(classdev, &dev_attr_i2c_reg);
device_remove_file(dev, &dev_attr_i2c_reg);
err_frame_header:
device_remove_file(classdev, &dev_attr_frame_header);
device_remove_file(dev, &dev_attr_frame_header);
err_val:
device_remove_file(classdev, &dev_attr_val);
device_remove_file(dev, &dev_attr_val);
err_reg:
device_remove_file(classdev, &dev_attr_reg);
device_remove_file(dev, &dev_attr_reg);
err_out:
return err;
}
......
......@@ -184,7 +184,7 @@ MODULE_ALIAS(DRIVER_ALIAS);
static inline struct usb_usbvision *cd_to_usbvision(struct device *cd)
{
struct video_device *vdev =
container_of(cd, struct video_device, class_dev);
container_of(cd, struct video_device, dev);
return video_get_drvdata(vdev);
}
......@@ -199,7 +199,7 @@ static ssize_t show_model(struct device *cd,
struct device_attribute *attr, char *buf)
{
struct video_device *vdev =
container_of(cd, struct video_device, class_dev);
container_of(cd, struct video_device, dev);
struct usb_usbvision *usbvision = video_get_drvdata(vdev);
return sprintf(buf, "%s\n",
usbvision_device_data[usbvision->DevModel].ModelString);
......@@ -210,7 +210,7 @@ static ssize_t show_hue(struct device *cd,
struct device_attribute *attr, char *buf)
{
struct video_device *vdev =
container_of(cd, struct video_device, class_dev);
container_of(cd, struct video_device, dev);
struct usb_usbvision *usbvision = video_get_drvdata(vdev);
struct v4l2_control ctrl;
ctrl.id = V4L2_CID_HUE;
......@@ -225,7 +225,7 @@ static ssize_t show_contrast(struct device *cd,
struct device_attribute *attr, char *buf)
{
struct video_device *vdev =
container_of(cd, struct video_device, class_dev);
container_of(cd, struct video_device, dev);
struct usb_usbvision *usbvision = video_get_drvdata(vdev);
struct v4l2_control ctrl;
ctrl.id = V4L2_CID_CONTRAST;
......@@ -240,7 +240,7 @@ static ssize_t show_brightness(struct device *cd,
struct device_attribute *attr, char *buf)
{
struct video_device *vdev =
container_of(cd, struct video_device, class_dev);
container_of(cd, struct video_device, dev);
struct usb_usbvision *usbvision = video_get_drvdata(vdev);
struct v4l2_control ctrl;
ctrl.id = V4L2_CID_BRIGHTNESS;
......@@ -255,7 +255,7 @@ static ssize_t show_saturation(struct device *cd,
struct device_attribute *attr, char *buf)
{
struct video_device *vdev =
container_of(cd, struct video_device, class_dev);
container_of(cd, struct video_device, dev);
struct usb_usbvision *usbvision = video_get_drvdata(vdev);
struct v4l2_control ctrl;
ctrl.id = V4L2_CID_SATURATION;
......@@ -270,7 +270,7 @@ static ssize_t show_streaming(struct device *cd,
struct device_attribute *attr, char *buf)
{
struct video_device *vdev =
container_of(cd, struct video_device, class_dev);
container_of(cd, struct video_device, dev);
struct usb_usbvision *usbvision = video_get_drvdata(vdev);
return sprintf(buf, "%s\n",
YES_NO(usbvision->streaming==Stream_On?1:0));
......@@ -281,7 +281,7 @@ static ssize_t show_compression(struct device *cd,
struct device_attribute *attr, char *buf)
{
struct video_device *vdev =
container_of(cd, struct video_device, class_dev);
container_of(cd, struct video_device, dev);
struct usb_usbvision *usbvision = video_get_drvdata(vdev);
return sprintf(buf, "%s\n",
YES_NO(usbvision->isocMode==ISOC_MODE_COMPRESS));
......@@ -292,7 +292,7 @@ static ssize_t show_device_bridge(struct device *cd,
struct device_attribute *attr, char *buf)
{
struct video_device *vdev =
container_of(cd, struct video_device, class_dev);
container_of(cd, struct video_device, dev);
struct usb_usbvision *usbvision = video_get_drvdata(vdev);
return sprintf(buf, "%d\n", usbvision->bridgeType);
}
......@@ -304,40 +304,31 @@ static void usbvision_create_sysfs(struct video_device *vdev)
if (!vdev)
return;
do {
res = device_create_file(&vdev->class_dev,
&dev_attr_version);
res = device_create_file(&vdev->dev, &dev_attr_version);
if (res<0)
break;
res = device_create_file(&vdev->class_dev,
&dev_attr_model);
res = device_create_file(&vdev->dev, &dev_attr_model);
if (res<0)
break;
res = device_create_file(&vdev->class_dev,
&dev_attr_hue);
res = device_create_file(&vdev->dev, &dev_attr_hue);
if (res<0)
break;
res = device_create_file(&vdev->class_dev,
&dev_attr_contrast);
res = device_create_file(&vdev->dev, &dev_attr_contrast);
if (res<0)
break;
res = device_create_file(&vdev->class_dev,
&dev_attr_brightness);
res = device_create_file(&vdev->dev, &dev_attr_brightness);
if (res<0)
break;
res = device_create_file(&vdev->class_dev,
&dev_attr_saturation);
res = device_create_file(&vdev->dev, &dev_attr_saturation);
if (res<0)
break;
res = device_create_file(&vdev->class_dev,
&dev_attr_streaming);
res = device_create_file(&vdev->dev, &dev_attr_streaming);
if (res<0)
break;
res = device_create_file(&vdev->class_dev,
&dev_attr_compression);
res = device_create_file(&vdev->dev, &dev_attr_compression);
if (res<0)
break;
res = device_create_file(&vdev->class_dev,
&dev_attr_bridge);
res = device_create_file(&vdev->dev, &dev_attr_bridge);
if (res>=0)
return;
} while (0);
......@@ -348,24 +339,15 @@ static void usbvision_create_sysfs(struct video_device *vdev)
static void usbvision_remove_sysfs(struct video_device *vdev)
{
if (vdev) {
device_remove_file(&vdev->class_dev,
&dev_attr_version);
device_remove_file(&vdev->class_dev,
&dev_attr_model);
device_remove_file(&vdev->class_dev,
&dev_attr_hue);
device_remove_file(&vdev->class_dev,
&dev_attr_contrast);
device_remove_file(&vdev->class_dev,
&dev_attr_brightness);
device_remove_file(&vdev->class_dev,
&dev_attr_saturation);
device_remove_file(&vdev->class_dev,
&dev_attr_streaming);
device_remove_file(&vdev->class_dev,
&dev_attr_compression);
device_remove_file(&vdev->class_dev,
&dev_attr_bridge);
device_remove_file(&vdev->dev, &dev_attr_version);
device_remove_file(&vdev->dev, &dev_attr_model);
device_remove_file(&vdev->dev, &dev_attr_hue);
device_remove_file(&vdev->dev, &dev_attr_contrast);
device_remove_file(&vdev->dev, &dev_attr_brightness);
device_remove_file(&vdev->dev, &dev_attr_saturation);
device_remove_file(&vdev->dev, &dev_attr_streaming);
device_remove_file(&vdev->dev, &dev_attr_compression);
device_remove_file(&vdev->dev, &dev_attr_bridge);
}
}
......
......@@ -41,16 +41,14 @@
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);
}
......@@ -77,8 +75,7 @@ EXPORT_SYMBOL(video_device_release);
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 */
......@@ -320,13 +317,13 @@ int video_register_device_index(struct video_device *vfd, int type, int nr,
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);
memset(&vfd->dev, 0x00, sizeof(vfd->dev));
vfd->dev.class = &video_class;
vfd->dev.devt = MKDEV(VIDEO_MAJOR, vfd->minor);
if (vfd->parent)
vfd->class_dev.parent = vfd->parent;
sprintf(vfd->class_dev.bus_id, "%s%d", name_base, i - base);
ret = device_register(&vfd->class_dev);
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;
......@@ -365,7 +362,7 @@ void video_unregister_device(struct video_device *vfd)
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);
......
......@@ -88,18 +88,18 @@ struct video_device
const struct file_operations *fops;
/* sysfs */
struct device class_dev; /* v4l device */
struct device dev; /* v4l device */
struct device *parent; /* device parent */
/* device info */
char name[32];
int type; /* v4l1 */
int type2; /* v4l2 */
int type; /* v4l1 */
int type2; /* v4l2 */
int minor;
/* attribute to diferentiate multiple indexs on one physical device */
int index;
int debug; /* Activates debug level*/
int debug; /* Activates debug level*/
/* Video standard vars */
v4l2_std_id tvnorms; /* Supported tv norms */
......@@ -345,7 +345,7 @@ void *priv;
};
/* Class-dev to video-device */
#define to_video_device(cd) container_of(cd, struct video_device, class_dev)
#define to_video_device(cd) container_of(cd, struct video_device, dev)
/* Version 2 functions */
extern int video_register_device(struct video_device *vfd, int type, int nr);
......@@ -373,7 +373,7 @@ static inline int __must_check
video_device_create_file(struct video_device *vfd,
struct device_attribute *attr)
{
int ret = device_create_file(&vfd->class_dev, attr);
int ret = device_create_file(&vfd->dev, attr);
if (ret < 0)
printk(KERN_WARNING "%s error: %d\n", __func__, ret);
return ret;
......@@ -382,7 +382,7 @@ static inline void
video_device_remove_file(struct video_device *vfd,
struct device_attribute *attr)
{
device_remove_file(&vfd->class_dev, attr);
device_remove_file(&vfd->dev, attr);
}
#endif /* CONFIG_VIDEO_V4L1_COMPAT */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册