V4L/DVB (11373): v4l2-common: add explicit v4l2_device pointer as first arg to new_(probed)_subdev

The functions v4l2_i2c_new_subdev and v4l2_i2c_new_probed_subdev relied on
i2c_get_adapdata to return the v4l2_device. However, this is not always
possible on embedded platforms. So modify the API to pass the v4l2_device
pointer explicitly.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
diff --git a/drivers/media/video/cx231xx/cx231xx-cards.c b/drivers/media/video/cx231xx/cx231xx-cards.c
index b63719f..f209fe1 100644
--- a/drivers/media/video/cx231xx/cx231xx-cards.c
+++ b/drivers/media/video/cx231xx/cx231xx-cards.c
@@ -311,8 +311,8 @@
 
 	/* request some modules */
 	if (dev->board.decoder == CX231XX_AVDECODER) {
-		dev->sd_cx25840 =
-			v4l2_i2c_new_subdev(&dev->i2c_bus[0].i2c_adap,
+		dev->sd_cx25840 = v4l2_i2c_new_subdev(&dev->v4l2_dev,
+					&dev->i2c_bus[0].i2c_adap,
 					"cx25840", "cx25840", 0x88 >> 1);
 		if (dev->sd_cx25840 == NULL)
 			cx231xx_info("cx25840 subdev registration failure\n");
@@ -321,8 +321,8 @@
 	}
 
 	if (dev->board.tuner_type != TUNER_ABSENT) {
-		dev->sd_tuner =
-			v4l2_i2c_new_subdev(&dev->i2c_bus[1].i2c_adap,
+		dev->sd_tuner =	v4l2_i2c_new_subdev(&dev->v4l2_dev,
+				&dev->i2c_bus[1].i2c_adap,
 				"tuner", "tuner", 0xc2 >> 1);
 		if (dev->sd_tuner == NULL)
 			cx231xx_info("tuner subdev registration failure\n");