[media] V4L2: add a device pointer to struct v4l2_subdev
It is often useful to have simple means to get from a subdevice to the underlying physical device. This patch adds such a pointer to struct v4l2_subdev and sets it accordingly in the I2C and SPI cases. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Tested-by: Lad, Prabhakar <prabhakar.csengg@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
Родитель
ff5430de70
Коммит
668773b846
|
@ -237,6 +237,7 @@ void v4l2_i2c_subdev_init(struct v4l2_subdev *sd, struct i2c_client *client,
|
|||
sd->flags |= V4L2_SUBDEV_FL_IS_I2C;
|
||||
/* the owner is the same as the i2c_client's driver owner */
|
||||
sd->owner = client->driver->driver.owner;
|
||||
sd->dev = &client->dev;
|
||||
/* i2c_client and v4l2_subdev point to one another */
|
||||
v4l2_set_subdevdata(sd, client);
|
||||
i2c_set_clientdata(client, sd);
|
||||
|
@ -370,6 +371,7 @@ void v4l2_spi_subdev_init(struct v4l2_subdev *sd, struct spi_device *spi,
|
|||
sd->flags |= V4L2_SUBDEV_FL_IS_SPI;
|
||||
/* the owner is the same as the spi_device's driver owner */
|
||||
sd->owner = spi->dev.driver->owner;
|
||||
sd->dev = &spi->dev;
|
||||
/* spi_device and v4l2_subdev point to one another */
|
||||
v4l2_set_subdevdata(sd, spi);
|
||||
spi_set_drvdata(spi, sd);
|
||||
|
|
|
@ -583,6 +583,8 @@ struct v4l2_subdev {
|
|||
void *host_priv;
|
||||
/* subdev device node */
|
||||
struct video_device *devnode;
|
||||
/* pointer to the physical device, if any */
|
||||
struct device *dev;
|
||||
};
|
||||
|
||||
#define media_entity_to_v4l2_subdev(ent) \
|
||||
|
|
Загрузка…
Ссылка в новой задаче