aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/i2c/adv7604.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/media/i2c/adv7604.c b/drivers/media/i2c/adv7604.c
index 338baa4c23ef..7358853bf092 100644
--- a/drivers/media/i2c/adv7604.c
+++ b/drivers/media/i2c/adv7604.c
@@ -2333,6 +2333,11 @@ static int adv7604_probe(struct i2c_client *client,
2333 goto err_entity; 2333 goto err_entity;
2334 v4l2_info(sd, "%s found @ 0x%x (%s)\n", client->name, 2334 v4l2_info(sd, "%s found @ 0x%x (%s)\n", client->name,
2335 client->addr << 1, client->adapter->name); 2335 client->addr << 1, client->adapter->name);
2336
2337 err = v4l2_async_register_subdev(sd);
2338 if (err)
2339 goto err_entity;
2340
2336 return 0; 2341 return 0;
2337 2342
2338err_entity: 2343err_entity:
@@ -2356,6 +2361,7 @@ static int adv7604_remove(struct i2c_client *client)
2356 2361
2357 cancel_delayed_work(&state->delayed_work_enable_hotplug); 2362 cancel_delayed_work(&state->delayed_work_enable_hotplug);
2358 destroy_workqueue(state->work_queues); 2363 destroy_workqueue(state->work_queues);
2364 v4l2_async_unregister_subdev(sd);
2359 v4l2_device_unregister_subdev(sd); 2365 v4l2_device_unregister_subdev(sd);
2360 media_entity_cleanup(&sd->entity); 2366 media_entity_cleanup(&sd->entity);
2361 adv7604_unregister_clients(to_state(sd)); 2367 adv7604_unregister_clients(to_state(sd));