lkml.org 
[lkml]   [2017]   [Feb]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[RFC 13/13] adp1653: add subdevs
Needed for number of camera devices to match and fcam-dev to work.
---
drivers/media/i2c/adp1653.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/drivers/media/i2c/adp1653.c b/drivers/media/i2c/adp1653.c
index ba1ec4a..b3d8e60 100644
--- a/drivers/media/i2c/adp1653.c
+++ b/drivers/media/i2c/adp1653.c
@@ -497,11 +497,13 @@ static int adp1653_probe(struct i2c_client *client,
flash->platform_data = client->dev.platform_data;
}

+ dev_info(&client->dev, "adp1653 probe: subdev\n");
mutex_init(&flash->power_lock);

v4l2_i2c_subdev_init(&flash->subdev, client, &adp1653_ops);
flash->subdev.internal_ops = &adp1653_internal_ops;
flash->subdev.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
+ strcpy(flash->subdev.name, "adp1653 flash");

ret = adp1653_init_controls(flash);
if (ret)
@@ -509,12 +511,21 @@ static int adp1653_probe(struct i2c_client *client,

ret = media_entity_pads_init(&flash->subdev.entity, 0, NULL);
if (ret < 0)
- goto free_and_quit;
+ goto free_pads;
+
+ dev_info(&client->dev, "adp1653 probe: should be ok\n");
+
+ ret = v4l2_async_register_subdev(&flash->subdev);
+ if (ret < 0)
+ goto free_pads;
+
+ dev_info(&client->dev, "adp1653 probe: async register subdev ok\n");

flash->subdev.entity.function = MEDIA_ENT_F_FLASH;

return 0;
-
+free_pads:
+ media_entity_cleanup(&flash->subdev.entity);
free_and_quit:
dev_err(&client->dev, "adp1653: failed to register device\n");
v4l2_ctrl_handler_free(&flash->ctrls);
--
2.1.4

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2017-02-14 19:07    [W:1.062 / U:0.600 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site