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>
This commit is contained in:
parent
46a58c44c1
commit
13e2237f36
1 changed files with 17 additions and 13 deletions
|
@ -38,24 +38,25 @@
|
||||||
* sysfs stuff
|
* sysfs stuff
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static ssize_t show_index(struct device *cd,
|
static ssize_t index_show(struct device *cd,
|
||||||
struct device_attribute *attr, char *buf)
|
struct device_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
struct video_device *vdev = to_video_device(cd);
|
struct video_device *vdev = to_video_device(cd);
|
||||||
|
|
||||||
return sprintf(buf, "%i\n", vdev->index);
|
return sprintf(buf, "%i\n", vdev->index);
|
||||||
}
|
}
|
||||||
|
static DEVICE_ATTR_RO(index);
|
||||||
|
|
||||||
static ssize_t show_debug(struct device *cd,
|
static ssize_t debug_show(struct device *cd,
|
||||||
struct device_attribute *attr, char *buf)
|
struct device_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
struct video_device *vdev = to_video_device(cd);
|
struct video_device *vdev = to_video_device(cd);
|
||||||
|
|
||||||
return sprintf(buf, "%i\n", vdev->debug);
|
return sprintf(buf, "%i\n", vdev->debug);
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t set_debug(struct device *cd, struct device_attribute *attr,
|
static ssize_t debug_store(struct device *cd, struct device_attribute *attr,
|
||||||
const char *buf, size_t len)
|
const char *buf, size_t len)
|
||||||
{
|
{
|
||||||
struct video_device *vdev = to_video_device(cd);
|
struct video_device *vdev = to_video_device(cd);
|
||||||
int res = 0;
|
int res = 0;
|
||||||
|
@ -68,21 +69,24 @@ static ssize_t set_debug(struct device *cd, struct device_attribute *attr,
|
||||||
vdev->debug = value;
|
vdev->debug = value;
|
||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
|
static DEVICE_ATTR_RW(debug);
|
||||||
|
|
||||||
static ssize_t show_name(struct device *cd,
|
static ssize_t name_show(struct device *cd,
|
||||||
struct device_attribute *attr, char *buf)
|
struct device_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
struct video_device *vdev = to_video_device(cd);
|
struct video_device *vdev = to_video_device(cd);
|
||||||
|
|
||||||
return sprintf(buf, "%.*s\n", (int)sizeof(vdev->name), vdev->name);
|
return sprintf(buf, "%.*s\n", (int)sizeof(vdev->name), vdev->name);
|
||||||
}
|
}
|
||||||
|
static DEVICE_ATTR_RO(name);
|
||||||
|
|
||||||
static struct device_attribute video_device_attrs[] = {
|
static struct attribute *video_device_attrs[] = {
|
||||||
__ATTR(name, S_IRUGO, show_name, NULL),
|
&dev_attr_name.attr,
|
||||||
__ATTR(debug, 0644, show_debug, set_debug),
|
&dev_attr_debug.attr,
|
||||||
__ATTR(index, S_IRUGO, show_index, NULL),
|
&dev_attr_index.attr,
|
||||||
__ATTR_NULL
|
NULL,
|
||||||
};
|
};
|
||||||
|
ATTRIBUTE_GROUPS(video_device);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Active devices
|
* Active devices
|
||||||
|
@ -217,7 +221,7 @@ static void v4l2_device_release(struct device *cd)
|
||||||
|
|
||||||
static struct class video_class = {
|
static struct class video_class = {
|
||||||
.name = VIDEO_NAME,
|
.name = VIDEO_NAME,
|
||||||
.dev_attrs = video_device_attrs,
|
.dev_groups = video_device_groups,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct video_device *video_devdata(struct file *file)
|
struct video_device *video_devdata(struct file *file)
|
||||||
|
|
Loading…
Add table
Reference in a new issue