aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/ivtv/ivtv-driver.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/ivtv/ivtv-driver.h')
-rw-r--r--drivers/media/video/ivtv/ivtv-driver.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/drivers/media/video/ivtv/ivtv-driver.h b/drivers/media/video/ivtv/ivtv-driver.h
index 75803141481e..04bacdbd10bb 100644
--- a/drivers/media/video/ivtv/ivtv-driver.h
+++ b/drivers/media/video/ivtv/ivtv-driver.h
@@ -811,15 +811,23 @@ static inline int ivtv_raw_vbi(const struct ivtv *itv)
811/* Call the specified callback for all subdevs matching hw (if 0, then 811/* Call the specified callback for all subdevs matching hw (if 0, then
812 match them all). Ignore any errors. */ 812 match them all). Ignore any errors. */
813#define ivtv_call_hw(itv, hw, o, f, args...) \ 813#define ivtv_call_hw(itv, hw, o, f, args...) \
814 __v4l2_device_call_subdevs(&(itv)->v4l2_dev, !(hw) || (sd->grp_id & (hw)), o, f , ##args) 814 do { \
815 struct v4l2_subdev *__sd; \
816 __v4l2_device_call_subdevs_p(&(itv)->v4l2_dev, __sd, \
817 !(hw) || (__sd->grp_id & (hw)), o, f , ##args); \
818 } while (0)
815 819
816#define ivtv_call_all(itv, o, f, args...) ivtv_call_hw(itv, 0, o, f , ##args) 820#define ivtv_call_all(itv, o, f, args...) ivtv_call_hw(itv, 0, o, f , ##args)
817 821
818/* Call the specified callback for all subdevs matching hw (if 0, then 822/* Call the specified callback for all subdevs matching hw (if 0, then
819 match them all). If the callback returns an error other than 0 or 823 match them all). If the callback returns an error other than 0 or
820 -ENOIOCTLCMD, then return with that error code. */ 824 -ENOIOCTLCMD, then return with that error code. */
821#define ivtv_call_hw_err(itv, hw, o, f, args...) \ 825#define ivtv_call_hw_err(itv, hw, o, f, args...) \
822 __v4l2_device_call_subdevs_until_err(&(itv)->v4l2_dev, !(hw) || (sd->grp_id & (hw)), o, f , ##args) 826({ \
827 struct v4l2_subdev *__sd; \
828 __v4l2_device_call_subdevs_until_err_p(&(itv)->v4l2_dev, __sd, \
829 !(hw) || (__sd->grp_id & (hw)), o, f , ##args); \
830})
823 831
824#define ivtv_call_all_err(itv, o, f, args...) ivtv_call_hw_err(itv, 0, o, f , ##args) 832#define ivtv_call_all_err(itv, o, f, args...) ivtv_call_hw_err(itv, 0, o, f , ##args)
825 833