| .. | .. |
|---|
| 329 | 329 | |
|---|
| 330 | 330 | ret = media_entity_pads_init(&coil->subdev.entity, 0, NULL); |
|---|
| 331 | 331 | if (ret < 0) |
|---|
| 332 | | - goto cleanup2; |
|---|
| 332 | + goto clean_mutex; |
|---|
| 333 | 333 | |
|---|
| 334 | 334 | ret = v4l2_async_register_subdev(&coil->subdev); |
|---|
| 335 | 335 | if (ret < 0) |
|---|
| 336 | | - goto cleanup; |
|---|
| 336 | + goto clean_entity; |
|---|
| 337 | 337 | |
|---|
| 338 | 338 | return ret; |
|---|
| 339 | 339 | |
|---|
| 340 | | -cleanup2: |
|---|
| 341 | | - mutex_destroy(&coil->power_lock); |
|---|
| 342 | | -cleanup: |
|---|
| 340 | +clean_entity: |
|---|
| 343 | 341 | media_entity_cleanup(&coil->subdev.entity); |
|---|
| 342 | +clean_mutex: |
|---|
| 343 | + mutex_destroy(&coil->power_lock); |
|---|
| 344 | 344 | return ret; |
|---|
| 345 | 345 | } |
|---|
| 346 | 346 | |
|---|
| .. | .. |
|---|
| 359 | 359 | static const struct i2c_device_id ad5820_id_table[] = { |
|---|
| 360 | 360 | { "ad5820", 0 }, |
|---|
| 361 | 361 | { "ad5821", 0 }, |
|---|
| 362 | | - { "ad5823", 0 }, |
|---|
| 363 | 362 | { } |
|---|
| 364 | 363 | }; |
|---|
| 365 | 364 | MODULE_DEVICE_TABLE(i2c, ad5820_id_table); |
|---|
| .. | .. |
|---|
| 367 | 366 | static const struct of_device_id ad5820_of_table[] = { |
|---|
| 368 | 367 | { .compatible = "adi,ad5820" }, |
|---|
| 369 | 368 | { .compatible = "adi,ad5821" }, |
|---|
| 370 | | - { .compatible = "adi,ad5823" }, |
|---|
| 371 | 369 | { } |
|---|
| 372 | 370 | }; |
|---|
| 373 | 371 | MODULE_DEVICE_TABLE(of, ad5820_of_table); |
|---|