diff options
-rw-r--r-- | drivers/media/i2c/s5c73m3/s5c73m3-core.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/media/i2c/s5c73m3/s5c73m3-core.c b/drivers/media/i2c/s5c73m3/s5c73m3-core.c index b353c50a6881..ce8fcf22253a 100644 --- a/drivers/media/i2c/s5c73m3/s5c73m3-core.c +++ b/drivers/media/i2c/s5c73m3/s5c73m3-core.c | |||
@@ -1668,13 +1668,17 @@ out_err1: | |||
1668 | 1668 | ||
1669 | static int s5c73m3_remove(struct i2c_client *client) | 1669 | static int s5c73m3_remove(struct i2c_client *client) |
1670 | { | 1670 | { |
1671 | struct v4l2_subdev *sd = i2c_get_clientdata(client); | 1671 | struct v4l2_subdev *oif_sd = i2c_get_clientdata(client); |
1672 | struct s5c73m3 *state = sensor_sd_to_s5c73m3(sd); | 1672 | struct s5c73m3 *state = oif_sd_to_s5c73m3(oif_sd); |
1673 | struct v4l2_subdev *sensor_sd = &state->sensor_sd; | ||
1673 | 1674 | ||
1674 | v4l2_device_unregister_subdev(sd); | 1675 | v4l2_device_unregister_subdev(oif_sd); |
1675 | 1676 | ||
1676 | v4l2_ctrl_handler_free(sd->ctrl_handler); | 1677 | v4l2_ctrl_handler_free(oif_sd->ctrl_handler); |
1677 | media_entity_cleanup(&sd->entity); | 1678 | media_entity_cleanup(&oif_sd->entity); |
1679 | |||
1680 | v4l2_device_unregister_subdev(sensor_sd); | ||
1681 | media_entity_cleanup(&sensor_sd->entity); | ||
1678 | 1682 | ||
1679 | s5c73m3_unregister_spi_driver(state); | 1683 | s5c73m3_unregister_spi_driver(state); |
1680 | s5c73m3_free_gpios(state); | 1684 | s5c73m3_free_gpios(state); |