diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2009-05-02 09:12:50 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-06-16 17:20:50 -0400 |
commit | 102e78136446faca7d7d241b628c5bd0e0d61d5d (patch) | |
tree | 17f26a5fc1aa4bab59d38a80c2684af21e37d53e /include | |
parent | 416a7aa88300601d6630736836f9798c4079bc16 (diff) |
V4L/DVB (11671): v4l2: add v4l2_device_set_name()
Add a utility function that can be used to setup the v4l2_device's name
field in a standard manner.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/media/v4l2-device.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/include/media/v4l2-device.h b/include/media/v4l2-device.h index 9afd39fb2cfc..5d5d550e63ad 100644 --- a/include/media/v4l2-device.h +++ b/include/media/v4l2-device.h | |||
@@ -53,10 +53,31 @@ struct v4l2_device { | |||
53 | dev may be NULL in rare cases (ISA devices). In that case you | 53 | dev may be NULL in rare cases (ISA devices). In that case you |
54 | must fill in the v4l2_dev->name field before calling this function. */ | 54 | must fill in the v4l2_dev->name field before calling this function. */ |
55 | int __must_check v4l2_device_register(struct device *dev, struct v4l2_device *v4l2_dev); | 55 | int __must_check v4l2_device_register(struct device *dev, struct v4l2_device *v4l2_dev); |
56 | |||
57 | /* Optional function to initialize the name field of struct v4l2_device using | ||
58 | the driver name and a driver-global atomic_t instance. | ||
59 | This function will increment the instance counter and returns the instance | ||
60 | value used in the name. | ||
61 | |||
62 | Example: | ||
63 | |||
64 | static atomic_t drv_instance = ATOMIC_INIT(0); | ||
65 | |||
66 | ... | ||
67 | |||
68 | instance = v4l2_device_set_name(&v4l2_dev, "foo", &drv_instance); | ||
69 | |||
70 | The first time this is called the name field will be set to foo0 and | ||
71 | this function returns 0. If the name ends with a digit (e.g. cx18), | ||
72 | then the name will be set to cx18-0 since cx180 looks really odd. */ | ||
73 | int v4l2_device_set_name(struct v4l2_device *v4l2_dev, const char *basename, | ||
74 | atomic_t *instance); | ||
75 | |||
56 | /* Set v4l2_dev->dev to NULL. Call when the USB parent disconnects. | 76 | /* Set v4l2_dev->dev to NULL. Call when the USB parent disconnects. |
57 | Since the parent disappears this ensures that v4l2_dev doesn't have an | 77 | Since the parent disappears this ensures that v4l2_dev doesn't have an |
58 | invalid parent pointer. */ | 78 | invalid parent pointer. */ |
59 | void v4l2_device_disconnect(struct v4l2_device *v4l2_dev); | 79 | void v4l2_device_disconnect(struct v4l2_device *v4l2_dev); |
80 | |||
60 | /* Unregister all sub-devices and any other resources related to v4l2_dev. */ | 81 | /* Unregister all sub-devices and any other resources related to v4l2_dev. */ |
61 | void v4l2_device_unregister(struct v4l2_device *v4l2_dev); | 82 | void v4l2_device_unregister(struct v4l2_device *v4l2_dev); |
62 | 83 | ||