[media] v4l2: add const to argument of write-only s_register ioctl
authorHans Verkuil <hans.verkuil@cisco.com>
Sun, 24 Mar 2013 11:28:46 +0000 (08:28 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sun, 24 Mar 2013 11:47:01 +0000 (08:47 -0300)
This ioctl is defined as IOW, so pass the argument as const.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
69 files changed:
drivers/media/dvb-frontends/au8522_decoder.c
drivers/media/i2c/ad9389b.c
drivers/media/i2c/adv7183.c
drivers/media/i2c/adv7604.c
drivers/media/i2c/ak881x.c
drivers/media/i2c/cs5345.c
drivers/media/i2c/cx25840/cx25840-core.c
drivers/media/i2c/m52790.c
drivers/media/i2c/mt9m032.c
drivers/media/i2c/mt9v011.c
drivers/media/i2c/ov7670.c
drivers/media/i2c/saa7115.c
drivers/media/i2c/saa7127.c
drivers/media/i2c/saa717x.c
drivers/media/i2c/soc_camera/mt9m001.c
drivers/media/i2c/soc_camera/mt9m111.c
drivers/media/i2c/soc_camera/mt9t031.c
drivers/media/i2c/soc_camera/mt9t112.c
drivers/media/i2c/soc_camera/mt9v022.c
drivers/media/i2c/soc_camera/ov2640.c
drivers/media/i2c/soc_camera/ov5642.c
drivers/media/i2c/soc_camera/ov6650.c
drivers/media/i2c/soc_camera/ov772x.c
drivers/media/i2c/soc_camera/ov9640.c
drivers/media/i2c/soc_camera/ov9740.c
drivers/media/i2c/soc_camera/rj54n1cb0c.c
drivers/media/i2c/soc_camera/tw9910.c
drivers/media/i2c/ths7303.c
drivers/media/i2c/tvp5150.c
drivers/media/i2c/tvp7002.c
drivers/media/i2c/upd64031a.c
drivers/media/i2c/upd64083.c
drivers/media/i2c/vs6624.c
drivers/media/pci/bt8xx/bttv-driver.c
drivers/media/pci/cx18/cx18-av-core.c
drivers/media/pci/cx18/cx18-ioctl.c
drivers/media/pci/cx23885/cx23885-ioctl.c
drivers/media/pci/cx23885/cx23885-ioctl.h
drivers/media/pci/cx23885/cx23888-ir.c
drivers/media/pci/cx25821/cx25821-video.c
drivers/media/pci/cx25821/cx25821-video.h
drivers/media/pci/cx88/cx88-video.c
drivers/media/pci/ivtv/ivtv-ioctl.c
drivers/media/pci/saa7134/saa7134-video.c
drivers/media/pci/saa7146/mxb.c
drivers/media/pci/saa7164/saa7164-encoder.c
drivers/media/platform/blackfin/bfin_capture.c
drivers/media/platform/davinci/vpbe_display.c
drivers/media/platform/davinci/vpif_capture.c
drivers/media/platform/davinci/vpif_display.c
drivers/media/platform/marvell-ccic/mcam-core.c
drivers/media/platform/sh_vou.c
drivers/media/platform/soc_camera/soc_camera.c
drivers/media/usb/au0828/au0828-video.c
drivers/media/usb/cx231xx/cx231xx-video.c
drivers/media/usb/cx231xx/cx231xx.h
drivers/media/usb/em28xx/em28xx-video.c
drivers/media/usb/gspca/gspca.c
drivers/media/usb/gspca/gspca.h
drivers/media/usb/gspca/pac7302.c
drivers/media/usb/gspca/sn9c20x.c
drivers/media/usb/pvrusb2/pvrusb2-hdw.c
drivers/media/usb/pvrusb2/pvrusb2-hdw.h
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
drivers/media/usb/stk1160/stk1160-v4l.c
drivers/media/usb/usbvision/usbvision-video.c
drivers/media/v4l2-core/v4l2-ioctl.c
include/media/v4l2-ioctl.h
include/media/v4l2-subdev.h

index 5243ba6295cc1aabd93796aa23e90bdb300c59ad..526902b45f9c8f89d47513de5a9d0eb4f55c8559 100644 (file)
@@ -583,7 +583,7 @@ static int au8522_g_register(struct v4l2_subdev *sd,
 }
 
 static int au8522_s_register(struct v4l2_subdev *sd,
-                            struct v4l2_dbg_register *reg)
+                            const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
        struct au8522_state *state = to_state(sd);
index c2886b6a727d66528fe9d1e724e8fc4d632faa02..58344b6c3a55ea19823553154d5c59294b268865 100644 (file)
@@ -354,7 +354,7 @@ static int ad9389b_g_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *
        return 0;
 }
 
-static int ad9389b_s_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *reg)
+static int ad9389b_s_register(struct v4l2_subdev *sd, const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index 6fed5b74e74302e6580e43422202b4cf1942ca9a..56a1fa4af0fec8d54be4303714eea29819cdf46e 100644 (file)
@@ -507,7 +507,7 @@ static int adv7183_g_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *
        return 0;
 }
 
-static int adv7183_s_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *reg)
+static int adv7183_s_register(struct v4l2_subdev *sd, const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index f47555b1000aa13238e07b94a8116f080ca90f79..31a63c9324fe245b1d981ae124836f20fd1d17c5 100644 (file)
@@ -699,7 +699,7 @@ static int adv7604_g_register(struct v4l2_subdev *sd,
 }
 
 static int adv7604_s_register(struct v4l2_subdev *sd,
-                                       struct v4l2_dbg_register *reg)
+                                       const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index ba674656b10d5a3ebd515fa652d50cff47ba3636..fd47465e4f6a9f506771d729278444b1d131d66e 100644 (file)
@@ -101,7 +101,7 @@ static int ak881x_g_register(struct v4l2_subdev *sd,
 }
 
 static int ak881x_s_register(struct v4l2_subdev *sd,
-                            struct v4l2_dbg_register *reg)
+                            const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index c8581e26fa9c591bb7c2a2e6cd0683fe4d88821c..1d2f7c8512b5d7b070abb546d44aec627b5b923c 100644 (file)
@@ -110,7 +110,7 @@ static int cs5345_g_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *r
        return 0;
 }
 
-static int cs5345_s_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *reg)
+static int cs5345_s_register(struct v4l2_subdev *sd, const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index 234b7c63d087213fbed5ae20c230ecb455c6ae05..12fb9b2eb8873beb009debf001eddf4b6f35bf32 100644 (file)
@@ -1671,7 +1671,7 @@ static int cx25840_g_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *
        return 0;
 }
 
-static int cx25840_s_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *reg)
+static int cx25840_s_register(struct v4l2_subdev *sd, const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index 0991576f4c828bafbdcc0290e0e984c470435b04..39f50fd2b8d2b570444362838ac12305e6b1a2a9 100644 (file)
@@ -96,7 +96,7 @@ static int m52790_g_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *r
        return 0;
 }
 
-static int m52790_s_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *reg)
+static int m52790_s_register(struct v4l2_subdev *sd, const struct v4l2_dbg_register *reg)
 {
        struct m52790_state *state = to_state(sd);
        struct i2c_client *client = v4l2_get_subdevdata(sd);
index f80c1d7ec88454def6d81bfaba52f98d0d83bbca..2526b66b91fd601d32c3bdb16e68a901f4eedd57 100644 (file)
@@ -548,7 +548,7 @@ static int mt9m032_g_register(struct v4l2_subdev *sd,
 }
 
 static int mt9m032_s_register(struct v4l2_subdev *sd,
-                             struct v4l2_dbg_register *reg)
+                             const struct v4l2_dbg_register *reg)
 {
        struct mt9m032 *sensor = to_mt9m032(sd);
        struct i2c_client *client = v4l2_get_subdevdata(&sensor->subdev);
index 73b7688cbebd32de12403178f72ff71cd645fc9b..3f415fd12de34c76d4f33265fcdcc169edd852f1 100644 (file)
@@ -421,7 +421,7 @@ static int mt9v011_g_register(struct v4l2_subdev *sd,
 }
 
 static int mt9v011_s_register(struct v4l2_subdev *sd,
-                             struct v4l2_dbg_register *reg)
+                             const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index 05ed5b8e7f88eae02058a21d1603f6624f14334c..617ad3fff4aa2c4d355747ed703b92693a4bd5cc 100644 (file)
@@ -1487,7 +1487,7 @@ static int ov7670_g_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *r
        return ret;
 }
 
-static int ov7670_s_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *reg)
+static int ov7670_s_register(struct v4l2_subdev *sd, const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index 6b6788cd08f6d6862020d0ab8d6b76e40fbb1402..5d9d0330b3dfa8f80300c9502d0b46afbb69dc3a 100644 (file)
@@ -1428,7 +1428,7 @@ static int saa711x_g_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *
        return 0;
 }
 
-static int saa711x_s_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *reg)
+static int saa711x_s_register(struct v4l2_subdev *sd, const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index b745f68fbc92d9c1c142a5a712f61180c928dd28..8a47ac10927f0b172938d05e9425925a8da4eae4 100644 (file)
@@ -672,7 +672,7 @@ static int saa7127_g_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *
        return 0;
 }
 
-static int saa7127_s_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *reg)
+static int saa7127_s_register(struct v4l2_subdev *sd, const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index 5608b937f8b24c495dc5970b590f3d02bbcbcfb2..cf3a0aa7e45e699b9e4ad597f2d0ec429f9a87c5 100644 (file)
@@ -988,7 +988,7 @@ static int saa717x_g_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *
        return 0;
 }
 
-static int saa717x_s_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *reg)
+static int saa717x_s_register(struct v4l2_subdev *sd, const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
        u16 addr = reg->reg & 0xffff;
index bcdc86175549e5dce2542bcc8aec68f20df63076..dd908980575716580567e52a16114bab3cdd5b99 100644 (file)
@@ -360,7 +360,7 @@ static int mt9m001_g_register(struct v4l2_subdev *sd,
 }
 
 static int mt9m001_s_register(struct v4l2_subdev *sd,
-                             struct v4l2_dbg_register *reg)
+                             const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index 2902ba633da637e0d06a0b7bbc653fef877a1fd9..8bd4e0d2ea03fffdcd662a5e06042da44d21e7cc 100644 (file)
@@ -641,7 +641,7 @@ static int mt9m111_g_register(struct v4l2_subdev *sd,
 }
 
 static int mt9m111_s_register(struct v4l2_subdev *sd,
-                             struct v4l2_dbg_register *reg)
+                             const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index d80d044ebf157d7b21c0361af2dad3a1414e0a2e..26a15b87a9a25be5b9ab1283da80c5dbec22c5f6 100644 (file)
@@ -430,7 +430,7 @@ static int mt9t031_g_register(struct v4l2_subdev *sd,
 }
 
 static int mt9t031_s_register(struct v4l2_subdev *sd,
-                             struct v4l2_dbg_register *reg)
+                             const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index 188e29b032733ab10f11620b97c329af3f6abda2..a7256b732804189af09a2f7f0356dedef914ec0e 100644 (file)
@@ -766,7 +766,7 @@ static int mt9t112_g_register(struct v4l2_subdev *sd,
 }
 
 static int mt9t112_s_register(struct v4l2_subdev *sd,
-                             struct v4l2_dbg_register *reg)
+                             const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
        int ret;
index 53eaf899d3b6d4b81123dac5701b61b2a8c866ba..a295e598486f71f40b57b77aaf98ebd7d7941501 100644 (file)
@@ -497,7 +497,7 @@ static int mt9v022_g_register(struct v4l2_subdev *sd,
 }
 
 static int mt9v022_s_register(struct v4l2_subdev *sd,
-                             struct v4l2_dbg_register *reg)
+                             const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index 0f520f693b6ecac4350eb5bd393e6e76277f0561..e3168424f9ba5350d51c696e3a0d4714f94626ca 100644 (file)
@@ -756,7 +756,7 @@ static int ov2640_g_register(struct v4l2_subdev *sd,
 }
 
 static int ov2640_s_register(struct v4l2_subdev *sd,
-                            struct v4l2_dbg_register *reg)
+                            const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index 9d53309619d2f6f2680a3dcb638baecdbf35cae4..9aa56de69eed49e1ecb746e27998611f7efdd1d2 100644 (file)
@@ -708,7 +708,7 @@ static int ov5642_get_register(struct v4l2_subdev *sd, struct v4l2_dbg_register
        return ret;
 }
 
-static int ov5642_set_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *reg)
+static int ov5642_set_register(struct v4l2_subdev *sd, const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index dbe4f564e6b2134ed59a8ddb9552d7818715e1ac..991202d4bbaec251ce6b93d48aabc2b652fcb196 100644 (file)
@@ -421,7 +421,7 @@ static int ov6650_get_register(struct v4l2_subdev *sd,
 }
 
 static int ov6650_set_register(struct v4l2_subdev *sd,
-                               struct v4l2_dbg_register *reg)
+                               const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index fbeb5b2f3ae51e5ff7d12bdb810d4b7f85f2450f..713d62e349f67efd7f125929c04f62430e474492 100644 (file)
@@ -652,7 +652,7 @@ static int ov772x_g_register(struct v4l2_subdev *sd,
 }
 
 static int ov772x_s_register(struct v4l2_subdev *sd,
-                            struct v4l2_dbg_register *reg)
+                            const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index 05993041be31ace50ea5e89bad9ff5d7126ab2b5..20ca62d371c165ebbb7da2a68fd11ef80ab8578e 100644 (file)
@@ -322,7 +322,7 @@ static int ov9640_get_register(struct v4l2_subdev *sd,
 }
 
 static int ov9640_set_register(struct v4l2_subdev *sd,
-                               struct v4l2_dbg_register *reg)
+                               const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index 2f236da8016573d86de01330719beaa51dd3586c..012bd62711242a03b061e8e387d648532ae8c6e4 100644 (file)
@@ -835,7 +835,7 @@ static int ov9740_get_register(struct v4l2_subdev *sd,
 }
 
 static int ov9740_set_register(struct v4l2_subdev *sd,
-                              struct v4l2_dbg_register *reg)
+                              const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index 5c92679bfefbf12cc1b0b021c6b9563805c8d9c6..1f9ec3b06b4e7946f2befc1f71115fdd2771d891 100644 (file)
@@ -1161,7 +1161,7 @@ static int rj54n1_g_register(struct v4l2_subdev *sd,
 }
 
 static int rj54n1_s_register(struct v4l2_subdev *sd,
-                            struct v4l2_dbg_register *reg)
+                            const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index 7d2074601881a7e25759802f2624db4d407a3402..bad90b16a6dd2f8117c22852d5140d9f4f95a22c 100644 (file)
@@ -554,7 +554,7 @@ static int tw9910_g_register(struct v4l2_subdev *sd,
 }
 
 static int tw9910_s_register(struct v4l2_subdev *sd,
-                            struct v4l2_dbg_register *reg)
+                            const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index 3ca60c7cd95f759cb2481a50e5374575b1513695..c4339556a2eae8cf09d187172d274c42aee3c1f0 100644 (file)
@@ -245,7 +245,7 @@ static int ths7303_g_register(struct v4l2_subdev *sd,
 }
 
 static int ths7303_s_register(struct v4l2_subdev *sd,
-                             struct v4l2_dbg_register *reg)
+                             const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index 5967e1a0c809ebd2e34195f4de5cc7d1f7f45b8a..485159a3c0b72f1739a7cd12feab3d6453910a1d 100644 (file)
@@ -1067,7 +1067,7 @@ static int tvp5150_g_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *
        return 0;
 }
 
-static int tvp5150_s_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *reg)
+static int tvp5150_s_register(struct v4l2_subdev *sd, const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index 7406de9b45dbb27361c3249f4986d14a222879f7..027809cca5f5be7ad74954cffaff7a0ccc2b5d2c 100644 (file)
@@ -768,7 +768,7 @@ static int tvp7002_g_register(struct v4l2_subdev *sd,
  * -EPERM if call not allowed.
  */
 static int tvp7002_s_register(struct v4l2_subdev *sd,
-                                               struct v4l2_dbg_register *reg)
+                                               const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index d15cfd944e57a12d82aef09a43c465bb54b13ef9..f0a09214c519105bf4cbfea87f2ca6937dd88374 100644 (file)
@@ -175,7 +175,7 @@ static int upd64031a_g_register(struct v4l2_subdev *sd, struct v4l2_dbg_register
        return 0;
 }
 
-static int upd64031a_s_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *reg)
+static int upd64031a_s_register(struct v4l2_subdev *sd, const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index 75d6acc6201844964b54e7cce273c73ed9a28532..343e0215f74ce6dedd095ad7300e64ec69e7a791 100644 (file)
@@ -133,7 +133,7 @@ static int upd64083_g_register(struct v4l2_subdev *sd, struct v4l2_dbg_register
        return 0;
 }
 
-static int upd64083_s_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *reg)
+static int upd64083_s_register(struct v4l2_subdev *sd, const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index 9ac1b8c3a837c4c0a0e33c321b7978785ea51843..f366fad6269e6f2001be0372fcf3ebcfc7791d59 100644 (file)
@@ -748,7 +748,7 @@ static int vs6624_g_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *r
        return 0;
 }
 
-static int vs6624_s_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *reg)
+static int vs6624_s_register(struct v4l2_subdev *sd, const struct v4l2_dbg_register *reg)
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
 
index 4b9a256f506efa0b596f9ab8052bdf95bb68c9ab..e33a2d2f81a877244806fab9d45b6da886c20241 100644 (file)
@@ -1945,7 +1945,7 @@ static int bttv_g_register(struct file *file, void *f,
 }
 
 static int bttv_s_register(struct file *file, void *f,
-                                       struct v4l2_dbg_register *reg)
+                                       const struct v4l2_dbg_register *reg)
 {
        struct bttv_fh *fh = f;
        struct bttv *btv = fh->btv;
@@ -1961,8 +1961,7 @@ static int bttv_s_register(struct file *file, void *f,
        }
 
        /* bt848 has a 12-bit register space */
-       reg->reg &= 0xfff;
-       btwrite(reg->val, reg->reg);
+       btwrite(reg->val, reg->reg & 0xfff);
 
        return 0;
 }
index c22242bc10df043846fe4b423a92d146494d0c07..38b1d64ffc27670a29078683f0630fa4031a6402 100644 (file)
@@ -1266,7 +1266,7 @@ static int cx18_av_g_register(struct v4l2_subdev *sd,
 }
 
 static int cx18_av_s_register(struct v4l2_subdev *sd,
-                             struct v4l2_dbg_register *reg)
+                             const struct v4l2_dbg_register *reg)
 {
        struct cx18 *cx = v4l2_get_subdevdata(sd);
 
index 254c50fabd736f1faf7ec55f24f6f2aa39e34a0a..7dbd5a9451ed71522528c17c19f13f797bb53448 100644 (file)
@@ -415,42 +415,34 @@ static int cx18_g_chip_ident(struct file *file, void *fh,
 }
 
 #ifdef CONFIG_VIDEO_ADV_DEBUG
-static int cx18_cxc(struct cx18 *cx, unsigned int cmd, void *arg)
-{
-       struct v4l2_dbg_register *regs = arg;
-
-       if (!capable(CAP_SYS_ADMIN))
-               return -EPERM;
-       if (regs->reg >= CX18_MEM_OFFSET + CX18_MEM_SIZE)
-               return -EINVAL;
-
-       regs->size = 4;
-       if (cmd == VIDIOC_DBG_S_REGISTER)
-               cx18_write_enc(cx, regs->val, regs->reg);
-       else
-               regs->val = cx18_read_enc(cx, regs->reg);
-       return 0;
-}
-
 static int cx18_g_register(struct file *file, void *fh,
                                struct v4l2_dbg_register *reg)
 {
        struct cx18 *cx = fh2id(fh)->cx;
 
-       if (v4l2_chip_match_host(&reg->match))
-               return cx18_cxc(cx, VIDIOC_DBG_G_REGISTER, reg);
+       if (v4l2_chip_match_host(&reg->match)) {
+               if (reg->reg >= CX18_MEM_OFFSET + CX18_MEM_SIZE)
+                       return -EINVAL;
+               reg->size = 4;
+               reg->val = cx18_read_enc(cx, reg->reg);
+               return 0;
+       }
        /* FIXME - errors shouldn't be ignored */
        cx18_call_all(cx, core, g_register, reg);
        return 0;
 }
 
 static int cx18_s_register(struct file *file, void *fh,
-                               struct v4l2_dbg_register *reg)
+                               const struct v4l2_dbg_register *reg)
 {
        struct cx18 *cx = fh2id(fh)->cx;
 
-       if (v4l2_chip_match_host(&reg->match))
-               return cx18_cxc(cx, VIDIOC_DBG_S_REGISTER, reg);
+       if (v4l2_chip_match_host(&reg->match)) {
+               if (reg->reg >= CX18_MEM_OFFSET + CX18_MEM_SIZE)
+                       return -EINVAL;
+               cx18_write_enc(cx, reg->val, reg->reg);
+               return 0;
+       }
        /* FIXME - errors shouldn't be ignored */
        cx18_call_all(cx, core, s_register, reg);
        return 0;
index ea9a614f3bbf713c9b485043991e75656e2b9fdb..acdb6d58db5844494b6c47cbf861b15acf70937a 100644 (file)
@@ -158,18 +158,17 @@ int cx23885_g_register(struct file *file, void *fh,
 }
 
 static int cx23885_s_host_register(struct cx23885_dev *dev,
-                                  struct v4l2_dbg_register *reg)
+                                  const struct v4l2_dbg_register *reg)
 {
        if ((reg->reg & 0x3) != 0 || reg->reg >= pci_resource_len(dev->pci, 0))
                return -EINVAL;
 
-       reg->size = 4;
        cx_write(reg->reg, reg->val);
        return 0;
 }
 
 static int cx23417_s_register(struct cx23885_dev *dev,
-                             struct v4l2_dbg_register *reg)
+                             const struct v4l2_dbg_register *reg)
 {
        if (dev->v4l_device == NULL)
                return -EINVAL;
@@ -179,13 +178,11 @@ static int cx23417_s_register(struct cx23885_dev *dev,
 
        if (mc417_register_write(dev, (u16) reg->reg, (u32) reg->val))
                return -EINVAL; /* V4L2 spec, but -EREMOTEIO really */
-
-       reg->size = 4;
        return 0;
 }
 
 int cx23885_s_register(struct file *file, void *fh,
-                      struct v4l2_dbg_register *reg)
+                      const struct v4l2_dbg_register *reg)
 {
        struct cx23885_dev *dev = ((struct cx23885_fh *)fh)->dev;
 
index 315be0ca5a0405045e48053b3784de973a0ddfca..a6080964a9eec3c366e40e846d6a74fe5507e056 100644 (file)
@@ -33,7 +33,7 @@ int cx23885_g_register(struct file *file, void *fh,
 
 
 int cx23885_s_register(struct file *file, void *fh,
-                      struct v4l2_dbg_register *reg);
+                      const struct v4l2_dbg_register *reg);
 
 #endif
 #endif
index d51eed051d59daa68fbecbae9533306d219ebc2b..fa672fe410793568990bf36d0802e9c646932ff2 100644 (file)
@@ -1124,7 +1124,7 @@ static int cx23888_ir_g_register(struct v4l2_subdev *sd,
 }
 
 static int cx23888_ir_s_register(struct v4l2_subdev *sd,
-                                struct v4l2_dbg_register *reg)
+                                const struct v4l2_dbg_register *reg)
 {
        struct cx23888_ir_state *state = to_state(sd);
        u32 addr = CX23888_IR_REG_BASE + (u32) reg->reg;
index 93c7d576199b5bdc96f00be207ea51870edc194b..1465591d000cf94a74e98b61f356e1fc091e8ef6 100644 (file)
@@ -1364,7 +1364,7 @@ int cx25821_vidioc_g_register(struct file *file, void *fh,
 }
 
 int cx25821_vidioc_s_register(struct file *file, void *fh,
-                     struct v4l2_dbg_register *reg)
+                     const struct v4l2_dbg_register *reg)
 {
        struct cx25821_dev *dev = ((struct cx25821_fh *)fh)->dev;
 
index 239f63c12f3330213ed5de38a5a24417530e1980..11ba5eb93677a87bce50b2c3103a9814c0026076 100644 (file)
@@ -155,7 +155,7 @@ extern int cx25821_vidioc_s_frequency(struct file *file, void *priv,
 extern int cx25821_vidioc_g_register(struct file *file, void *fh,
                                     struct v4l2_dbg_register *reg);
 extern int cx25821_vidioc_s_register(struct file *file, void *fh,
-                                    struct v4l2_dbg_register *reg);
+                                    const struct v4l2_dbg_register *reg);
 extern int cx25821_vidioc_g_tuner(struct file *file, void *priv,
                                  struct v4l2_tuner *t);
 extern int cx25821_vidioc_s_tuner(struct file *file, void *priv,
index ead5be58303d33beebd5ca8ae410d4899c333879..e3f6181d1044846c8aa87e3e23525328a66b26d8 100644 (file)
@@ -1380,7 +1380,7 @@ static int vidioc_g_register (struct file *file, void *fh,
 }
 
 static int vidioc_s_register (struct file *file, void *fh,
-                               struct v4l2_dbg_register *reg)
+                               const struct v4l2_dbg_register *reg)
 {
        struct cx88_core *core = ((struct cx8800_fh*)fh)->dev->core;
 
index 861e4629c7fc1a6c7231fca25533b4951f4234f6..50379b26768b87523321b4907db62198549bf460 100644 (file)
@@ -748,12 +748,15 @@ static int ivtv_g_register(struct file *file, void *fh, struct v4l2_dbg_register
        return 0;
 }
 
-static int ivtv_s_register(struct file *file, void *fh, struct v4l2_dbg_register *reg)
+static int ivtv_s_register(struct file *file, void *fh, const struct v4l2_dbg_register *reg)
 {
        struct ivtv *itv = fh2id(fh)->itv;
 
-       if (v4l2_chip_match_host(&reg->match))
-               return ivtv_itvc(itv, false, reg->reg, &reg->val);
+       if (v4l2_chip_match_host(&reg->match)) {
+               u64 val = reg->val;
+
+               return ivtv_itvc(itv, false, reg->reg, &val);
+       }
        /* TODO: subdev errors should not be ignored, this should become a
           subdev helper function. */
        ivtv_call_all(itv, core, s_register, reg);
index a6c69a4c7fbd3fc3cc140152cd650e67c0847bf9..1363e97ccda4ec8d85b48ad60816d26fede59b8f 100644 (file)
@@ -2300,7 +2300,7 @@ static int vidioc_g_register (struct file *file, void *priv,
 }
 
 static int vidioc_s_register (struct file *file, void *priv,
-                               struct v4l2_dbg_register *reg)
+                               const struct v4l2_dbg_register *reg)
 {
        struct saa7134_fh *fh = priv;
        struct saa7134_dev *dev = fh->dev;
index 9dd044b563e7325f5909526a9d989937b25ec6e8..71e8bead321b25774f5699ac15cae6ec6cff9212 100644 (file)
@@ -680,7 +680,7 @@ static int vidioc_g_register(struct file *file, void *fh, struct v4l2_dbg_regist
        return 0;
 }
 
-static int vidioc_s_register(struct file *file, void *fh, struct v4l2_dbg_register *reg)
+static int vidioc_s_register(struct file *file, void *fh, const struct v4l2_dbg_register *reg)
 {
        struct saa7146_dev *dev = ((struct saa7146_fh *)fh)->dev;
 
@@ -688,7 +688,6 @@ static int vidioc_s_register(struct file *file, void *fh, struct v4l2_dbg_regist
                return -EPERM;
        if (v4l2_chip_match_host(&reg->match)) {
                saa7146_write(dev, reg->reg, reg->val);
-               reg->size = 4;
                return 0;
        }
        return call_all(dev, core, s_register, reg);
index 538de52b9cfd24b2b66c5b8bd8c3831157962aaf..0b74fb2300dda8c74a01f3e1b73f901c47207bfd 100644 (file)
@@ -1313,7 +1313,7 @@ static int saa7164_g_register(struct file *file, void *fh,
 }
 
 static int saa7164_s_register(struct file *file, void *fh,
-                             struct v4l2_dbg_register *reg)
+                             const struct v4l2_dbg_register *reg)
 {
        struct saa7164_port *port = ((struct saa7164_encoder_fh *)fh)->port;
        struct saa7164_dev *dev = port->dev;
index 96f6a4922d0ce3d3d936f327089786898687e63f..0e55b087076fb3d29eb376d60bfff92c72e9ec90 100644 (file)
@@ -890,7 +890,7 @@ static int bcap_dbg_g_register(struct file *file, void *priv,
 }
 
 static int bcap_dbg_s_register(struct file *file, void *priv,
-               struct v4l2_dbg_register *reg)
+               const struct v4l2_dbg_register *reg)
 {
        struct bcap_device *bcap_dev = video_drvdata(file);
 
index bcf0ada3481d2fa976faf171c5fcef1b4e267f94..1802f11e939f22a1ff9ca56fc42c5ff91cfffc8f 100644 (file)
@@ -1597,7 +1597,7 @@ static int vpbe_display_g_register(struct file *file, void *priv,
 }
 
 static int vpbe_display_s_register(struct file *file, void *priv,
-                       struct v4l2_dbg_register *reg)
+                       const struct v4l2_dbg_register *reg)
 {
        return 0;
 }
index 00b7f9c5ac04955499f7b75480768bd34b3bf0fd..5f98df1fc8a0f315665e8865505d8554b88e3ce3 100644 (file)
@@ -1924,7 +1924,8 @@ static int vpif_dbg_g_register(struct file *file, void *priv,
  * Returns zero or -EINVAL if write operations fails.
  */
 static int vpif_dbg_s_register(struct file *file, void *priv,
-               struct v4l2_dbg_register *reg){
+               const struct v4l2_dbg_register *reg)
+{
        struct vpif_fh *fh = priv;
        struct channel_obj *ch = fh->channel;
 
index f1dff9ec1ea25fd1479c41f44fa3f2c537ea8896..1b3fb5ca2ad47f8b4c339846e9e6dc5dc533293d 100644 (file)
@@ -1568,7 +1568,8 @@ static int vpif_dbg_g_register(struct file *file, void *priv,
  * Returns zero or -EINVAL if write operations fails.
  */
 static int vpif_dbg_s_register(struct file *file, void *priv,
-               struct v4l2_dbg_register *reg){
+               const struct v4l2_dbg_register *reg)
+{
        struct vpif_fh *fh = priv;
        struct channel_obj *ch = fh->channel;
 
index 76a862318a7e8129c9f20aa3bd67c45666462f00..64ab91edfb812c3f0a243201399be421c3230f51 100644 (file)
@@ -1445,7 +1445,7 @@ static int mcam_vidioc_g_register(struct file *file, void *priv,
 }
 
 static int mcam_vidioc_s_register(struct file *file, void *priv,
-               struct v4l2_dbg_register *reg)
+               const struct v4l2_dbg_register *reg)
 {
        struct mcam_camera *cam = priv;
 
index 8e3b95a6c29e91dd2c668fd116082a6e556e793d..7d0235069c87ca61d5c662e69a3e9b8ddf572f15 100644 (file)
@@ -1266,7 +1266,7 @@ static int sh_vou_g_register(struct file *file, void *fh,
 }
 
 static int sh_vou_s_register(struct file *file, void *fh,
-                                struct v4l2_dbg_register *reg)
+                                const struct v4l2_dbg_register *reg)
 {
        struct sh_vou_device *vou_dev = video_drvdata(file);
 
index 3592968026cdc4e3197aa573c2c977c47e298580..bf55abfb7cbcd1f80acf26481963f9a00fb3f549 100644 (file)
@@ -1042,7 +1042,7 @@ static int soc_camera_g_register(struct file *file, void *fh,
 }
 
 static int soc_camera_s_register(struct file *file, void *fh,
-                                struct v4l2_dbg_register *reg)
+                                const struct v4l2_dbg_register *reg)
 {
        struct soc_camera_device *icd = file->private_data;
        struct v4l2_subdev *sd = soc_camera_to_subdev(icd);
index e9dd01c4b6ed95930ffd6ef9679d1f769011e73b..79f1d510cc2ec82b225cf2ea5d1766cd8ff7d31b 100644 (file)
@@ -1754,7 +1754,7 @@ static int vidioc_g_register(struct file *file, void *priv,
 }
 
 static int vidioc_s_register(struct file *file, void *priv,
-                            struct v4l2_dbg_register *reg)
+                            const struct v4l2_dbg_register *reg)
 {
        struct au0828_fh *fh = priv;
        struct au0828_dev *dev = fh->dev;
index 4cff2f4075e19a25176298dc650deca1828570e9..cd221474e1b9df06dd62779aebeb8653e3e00df9 100644 (file)
@@ -1404,7 +1404,7 @@ int cx231xx_g_register(struct file *file, void *priv,
 }
 
 int cx231xx_s_register(struct file *file, void *priv,
-                            struct v4l2_dbg_register *reg)
+                            const struct v4l2_dbg_register *reg)
 {
        struct cx231xx_fh *fh = priv;
        struct cx231xx *dev = fh->dev;
index 2f9faee539cb9074b0435b7ee3b27e0ca49f2726..5ad9fd61d3c887953e0512e217f1388c989dcf0b 100644 (file)
@@ -949,7 +949,7 @@ int cx231xx_g_chip_ident(struct file *file, void *fh, struct v4l2_dbg_chip_ident
 int cx231xx_g_register(struct file *file, void *priv,
                             struct v4l2_dbg_register *reg);
 int cx231xx_s_register(struct file *file, void *priv,
-                            struct v4l2_dbg_register *reg);
+                            const struct v4l2_dbg_register *reg);
 
 /* Provided by cx231xx-cards.c */
 extern void cx231xx_pre_card_setup(struct cx231xx *dev);
index 96d84c22ef0004db11a337e0b1e6e7ef2a6bde90..d09b5c03c723042766913583fc9d47c82b22e004 100644 (file)
@@ -1323,7 +1323,7 @@ static int vidioc_g_register(struct file *file, void *priv,
 }
 
 static int vidioc_s_register(struct file *file, void *priv,
-                            struct v4l2_dbg_register *reg)
+                            const struct v4l2_dbg_register *reg)
 {
        struct em28xx_fh      *fh  = priv;
        struct em28xx         *dev = fh->dev;
index 924e032461d0d0693937334d082ef62c883591db..5995ec4de6bc633f62f4a3f98d7ce273dc2e4e8f 100644 (file)
@@ -1039,7 +1039,7 @@ static int vidioc_g_register(struct file *file, void *priv,
 }
 
 static int vidioc_s_register(struct file *file, void *priv,
-                       struct v4l2_dbg_register *reg)
+                       const struct v4l2_dbg_register *reg)
 {
        struct gspca_dev *gspca_dev = video_drvdata(file);
 
index c3af3212d51e38098bf0777825e8bbc13f633e00..ef8efeb8007072a66ed96488deddf01be82a04f2 100644 (file)
@@ -74,8 +74,10 @@ typedef int (*cam_get_jpg_op) (struct gspca_dev *,
                                struct v4l2_jpegcompression *);
 typedef int (*cam_set_jpg_op) (struct gspca_dev *,
                                const struct v4l2_jpegcompression *);
-typedef int (*cam_reg_op) (struct gspca_dev *,
+typedef int (*cam_get_reg_op) (struct gspca_dev *,
                                struct v4l2_dbg_register *);
+typedef int (*cam_set_reg_op) (struct gspca_dev *,
+                               const struct v4l2_dbg_register *);
 typedef int (*cam_ident_op) (struct gspca_dev *,
                                struct v4l2_dbg_chip_ident *);
 typedef void (*cam_streamparm_op) (struct gspca_dev *,
@@ -108,8 +110,8 @@ struct sd_desc {
        cam_streamparm_op get_streamparm;
        cam_streamparm_op set_streamparm;
 #ifdef CONFIG_VIDEO_ADV_DEBUG
-       cam_reg_op set_register;
-       cam_reg_op get_register;
+       cam_set_reg_op set_register;
+       cam_get_reg_op get_register;
 #endif
        cam_ident_op get_chip_ident;
 #if IS_ENABLED(CONFIG_INPUT)
index 682ef3340911ee4f126a6737b610f886dc44e7cf..6008c8d546a32e925ed73ba346fb4233510822a4 100644 (file)
@@ -840,7 +840,7 @@ static void sd_pkt_scan(struct gspca_dev *gspca_dev,
 
 #ifdef CONFIG_VIDEO_ADV_DEBUG
 static int sd_dbg_s_register(struct gspca_dev *gspca_dev,
-                       struct v4l2_dbg_register *reg)
+                       const struct v4l2_dbg_register *reg)
 {
        u8 index;
        u8 value;
index 4ec544f4a845fdc034bc4e83307c98f671704811..ead9a1f5851318d31abf985dfc5bb653e6b28ce4 100644 (file)
@@ -1598,7 +1598,7 @@ static int sd_dbg_g_register(struct gspca_dev *gspca_dev,
 }
 
 static int sd_dbg_s_register(struct gspca_dev *gspca_dev,
-                       struct v4l2_dbg_register *reg)
+                       const struct v4l2_dbg_register *reg)
 {
        struct sd *sd = (struct sd *) gspca_dev;
 
index 299751a8b06bc323bb347217235bf6486b2e6488..e11267f35d87c407a0efb17b16940306f7e47a03 100644 (file)
@@ -5165,7 +5165,7 @@ static int pvr2_hdw_get_eeprom_addr(struct pvr2_hdw *hdw)
 
 
 int pvr2_hdw_register_access(struct pvr2_hdw *hdw,
-                            struct v4l2_dbg_match *match, u64 reg_id,
+                            const struct v4l2_dbg_match *match, u64 reg_id,
                             int setFl, u64 *val_ptr)
 {
 #ifdef CONFIG_VIDEO_ADV_DEBUG
index 8060fc666eeb3c417ec5cde225b6c385d013cccc..91bae930cd794de38cccdc32610343a347624a70 100644 (file)
@@ -240,7 +240,7 @@ void pvr2_hdw_v4l_store_minor_number(struct pvr2_hdw *,
    setFl   - true to set the register, false to read it
    val_ptr - storage location for source / result. */
 int pvr2_hdw_register_access(struct pvr2_hdw *,
-                            struct v4l2_dbg_match *match, u64 reg_id,
+                            const struct v4l2_dbg_match *match, u64 reg_id,
                             int setFl, u64 *val_ptr);
 
 /* The following entry points are all lower level things you normally don't
index a7774e3836d4b01f2b47096c766cfb700296bbae..a8a65fa57930c1a0dd1e7808a22ffa0a015726a2 100644 (file)
@@ -815,7 +815,7 @@ static int pvr2_g_register(struct file *file, void *priv, struct v4l2_dbg_regist
        return ret;
 }
 
-static int pvr2_s_register(struct file *file, void *priv, struct v4l2_dbg_register *req)
+static int pvr2_s_register(struct file *file, void *priv, const struct v4l2_dbg_register *req)
 {
        struct pvr2_v4l2_fh *fh = file->private_data;
        struct pvr2_hdw *hdw = fh->channel.mc_head->hdw;
index f6a6cdc8b28847bfb5c94d4e2cbc2911c205aeaf..c4c723b92f6e5078d2d2ab5f0343f3a6d05910e6 100644 (file)
@@ -500,7 +500,7 @@ static int vidioc_g_register(struct file *file, void *priv,
 }
 
 static int vidioc_s_register(struct file *file, void *priv,
-                            struct v4l2_dbg_register *reg)
+                            const struct v4l2_dbg_register *reg)
 {
        struct stk1160 *dev = video_drvdata(file);
 
index 041f19e1b05b47a43f1e823e3145cfc9576d8da5..d34c2afe2c24527f04af105204b5492d7fe1b9a3 100644 (file)
@@ -483,7 +483,7 @@ static int vidioc_g_register(struct file *file, void *priv,
 }
 
 static int vidioc_s_register(struct file *file, void *priv,
-                               struct v4l2_dbg_register *reg)
+                               const struct v4l2_dbg_register *reg)
 {
        struct usb_usbvision *usbvision = video_drvdata(file);
        int err_code;
index 29c751d86061d400b0faf9a164d616457c92ee05..936ca25bd5be7b7fbff212487046bea03c698fa8 100644 (file)
@@ -1813,7 +1813,7 @@ static int v4l_dbg_s_register(const struct v4l2_ioctl_ops *ops,
                                struct file *file, void *fh, void *arg)
 {
 #ifdef CONFIG_VIDEO_ADV_DEBUG
-       struct v4l2_dbg_register *p = arg;
+       const struct v4l2_dbg_register *p = arg;
 
        if (!capable(CAP_SYS_ADMIN))
                return -EPERM;
index ee7b7c67c87ae3c30ffd70c6904c71bee8d95699..a4175cda4fc1bba0edf34d90651c01b21945b84a 100644 (file)
@@ -242,7 +242,7 @@ struct v4l2_ioctl_ops {
        int (*vidioc_g_register)       (struct file *file, void *fh,
                                        struct v4l2_dbg_register *reg);
        int (*vidioc_s_register)       (struct file *file, void *fh,
-                                       struct v4l2_dbg_register *reg);
+                                       const struct v4l2_dbg_register *reg);
 #endif
        int (*vidioc_g_chip_ident)     (struct file *file, void *fh,
                                        struct v4l2_dbg_chip_ident *chip);
index 79784fc8f9e9f272f27fd7a2b2d8eb591583ffae..8158a0810fdc1176ba26bf73ec21afd8fe4e13c5 100644 (file)
@@ -165,7 +165,7 @@ struct v4l2_subdev_core_ops {
        long (*ioctl)(struct v4l2_subdev *sd, unsigned int cmd, void *arg);
 #ifdef CONFIG_VIDEO_ADV_DEBUG
        int (*g_register)(struct v4l2_subdev *sd, struct v4l2_dbg_register *reg);
-       int (*s_register)(struct v4l2_subdev *sd, struct v4l2_dbg_register *reg);
+       int (*s_register)(struct v4l2_subdev *sd, const struct v4l2_dbg_register *reg);
 #endif
        int (*s_power)(struct v4l2_subdev *sd, int on);
        int (*interrupt_service_routine)(struct v4l2_subdev *sd,