diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-07-24 18:05:14 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-08-20 00:22:34 -0400 |
commit | 13e2237f36874a7abef44b98969f399127b1917d (patch) | |
tree | f4322f542fd6b40d5cd127c350a09eb712952a3c | |
parent | 46a58c44c173d3cbfa53931fbb7ad069ef59f190 (diff) |
v4l2: convert class code to use dev_groups
The dev_attrs field of struct class is going away soon, dev_groups
should be used instead. This converts the v4l2 class code to use the
correct field.
Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
Cc: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/media/v4l2-core/v4l2-dev.c | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/drivers/media/v4l2-core/v4l2-dev.c b/drivers/media/v4l2-core/v4l2-dev.c index c8859d6ff6ad..b0f49b014bc5 100644 --- a/drivers/media/v4l2-core/v4l2-dev.c +++ b/drivers/media/v4l2-core/v4l2-dev.c | |||
@@ -38,24 +38,25 @@ | |||
38 | * sysfs stuff | 38 | * sysfs stuff |
39 | */ | 39 | */ |
40 | 40 | ||
41 | static ssize_t show_index(struct device *cd, | 41 | static ssize_t index_show(struct device *cd, |
42 | struct device_attribute *attr, char *buf) | 42 | struct device_attribute *attr, char *buf) |
43 | { | 43 | { |
44 | struct video_device *vdev = to_video_device(cd); | 44 | struct video_device *vdev = to_video_device(cd); |
45 | 45 | ||
46 | return sprintf(buf, "%i\n", vdev->index); | 46 | return sprintf(buf, "%i\n", vdev->index); |
47 | } | 47 | } |
48 | static DEVICE_ATTR_RO(index); | ||
48 | 49 | ||
49 | static ssize_t show_debug(struct device *cd, | 50 | static ssize_t debug_show(struct device *cd, |
50 | struct device_attribute *attr, char *buf) | 51 | struct device_attribute *attr, char *buf) |
51 | { | 52 | { |
52 | struct video_device *vdev = to_video_device(cd); | 53 | struct video_device *vdev = to_video_device(cd); |
53 | 54 | ||
54 | return sprintf(buf, "%i\n", vdev->debug); | 55 | return sprintf(buf, "%i\n", vdev->debug); |
55 | } | 56 | } |
56 | 57 | ||
57 | static ssize_t set_debug(struct device *cd, struct device_attribute *attr, | 58 | static ssize_t debug_store(struct device *cd, struct device_attribute *attr, |
58 | const char *buf, size_t len) | 59 | const char *buf, size_t len) |
59 | { | 60 | { |
60 | struct video_device *vdev = to_video_device(cd); | 61 | struct video_device *vdev = to_video_device(cd); |
61 | int res = 0; | 62 | int res = 0; |
@@ -68,21 +69,24 @@ static ssize_t set_debug(struct device *cd, struct device_attribute *attr, | |||
68 | vdev->debug = value; | 69 | vdev->debug = value; |
69 | return len; | 70 | return len; |
70 | } | 71 | } |
72 | static DEVICE_ATTR_RW(debug); | ||
71 | 73 | ||
72 | static ssize_t show_name(struct device *cd, | 74 | static ssize_t name_show(struct device *cd, |
73 | struct device_attribute *attr, char *buf) | 75 | struct device_attribute *attr, char *buf) |
74 | { | 76 | { |
75 | struct video_device *vdev = to_video_device(cd); | 77 | struct video_device *vdev = to_video_device(cd); |
76 | 78 | ||
77 | return sprintf(buf, "%.*s\n", (int)sizeof(vdev->name), vdev->name); | 79 | return sprintf(buf, "%.*s\n", (int)sizeof(vdev->name), vdev->name); |
78 | } | 80 | } |
81 | static DEVICE_ATTR_RO(name); | ||
79 | 82 | ||
80 | static struct device_attribute video_device_attrs[] = { | 83 | static struct attribute *video_device_attrs[] = { |
81 | __ATTR(name, S_IRUGO, show_name, NULL), | 84 | &dev_attr_name.attr, |
82 | __ATTR(debug, 0644, show_debug, set_debug), | 85 | &dev_attr_debug.attr, |
83 | __ATTR(index, S_IRUGO, show_index, NULL), | 86 | &dev_attr_index.attr, |
84 | __ATTR_NULL | 87 | NULL, |
85 | }; | 88 | }; |
89 | ATTRIBUTE_GROUPS(video_device); | ||
86 | 90 | ||
87 | /* | 91 | /* |
88 | * Active devices | 92 | * Active devices |
@@ -217,7 +221,7 @@ static void v4l2_device_release(struct device *cd) | |||
217 | 221 | ||
218 | static struct class video_class = { | 222 | static struct class video_class = { |
219 | .name = VIDEO_NAME, | 223 | .name = VIDEO_NAME, |
220 | .dev_attrs = video_device_attrs, | 224 | .dev_groups = video_device_groups, |
221 | }; | 225 | }; |
222 | 226 | ||
223 | struct video_device *video_devdata(struct file *file) | 227 | struct video_device *video_devdata(struct file *file) |