aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@osg.samsung.com>2016-03-23 10:22:57 -0400
committerMauro Carvalho Chehab <mchehab@s-opensource.com>2016-06-15 16:56:06 -0400
commit163f1e93e995048b894c5fc86a6034d16beed740 (patch)
tree01c5591efebedb3d2d1caad89ffe66b06daff7d2
parentdc19ed1571dd3882b35e12fdaf50acbcc9b69714 (diff)
[media] media-devnode: fix namespace mess
Along all media controller code, "mdev" is used to represent a pointer to struct media_device, and "devnode" for a pointer to struct media_devnode. However, inside media-devnode.[ch], "mdev" is used to represent a pointer to struct media_devnode. This is very confusing and may lead to development errors. So, let's change all occurrences at media-devnode.[ch] to also use "devnode" for such pointers. This patch doesn't make any functional changes. Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
-rw-r--r--drivers/media/media-devnode.c110
-rw-r--r--include/media/media-devnode.h16
2 files changed, 63 insertions, 63 deletions
diff --git a/drivers/media/media-devnode.c b/drivers/media/media-devnode.c
index b66dc9d0766b..7481c9610945 100644
--- a/drivers/media/media-devnode.c
+++ b/drivers/media/media-devnode.c
@@ -59,21 +59,21 @@ static DECLARE_BITMAP(media_devnode_nums, MEDIA_NUM_DEVICES);
59/* Called when the last user of the media device exits. */ 59/* Called when the last user of the media device exits. */
60static void media_devnode_release(struct device *cd) 60static void media_devnode_release(struct device *cd)
61{ 61{
62 struct media_devnode *mdev = to_media_devnode(cd); 62 struct media_devnode *devnode = to_media_devnode(cd);
63 63
64 mutex_lock(&media_devnode_lock); 64 mutex_lock(&media_devnode_lock);
65 65
66 /* Delete the cdev on this minor as well */ 66 /* Delete the cdev on this minor as well */
67 cdev_del(&mdev->cdev); 67 cdev_del(&devnode->cdev);
68 68
69 /* Mark device node number as free */ 69 /* Mark device node number as free */
70 clear_bit(mdev->minor, media_devnode_nums); 70 clear_bit(devnode->minor, media_devnode_nums);
71 71
72 mutex_unlock(&media_devnode_lock); 72 mutex_unlock(&media_devnode_lock);
73 73
74 /* Release media_devnode and perform other cleanups as needed. */ 74 /* Release media_devnode and perform other cleanups as needed. */
75 if (mdev->release) 75 if (devnode->release)
76 mdev->release(mdev); 76 devnode->release(devnode);
77} 77}
78 78
79static struct bus_type media_bus_type = { 79static struct bus_type media_bus_type = {
@@ -83,37 +83,37 @@ static struct bus_type media_bus_type = {
83static ssize_t media_read(struct file *filp, char __user *buf, 83static ssize_t media_read(struct file *filp, char __user *buf,
84 size_t sz, loff_t *off) 84 size_t sz, loff_t *off)
85{ 85{
86 struct media_devnode *mdev = media_devnode_data(filp); 86 struct media_devnode *devnode = media_devnode_data(filp);
87 87
88 if (!mdev->fops->read) 88 if (!devnode->fops->read)
89 return -EINVAL; 89 return -EINVAL;
90 if (!media_devnode_is_registered(mdev)) 90 if (!media_devnode_is_registered(devnode))
91 return -EIO; 91 return -EIO;
92 return mdev->fops->read(filp, buf, sz, off); 92 return devnode->fops->read(filp, buf, sz, off);
93} 93}
94 94
95static ssize_t media_write(struct file *filp, const char __user *buf, 95static ssize_t media_write(struct file *filp, const char __user *buf,
96 size_t sz, loff_t *off) 96 size_t sz, loff_t *off)
97{ 97{
98 struct media_devnode *mdev = media_devnode_data(filp); 98 struct media_devnode *devnode = media_devnode_data(filp);
99 99
100 if (!mdev->fops->write) 100 if (!devnode->fops->write)
101 return -EINVAL; 101 return -EINVAL;
102 if (!media_devnode_is_registered(mdev)) 102 if (!media_devnode_is_registered(devnode))
103 return -EIO; 103 return -EIO;
104 return mdev->fops->write(filp, buf, sz, off); 104 return devnode->fops->write(filp, buf, sz, off);
105} 105}
106 106
107static unsigned int media_poll(struct file *filp, 107static unsigned int media_poll(struct file *filp,
108 struct poll_table_struct *poll) 108 struct poll_table_struct *poll)
109{ 109{
110 struct media_devnode *mdev = media_devnode_data(filp); 110 struct media_devnode *devnode = media_devnode_data(filp);
111 111
112 if (!media_devnode_is_registered(mdev)) 112 if (!media_devnode_is_registered(devnode))
113 return POLLERR | POLLHUP; 113 return POLLERR | POLLHUP;
114 if (!mdev->fops->poll) 114 if (!devnode->fops->poll)
115 return DEFAULT_POLLMASK; 115 return DEFAULT_POLLMASK;
116 return mdev->fops->poll(filp, poll); 116 return devnode->fops->poll(filp, poll);
117} 117}
118 118
119static long 119static long
@@ -121,12 +121,12 @@ __media_ioctl(struct file *filp, unsigned int cmd, unsigned long arg,
121 long (*ioctl_func)(struct file *filp, unsigned int cmd, 121 long (*ioctl_func)(struct file *filp, unsigned int cmd,
122 unsigned long arg)) 122 unsigned long arg))
123{ 123{
124 struct media_devnode *mdev = media_devnode_data(filp); 124 struct media_devnode *devnode = media_devnode_data(filp);
125 125
126 if (!ioctl_func) 126 if (!ioctl_func)
127 return -ENOTTY; 127 return -ENOTTY;
128 128
129 if (!media_devnode_is_registered(mdev)) 129 if (!media_devnode_is_registered(devnode))
130 return -EIO; 130 return -EIO;
131 131
132 return ioctl_func(filp, cmd, arg); 132 return ioctl_func(filp, cmd, arg);
@@ -134,9 +134,9 @@ __media_ioctl(struct file *filp, unsigned int cmd, unsigned long arg,
134 134
135static long media_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) 135static long media_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
136{ 136{
137 struct media_devnode *mdev = media_devnode_data(filp); 137 struct media_devnode *devnode = media_devnode_data(filp);
138 138
139 return __media_ioctl(filp, cmd, arg, mdev->fops->ioctl); 139 return __media_ioctl(filp, cmd, arg, devnode->fops->ioctl);
140} 140}
141 141
142#ifdef CONFIG_COMPAT 142#ifdef CONFIG_COMPAT
@@ -144,9 +144,9 @@ static long media_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
144static long media_compat_ioctl(struct file *filp, unsigned int cmd, 144static long media_compat_ioctl(struct file *filp, unsigned int cmd,
145 unsigned long arg) 145 unsigned long arg)
146{ 146{
147 struct media_devnode *mdev = media_devnode_data(filp); 147 struct media_devnode *devnode = media_devnode_data(filp);
148 148
149 return __media_ioctl(filp, cmd, arg, mdev->fops->compat_ioctl); 149 return __media_ioctl(filp, cmd, arg, devnode->fops->compat_ioctl);
150} 150}
151 151
152#endif /* CONFIG_COMPAT */ 152#endif /* CONFIG_COMPAT */
@@ -154,7 +154,7 @@ static long media_compat_ioctl(struct file *filp, unsigned int cmd,
154/* Override for the open function */ 154/* Override for the open function */
155static int media_open(struct inode *inode, struct file *filp) 155static int media_open(struct inode *inode, struct file *filp)
156{ 156{
157 struct media_devnode *mdev; 157 struct media_devnode *devnode;
158 int ret; 158 int ret;
159 159
160 /* Check if the media device is available. This needs to be done with 160 /* Check if the media device is available. This needs to be done with
@@ -164,23 +164,23 @@ static int media_open(struct inode *inode, struct file *filp)
164 * a crash. 164 * a crash.
165 */ 165 */
166 mutex_lock(&media_devnode_lock); 166 mutex_lock(&media_devnode_lock);
167 mdev = container_of(inode->i_cdev, struct media_devnode, cdev); 167 devnode = container_of(inode->i_cdev, struct media_devnode, cdev);
168 /* return ENXIO if the media device has been removed 168 /* return ENXIO if the media device has been removed
169 already or if it is not registered anymore. */ 169 already or if it is not registered anymore. */
170 if (!media_devnode_is_registered(mdev)) { 170 if (!media_devnode_is_registered(devnode)) {
171 mutex_unlock(&media_devnode_lock); 171 mutex_unlock(&media_devnode_lock);
172 return -ENXIO; 172 return -ENXIO;
173 } 173 }
174 /* and increase the device refcount */ 174 /* and increase the device refcount */
175 get_device(&mdev->dev); 175 get_device(&devnode->dev);
176 mutex_unlock(&media_devnode_lock); 176 mutex_unlock(&media_devnode_lock);
177 177
178 filp->private_data = mdev; 178 filp->private_data = devnode;
179 179
180 if (mdev->fops->open) { 180 if (devnode->fops->open) {
181 ret = mdev->fops->open(filp); 181 ret = devnode->fops->open(filp);
182 if (ret) { 182 if (ret) {
183 put_device(&mdev->dev); 183 put_device(&devnode->dev);
184 filp->private_data = NULL; 184 filp->private_data = NULL;
185 return ret; 185 return ret;
186 } 186 }
@@ -192,16 +192,16 @@ static int media_open(struct inode *inode, struct file *filp)
192/* Override for the release function */ 192/* Override for the release function */
193static int media_release(struct inode *inode, struct file *filp) 193static int media_release(struct inode *inode, struct file *filp)
194{ 194{
195 struct media_devnode *mdev = media_devnode_data(filp); 195 struct media_devnode *devnode = media_devnode_data(filp);
196 196
197 if (mdev->fops->release) 197 if (devnode->fops->release)
198 mdev->fops->release(filp); 198 devnode->fops->release(filp);
199 199
200 filp->private_data = NULL; 200 filp->private_data = NULL;
201 201
202 /* decrease the refcount unconditionally since the release() 202 /* decrease the refcount unconditionally since the release()
203 return value is ignored. */ 203 return value is ignored. */
204 put_device(&mdev->dev); 204 put_device(&devnode->dev);
205 return 0; 205 return 0;
206} 206}
207 207
@@ -219,7 +219,7 @@ static const struct file_operations media_devnode_fops = {
219 .llseek = no_llseek, 219 .llseek = no_llseek,
220}; 220};
221 221
222int __must_check media_devnode_register(struct media_devnode *mdev, 222int __must_check media_devnode_register(struct media_devnode *devnode,
223 struct module *owner) 223 struct module *owner)
224{ 224{
225 int minor; 225 int minor;
@@ -237,55 +237,55 @@ int __must_check media_devnode_register(struct media_devnode *mdev,
237 set_bit(minor, media_devnode_nums); 237 set_bit(minor, media_devnode_nums);
238 mutex_unlock(&media_devnode_lock); 238 mutex_unlock(&media_devnode_lock);
239 239
240 mdev->minor = minor; 240 devnode->minor = minor;
241 241
242 /* Part 2: Initialize and register the character device */ 242 /* Part 2: Initialize and register the character device */
243 cdev_init(&mdev->cdev, &media_devnode_fops); 243 cdev_init(&devnode->cdev, &media_devnode_fops);
244 mdev->cdev.owner = owner; 244 devnode->cdev.owner = owner;
245 245
246 ret = cdev_add(&mdev->cdev, MKDEV(MAJOR(media_dev_t), mdev->minor), 1); 246 ret = cdev_add(&devnode->cdev, MKDEV(MAJOR(media_dev_t), devnode->minor), 1);
247 if (ret < 0) { 247 if (ret < 0) {
248 pr_err("%s: cdev_add failed\n", __func__); 248 pr_err("%s: cdev_add failed\n", __func__);
249 goto error; 249 goto error;
250 } 250 }
251 251
252 /* Part 3: Register the media device */ 252 /* Part 3: Register the media device */
253 mdev->dev.bus = &media_bus_type; 253 devnode->dev.bus = &media_bus_type;
254 mdev->dev.devt = MKDEV(MAJOR(media_dev_t), mdev->minor); 254 devnode->dev.devt = MKDEV(MAJOR(media_dev_t), devnode->minor);
255 mdev->dev.release = media_devnode_release; 255 devnode->dev.release = media_devnode_release;
256 if (mdev->parent) 256 if (devnode->parent)
257 mdev->dev.parent = mdev->parent; 257 devnode->dev.parent = devnode->parent;
258 dev_set_name(&mdev->dev, "media%d", mdev->minor); 258 dev_set_name(&devnode->dev, "media%d", devnode->minor);
259 ret = device_register(&mdev->dev); 259 ret = device_register(&devnode->dev);
260 if (ret < 0) { 260 if (ret < 0) {
261 pr_err("%s: device_register failed\n", __func__); 261 pr_err("%s: device_register failed\n", __func__);
262 goto error; 262 goto error;
263 } 263 }
264 264
265 /* Part 4: Activate this minor. The char device can now be used. */ 265 /* Part 4: Activate this minor. The char device can now be used. */
266 set_bit(MEDIA_FLAG_REGISTERED, &mdev->flags); 266 set_bit(MEDIA_FLAG_REGISTERED, &devnode->flags);
267 267
268 return 0; 268 return 0;
269 269
270error: 270error:
271 mutex_lock(&media_devnode_lock); 271 mutex_lock(&media_devnode_lock);
272 cdev_del(&mdev->cdev); 272 cdev_del(&devnode->cdev);
273 clear_bit(mdev->minor, media_devnode_nums); 273 clear_bit(devnode->minor, media_devnode_nums);
274 mutex_unlock(&media_devnode_lock); 274 mutex_unlock(&media_devnode_lock);
275 275
276 return ret; 276 return ret;
277} 277}
278 278
279void media_devnode_unregister(struct media_devnode *mdev) 279void media_devnode_unregister(struct media_devnode *devnode)
280{ 280{
281 /* Check if mdev was ever registered at all */ 281 /* Check if devnode was ever registered at all */
282 if (!media_devnode_is_registered(mdev)) 282 if (!media_devnode_is_registered(devnode))
283 return; 283 return;
284 284
285 mutex_lock(&media_devnode_lock); 285 mutex_lock(&media_devnode_lock);
286 clear_bit(MEDIA_FLAG_REGISTERED, &mdev->flags); 286 clear_bit(MEDIA_FLAG_REGISTERED, &devnode->flags);
287 mutex_unlock(&media_devnode_lock); 287 mutex_unlock(&media_devnode_lock);
288 device_unregister(&mdev->dev); 288 device_unregister(&devnode->dev);
289} 289}
290 290
291/* 291/*
diff --git a/include/media/media-devnode.h b/include/media/media-devnode.h
index fe42f08e72bd..e1d5af077adb 100644
--- a/include/media/media-devnode.h
+++ b/include/media/media-devnode.h
@@ -94,7 +94,7 @@ struct media_devnode {
94 unsigned long flags; /* Use bitops to access flags */ 94 unsigned long flags; /* Use bitops to access flags */
95 95
96 /* callbacks */ 96 /* callbacks */
97 void (*release)(struct media_devnode *mdev); 97 void (*release)(struct media_devnode *devnode);
98}; 98};
99 99
100/* dev to media_devnode */ 100/* dev to media_devnode */
@@ -103,7 +103,7 @@ struct media_devnode {
103/** 103/**
104 * media_devnode_register - register a media device node 104 * media_devnode_register - register a media device node
105 * 105 *
106 * @mdev: media device node structure we want to register 106 * @devnode: media device node structure we want to register
107 * @owner: should be filled with %THIS_MODULE 107 * @owner: should be filled with %THIS_MODULE
108 * 108 *
109 * The registration code assigns minor numbers and registers the new device node 109 * The registration code assigns minor numbers and registers the new device node
@@ -116,12 +116,12 @@ struct media_devnode {
116 * the media_devnode structure is *not* called, so the caller is responsible for 116 * the media_devnode structure is *not* called, so the caller is responsible for
117 * freeing any data. 117 * freeing any data.
118 */ 118 */
119int __must_check media_devnode_register(struct media_devnode *mdev, 119int __must_check media_devnode_register(struct media_devnode *devnode,
120 struct module *owner); 120 struct module *owner);
121 121
122/** 122/**
123 * media_devnode_unregister - unregister a media device node 123 * media_devnode_unregister - unregister a media device node
124 * @mdev: the device node to unregister 124 * @devnode: the device node to unregister
125 * 125 *
126 * This unregisters the passed device. Future open calls will be met with 126 * This unregisters the passed device. Future open calls will be met with
127 * errors. 127 * errors.
@@ -129,7 +129,7 @@ int __must_check media_devnode_register(struct media_devnode *mdev,
129 * This function can safely be called if the device node has never been 129 * This function can safely be called if the device node has never been
130 * registered or has already been unregistered. 130 * registered or has already been unregistered.
131 */ 131 */
132void media_devnode_unregister(struct media_devnode *mdev); 132void media_devnode_unregister(struct media_devnode *devnode);
133 133
134/** 134/**
135 * media_devnode_data - returns a pointer to the &media_devnode 135 * media_devnode_data - returns a pointer to the &media_devnode
@@ -145,11 +145,11 @@ static inline struct media_devnode *media_devnode_data(struct file *filp)
145 * media_devnode_is_registered - returns true if &media_devnode is registered; 145 * media_devnode_is_registered - returns true if &media_devnode is registered;
146 * false otherwise. 146 * false otherwise.
147 * 147 *
148 * @mdev: pointer to struct &media_devnode. 148 * @devnode: pointer to struct &media_devnode.
149 */ 149 */
150static inline int media_devnode_is_registered(struct media_devnode *mdev) 150static inline int media_devnode_is_registered(struct media_devnode *devnode)
151{ 151{
152 return test_bit(MEDIA_FLAG_REGISTERED, &mdev->flags); 152 return test_bit(MEDIA_FLAG_REGISTERED, &devnode->flags);
153} 153}
154 154
155#endif /* _MEDIA_DEVNODE_H */ 155#endif /* _MEDIA_DEVNODE_H */