diff --git a/drivers/media/v4l2-core/v4l2-dev.c b/drivers/media/v4l2-core/v4l2-dev.c index b5aaaac..b2f207f 100644 @@ -38,16 +38,15 @@ * sysfs stuff */ -static ssize_t index_show(struct device *cd, +static ssize_t show_index(struct device *cd, struct device_attribute *attr, char *buf) { struct video_device *vdev = to_video_device(cd); return sprintf(buf, "%i\n", vdev->index); } -static DEVICE_ATTR_RO(index); -static ssize_t dev_debug_show(struct device *cd, +static ssize_t show_debug(struct device *cd, struct device_attribute *attr, char *buf) { struct video_device *vdev = to_video_device(cd); @@ -55,7 +54,7 @@ return sprintf(buf, "%i\n", vdev->dev_debug); } -static ssize_t dev_debug_store(struct device *cd, struct device_attribute *attr, +static ssize_t set_debug(struct device *cd, struct device_attribute *attr, const char *buf, size_t len) { struct video_device *vdev = to_video_device(cd); @@ -69,24 +68,21 @@ vdev->dev_debug = value; return len; } -static DEVICE_ATTR_RW(dev_debug); -static ssize_t name_show(struct device *cd, +static ssize_t show_name(struct device *cd, struct device_attribute *attr, char *buf) { struct video_device *vdev = to_video_device(cd); return sprintf(buf, "%.*s\n", (int)sizeof(vdev->name), vdev->name); } -static DEVICE_ATTR_RO(name); -static struct attribute *video_device_attrs[] = { - &dev_attr_name.attr, - &dev_attr_dev_debug.attr, - &dev_attr_index.attr, - NULL, +static struct device_attribute video_device_attrs[] = { + __ATTR(name, S_IRUGO, show_name, NULL), + __ATTR(debug, 0644, show_debug, set_debug), + __ATTR(index, S_IRUGO, show_index, NULL), + __ATTR_NULL }; -ATTRIBUTE_GROUPS(video_device); /* * Active devices @@ -221,7 +217,7 @@ static struct class video_class = { .name = VIDEO_NAME, - .dev_groups = video_device_groups, + .dev_attrs = video_device_attrs, }; struct video_device *video_devdata(struct file *file)