[media] em28xx: move struct v4l2_clk *clk from struct em28xx to struct v4l2
The current clock definition applies only to the V4L2 side of the driver. Move its struct pointer to the v4l2_dev, where it belongs. Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
This commit is contained in:
parent
abc1308f0b
commit
2c52a2fce0
|
@ -330,13 +330,14 @@ int em28xx_init_camera(struct em28xx *dev)
|
||||||
char clk_name[V4L2_SUBDEV_NAME_SIZE];
|
char clk_name[V4L2_SUBDEV_NAME_SIZE];
|
||||||
struct i2c_client *client = &dev->i2c_client[dev->def_i2c_bus];
|
struct i2c_client *client = &dev->i2c_client[dev->def_i2c_bus];
|
||||||
struct i2c_adapter *adap = &dev->i2c_adap[dev->def_i2c_bus];
|
struct i2c_adapter *adap = &dev->i2c_adap[dev->def_i2c_bus];
|
||||||
|
struct em28xx_v4l2 *v4l2 = dev->v4l2;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
v4l2_clk_name_i2c(clk_name, sizeof(clk_name),
|
v4l2_clk_name_i2c(clk_name, sizeof(clk_name),
|
||||||
i2c_adapter_id(adap), client->addr);
|
i2c_adapter_id(adap), client->addr);
|
||||||
dev->clk = v4l2_clk_register_fixed(clk_name, "mclk", -EINVAL);
|
v4l2->clk = v4l2_clk_register_fixed(clk_name, "mclk", -EINVAL);
|
||||||
if (IS_ERR(dev->clk))
|
if (IS_ERR(v4l2->clk))
|
||||||
return PTR_ERR(dev->clk);
|
return PTR_ERR(v4l2->clk);
|
||||||
|
|
||||||
switch (dev->em28xx_sensor) {
|
switch (dev->em28xx_sensor) {
|
||||||
case EM28XX_MT9V011:
|
case EM28XX_MT9V011:
|
||||||
|
@ -448,8 +449,8 @@ int em28xx_init_camera(struct em28xx *dev)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
v4l2_clk_unregister_fixed(dev->clk);
|
v4l2_clk_unregister_fixed(v4l2->clk);
|
||||||
dev->clk = NULL;
|
v4l2->clk = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -1970,9 +1970,9 @@ static int em28xx_v4l2_fini(struct em28xx *dev)
|
||||||
v4l2_ctrl_handler_free(&v4l2->ctrl_handler);
|
v4l2_ctrl_handler_free(&v4l2->ctrl_handler);
|
||||||
v4l2_device_unregister(&v4l2->v4l2_dev);
|
v4l2_device_unregister(&v4l2->v4l2_dev);
|
||||||
|
|
||||||
if (dev->clk) {
|
if (v4l2->clk) {
|
||||||
v4l2_clk_unregister_fixed(dev->clk);
|
v4l2_clk_unregister_fixed(v4l2->clk);
|
||||||
dev->clk = NULL;
|
v4l2->clk = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
kref_put(&v4l2->ref, em28xx_free_v4l2);
|
kref_put(&v4l2->ref, em28xx_free_v4l2);
|
||||||
|
|
|
@ -504,6 +504,7 @@ struct em28xx_v4l2 {
|
||||||
|
|
||||||
struct v4l2_device v4l2_dev;
|
struct v4l2_device v4l2_dev;
|
||||||
struct v4l2_ctrl_handler ctrl_handler;
|
struct v4l2_ctrl_handler ctrl_handler;
|
||||||
|
struct v4l2_clk *clk;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct em28xx_audio {
|
struct em28xx_audio {
|
||||||
|
@ -569,7 +570,6 @@ struct em28xx {
|
||||||
unsigned int has_alsa_audio:1;
|
unsigned int has_alsa_audio:1;
|
||||||
unsigned int is_audio_only:1;
|
unsigned int is_audio_only:1;
|
||||||
|
|
||||||
struct v4l2_clk *clk;
|
|
||||||
struct em28xx_board board;
|
struct em28xx_board board;
|
||||||
|
|
||||||
/* Webcam specific fields */
|
/* Webcam specific fields */
|
||||||
|
|
Loading…
Reference in New Issue