diff --git a/Documentation/DocBook/media-entities.tmpl b/Documentation/DocBook/media-entities.tmpl
index fea63b45471aadce771b99ce3874abb5ef2c9c36..7a9570887d214361428838f94758a8528a5fd0c3 100644
--- a/Documentation/DocBook/media-entities.tmpl
+++ b/Documentation/DocBook/media-entities.tmpl
@@ -295,6 +295,7 @@
+
diff --git a/Documentation/DocBook/v4l/pixfmt-y10b.xml b/Documentation/DocBook/v4l/pixfmt-y10b.xml
new file mode 100644
index 0000000000000000000000000000000000000000..adb0ad808c9352d3d0c315fde6caecfeeb9a9bc5
--- /dev/null
+++ b/Documentation/DocBook/v4l/pixfmt-y10b.xml
@@ -0,0 +1,43 @@
+
+
+ V4L2_PIX_FMT_Y10BPACK ('Y10B')
+ &manvol;
+
+
+ V4L2_PIX_FMT_Y10BPACK
+ Grey-scale image as a bit-packed array
+
+
+ Description
+
+ This is a packed grey-scale image format with a depth of 10 bits per
+ pixel. Pixels are stored in a bit-packed array of 10bit bits per pixel,
+ with no padding between them and with the most significant bits coming
+ first from the left.
+
+
+ V4L2_PIX_FMT_Y10BPACK 4 pixel data stream taking 5 bytes
+
+
+ Bit-packed representation
+ pixels cross the byte boundary and have a ratio of 5 bytes for each 4
+ pixels.
+
+
+
+
+
+ Y'00[9:2]
+ Y'00[1:0]Y'01[9:4]
+ Y'01[3:0]Y'02[9:6]
+ Y'02[5:0]Y'03[9:8]
+ Y'03[7:0]
+
+
+
+
+
+
+
+
+
diff --git a/Documentation/DocBook/v4l/pixfmt.xml b/Documentation/DocBook/v4l/pixfmt.xml
index 40af4beb48b92aa7403e8c6682e1160cbbaa761d..3486a068fe461070fe66071655f4506bb91ac3e5 100644
--- a/Documentation/DocBook/v4l/pixfmt.xml
+++ b/Documentation/DocBook/v4l/pixfmt.xml
@@ -697,6 +697,7 @@ information.
&sub-grey;
&sub-y10;
&sub-y12;
+ &sub-y10b;
&sub-y16;
&sub-yuyv;
&sub-uyvy;
diff --git a/Documentation/DocBook/v4l/videodev2.h.xml b/Documentation/DocBook/v4l/videodev2.h.xml
index 2b796a2ee98a06fd8c7c853a63f52600be3ab9d8..937acf54da9c398fa000de0872b2314b84d8b666 100644
--- a/Documentation/DocBook/v4l/videodev2.h.xml
+++ b/Documentation/DocBook/v4l/videodev2.h.xml
@@ -311,6 +311,9 @@ struct v4l2_pix_format {
#define V4L2_PIX_FMT_Y10 v4l2_fourcc('Y', '1', '0', ' ') /* 10 Greyscale */
#define V4L2_PIX_FMT_Y16 v4l2_fourcc('Y', '1', '6', ' ') /* 16 Greyscale */
+/* Grey bit-packed formats */
+#define V4L2_PIX_FMT_Y10BPACK v4l2_fourcc('Y', '1', '0', 'B') /* 10 Greyscale bit-packed */
+
/* Palette formats */
#define V4L2_PIX_FMT_PAL8 v4l2_fourcc('P', 'A', 'L', '8') /* 8 8-bit palette */
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index be82c8ead1af011ac7389e0ac2cbe94467df8583..a417270b337f179180d1a1f5bbe7ac0537305296 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -311,6 +311,9 @@ struct v4l2_pix_format {
#define V4L2_PIX_FMT_Y12 v4l2_fourcc('Y', '1', '2', ' ') /* 12 Greyscale */
#define V4L2_PIX_FMT_Y16 v4l2_fourcc('Y', '1', '6', ' ') /* 16 Greyscale */
+/* Grey bit-packed formats */
+#define V4L2_PIX_FMT_Y10BPACK v4l2_fourcc('Y', '1', '0', 'B') /* 10 Greyscale bit-packed */
+
/* Palette formats */
#define V4L2_PIX_FMT_PAL8 v4l2_fourcc('P', 'A', 'L', '8') /* 8 8-bit palette */