aboutsummaryrefslogtreecommitdiffstats
path: root/include/media/v4l2-device.h
diff options
context:
space:
mode:
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>2010-08-12 16:16:00 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-10-20 23:04:48 -0400
commit6c2d4dd139de417d18151b98c157aa35387038a3 (patch)
tree747e5076eced841d914895e19e66c0743cf10484 /include/media/v4l2-device.h
parent7a569f524dd36806b995c844f29e28ff40c444b2 (diff)
V4L/DVB: V4L2: avoid name conflicts in macros
"sd" and "err" are too common names to be used in macros for local variables. Prefix them with an underscore to avoid name clashing. [mchehab@redhat.com: whitespace cleanups] Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Reviewed-by: Andy Walls <awalls@md.metrocast.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'include/media/v4l2-device.h')
-rw-r--r--include/media/v4l2-device.h57
1 files changed, 39 insertions, 18 deletions
diff --git a/include/media/v4l2-device.h b/include/media/v4l2-device.h
index 8bcbd7a0271c..6648036b728d 100644
--- a/include/media/v4l2-device.h
+++ b/include/media/v4l2-device.h
@@ -101,46 +101,67 @@ void v4l2_device_unregister_subdev(struct v4l2_subdev *sd);
101/* Call the specified callback for all subdevs matching the condition. 101/* Call the specified callback for all subdevs matching the condition.
102 Ignore any errors. Note that you cannot add or delete a subdev 102 Ignore any errors. Note that you cannot add or delete a subdev
103 while walking the subdevs list. */ 103 while walking the subdevs list. */
104#define __v4l2_device_call_subdevs(v4l2_dev, cond, o, f, args...) \ 104#define __v4l2_device_call_subdevs_p(v4l2_dev, sd, cond, o, f, args...) \
105 do { \ 105 do { \
106 struct v4l2_subdev *sd; \ 106 list_for_each_entry((sd), &(v4l2_dev)->subdevs, list) \
107 if ((cond) && (sd)->ops->o && (sd)->ops->o->f) \
108 (sd)->ops->o->f((sd) , ##args); \
109 } while (0)
110
111#define __v4l2_device_call_subdevs(v4l2_dev, cond, o, f, args...) \
112 do { \
113 struct v4l2_subdev *__sd; \
107 \ 114 \
108 list_for_each_entry(sd, &(v4l2_dev)->subdevs, list) \ 115 __v4l2_device_call_subdevs_p(v4l2_dev, __sd, cond, o, \
109 if ((cond) && sd->ops->o && sd->ops->o->f) \ 116 f , ##args); \
110 sd->ops->o->f(sd , ##args); \
111 } while (0) 117 } while (0)
112 118
113/* Call the specified callback for all subdevs matching the condition. 119/* Call the specified callback for all subdevs matching the condition.
114 If the callback returns an error other than 0 or -ENOIOCTLCMD, then 120 If the callback returns an error other than 0 or -ENOIOCTLCMD, then
115 return with that error code. Note that you cannot add or delete a 121 return with that error code. Note that you cannot add or delete a
116 subdev while walking the subdevs list. */ 122 subdev while walking the subdevs list. */
117#define __v4l2_device_call_subdevs_until_err(v4l2_dev, cond, o, f, args...) \ 123#define __v4l2_device_call_subdevs_until_err_p(v4l2_dev, sd, cond, o, f, args...) \
118({ \ 124({ \
119 struct v4l2_subdev *sd; \ 125 long __err = 0; \
120 long err = 0; \
121 \ 126 \
122 list_for_each_entry(sd, &(v4l2_dev)->subdevs, list) { \ 127 list_for_each_entry((sd), &(v4l2_dev)->subdevs, list) { \
123 if ((cond) && sd->ops->o && sd->ops->o->f) \ 128 if ((cond) && (sd)->ops->o && (sd)->ops->o->f) \
124 err = sd->ops->o->f(sd , ##args); \ 129 __err = (sd)->ops->o->f((sd) , ##args); \
125 if (err && err != -ENOIOCTLCMD) \ 130 if (__err && __err != -ENOIOCTLCMD) \
126 break; \ 131 break; \
127 } \ 132 } \
128 (err == -ENOIOCTLCMD) ? 0 : err; \ 133 (__err == -ENOIOCTLCMD) ? 0 : __err; \
134})
135
136#define __v4l2_device_call_subdevs_until_err(v4l2_dev, cond, o, f, args...) \
137({ \
138 struct v4l2_subdev *__sd; \
139 __v4l2_device_call_subdevs_until_err_p(v4l2_dev, __sd, cond, o, \
140 f, args...); \
129}) 141})
130 142
131/* Call the specified callback for all subdevs matching grp_id (if 0, then 143/* Call the specified callback for all subdevs matching grp_id (if 0, then
132 match them all). Ignore any errors. Note that you cannot add or delete 144 match them all). Ignore any errors. Note that you cannot add or delete
133 a subdev while walking the subdevs list. */ 145 a subdev while walking the subdevs list. */
134#define v4l2_device_call_all(v4l2_dev, grpid, o, f, args...) \ 146#define v4l2_device_call_all(v4l2_dev, grpid, o, f, args...) \
135 __v4l2_device_call_subdevs(v4l2_dev, \ 147 do { \
136 !(grpid) || sd->grp_id == (grpid), o, f , ##args) 148 struct v4l2_subdev *__sd; \
149 \
150 __v4l2_device_call_subdevs_p(v4l2_dev, __sd, \
151 !(grpid) || __sd->grp_id == (grpid), o, f , \
152 ##args); \
153 } while (0)
137 154
138/* Call the specified callback for all subdevs matching grp_id (if 0, then 155/* Call the specified callback for all subdevs matching grp_id (if 0, then
139 match them all). If the callback returns an error other than 0 or 156 match them all). If the callback returns an error other than 0 or
140 -ENOIOCTLCMD, then return with that error code. Note that you cannot 157 -ENOIOCTLCMD, then return with that error code. Note that you cannot
141 add or delete a subdev while walking the subdevs list. */ 158 add or delete a subdev while walking the subdevs list. */
142#define v4l2_device_call_until_err(v4l2_dev, grpid, o, f, args...) \ 159#define v4l2_device_call_until_err(v4l2_dev, grpid, o, f, args...) \
143 __v4l2_device_call_subdevs_until_err(v4l2_dev, \ 160({ \
144 !(grpid) || sd->grp_id == (grpid), o, f , ##args) 161 struct v4l2_subdev *__sd; \
162 __v4l2_device_call_subdevs_until_err_p(v4l2_dev, __sd, \
163 !(grpid) || __sd->grp_id == (grpid), o, f , \
164 ##args); \
165})
145 166
146#endif 167#endif