From: Pavel Machek <pavel@ucw.cz>
To: Sakari Ailus <sakari.ailus@iki.fi>
Cc: sre@kernel.org, pali.rohar@gmail.com,
linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
laurent.pinchart@ideasonboard.com, mchehab@kernel.org,
ivo.g.dimitrov.75@gmail.com
Subject: Re: subdevice config into pointer (was Re: [PATCH 1/4] v4l2: device_register_subdev_nodes: allow calling multiple times)
Date: Sat, 4 Mar 2017 00:24:01 +0100 [thread overview]
Message-ID: <20170303232400.GA6442@amd> (raw)
In-Reply-To: <20170302151321.GH3220@valkosipuli.retiisi.org.uk>
[-- Attachment #1: Type: text/plain, Size: 3353 bytes --]
Hi!
> > > > > Making the sub-device bus configuration a pointer should be in a separate
> > > > > patch. It makes sense since the entire configuration is not valid for all
> > > > > sub-devices attached to the ISP anymore. I think it originally was a
> > > > > separate patch, but they probably have been merged at some point. I can't
> > > > > find it right now anyway.
> > > >
> > > > Something like this?
> > > >
> > > > commit df9141c66678b549fac9d143bd55ed0b242cf36e
> > > > Author: Pavel <pavel@ucw.cz>
> > > > Date: Wed Mar 1 13:27:56 2017 +0100
> > > >
> > > > Turn bus in struct isp_async_subdev into pointer; some of our subdevs
> > > > (flash, focus) will not need bus configuration.
> > > >
> > > > Signed-off-by: Pavel Machek <pavel@ucw.cz>
> > >
> > > I applied this to the ccp2 branch with an improved patch
> > > description.
> >
> > Thanks!
> >
> > [But the important part is to get subdevices to work on ccp2 based
> > branch, and it still fails to work at all if I attempt to enable
> > them. I'd like to understand why...]
>
> Did you add the flash / lens to the async list? The patches currently in the
> ccp branch do not include that --- it should be in parsing the flash /
> lens-focus properties in omap3isp device's node.
I retried, and it fails different way than I assumed. I might be able
to debug this one as sensor (and mplayer) still works.
Best regards,
Pavel
--
This is what subdevs support should look like, I guess; but I don't
know fwnode stuff well enough.
diff --git a/drivers/media/platform/omap3isp/isp.c b/drivers/media/platform/omap3isp/isp.c
index c80397a..36bd359 100644
--- a/drivers/media/platform/omap3isp/isp.c
+++ b/drivers/media/platform/omap3isp/isp.c
@@ -2166,6 +2166,8 @@ static int isp_fwnodes_parse(struct device *dev,
struct v4l2_async_notifier *notifier)
{
struct fwnode_handle *fwn = NULL;
+ struct device_node *node;
+ int flash = 0;
notifier->subdevs = devm_kcalloc(
dev, ISP_MAX_SUBDEVS, sizeof(*notifier->subdevs), GFP_KERNEL);
@@ -2199,6 +2201,42 @@ static int isp_fwnodes_parse(struct device *dev,
notifier->num_subdevs++;
}
+ printk("Going through camera-flashes\n");
+ while (notifier->num_subdevs < ISP_MAX_SUBDEVS) {
+ /* FIXME: fwnode_graph_get_remote_endpoint()
+ (fwn = fwnode_graph_get_next_endpoint(device_fwnode_handle(dev), fwn, )) */
+ struct isp_async_subdev *isd;
+
+ node = of_parse_phandle(dev->of_node, "ti,camera-flashes", flash++);
+ flash++;
+ if (!node)
+ break;
+
+ printk("Having subdevice: %p\n", node);
+
+#if 1
+ isd = devm_kzalloc(dev, sizeof(*isd), GFP_KERNEL);
+ if (!isd)
+ goto error;
+
+ notifier->subdevs[notifier->num_subdevs] = &isd->asd;
+
+
+ isd->asd.match.of.node = node;
+ if (!isd->asd.match.of.node) {
+ dev_warn(dev, "bad remote port parent\n");
+ goto error;
+ }
+
+ isd->asd.match_type = V4L2_ASYNC_MATCH_OF;
+ notifier->num_subdevs++;
+#endif
+ }
+
+
+ if (notifier->num_subdevs == ISP_MAX_SUBDEVS) {
+ printk("isp: Maybe too many devices?\n");
+ }
return notifier->num_subdevs;
error:
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
next prev parent reply other threads:[~2017-03-03 23:24 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-14 22:38 [PATCH 1/4] v4l2: device_register_subdev_nodes: allow calling multiple times Pavel Machek
2017-02-14 22:38 ` [PATCH 2/4] Core changes for CCP2/CSI1 support Pavel Machek
2017-02-14 22:39 ` [PATCH 3/4] smiapp: add CCP2 support Pavel Machek
2017-02-14 22:39 ` [PATCH 4/4] v4l: split lane parsing code Pavel Machek
2017-02-20 10:31 ` [PATCH 1/4] v4l2: device_register_subdev_nodes: allow calling multiple times Pavel Machek
2017-02-20 13:09 ` Sakari Ailus
2017-02-20 13:56 ` Sakari Ailus
2017-02-21 11:07 ` Pavel Machek
2017-02-21 11:11 ` Sakari Ailus
2017-02-23 22:52 ` Pavel Machek
2017-02-25 0:09 ` Pavel Machek
2017-02-25 13:44 ` Sakari Ailus
2017-02-25 21:53 ` camera subdevice support was " Pavel Machek
2017-02-25 22:56 ` Pavel Machek
2017-02-25 23:17 ` Sakari Ailus
2017-02-26 8:38 ` Pavel Machek
2017-02-26 21:36 ` Sakari Ailus
2017-03-04 8:55 ` Pavel Machek
2017-03-04 12:30 ` Sakari Ailus
2017-03-04 19:05 ` Pavel Machek
2017-03-04 19:20 ` Pavel Machek
2017-03-02 9:07 ` subdevice config into pointer (was Re: [PATCH 1/4] v4l2: device_register_subdev_nodes: allow calling multiple times) Pavel Machek
2017-03-02 14:16 ` Sakari Ailus
2017-03-02 14:58 ` Pavel Machek
2017-03-02 15:13 ` Sakari Ailus
2017-03-03 23:24 ` Pavel Machek [this message]
2017-03-02 18:39 ` Laurent Pinchart
2017-03-02 21:03 ` Pavel Machek
2017-03-02 21:18 ` Sakari Ailus
2017-02-25 22:12 ` [PATCH 1/4] v4l2: device_register_subdev_nodes: allow calling multiple times Pavel Machek
2017-02-27 19:43 ` Pavel Machek
2017-02-27 20:54 ` Sakari Ailus
2017-02-28 9:17 ` Pavel Machek
2017-02-28 11:38 ` [PATCH] omap3isp: Parse CSI1 configuration from the device tree Pavel Machek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170303232400.GA6442@amd \
--to=pavel@ucw.cz \
--cc=ivo.g.dimitrov.75@gmail.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=pali.rohar@gmail.com \
--cc=sakari.ailus@iki.fi \
--cc=sre@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.