All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>,
	Daniel Scally <djrscally@gmail.com>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	Sakari Ailus <sakari.ailus@linux.intel.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Hans de Goede <hdegoede@redhat.com>,
	linux-usb@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org,
	Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Subject: Re: [PATCH v3 2/6] device property: Use multi-connection matchers for single case
Date: Fri, 4 Mar 2022 14:54:49 +0200	[thread overview]
Message-ID: <YiIMGQrhJX7svHSC@smile.fi.intel.com> (raw)
In-Reply-To: <20220303223351.141238-2-bjorn.andersson@linaro.org>

On Thu, Mar 03, 2022 at 02:33:47PM -0800, Bjorn Andersson wrote:
> The newly introduced helpers for searching for matches in the case of
> multiple connections can be resused by the single-connection case, so do
> this to save some duplication.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> ---
> 
> Changes since v2:
> - None
> 
> Changes since v1:
> - None
> 
>  drivers/base/property.c | 55 ++++-------------------------------------
>  1 file changed, 5 insertions(+), 50 deletions(-)
> 
> diff --git a/drivers/base/property.c b/drivers/base/property.c
> index 5cda205136f6..81156dc97ad7 100644
> --- a/drivers/base/property.c
> +++ b/drivers/base/property.c
> @@ -1193,31 +1193,6 @@ const void *device_get_match_data(struct device *dev)
>  }
>  EXPORT_SYMBOL_GPL(device_get_match_data);
>  
> -static void *
> -fwnode_graph_devcon_match(struct fwnode_handle *fwnode, const char *con_id,
> -			  void *data, devcon_match_fn_t match)
> -{
> -	struct fwnode_handle *node;
> -	struct fwnode_handle *ep;
> -	void *ret;
> -
> -	fwnode_graph_for_each_endpoint(fwnode, ep) {
> -		node = fwnode_graph_get_remote_port_parent(ep);
> -		if (!fwnode_device_is_available(node)) {
> -			fwnode_handle_put(node);
> -			continue;
> -		}
> -
> -		ret = match(node, con_id, data);
> -		fwnode_handle_put(node);
> -		if (ret) {
> -			fwnode_handle_put(ep);
> -			return ret;
> -		}
> -	}
> -	return NULL;
> -}
> -
>  static unsigned int fwnode_graph_devcon_matches(struct fwnode_handle *fwnode,
>  						const char *con_id, void *data,
>  						devcon_match_fn_t match,
> @@ -1252,28 +1227,6 @@ static unsigned int fwnode_graph_devcon_matches(struct fwnode_handle *fwnode,
>  	return count;
>  }
>  
> -static void *
> -fwnode_devcon_match(struct fwnode_handle *fwnode, const char *con_id,
> -		    void *data, devcon_match_fn_t match)
> -{
> -	struct fwnode_handle *node;
> -	void *ret;
> -	int i;
> -
> -	for (i = 0; ; i++) {
> -		node = fwnode_find_reference(fwnode, con_id, i);
> -		if (IS_ERR(node))
> -			break;
> -
> -		ret = match(node, NULL, data);
> -		fwnode_handle_put(node);
> -		if (ret)
> -			return ret;
> -	}
> -
> -	return NULL;
> -}
> -
>  static unsigned int fwnode_devcon_matches(struct fwnode_handle *fwnode,
>  					  const char *con_id, void *data,
>  					  devcon_match_fn_t match,
> @@ -1320,16 +1273,18 @@ void *fwnode_connection_find_match(struct fwnode_handle *fwnode,
>  				   const char *con_id, void *data,
>  				   devcon_match_fn_t match)
>  {
> +	unsigned int count;
>  	void *ret;
>  
>  	if (!fwnode || !match)
>  		return NULL;
>  
> -	ret = fwnode_graph_devcon_match(fwnode, con_id, data, match);
> -	if (ret)
> +	count = fwnode_graph_devcon_matches(fwnode, con_id, data, match, &ret, 1);
> +	if (count)
>  		return ret;
>  
> -	return fwnode_devcon_match(fwnode, con_id, data, match);
> +	count = fwnode_devcon_matches(fwnode, con_id, data, match, &ret, 1);
> +	return count ? ret : NULL;
>  }
>  EXPORT_SYMBOL_GPL(fwnode_connection_find_match);
>  
> -- 
> 2.33.1
> 

-- 
With Best Regards,
Andy Shevchenko



  reply	other threads:[~2022-03-04 12:55 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-03 22:33 [PATCH v3 1/6] device property: Helper to match multiple connections Bjorn Andersson
2022-03-03 22:33 ` [PATCH v3 2/6] device property: Use multi-connection matchers for single case Bjorn Andersson
2022-03-04 12:54   ` Andy Shevchenko [this message]
2022-03-03 22:33 ` [PATCH v3 3/6] typec: mux: Introduce indirection Bjorn Andersson
2022-03-04 12:58   ` Andy Shevchenko
2022-03-03 22:33 ` [PATCH v3 4/6] typec: mux: Allow multiple mux_devs per mux Bjorn Andersson
2022-03-04 13:54   ` Andy Shevchenko
2022-03-07  3:09     ` Bjorn Andersson
2022-03-03 22:33 ` [PATCH v3 5/6] dt-bindings: usb: Add binding for fcs,fsa4480 Bjorn Andersson
2022-03-03 22:33 ` [PATCH v3 6/6] usb: typec: mux: Add On Semi fsa4480 driver Bjorn Andersson
2022-03-04 12:54 ` [PATCH v3 1/6] device property: Helper to match multiple connections Andy Shevchenko
2022-03-04 13:41   ` Sakari Ailus
2022-03-04 13:52     ` Andy Shevchenko
2022-03-07  2:18       ` Bjorn Andersson
2022-03-07  9:31         ` Andy Shevchenko
2022-03-07  2:09   ` Bjorn Andersson

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=YiIMGQrhJX7svHSC@smile.fi.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=bjorn.andersson@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=djrscally@gmail.com \
    --cc=dmitry.baryshkov@linaro.org \
    --cc=hdegoede@redhat.com \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=rafael@kernel.org \
    --cc=robh+dt@kernel.org \
    --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
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.