From: Jacopo Mondi <jacopo@jmondi.org> To: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Cc: linux-media@vger.kernel.org, "Sakari Ailus" <sakari.ailus@linux.intel.com>, "Jacopo Mondi" <jacopo+renesas@jmondi.org>, "Niklas Söderlund" <niklas.soderlund@ragnatech.se>, "Kieran Bingham" <kieran.bingham+renesas@ideasonboard.com>, "Lad Prabhakar" <prabhakar.csengg@gmail.com>, linux-renesas-soc@vger.kernel.org Subject: Re: [PATCH v2 3/4] media: v4l2-async: Log message in case of heterogenous fwnode match Date: Wed, 18 Mar 2020 15:03:26 +0100 Message-ID: <20200318140326.nbgyhad3zxgaxjgd@uno.localdomain> (raw) In-Reply-To: <20200318002507.30336-4-laurent.pinchart+renesas@ideasonboard.com> Hi Laurent, On Wed, Mar 18, 2020 at 02:25:06AM +0200, Laurent Pinchart wrote: > When a notifier supplies a device fwnode and a subdev supplies an > endpoint fwnode, incorrect matches may occur if multiple subdevs > correspond to the same device fwnode. This can't be handled > transparently in the framework, and requires the notifier to switch to > endpoint fwnodes. Log a message to notify of this problem. A second > message is added to help accelerating the transition to endpoint > matching. > > Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> > --- > drivers/media/v4l2-core/v4l2-async.c | 24 +++++++++++++++++++++++- > 1 file changed, 23 insertions(+), 1 deletion(-) > > diff --git a/drivers/media/v4l2-core/v4l2-async.c b/drivers/media/v4l2-core/v4l2-async.c > index 224b39a7aeb1..9f393a7be455 100644 > --- a/drivers/media/v4l2-core/v4l2-async.c > +++ b/drivers/media/v4l2-core/v4l2-async.c > @@ -77,6 +77,7 @@ static bool match_fwnode(struct v4l2_async_notifier *notifier, > struct fwnode_handle *dev_fwnode; > bool asd_fwnode_is_ep; > bool sd_fwnode_is_ep; > + struct device *dev; > const char *name; > > /* > @@ -113,7 +114,28 @@ static bool match_fwnode(struct v4l2_async_notifier *notifier, > > fwnode_handle_put(dev_fwnode); > > - return dev_fwnode == other_fwnode; > + if (dev_fwnode != other_fwnode) > + return false; > + > + /* > + * We have an heterogenous match. Retrieve the struct device of the > + * side that matched on a device fwnode to print its driver name. > + */ > + if (sd_fwnode_is_ep) > + dev = notifier->v4l2_dev ? notifier->v4l2_dev->dev > + : notifier->sd->dev; Have you considered passing the device directly ? seems notifier is only used for that... Apart this small nit, for the series Reviewed-by: Jacopo Mondi <jacopo+renesas@jmondi.org> Thanks j > + else > + dev = sd->dev; > + > + if (dev && dev->driver) { > + if (sd_fwnode_is_ep) > + dev_info(dev, "Driver %s uses device fwnode, incorrect match may occur\n", > + dev->driver->name); > + dev_info(dev, "Consider updating driver %s to match on endpoints\n", > + dev->driver->name); > + } > + > + return true; > } > > static bool match_custom(struct v4l2_async_notifier *notifier, > -- > Regards, > > Laurent Pinchart >
next prev parent reply other threads:[~2020-03-18 14:00 UTC|newest] Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-03-18 0:25 [PATCH v2 0/4] media: v4l2-async: Accept endpoints and devices for fwnode matching Laurent Pinchart 2020-03-18 0:25 ` [PATCH v2 1/4] " Laurent Pinchart 2020-03-18 0:25 ` [PATCH v2 2/4] media: v4l2-async: Pass notifier pointer to match functions Laurent Pinchart 2020-03-18 8:09 ` Sakari Ailus 2020-03-18 8:58 ` Kieran Bingham 2020-03-18 0:25 ` [PATCH v2 3/4] media: v4l2-async: Log message in case of heterogenous fwnode match Laurent Pinchart 2020-03-18 9:16 ` Kieran Bingham 2020-06-20 23:14 ` Laurent Pinchart 2020-03-18 9:16 ` Geert Uytterhoeven 2020-06-20 23:41 ` Laurent Pinchart 2020-03-18 14:03 ` Jacopo Mondi [this message] 2020-06-20 23:44 ` Laurent Pinchart 2020-03-18 0:25 ` [PATCH v2 4/4] media: v4l2-async: Don't check fwnode name to detect endpoint Laurent Pinchart 2020-03-18 9:22 ` Kieran Bingham 2020-06-20 23:04 ` Laurent Pinchart 2020-03-18 18:18 ` [PATCH v2 0/4] media: v4l2-async: Accept endpoints and devices for fwnode matching Lad, Prabhakar
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=20200318140326.nbgyhad3zxgaxjgd@uno.localdomain \ --to=jacopo@jmondi.org \ --cc=jacopo+renesas@jmondi.org \ --cc=kieran.bingham+renesas@ideasonboard.com \ --cc=laurent.pinchart+renesas@ideasonboard.com \ --cc=linux-media@vger.kernel.org \ --cc=linux-renesas-soc@vger.kernel.org \ --cc=niklas.soderlund@ragnatech.se \ --cc=prabhakar.csengg@gmail.com \ --cc=sakari.ailus@linux.intel.com \ /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
Unnamed repository; edit this file 'description' to name the repository. This inbox may be cloned and mirrored by anyone: git clone --mirror http://archive.lwn.net:8080/linux-media/0 linux-media/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-media linux-media/ http://archive.lwn.net:8080/linux-media \ linux-media@vger.kernel.org lwn-linux-media@archive.lwn.net public-inbox-index linux-media Example config snippet for mirrors. Newsgroup available over NNTP: nntp://archive.lwn.net/lwn.kernel.linux-media AGPL code for this site: git clone https://public-inbox.org/public-inbox.git