diff --git a/Documentation/media/uapi/cec/cec-ioc-adap-g-caps.rst b/Documentation/media/uapi/cec/cec-ioc-adap-g-caps.rst
index 8d9d557..2ca9199 100644
--- a/Documentation/media/uapi/cec/cec-ioc-adap-g-caps.rst
+++ b/Documentation/media/uapi/cec/cec-ioc-adap-g-caps.rst
@@ -52,7 +52,7 @@
 
        -  char
 
-       -  ``driver\[32\]``
+       -  ``driver[32]``
 
        -  The name of the cec adapter driver.
 
@@ -60,7 +60,7 @@
 
        -  char
 
-       -  ``name\[32\]``
+       -  ``name[32]``
 
        -  The name of this CEC adapter. The combination ``driver`` and
 	  ``name`` must be unique.
diff --git a/Documentation/media/uapi/cec/cec-ioc-adap-g-log-addrs.rst b/Documentation/media/uapi/cec/cec-ioc-adap-g-log-addrs.rst
index c52b888..7d7a3b4 100644
--- a/Documentation/media/uapi/cec/cec-ioc-adap-g-log-addrs.rst
+++ b/Documentation/media/uapi/cec/cec-ioc-adap-g-log-addrs.rst
@@ -70,7 +70,7 @@
        -  The actual logical addresses that were claimed. This is set by the
 	  driver. If no logical address could be claimed, then it is set to
 	  ``CEC_LOG_ADDR_INVALID``. If this adapter is Unregistered, then
-	  ``log_addr\[0\]`` is set to 0xf and all others to
+	  ``log_addr[0]`` is set to 0xf and all others to
 	  ``CEC_LOG_ADDR_INVALID``.
 
     -  .. row 2
@@ -138,7 +138,7 @@
 
        -  char
 
-       -  ``osd_name``\ \[15\]
+       -  ``osd_name``\ [15]
 
        -  The On-Screen Display name as is returned by the
 	  ``CEC_MSG_SET_OSD_NAME`` message.
@@ -178,7 +178,7 @@
 
        -  __u8
 
-       -  ``features`` [CEC_MAX_LOG_ADDRS]\[12\]
+       -  ``features`` [CEC_MAX_LOG_ADDRS][12]
 
        -  Features for each logical address. Used to implement the
 	  ``CEC_MSG_REPORT_FEATURES`` message. The 12 bytes include both the
diff --git a/Documentation/media/uapi/cec/cec-ioc-receive.rst b/Documentation/media/uapi/cec/cec-ioc-receive.rst
index c315efc..a327d49 100644
--- a/Documentation/media/uapi/cec/cec-ioc-receive.rst
+++ b/Documentation/media/uapi/cec/cec-ioc-receive.rst
@@ -133,7 +133,7 @@
 
        -  __u8
 
-       -  ``msg``\ \[16\]
+       -  ``msg``\ [16]
 
        -  The message payload. For :ref:`CEC_TRANSMIT` this is filled in by the
 	  application. The driver will fill this in for :ref:`CEC_RECEIVE` and
diff --git a/Documentation/media/uapi/dvb/ca_data_types.rst b/Documentation/media/uapi/dvb/ca_data_types.rst
index 8a776c8..025f910 100644
--- a/Documentation/media/uapi/dvb/ca_data_types.rst
+++ b/Documentation/media/uapi/dvb/ca_data_types.rst
@@ -77,7 +77,7 @@
 	unsigned int index;
 	unsigned int type;
 	unsigned int length;
-	unsigned char msg\[256\];
+	unsigned char msg[256];
     } ca_msg_t;
 
 
@@ -92,7 +92,7 @@
     typedef struct ca_descr {
 	unsigned int index;
 	unsigned int parity;
-	unsigned char cw\[8\];
+	unsigned char cw[8];
     } ca_descr_t;
 
 
diff --git a/Documentation/media/uapi/dvb/dmx-get-pes-pids.rst b/Documentation/media/uapi/dvb/dmx-get-pes-pids.rst
index dcca37c..ba5d30c 100644
--- a/Documentation/media/uapi/dvb/dmx-get-pes-pids.rst
+++ b/Documentation/media/uapi/dvb/dmx-get-pes-pids.rst
@@ -15,7 +15,7 @@
 Synopsis
 --------
 
-.. cpp:function:: int ioctl(fd, int request = DMX_GET_PES_PIDS, __u16\[5\])
+.. cpp:function:: int ioctl(fd, int request = DMX_GET_PES_PIDS, __u16[5])
 
 
 Arguments
@@ -40,7 +40,7 @@
 
     -  .. row 3
 
-       -  __u16\[5\]
+       -  __u16[5]
 
        -  Undocumented.
 
diff --git a/Documentation/media/uapi/dvb/dtv-property.rst b/Documentation/media/uapi/dvb/dtv-property.rst
index 219111e..5073a49 100644
--- a/Documentation/media/uapi/dvb/dtv-property.rst
+++ b/Documentation/media/uapi/dvb/dtv-property.rst
@@ -13,14 +13,14 @@
 
     struct dtv_property {
 	__u32 cmd;
-	__u32 reserved\[3\];
+	__u32 reserved[3];
 	union {
 	    __u32 data;
 	    struct dtv_fe_stats st;
 	    struct {
-		__u8 data\[32\];
+		__u8 data[32];
 		__u32 len;
-		__u32 reserved1\[3\];
+		__u32 reserved1[3];
 		void *reserved2;
 	    } buffer;
 	} u;
diff --git a/Documentation/media/uapi/dvb/examples.rst b/Documentation/media/uapi/dvb/examples.rst
index e23ad9f..bf0a861 100644
--- a/Documentation/media/uapi/dvb/examples.rst
+++ b/Documentation/media/uapi/dvb/examples.rst
@@ -87,7 +87,7 @@
 	 struct secCmdSequence scmds;
 	 struct dmx_pes_filter_params pesFilterParams;
 	 FrontendParameters frp;
-	 struct pollfd pfd\[1\];
+	 struct pollfd pfd[1];
 	 FrontendEvent event;
 	 int demux1, demux2, demux3, front;
 
@@ -143,7 +143,7 @@
 	 scmd.u.diseqc.addr=0x10;
 	 scmd.u.diseqc.cmd=0x38;
 	 scmd.u.diseqc.numParams=1;
-	 scmd.u.diseqc.params\[0\] = 0xF0 | ((diseqc * 4) & 0x0F) |
+	 scmd.u.diseqc.params[0] = 0xF0 | ((diseqc * 4) & 0x0F) |
 	     (scmds.continuousTone == SEC_TONE_ON ? 1 : 0) |
 	     (scmds.voltage==SEC_VOLTAGE_18 ? 2 : 0);
 
@@ -168,11 +168,11 @@
 	     return -1;
 	 }
 
-	 pfd\[0\].fd = front;
-	 pfd\[0\].events = POLLIN;
+	 pfd[0].fd = front;
+	 pfd[0].events = POLLIN;
 
 	 if (poll(pfd,1,3000)){
-	     if (pfd\[0\].revents & POLLIN){
+	     if (pfd[0].revents & POLLIN){
 		 printf("Getting QPSK event\\n");
 		 if ( ioctl(front, FE_GET_EVENT, &event)
 
@@ -324,7 +324,7 @@
 	 int written;
 	 uint8_t buf[BUFFY];
 	 uint64_t length;
-	 struct pollfd pfd\[1\];
+	 struct pollfd pfd[1];
 	 int dvr, dvr_out;
 
 	 /* open dvr device */
@@ -351,13 +351,13 @@
 	     return -1;
 	 }
 
-	 pfd\[0\].fd = dvr;
-	 pfd\[0\].events = POLLIN;
+	 pfd[0].fd = dvr;
+	 pfd[0].events = POLLIN;
 
 	 /* poll for dvr data and write to file */
 	 while (length < MAX_LENGTH ) {
 	     if (poll(pfd,1,1)){
-		 if (pfd\[0\].revents & POLLIN){
+		 if (pfd[0].revents & POLLIN){
 		     len = read(dvr, buf, BUFFY);
 		     if (len < 0){
 			 perror("recording");
diff --git a/Documentation/media/uapi/dvb/fe-diseqc-recv-slave-reply.rst b/Documentation/media/uapi/dvb/fe-diseqc-recv-slave-reply.rst
index 0c356fc..7bd02ac 100644
--- a/Documentation/media/uapi/dvb/fe-diseqc-recv-slave-reply.rst
+++ b/Documentation/media/uapi/dvb/fe-diseqc-recv-slave-reply.rst
@@ -52,9 +52,9 @@
 
        -  uint8_t
 
-       -  msg\[4\]
+       -  msg[4]
 
-       -  DiSEqC message (framing, data\[3\])
+       -  DiSEqC message (framing, data[3])
 
     -  .. row 2
 
diff --git a/Documentation/media/uapi/dvb/fe-diseqc-send-master-cmd.rst b/Documentation/media/uapi/dvb/fe-diseqc-send-master-cmd.rst
index a60b8dd..58a5e6a 100644
--- a/Documentation/media/uapi/dvb/fe-diseqc-send-master-cmd.rst
+++ b/Documentation/media/uapi/dvb/fe-diseqc-send-master-cmd.rst
@@ -52,9 +52,9 @@
 
        -  uint8_t
 
-       -  msg\[6\]
+       -  msg[6]
 
-       -  DiSEqC message (framing, address, command, data\[3\])
+       -  DiSEqC message (framing, address, command, data[3])
 
     -  .. row 2
 
diff --git a/Documentation/media/uapi/dvb/fe-get-info.rst b/Documentation/media/uapi/dvb/fe-get-info.rst
index 4176977..bb6c32e 100644
--- a/Documentation/media/uapi/dvb/fe-get-info.rst
+++ b/Documentation/media/uapi/dvb/fe-get-info.rst
@@ -57,7 +57,7 @@
 
        -  char
 
-       -  name\[128\]
+       -  name[128]
 
        -  Name of the frontend
 
diff --git a/Documentation/media/uapi/dvb/video_types.rst b/Documentation/media/uapi/dvb/video_types.rst
index d4debb36..671f365 100644
--- a/Documentation/media/uapi/dvb/video_types.rst
+++ b/Documentation/media/uapi/dvb/video_types.rst
@@ -125,7 +125,7 @@
 	    } play;
 
 	    struct {
-		__u32 data\[16\];
+		__u32 data[16];
 	    } raw;
 	};
     };
@@ -352,7 +352,7 @@
      typedef
      struct video_navi_pack {
 	 int length;         /* 0 ... 1024 */
-	 uint8_t data\[1024\];
+	 uint8_t data[1024];
      } video_navi_pack_t;
 
 
diff --git a/Documentation/media/uapi/mediactl/media-ioc-device-info.rst b/Documentation/media/uapi/mediactl/media-ioc-device-info.rst
index e7d9570..467d82c 100644
--- a/Documentation/media/uapi/mediactl/media-ioc-device-info.rst
+++ b/Documentation/media/uapi/mediactl/media-ioc-device-info.rst
@@ -52,7 +52,7 @@
 
        -  char
 
-       -  ``driver``\ \[16\]
+       -  ``driver``\ [16]
 
        -  Name of the driver implementing the media API as a NUL-terminated
 	  ASCII string. The driver version is stored in the
@@ -66,7 +66,7 @@
 
        -  char
 
-       -  ``model``\ \[32\]
+       -  ``model``\ [32]
 
        -  Device model name as a NUL-terminated UTF-8 string. The device
 	  version is stored in the ``device_version`` field and is not be
@@ -76,7 +76,7 @@
 
        -  char
 
-       -  ``serial``\ \[40\]
+       -  ``serial``\ [40]
 
        -  Serial number as a NUL-terminated ASCII string.
 
@@ -84,7 +84,7 @@
 
        -  char
 
-       -  ``bus_info``\ \[32\]
+       -  ``bus_info``\ [32]
 
        -  Location of the device in the system as a NUL-terminated ASCII
 	  string. This includes the bus type name (PCI, USB, ...) and a
@@ -120,7 +120,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[31\]
+       -  ``reserved``\ [31]
 
        -  Reserved for future extensions. Drivers and applications must set
 	  this array to zero.
diff --git a/Documentation/media/uapi/mediactl/media-ioc-enum-entities.rst b/Documentation/media/uapi/mediactl/media-ioc-enum-entities.rst
index 181eef6..12d4b25 100644
--- a/Documentation/media/uapi/mediactl/media-ioc-enum-entities.rst
+++ b/Documentation/media/uapi/mediactl/media-ioc-enum-entities.rst
@@ -75,7 +75,7 @@
 
        -  char
 
-       -  ``name``\ \[32\]
+       -  ``name``\ [32]
 
        -
        -
@@ -181,7 +181,7 @@
        -
        -  __u8
 
-       -  ``raw``\ \[184\]
+       -  ``raw``\ [184]
 
        -
        -
diff --git a/Documentation/media/uapi/mediactl/media-ioc-g-topology.rst b/Documentation/media/uapi/mediactl/media-ioc-g-topology.rst
index 6fc564d..2e382cc 100644
--- a/Documentation/media/uapi/mediactl/media-ioc-g-topology.rst
+++ b/Documentation/media/uapi/mediactl/media-ioc-g-topology.rst
@@ -163,7 +163,7 @@
 
        -  char
 
-       -  ``name``\ \[64\]
+       -  ``name``\ [64]
 
        -  Entity name as an UTF-8 NULL-terminated string.
 
@@ -179,7 +179,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[12\]
+       -  ``reserved``\ [12]
 
        -  Reserved for future extensions. Drivers and applications must set
 	  this array to zero.
@@ -221,7 +221,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[9\]
+       -  ``reserved``\ [9]
 
        -  Reserved for future extensions. Drivers and applications must set
 	  this array to zero.
@@ -299,7 +299,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[9\]
+       -  ``reserved``\ [9]
 
        -  Reserved for future extensions. Drivers and applications must set
 	  this array to zero.
@@ -354,7 +354,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[5\]
+       -  ``reserved``\ [5]
 
        -  Reserved for future extensions. Drivers and applications must set
 	  this array to zero.
diff --git a/Documentation/media/uapi/rc/keytable.c.rst b/Documentation/media/uapi/rc/keytable.c.rst
index 5ee6e8c..e6ce1e3f 100644
--- a/Documentation/media/uapi/rc/keytable.c.rst
+++ b/Documentation/media/uapi/rc/keytable.c.rst
@@ -35,16 +35,16 @@
 	    struct parse_key *p;
 
 	    for (p=keynames;p->name!=NULL;p++) {
-		    if (p->value == (unsigned)codes\[1\]) {
-			    printf("scancode 0x%04x = %s (0x%02x)\\n", codes\[0\], p->name, codes\[1\]);
+		    if (p->value == (unsigned)codes[1]) {
+			    printf("scancode 0x%04x = %s (0x%02x)\\n", codes[0], p->name, codes[1]);
 			    return;
 		    }
 	    }
 
-	    if (isprint (codes\[1\]))
-		    printf("scancode %d = '%c' (0x%02x)\\n", codes\[0\], codes\[1\], codes\[1\]);
+	    if (isprint (codes[1]))
+		    printf("scancode %d = '%c' (0x%02x)\\n", codes[0], codes[1], codes[1]);
 	    else
-		    printf("scancode %d = 0x%02x\\n", codes\[0\], codes\[1\]);
+		    printf("scancode %d = 0x%02x\\n", codes[0], codes[1]);
     }
 
     int parse_code(char *string)
@@ -63,7 +63,7 @@
     {
 	    int fd;
 	    unsigned int i, j;
-	    int codes\[2\];
+	    int codes[2];
 
 	    if (argc<2 || argc>4) {
 		    printf ("usage: %s <device> to get table; or\\n"
@@ -72,7 +72,7 @@
 		    return -1;
 	    }
 
-	    if ((fd = open(argv\[1\], O_RDONLY)) < 0) {
+	    if ((fd = open(argv[1], O_RDONLY)) < 0) {
 		    perror("Couldn't open input device");
 		    return(-1);
 	    }
@@ -80,16 +80,16 @@
 	    if (argc==4) {
 		    int value;
 
-		    value=parse_code(argv\[3\]);
+		    value=parse_code(argv[3]);
 
 		    if (value==-1) {
-			    value = strtol(argv\[3\], NULL, 0);
+			    value = strtol(argv[3], NULL, 0);
 			    if (errno)
 				    perror("value");
 		    }
 
-		    codes \[0\] = (unsigned) strtol(argv\[2\], NULL, 0);
-		    codes \[1\] = (unsigned) value;
+		    codes [0] = (unsigned) strtol(argv[2], NULL, 0);
+		    codes [1] = (unsigned) value;
 
 		    if(ioctl(fd, EVIOCSKEYCODE, codes))
 			    perror ("EVIOCSKEYCODE");
@@ -102,9 +102,9 @@
 	    if (argc==3) {
 		    FILE *fin;
 		    int value;
-		    char *scancode, *keycode, s\[2048\];
+		    char *scancode, *keycode, s[2048];
 
-		    fin=fopen(argv\[2\],"r");
+		    fin=fopen(argv[2],"r");
 		    if (fin==NULL) {
 			    perror ("opening keycode file");
 			    return -1;
@@ -113,8 +113,8 @@
 		    /* Clears old table */
 		    for (j = 0; j < 256; j++) {
 			    for (i = 0; i < 256; i++) {
-				    codes\[0\] = (j << 8) | i;
-				    codes\[1\] = KEY_RESERVED;
+				    codes[0] = (j << 8) | i;
+				    codes[1] = KEY_RESERVED;
 				    ioctl(fd, EVIOCSKEYCODE, codes);
 			    }
 		    }
@@ -149,12 +149,12 @@
 					    perror("value");
 			    }
 
-			    codes \[0\] = (unsigned) strtol(scancode, NULL, 0);
-			    codes \[1\] = (unsigned) value;
+			    codes [0] = (unsigned) strtol(scancode, NULL, 0);
+			    codes [1] = (unsigned) value;
 
-			    // printf("\\t%04x=%04x\\n",codes\[0\], codes\[1\]);
+			    // printf("\\t%04x=%04x\\n",codes[0], codes[1]);
 			    if(ioctl(fd, EVIOCSKEYCODE, codes)) {
-				    fprintf(stderr, "Setting scancode 0x%04x with 0x%04x via ",codes\[0\], codes\[1\]);
+				    fprintf(stderr, "Setting scancode 0x%04x with 0x%04x via ",codes[0], codes[1]);
 				    perror ("EVIOCSKEYCODE");
 			    }
 
@@ -167,8 +167,8 @@
 	    /* Get scancode table */
 	    for (j = 0; j < 256; j++) {
 		    for (i = 0; i < 256; i++) {
-			    codes\[0\] = (j << 8) | i;
-			    if (!ioctl(fd, EVIOCGKEYCODE, codes) && codes\[1\] != KEY_RESERVED)
+			    codes[0] = (j << 8) | i;
+			    if (!ioctl(fd, EVIOCGKEYCODE, codes) && codes[1] != KEY_RESERVED)
 				    prtcode(codes);
 		    }
 	    }
diff --git a/Documentation/media/uapi/v4l/buffer.rst b/Documentation/media/uapi/v4l/buffer.rst
index ba22464c..5deb4a4 100644
--- a/Documentation/media/uapi/v4l/buffer.rst
+++ b/Documentation/media/uapi/v4l/buffer.rst
@@ -379,7 +379,7 @@
 
        -  __u32
 
-       -  ``reserved\[11\]``
+       -  ``reserved[11]``
 
        -
        -  Reserved for future use. Should be zeroed by drivers and
@@ -868,7 +868,7 @@
 
        -  __u8
 
-       -  ``userbits``\ \[4\]
+       -  ``userbits``\ [4]
 
        -  The "user group" bits from the timecode.
 
diff --git a/Documentation/media/uapi/v4l/capture.c.rst b/Documentation/media/uapi/v4l/capture.c.rst
index 4f0dead..56525a0 100644
--- a/Documentation/media/uapi/v4l/capture.c.rst
+++ b/Documentation/media/uapi/v4l/capture.c.rst
@@ -88,7 +88,7 @@
 
 	    switch (io) {
 	    case IO_METHOD_READ:
-		    if (-1 == read(fd, buffers\[0\].start, buffers\[0\].length)) {
+		    if (-1 == read(fd, buffers[0].start, buffers[0].length)) {
 			    switch (errno) {
 			    case EAGAIN:
 				    return 0;
@@ -103,7 +103,7 @@
 			    }
 		    }
 
-		    process_image(buffers\[0\].start, buffers\[0\].length);
+		    process_image(buffers[0].start, buffers[0].length);
 		    break;
 
 	    case IO_METHOD_MMAP:
@@ -284,7 +284,7 @@
 
 	    switch (io) {
 	    case IO_METHOD_READ:
-		    free(buffers\[0\].start);
+		    free(buffers[0].start);
 		    break;
 
 	    case IO_METHOD_MMAP:
@@ -311,10 +311,10 @@
 		    exit(EXIT_FAILURE);
 	    }
 
-	    buffers\[0\].length = buffer_size;
-	    buffers\[0\].start = malloc(buffer_size);
+	    buffers[0].length = buffer_size;
+	    buffers[0].start = malloc(buffer_size);
 
-	    if (!buffers\[0\].start) {
+	    if (!buffers[0].start) {
 		    fprintf(stderr, "Out of memory\\n");
 		    exit(EXIT_FAILURE);
 	    }
@@ -575,7 +575,7 @@
 		     "-f | --format        Force format to 640x480 YUYVn"
 		     "-c | --count         Number of frames to grab [%i]n"
 		     "",
-		     argv\[0\], dev_name, frame_count);
+		     argv[0], dev_name, frame_count);
     }
 
     static const char short_options[] = "d:hmruofc:";
diff --git a/Documentation/media/uapi/v4l/dev-osd.rst b/Documentation/media/uapi/v4l/dev-osd.rst
index 36129cf..fadda13 100644
--- a/Documentation/media/uapi/v4l/dev-osd.rst
+++ b/Documentation/media/uapi/v4l/dev-osd.rst
@@ -68,7 +68,7 @@
     }
 
     for (i = 0; i < 30; i++) {
-	char dev_name\[16\];
+	char dev_name[16];
 	struct fb_fix_screeninfo si;
 
 	snprintf(dev_name, sizeof(dev_name), "/dev/fb%u", i);
diff --git a/Documentation/media/uapi/v4l/dev-raw-vbi.rst b/Documentation/media/uapi/v4l/dev-raw-vbi.rst
index eea4c05..d5a4b35 100644
--- a/Documentation/media/uapi/v4l/dev-raw-vbi.rst
+++ b/Documentation/media/uapi/v4l/dev-raw-vbi.rst
@@ -188,7 +188,7 @@
 	  service transmissions embedded in the picture.
 
 	  An application can set the first or second ``count`` value to zero
-	  if no data is required from the respective field; ``count``\ \[1\]
+	  if no data is required from the respective field; ``count``\ [1]
 	  if the scanning system is progressive, i. e. not interlaced. The
 	  corresponding start value shall be ignored by the application and
 	  driver. Anyway, drivers may not support single field capturing and
@@ -318,7 +318,7 @@
 
 .. code-block:: c
 
-    (count\[0\] + count\[1\]) * samples_per_line * sample size in bytes
+    (count[0] + count[1]) * samples_per_line * sample size in bytes
 
 The sample size is most likely always one byte, applications must check
 the ``sample_format`` field though, to function properly with other
diff --git a/Documentation/media/uapi/v4l/dev-raw-vbi_files/vbi_625.pdf b/Documentation/media/uapi/v4l/dev-raw-vbi_files/vbi_625.pdf
index f672b52..765235e 100644
--- a/Documentation/media/uapi/v4l/dev-raw-vbi_files/vbi_625.pdf
+++ b/Documentation/media/uapi/v4l/dev-raw-vbi_files/vbi_625.pdf
Binary files differ
diff --git a/Documentation/media/uapi/v4l/dev-sdr.rst b/Documentation/media/uapi/v4l/dev-sdr.rst
index 2bb5605..fc4053f 100644
--- a/Documentation/media/uapi/v4l/dev-sdr.rst
+++ b/Documentation/media/uapi/v4l/dev-sdr.rst
@@ -110,7 +110,7 @@
 
        -  __u8
 
-       -  ``reserved\[24\]``
+       -  ``reserved[24]``
 
        -  This array is reserved for future extensions. Drivers and
 	  applications must set it to zero.
diff --git a/Documentation/media/uapi/v4l/dev-sliced-vbi.rst b/Documentation/media/uapi/v4l/dev-sliced-vbi.rst
index 7df7603..ec52a82 100644
--- a/Documentation/media/uapi/v4l/dev-sliced-vbi.rst
+++ b/Documentation/media/uapi/v4l/dev-sliced-vbi.rst
@@ -140,7 +140,7 @@
 
        -  __u16
 
-       -  ``service_lines``\ \[2\]\[24\]
+       -  ``service_lines``\ [2][24]
 
        -  :cspan:`2`
 
@@ -170,7 +170,7 @@
 
        -
        -
-       -  ``service_lines``\ \[0\]\[1\]
+       -  ``service_lines``\ [0][1]
 
        -  1
 
@@ -180,7 +180,7 @@
 
        -
        -
-       -  ``service_lines``\ \[0\]\[23\]
+       -  ``service_lines``\ [0][23]
 
        -  23
 
@@ -190,7 +190,7 @@
 
        -
        -
-       -  ``service_lines``\ \[1\]\[1\]
+       -  ``service_lines``\ [1][1]
 
        -  264
 
@@ -200,7 +200,7 @@
 
        -
        -
-       -  ``service_lines``\ \[1\]\[23\]
+       -  ``service_lines``\ [1][23]
 
        -  286
 
@@ -210,8 +210,8 @@
 
        -
        -
-       -  :cspan:`2` Drivers must set ``service_lines`` \[0\]\[0\] and
-	  ``service_lines``\ \[1\]\[0\] to zero. The
+       -  :cspan:`2` Drivers must set ``service_lines`` [0][0] and
+	  ``service_lines``\ [1][0] to zero. The
 	  ``V4L2_VBI_ITU_525_F1_START``, ``V4L2_VBI_ITU_525_F2_START``,
 	  ``V4L2_VBI_ITU_625_F1_START`` and ``V4L2_VBI_ITU_625_F2_START``
 	  defines give the start line numbers for each field for each 525 or
@@ -238,7 +238,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[2\]
+       -  ``reserved``\ [2]
 
        -  :cspan:`2` This array is reserved for future extensions.
 	  Applications and drivers must set it to zero.
@@ -427,7 +427,7 @@
 
        -  __u8
 
-       -  ``data``\ \[48\]
+       -  ``data``\ [48]
 
        -  The packet payload. See :ref:`vbi-services` for the contents and
 	  number of bytes passed for each data type. The contents of padding
@@ -566,7 +566,7 @@
 
        -  __u8
 
-       -  ``magic``\ \[4\]
+       -  ``magic``\ [4]
 
        -
        -  A "magic" constant from :ref:`v4l2-mpeg-vbi-fmt-ivtv-magic` that
@@ -662,7 +662,7 @@
 
        -  __le32
 
-       -  ``linemask``\ \[2\]
+       -  ``linemask``\ [2]
 
        -  Bitmasks indicating the VBI service lines present. These
 	  ``linemask`` values are stored in little endian byte order in the
@@ -675,30 +675,30 @@
 
 	  ::
 
-	      linemask\[0\] b0:     line  6     first field
-	      linemask\[0\] b17:        line 23     first field
-	      linemask\[0\] b18:        line  6     second field
-	      linemask\[0\] b31:        line 19     second field
-	      linemask\[1\] b0:     line 20     second field
-	      linemask\[1\] b3:     line 23     second field
-	      linemask\[1\] b4-b31: unused and set to 0
+	      linemask[0] b0:     line  6     first field
+	      linemask[0] b17:        line 23     first field
+	      linemask[0] b18:        line  6     second field
+	      linemask[0] b31:        line 19     second field
+	      linemask[1] b0:     line 20     second field
+	      linemask[1] b3:     line 23     second field
+	      linemask[1] b4-b31: unused and set to 0
 
     -  .. row 2
 
        -  struct
 	  :ref:`v4l2_mpeg_vbi_itv0_line <v4l2-mpeg-vbi-itv0-line>`
 
-       -  ``line``\ \[35\]
+       -  ``line``\ [35]
 
        -  This is a variable length array that holds from 1 to 35 lines of
 	  sliced VBI data. The sliced VBI data lines present correspond to
 	  the bits set in the ``linemask`` array, starting from b\ :sub:`0`
-	  of ``linemask``\ \[0\] up through b\ :sub:`31` of ``linemask``\ \[0\],
-	  and from b\ :sub:`0` of ``linemask``\ \[1\] up through b\ :sub:`3` of
-	  ``linemask``\ \[1\]. ``line``\ \[0\] corresponds to the first bit
-	  found set in the ``linemask`` array, ``line``\ \[1\] corresponds to
+	  of ``linemask``\ [0] up through b\ :sub:`31` of ``linemask``\ [0],
+	  and from b\ :sub:`0` of ``linemask``\ [1] up through b\ :sub:`3` of
+	  ``linemask``\ [1]. ``line``\ [0] corresponds to the first bit
+	  found set in the ``linemask`` array, ``line``\ [1] corresponds to
 	  the second bit found set in the ``linemask`` array, etc. If no
-	  ``linemask`` array bits are set, then ``line``\ \[0\] may contain
+	  ``linemask`` array bits are set, then ``line``\ [0] may contain
 	  one line of unspecified data that should be ignored by
 	  applications.
 
@@ -720,11 +720,11 @@
        -  struct
 	  :ref:`v4l2_mpeg_vbi_itv0_line <v4l2-mpeg-vbi-itv0-line>`
 
-       -  ``line``\ \[36\]
+       -  ``line``\ [36]
 
-       -  A fixed length array of 36 lines of sliced VBI data. ``line``\ \[0\]
-	  through ``line``\ \[17\] correspond to lines 6 through 23 of the
-	  first field. ``line``\ \[18\] through ``line``\ \[35\] corresponds to
+       -  A fixed length array of 36 lines of sliced VBI data. ``line``\ [0]
+	  through ``line``\ [17] correspond to lines 6 through 23 of the
+	  first field. ``line``\ [18] through ``line``\ [35] corresponds to
 	  lines 6 through 23 of the second field.
 
 
@@ -754,7 +754,7 @@
 
        -  __u8
 
-       -  ``data``\ \[42\]
+       -  ``data``\ [42]
 
        -  The sliced VBI data for the line.
 
diff --git a/Documentation/media/uapi/v4l/hist-v4l2.rst b/Documentation/media/uapi/v4l/hist-v4l2.rst
index 3882fc7..3ba1c0c 100644
--- a/Documentation/media/uapi/v4l/hist-v4l2.rst
+++ b/Documentation/media/uapi/v4l/hist-v4l2.rst
@@ -266,7 +266,7 @@
 A number of changes were made to the raw VBI interface.
 
 1. Figures clarifying the line numbering scheme were added to the V4L2
-   API specification. The ``start``\ \[0\] and ``start``\ \[1\] fields no
+   API specification. The ``start``\ [0] and ``start``\ [1] fields no
    longer count line numbers beginning at zero. Rationale: a) The
    previous definition was unclear. b) The ``start``\ [] values are
    ordinal numbers. c) There is no point in inventing a new line
@@ -274,8 +274,8 @@
    Compatibility: Add one to the start values. Applications depending on
    the previous semantics may not function correctly.
 
-2. The restriction "count\[0\] > 0 and count\[1\] > 0" has been relaxed to
-   "(count\[0\] + count\[1\]) > 0". Rationale: Drivers may allocate
+2. The restriction "count[0] > 0 and count[1] > 0" has been relaxed to
+   "(count[0] + count[1]) > 0". Rationale: Drivers may allocate
    resources at scan line granularity and some data services are
    transmitted only on the first field. The comment that both ``count``
    values will usually be equal is misleading and pointless and has been
@@ -649,7 +649,7 @@
     memory. It was barely useful and so was removed.
 
 14. In struct :ref:`v4l2_framebuffer <v4l2-framebuffer>` the
-    ``base\[3\]`` array anticipating double- and triple-buffering in
+    ``base[3]`` array anticipating double- and triple-buffering in
     off-screen video memory, however without defining a synchronization
     mechanism, was replaced by a single pointer. The
     ``V4L2_FBUF_CAP_SCALEUP`` and ``V4L2_FBUF_CAP_SCALEDOWN`` flags were
@@ -833,7 +833,7 @@
 V4L2 in Linux 2.6.8
 ===================
 
-1. A new field ``input`` (former ``reserved\[0\]``) was added to the
+1. A new field ``input`` (former ``reserved[0]``) was added to the
    struct :ref:`v4l2_buffer <v4l2-buffer>` structure. Purpose of this
    field is to alternate between video inputs (e. g. cameras) in step
    with the video capturing process. This function must be enabled with
diff --git a/Documentation/media/uapi/v4l/pixfmt-003.rst b/Documentation/media/uapi/v4l/pixfmt-003.rst
index d6a80d1..25c5487 100644
--- a/Documentation/media/uapi/v4l/pixfmt-003.rst
+++ b/Documentation/media/uapi/v4l/pixfmt-003.rst
@@ -41,7 +41,7 @@
 
        -  __u16
 
-       -  ``reserved\[6\]``
+       -  ``reserved[6]``
 
        -  Reserved for future extensions. Should be zeroed by drivers and
 	  applications.
@@ -160,7 +160,7 @@
 
        -  __u8
 
-       -  ``reserved\[7\]``
+       -  ``reserved[7]``
 
        -  Reserved for future extensions. Should be zeroed by drivers and
 	  applications.
diff --git a/Documentation/media/uapi/v4l/subdev-formats.rst b/Documentation/media/uapi/v4l/subdev-formats.rst
index c365cf1..6dbb27b 100644
--- a/Documentation/media/uapi/v4l/subdev-formats.rst
+++ b/Documentation/media/uapi/v4l/subdev-formats.rst
@@ -92,7 +92,7 @@
 
        -  __u16
 
-       -  ``reserved``\ \[11\]
+       -  ``reserved``\ [11]
 
        -  Reserved for future extensions. Applications and drivers must set
 	  the array to zero.
diff --git a/Documentation/media/uapi/v4l/v4l2grab.c.rst b/Documentation/media/uapi/v4l/v4l2grab.c.rst
index 5d0263a..5aabd0b 100644
--- a/Documentation/media/uapi/v4l/v4l2grab.c.rst
+++ b/Documentation/media/uapi/v4l/v4l2grab.c.rst
@@ -62,7 +62,7 @@
 	    int                             r, fd = -1;
 	    unsigned int                    i, n_buffers;
 	    char                            *dev_name = "/dev/video0";
-	    char                            out_name\[256\];
+	    char                            out_name[256];
 	    FILE                            *fout;
 	    struct buffer                   *buffers;
 
diff --git a/Documentation/media/uapi/v4l/vidioc-create-bufs.rst b/Documentation/media/uapi/v4l/vidioc-create-bufs.rst
index 45c28af..abdc0b4 100644
--- a/Documentation/media/uapi/v4l/vidioc-create-bufs.rst
+++ b/Documentation/media/uapi/v4l/vidioc-create-bufs.rst
@@ -125,7 +125,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[8\]
+       -  ``reserved``\ [8]
 
        -  A place holder for future extensions. Drivers and applications
 	  must set the array to zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-dbg-g-chip-info.rst b/Documentation/media/uapi/v4l/vidioc-dbg-g-chip-info.rst
index 4c683a3..f7e1b80 100644
--- a/Documentation/media/uapi/v4l/vidioc-dbg-g-chip-info.rst
+++ b/Documentation/media/uapi/v4l/vidioc-dbg-g-chip-info.rst
@@ -115,7 +115,7 @@
        -
        -  char
 
-       -  ``name\[32\]``
+       -  ``name[32]``
 
        -  Match a chip by this name, interpreted according to the ``type``
 	  field. Currently unused.
@@ -142,7 +142,7 @@
 
        -  char
 
-       -  ``name\[32\]``
+       -  ``name[32]``
 
        -  The name of the chip.
 
@@ -161,7 +161,7 @@
 
        -  __u32
 
-       -  ``reserved\[8\]``
+       -  ``reserved[8]``
 
        -  Reserved fields, both application and driver must set these to 0.
 
diff --git a/Documentation/media/uapi/v4l/vidioc-dbg-g-register.rst b/Documentation/media/uapi/v4l/vidioc-dbg-g-register.rst
index d8ab629..09d2880 100644
--- a/Documentation/media/uapi/v4l/vidioc-dbg-g-register.rst
+++ b/Documentation/media/uapi/v4l/vidioc-dbg-g-register.rst
@@ -123,7 +123,7 @@
        -
        -  char
 
-       -  ``name\[32\]``
+       -  ``name[32]``
 
        -  Match a chip by this name, interpreted according to the ``type``
 	  field. Currently unused.
diff --git a/Documentation/media/uapi/v4l/vidioc-decoder-cmd.rst b/Documentation/media/uapi/v4l/vidioc-decoder-cmd.rst
index 24419de..2a36e91 100644
--- a/Documentation/media/uapi/v4l/vidioc-decoder-cmd.rst
+++ b/Documentation/media/uapi/v4l/vidioc-decoder-cmd.rst
@@ -178,7 +178,7 @@
        -
        -  __u32
 
-       -  ``data``\ \[16\]
+       -  ``data``\ [16]
 
        -  Reserved for future extensions. Drivers and applications must set
 	  the array to zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-dqevent.rst b/Documentation/media/uapi/v4l/vidioc-dqevent.rst
index f426b19..73c0d5b 100644
--- a/Documentation/media/uapi/v4l/vidioc-dqevent.rst
+++ b/Documentation/media/uapi/v4l/vidioc-dqevent.rst
@@ -116,7 +116,7 @@
        -
        -  __u8
 
-       -  ``data``\ \[64\]
+       -  ``data``\ [64]
 
        -  Event data. Defined by the event type. The union should be used to
 	  define easily accessible type for events.
@@ -167,7 +167,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[8\]
+       -  ``reserved``\ [8]
 
        -
        -  Reserved for future extensions. Drivers must set the array to
diff --git a/Documentation/media/uapi/v4l/vidioc-dv-timings-cap.rst b/Documentation/media/uapi/v4l/vidioc-dv-timings-cap.rst
index 1a78407..6e05957 100644
--- a/Documentation/media/uapi/v4l/vidioc-dv-timings-cap.rst
+++ b/Documentation/media/uapi/v4l/vidioc-dv-timings-cap.rst
@@ -130,7 +130,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[16\]
+       -  ``reserved``\ [16]
 
        -  Reserved for future extensions. Drivers must set the array to
 	  zero.
@@ -167,7 +167,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[2\]
+       -  ``reserved``\ [2]
 
        -  Reserved for future extensions. Drivers and applications must set
 	  the array to zero.
@@ -193,7 +193,7 @@
        -
        -  __u32
 
-       -  ``raw_data``\ \[32\]
+       -  ``raw_data``\ [32]
 
        -
 
diff --git a/Documentation/media/uapi/v4l/vidioc-encoder-cmd.rst b/Documentation/media/uapi/v4l/vidioc-encoder-cmd.rst
index 19b8660..69bd9b4 100644
--- a/Documentation/media/uapi/v4l/vidioc-encoder-cmd.rst
+++ b/Documentation/media/uapi/v4l/vidioc-encoder-cmd.rst
@@ -94,7 +94,7 @@
 
        -  __u32
 
-       -  ``data``\ \[8\]
+       -  ``data``\ [8]
 
        -  Reserved for future extensions. Drivers and applications must set
 	  the array to zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-enum-dv-timings.rst b/Documentation/media/uapi/v4l/vidioc-enum-dv-timings.rst
index 71e0ae6..3ba75d3 100644
--- a/Documentation/media/uapi/v4l/vidioc-enum-dv-timings.rst
+++ b/Documentation/media/uapi/v4l/vidioc-enum-dv-timings.rst
@@ -92,7 +92,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[2\]
+       -  ``reserved``\ [2]
 
        -  Reserved for future extensions. Drivers and applications must set
 	  the array to zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-enum-fmt.rst b/Documentation/media/uapi/v4l/vidioc-enum-fmt.rst
index 3846009..90996f6 100644
--- a/Documentation/media/uapi/v4l/vidioc-enum-fmt.rst
+++ b/Documentation/media/uapi/v4l/vidioc-enum-fmt.rst
@@ -86,7 +86,7 @@
 
        -  __u8
 
-       -  ``description``\ \[32\]
+       -  ``description``\ [32]
 
        -  Description of the format, a NUL-terminated ASCII string. This
 	  information is intended for the user, for example: "YUV 4:2:2".
@@ -120,7 +120,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[4\]
+       -  ``reserved``\ [4]
 
        -  Reserved for future extensions. Drivers must set the array to
 	  zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-enum-frameintervals.rst b/Documentation/media/uapi/v4l/vidioc-enum-frameintervals.rst
index 6a2060b..ceae600 100644
--- a/Documentation/media/uapi/v4l/vidioc-enum-frameintervals.rst
+++ b/Documentation/media/uapi/v4l/vidioc-enum-frameintervals.rst
@@ -217,7 +217,7 @@
 
        -  __u32
 
-       -  ``reserved\[2\]``
+       -  ``reserved[2]``
 
        -
        -  Reserved space for future use. Must be zeroed by drivers and
diff --git a/Documentation/media/uapi/v4l/vidioc-enum-framesizes.rst b/Documentation/media/uapi/v4l/vidioc-enum-framesizes.rst
index 7a6a43b..8b26835 100644
--- a/Documentation/media/uapi/v4l/vidioc-enum-framesizes.rst
+++ b/Documentation/media/uapi/v4l/vidioc-enum-framesizes.rst
@@ -238,7 +238,7 @@
 
        -  __u32
 
-       -  ``reserved\[2\]``
+       -  ``reserved[2]``
 
        -
        -  Reserved space for future use. Must be zeroed by drivers and
diff --git a/Documentation/media/uapi/v4l/vidioc-enum-freq-bands.rst b/Documentation/media/uapi/v4l/vidioc-enum-freq-bands.rst
index 19e86cf..00ab5e1 100644
--- a/Documentation/media/uapi/v4l/vidioc-enum-freq-bands.rst
+++ b/Documentation/media/uapi/v4l/vidioc-enum-freq-bands.rst
@@ -140,7 +140,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[9\]
+       -  ``reserved``\ [9]
 
        -  Reserved for future extensions. Applications and drivers must set
 	  the array to zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-enuminput.rst b/Documentation/media/uapi/v4l/vidioc-enuminput.rst
index 1ea7713..5060f54 100644
--- a/Documentation/media/uapi/v4l/vidioc-enuminput.rst
+++ b/Documentation/media/uapi/v4l/vidioc-enuminput.rst
@@ -61,7 +61,7 @@
 
        -  __u8
 
-       -  ``name``\ \[32\]
+       -  ``name``\ [32]
 
        -  Name of the video input, a NUL-terminated ASCII string, for
 	  example: "Vin (Composite 2)". This information is intended for the
@@ -141,7 +141,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[3\]
+       -  ``reserved``\ [3]
 
        -  Reserved for future extensions. Drivers must set the array to
 	  zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-enumoutput.rst b/Documentation/media/uapi/v4l/vidioc-enumoutput.rst
index 83397f2..82fc9d3 100644
--- a/Documentation/media/uapi/v4l/vidioc-enumoutput.rst
+++ b/Documentation/media/uapi/v4l/vidioc-enumoutput.rst
@@ -62,7 +62,7 @@
 
        -  __u8
 
-       -  ``name``\ \[32\]
+       -  ``name``\ [32]
 
        -  Name of the video output, a NUL-terminated ASCII string, for
 	  example: "Vout". This information is intended for the user,
@@ -131,7 +131,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[3\]
+       -  ``reserved``\ [3]
 
        -  Reserved for future extensions. Drivers must set the array to
 	  zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-enumstd.rst b/Documentation/media/uapi/v4l/vidioc-enumstd.rst
index e68a628..6699b26 100644
--- a/Documentation/media/uapi/v4l/vidioc-enumstd.rst
+++ b/Documentation/media/uapi/v4l/vidioc-enumstd.rst
@@ -78,7 +78,7 @@
 
        -  __u8
 
-       -  ``name``\ \[24\]
+       -  ``name``\ [24]
 
        -  Name of the standard, a NUL-terminated ASCII string, for example:
 	  "PAL-B/G", "NTSC Japan". This information is intended for the
@@ -105,7 +105,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[4\]
+       -  ``reserved``\ [4]
 
        -  Reserved for future extensions. Drivers must set the array to
 	  zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-expbuf.rst b/Documentation/media/uapi/v4l/vidioc-expbuf.rst
index bf7e644..ded708e 100644
--- a/Documentation/media/uapi/v4l/vidioc-expbuf.rst
+++ b/Documentation/media/uapi/v4l/vidioc-expbuf.rst
@@ -179,7 +179,7 @@
 
        -  __u32
 
-       -  ``reserved\[11\]``
+       -  ``reserved[11]``
 
        -  Reserved field for future use. Drivers and applications must set
 	  the array to zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-g-audio.rst b/Documentation/media/uapi/v4l/vidioc-g-audio.rst
index 0a023c2..cccbcdb 100644
--- a/Documentation/media/uapi/v4l/vidioc-g-audio.rst
+++ b/Documentation/media/uapi/v4l/vidioc-g-audio.rst
@@ -70,7 +70,7 @@
 
        -  __u8
 
-       -  ``name``\ \[32\]
+       -  ``name``\ [32]
 
        -  Name of the audio input, a NUL-terminated ASCII string, for
 	  example: "Line In". This information is intended for the user,
@@ -97,7 +97,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[2\]
+       -  ``reserved``\ [2]
 
        -  Reserved for future extensions. Drivers and applications must set
 	  the array to zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-g-audioout.rst b/Documentation/media/uapi/v4l/vidioc-g-audioout.rst
index 6442cb7..b1c1bfe 100644
--- a/Documentation/media/uapi/v4l/vidioc-g-audioout.rst
+++ b/Documentation/media/uapi/v4l/vidioc-g-audioout.rst
@@ -75,7 +75,7 @@
 
        -  __u8
 
-       -  ``name``\ \[32\]
+       -  ``name``\ [32]
 
        -  Name of the audio output, a NUL-terminated ASCII string, for
 	  example: "Line Out". This information is intended for the user,
@@ -103,7 +103,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[2\]
+       -  ``reserved``\ [2]
 
        -  Reserved for future extensions. Drivers and applications must set
 	  the array to zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-g-dv-timings.rst b/Documentation/media/uapi/v4l/vidioc-g-dv-timings.rst
index 5c6aa7a..f7bf21f 100644
--- a/Documentation/media/uapi/v4l/vidioc-g-dv-timings.rst
+++ b/Documentation/media/uapi/v4l/vidioc-g-dv-timings.rst
@@ -259,7 +259,7 @@
        -
        -  __u32
 
-       -  ``reserved``\ \[32\]
+       -  ``reserved``\ [32]
 
        -
 
diff --git a/Documentation/media/uapi/v4l/vidioc-g-edid.rst b/Documentation/media/uapi/v4l/vidioc-g-edid.rst
index cf0d100..1a982b6 100644
--- a/Documentation/media/uapi/v4l/vidioc-g-edid.rst
+++ b/Documentation/media/uapi/v4l/vidioc-g-edid.rst
@@ -131,7 +131,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[5\]
+       -  ``reserved``\ [5]
 
        -  Reserved for future extensions. Applications and drivers must set
 	  the array to zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-g-enc-index.rst b/Documentation/media/uapi/v4l/vidioc-g-enc-index.rst
index 27b8c84..f0f41ac 100644
--- a/Documentation/media/uapi/v4l/vidioc-g-enc-index.rst
+++ b/Documentation/media/uapi/v4l/vidioc-g-enc-index.rst
@@ -86,7 +86,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[4\]
+       -  ``reserved``\ [4]
 
        -  :cspan:`2` Reserved for future extensions. Drivers must set the
 	  array to zero.
@@ -153,7 +153,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[2\]
+       -  ``reserved``\ [2]
 
        -  Reserved for future extensions. Drivers must set the array to
 	  zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-g-ext-ctrls.rst b/Documentation/media/uapi/v4l/vidioc-g-ext-ctrls.rst
index 74998e0..39e24ad 100644
--- a/Documentation/media/uapi/v4l/vidioc-g-ext-ctrls.rst
+++ b/Documentation/media/uapi/v4l/vidioc-g-ext-ctrls.rst
@@ -136,7 +136,7 @@
 
        -  __u32
 
-       -  ``reserved2``\ \[1\]
+       -  ``reserved2``\ [1]
 
        -
        -  Reserved for future extensions. Drivers and applications must set
@@ -338,7 +338,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[2\]
+       -  ``reserved``\ [2]
 
        -  Reserved for future extensions. Drivers and applications must set
 	  the array to zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-g-fmt.rst b/Documentation/media/uapi/v4l/vidioc-g-fmt.rst
index 9dc9e1e..ee6f119 100644
--- a/Documentation/media/uapi/v4l/vidioc-g-fmt.rst
+++ b/Documentation/media/uapi/v4l/vidioc-g-fmt.rst
@@ -171,7 +171,7 @@
        -
        -  __u8
 
-       -  ``raw_data``\ \[200\]
+       -  ``raw_data``\ [200]
 
        -  Place holder for future extensions.
 
diff --git a/Documentation/media/uapi/v4l/vidioc-g-frequency.rst b/Documentation/media/uapi/v4l/vidioc-g-frequency.rst
index 8944f3b..a1fd2a8 100644
--- a/Documentation/media/uapi/v4l/vidioc-g-frequency.rst
+++ b/Documentation/media/uapi/v4l/vidioc-g-frequency.rst
@@ -102,7 +102,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[8\]
+       -  ``reserved``\ [8]
 
        -  Reserved for future extensions. Drivers and applications must set
 	  the array to zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-g-jpegcomp.rst b/Documentation/media/uapi/v4l/vidioc-g-jpegcomp.rst
index 6e084d3..f5bf8b7 100644
--- a/Documentation/media/uapi/v4l/vidioc-g-jpegcomp.rst
+++ b/Documentation/media/uapi/v4l/vidioc-g-jpegcomp.rst
@@ -94,7 +94,7 @@
 
        -  char
 
-       -  ``APP_data``\ \[60\]
+       -  ``APP_data``\ [60]
 
        -
 
@@ -110,7 +110,7 @@
 
        -  char
 
-       -  ``COM_data``\ \[60\]
+       -  ``COM_data``\ [60]
 
        -
 
diff --git a/Documentation/media/uapi/v4l/vidioc-g-modulator.rst b/Documentation/media/uapi/v4l/vidioc-g-modulator.rst
index ee4cfc0..a2e8c73 100644
--- a/Documentation/media/uapi/v4l/vidioc-g-modulator.rst
+++ b/Documentation/media/uapi/v4l/vidioc-g-modulator.rst
@@ -81,7 +81,7 @@
 
        -  __u8
 
-       -  ``name``\ \[32\]
+       -  ``name``\ [32]
 
        -  Name of the modulator, a NUL-terminated ASCII string. This
 	  information is intended for the user.
@@ -149,7 +149,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[3\]
+       -  ``reserved``\ [3]
 
        -  Reserved for future extensions. Drivers and applications must set
 	  the array to zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-g-parm.rst b/Documentation/media/uapi/v4l/vidioc-g-parm.rst
index 8037827..7116e0d 100644
--- a/Documentation/media/uapi/v4l/vidioc-g-parm.rst
+++ b/Documentation/media/uapi/v4l/vidioc-g-parm.rst
@@ -103,7 +103,7 @@
        -
        -  __u8
 
-       -  ``raw_data``\ \[200\]
+       -  ``raw_data``\ [200]
 
        -  A place holder for future extensions.
 
@@ -183,7 +183,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[4\]
+       -  ``reserved``\ [4]
 
        -  Reserved for future extensions. Drivers and applications must set
 	  the array to zero.
@@ -271,7 +271,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[4\]
+       -  ``reserved``\ [4]
 
        -  Reserved for future extensions. Drivers and applications must set
 	  the array to zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-g-selection.rst b/Documentation/media/uapi/v4l/vidioc-g-selection.rst
index e17ff45..953931f 100644
--- a/Documentation/media/uapi/v4l/vidioc-g-selection.rst
+++ b/Documentation/media/uapi/v4l/vidioc-g-selection.rst
@@ -182,7 +182,7 @@
 
        -  __u32
 
-       -  ``reserved\[9\]``
+       -  ``reserved[9]``
 
        -  Reserved fields for future use. Drivers and applications must zero
 	  this array.
diff --git a/Documentation/media/uapi/v4l/vidioc-g-sliced-vbi-cap.rst b/Documentation/media/uapi/v4l/vidioc-g-sliced-vbi-cap.rst
index b9c44b2..f1f661d 100644
--- a/Documentation/media/uapi/v4l/vidioc-g-sliced-vbi-cap.rst
+++ b/Documentation/media/uapi/v4l/vidioc-g-sliced-vbi-cap.rst
@@ -65,7 +65,7 @@
 
        -  __u16
 
-       -  ``service_lines``\ \[2\]\[24\]
+       -  ``service_lines``\ [2][24]
 
        -  :cspan:`2` Each element of this array contains a set of data
 	  services the hardware can look for or insert into a particular
@@ -87,7 +87,7 @@
 
        -
        -
-       -  ``service_lines``\ \[0\]\[1\]
+       -  ``service_lines``\ [0][1]
 
        -  1
 
@@ -97,7 +97,7 @@
 
        -
        -
-       -  ``service_lines``\ \[0\]\[23\]
+       -  ``service_lines``\ [0][23]
 
        -  23
 
@@ -107,7 +107,7 @@
 
        -
        -
-       -  ``service_lines``\ \[1\]\[1\]
+       -  ``service_lines``\ [1][1]
 
        -  264
 
@@ -117,7 +117,7 @@
 
        -
        -
-       -  ``service_lines``\ \[1\]\[23\]
+       -  ``service_lines``\ [1][23]
 
        -  286
 
@@ -147,8 +147,8 @@
 
        -
        -
-       -  :cspan:`2` Drivers must set ``service_lines`` \[0\]\[0\] and
-	  ``service_lines``\ \[1\]\[0\] to zero.
+       -  :cspan:`2` Drivers must set ``service_lines`` [0][0] and
+	  ``service_lines``\ [1][0] to zero.
 
     -  .. row 12
 
@@ -164,7 +164,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[3\]
+       -  ``reserved``\ [3]
 
        -  :cspan:`2` This array is reserved for future extensions.
 	  Applications and drivers must set it to zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-g-tuner.rst b/Documentation/media/uapi/v4l/vidioc-g-tuner.rst
index f9b0bfe..614db06 100644
--- a/Documentation/media/uapi/v4l/vidioc-g-tuner.rst
+++ b/Documentation/media/uapi/v4l/vidioc-g-tuner.rst
@@ -79,7 +79,7 @@
 
        -  __u8
 
-       -  ``name``\ \[32\]
+       -  ``name``\ [32]
 
        -  :cspan:`1`
 
@@ -246,7 +246,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[4\]
+       -  ``reserved``\ [4]
 
        -  :cspan:`1` Reserved for future extensions. Drivers and
 	  applications must set the array to zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-querycap.rst b/Documentation/media/uapi/v4l/vidioc-querycap.rst
index 769a554..b10fed3 100644
--- a/Documentation/media/uapi/v4l/vidioc-querycap.rst
+++ b/Documentation/media/uapi/v4l/vidioc-querycap.rst
@@ -53,7 +53,7 @@
 
        -  __u8
 
-       -  ``driver``\ \[16\]
+       -  ``driver``\ [16]
 
        -  Name of the driver, a unique NUL-terminated ASCII string. For
 	  example: "bttv". Driver specific applications can use this
@@ -69,7 +69,7 @@
 
        -  __u8
 
-       -  ``card``\ \[32\]
+       -  ``card``\ [32]
 
        -  Name of the device, a NUL-terminated UTF-8 string. For example:
 	  "Yoyodyne TV/FM". One driver may support different brands or
@@ -84,7 +84,7 @@
 
        -  __u8
 
-       -  ``bus_info``\ \[32\]
+       -  ``bus_info``\ [32]
 
        -  Location of the device in the system, a NUL-terminated ASCII
 	  string. For example: "PCI:0000:05:06.0". This information is
@@ -166,7 +166,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[3\]
+       -  ``reserved``\ [3]
 
        -  Reserved for future extensions. Drivers must set this array to
 	  zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-queryctrl.rst b/Documentation/media/uapi/v4l/vidioc-queryctrl.rst
index 72bc7b1..8d6e61a 100644
--- a/Documentation/media/uapi/v4l/vidioc-queryctrl.rst
+++ b/Documentation/media/uapi/v4l/vidioc-queryctrl.rst
@@ -124,7 +124,7 @@
 
        -  __u8
 
-       -  ``name``\ \[32\]
+       -  ``name``\ [32]
 
        -  Name of the control, a NUL-terminated ASCII string. This
 	  information is intended for the user.
@@ -203,7 +203,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[2\]
+       -  ``reserved``\ [2]
 
        -  Reserved for future extensions. Drivers must set the array to
 	  zero.
@@ -245,7 +245,7 @@
 
        -  char
 
-       -  ``name``\ \[32\]
+       -  ``name``\ [32]
 
        -  Name of the control, a NUL-terminated ASCII string. This
 	  information is intended for the user.
@@ -326,7 +326,7 @@
        -  The size in bytes of a single element of the array. Given a char
 	  pointer ``p`` to a 3-dimensional array you can find the position
 	  of cell ``(z, y, x)`` as follows:
-	  ``p + ((z * dims\[1\] + y) * dims\[0\] + x) * elem_size``.
+	  ``p + ((z * dims[1] + y) * dims[0] + x) * elem_size``.
 	  ``elem_size`` is always valid, also when the control isn't an
 	  array. For string controls ``elem_size`` is equal to
 	  ``maximum + 1``.
@@ -363,7 +363,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[32\]
+       -  ``reserved``\ [32]
 
        -  Reserved for future extensions. Applications and drivers must set
 	  the array to zero.
@@ -410,7 +410,7 @@
        -
        -  __u8
 
-       -  ``name``\ \[32\]
+       -  ``name``\ [32]
 
        -  Name of the menu item, a NUL-terminated ASCII string. This
 	  information is intended for the user. This field is valid for
diff --git a/Documentation/media/uapi/v4l/vidioc-reqbufs.rst b/Documentation/media/uapi/v4l/vidioc-reqbufs.rst
index 75dc345..5d0bc6d 100644
--- a/Documentation/media/uapi/v4l/vidioc-reqbufs.rst
+++ b/Documentation/media/uapi/v4l/vidioc-reqbufs.rst
@@ -107,7 +107,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[2\]
+       -  ``reserved``\ [2]
 
        -  A place holder for future extensions. Drivers and applications
 	  must set the array to zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-s-hw-freq-seek.rst b/Documentation/media/uapi/v4l/vidioc-s-hw-freq-seek.rst
index c96d2ed..5fd332a 100644
--- a/Documentation/media/uapi/v4l/vidioc-s-hw-freq-seek.rst
+++ b/Documentation/media/uapi/v4l/vidioc-s-hw-freq-seek.rst
@@ -150,7 +150,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[5\]
+       -  ``reserved``\ [5]
 
        -  Reserved for future extensions. Applications must set the array to
 	  zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-subdev-enum-frame-interval.rst b/Documentation/media/uapi/v4l/vidioc-subdev-enum-frame-interval.rst
index f472ea2..0aa6482 100644
--- a/Documentation/media/uapi/v4l/vidioc-subdev-enum-frame-interval.rst
+++ b/Documentation/media/uapi/v4l/vidioc-subdev-enum-frame-interval.rst
@@ -132,7 +132,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[8\]
+       -  ``reserved``\ [8]
 
        -  Reserved for future extensions. Applications and drivers must set
 	  the array to zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-subdev-enum-frame-size.rst b/Documentation/media/uapi/v4l/vidioc-subdev-enum-frame-size.rst
index 8fcbdc1..7a5811b 100644
--- a/Documentation/media/uapi/v4l/vidioc-subdev-enum-frame-size.rst
+++ b/Documentation/media/uapi/v4l/vidioc-subdev-enum-frame-size.rst
@@ -142,7 +142,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[8\]
+       -  ``reserved``\ [8]
 
        -  Reserved for future extensions. Applications and drivers must set
 	  the array to zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-subdev-enum-mbus-code.rst b/Documentation/media/uapi/v4l/vidioc-subdev-enum-mbus-code.rst
index 3cb62df..bc0531e 100644
--- a/Documentation/media/uapi/v4l/vidioc-subdev-enum-mbus-code.rst
+++ b/Documentation/media/uapi/v4l/vidioc-subdev-enum-mbus-code.rst
@@ -95,7 +95,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[8\]
+       -  ``reserved``\ [8]
 
        -  Reserved for future extensions. Applications and drivers must set
 	  the array to zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-subdev-g-crop.rst b/Documentation/media/uapi/v4l/vidioc-subdev-g-crop.rst
index 7f39d38..ae802f1 100644
--- a/Documentation/media/uapi/v4l/vidioc-subdev-g-crop.rst
+++ b/Documentation/media/uapi/v4l/vidioc-subdev-g-crop.rst
@@ -109,7 +109,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[8\]
+       -  ``reserved``\ [8]
 
        -  Reserved for future extensions. Applications and drivers must set
 	  the array to zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-subdev-g-fmt.rst b/Documentation/media/uapi/v4l/vidioc-subdev-g-fmt.rst
index b7f2aca..90e2a66 100644
--- a/Documentation/media/uapi/v4l/vidioc-subdev-g-fmt.rst
+++ b/Documentation/media/uapi/v4l/vidioc-subdev-g-fmt.rst
@@ -113,7 +113,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[8\]
+       -  ``reserved``\ [8]
 
        -  Reserved for future extensions. Applications and drivers must set
 	  the array to zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-subdev-g-frame-interval.rst b/Documentation/media/uapi/v4l/vidioc-subdev-g-frame-interval.rst
index bcb1aae..d8a1cab 100644
--- a/Documentation/media/uapi/v4l/vidioc-subdev-g-frame-interval.rst
+++ b/Documentation/media/uapi/v4l/vidioc-subdev-g-frame-interval.rst
@@ -95,7 +95,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[9\]
+       -  ``reserved``\ [9]
 
        -  Reserved for future extensions. Applications and drivers must set
 	  the array to zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-subdev-g-selection.rst b/Documentation/media/uapi/v4l/vidioc-subdev-g-selection.rst
index 7d6611f0..50838a4 100644
--- a/Documentation/media/uapi/v4l/vidioc-subdev-g-selection.rst
+++ b/Documentation/media/uapi/v4l/vidioc-subdev-g-selection.rst
@@ -117,7 +117,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[8\]
+       -  ``reserved``\ [8]
 
        -  Reserved for future extensions. Applications and drivers must set
 	  the array to zero.
diff --git a/Documentation/media/uapi/v4l/vidioc-subscribe-event.rst b/Documentation/media/uapi/v4l/vidioc-subscribe-event.rst
index 7c00c93..3ed91c6 100644
--- a/Documentation/media/uapi/v4l/vidioc-subscribe-event.rst
+++ b/Documentation/media/uapi/v4l/vidioc-subscribe-event.rst
@@ -79,7 +79,7 @@
 
        -  __u32
 
-       -  ``reserved``\ \[5\]
+       -  ``reserved``\ [5]
 
        -  Reserved for future extensions. Drivers and applications must set
 	  the array to zero.
