From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> To: linux-media@vger.kernel.org Cc: "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: [PATCH v2 2/4] media: v4l2-async: Pass notifier pointer to match functions Date: Wed, 18 Mar 2020 02:25:05 +0200 Message-ID: <20200318002507.30336-3-laurent.pinchart+renesas@ideasonboard.com> (raw) In-Reply-To: <20200318002507.30336-1-laurent.pinchart+renesas@ideasonboard.com> The notifier is useful to match functions to access information about the device matching a subdev. This will be used to print messages using the correct struct device and driver name. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> --- drivers/media/v4l2-core/v4l2-async.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/drivers/media/v4l2-core/v4l2-async.c b/drivers/media/v4l2-core/v4l2-async.c index 995e5464cba7..224b39a7aeb1 100644 --- a/drivers/media/v4l2-core/v4l2-async.c +++ b/drivers/media/v4l2-core/v4l2-async.c @@ -50,7 +50,8 @@ static int v4l2_async_notifier_call_complete(struct v4l2_async_notifier *n) return n->ops->complete(n); } -static bool match_i2c(struct v4l2_subdev *sd, struct v4l2_async_subdev *asd) +static bool match_i2c(struct v4l2_async_notifier *notifier, + struct v4l2_subdev *sd, struct v4l2_async_subdev *asd) { #if IS_ENABLED(CONFIG_I2C) struct i2c_client *client = i2c_verify_client(sd->dev); @@ -63,13 +64,14 @@ static bool match_i2c(struct v4l2_subdev *sd, struct v4l2_async_subdev *asd) #endif } -static bool match_devname(struct v4l2_subdev *sd, - struct v4l2_async_subdev *asd) +static bool match_devname(struct v4l2_async_notifier *notifier, + struct v4l2_subdev *sd, struct v4l2_async_subdev *asd) { return !strcmp(asd->match.device_name, dev_name(sd->dev)); } -static bool match_fwnode(struct v4l2_subdev *sd, struct v4l2_async_subdev *asd) +static bool match_fwnode(struct v4l2_async_notifier *notifier, + struct v4l2_subdev *sd, struct v4l2_async_subdev *asd) { struct fwnode_handle *other_fwnode; struct fwnode_handle *dev_fwnode; @@ -114,7 +116,8 @@ static bool match_fwnode(struct v4l2_subdev *sd, struct v4l2_async_subdev *asd) return dev_fwnode == other_fwnode; } -static bool match_custom(struct v4l2_subdev *sd, struct v4l2_async_subdev *asd) +static bool match_custom(struct v4l2_async_notifier *notifier, + struct v4l2_subdev *sd, struct v4l2_async_subdev *asd) { if (!asd->match.custom.match) /* Match always */ @@ -131,7 +134,8 @@ static struct v4l2_async_subdev * v4l2_async_find_match(struct v4l2_async_notifier *notifier, struct v4l2_subdev *sd) { - bool (*match)(struct v4l2_subdev *sd, struct v4l2_async_subdev *asd); + bool (*match)(struct v4l2_async_notifier *notifier, + struct v4l2_subdev *sd, struct v4l2_async_subdev *asd); struct v4l2_async_subdev *asd; list_for_each_entry(asd, ¬ifier->waiting, list) { @@ -156,7 +160,7 @@ v4l2_async_find_match(struct v4l2_async_notifier *notifier, } /* match cannot be NULL here */ - if (match(sd, asd)) + if (match(notifier, sd, asd)) return asd; } -- Regards, Laurent Pinchart
next prev parent reply other threads:[~2020-03-18 0:25 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 ` Laurent Pinchart [this message] 2020-03-18 8:09 ` [PATCH v2 2/4] media: v4l2-async: Pass notifier pointer to match functions 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 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=20200318002507.30336-3-laurent.pinchart+renesas@ideasonboard.com \ --to=laurent.pinchart+renesas@ideasonboard.com \ --cc=jacopo+renesas@jmondi.org \ --cc=kieran.bingham+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