Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753879AbbGAXTA (ORCPT ); Wed, 1 Jul 2015 19:19:00 -0400 Received: from v094114.home.net.pl ([79.96.170.134]:46487 "HELO v094114.home.net.pl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1753291AbbGAXSy (ORCPT ); Wed, 1 Jul 2015 19:18:54 -0400 From: "Rafael J. Wysocki" To: Tomeu Vizoso Cc: linux-kernel@vger.kernel.org, Mark Brown , Greg Kroah-Hartman Subject: Re: [PATCH v1 09/10] device: property: add fwnode_driver_match_device() Date: Thu, 02 Jul 2015 01:45:14 +0200 Message-ID: <2062557.K1m9y5FfSe@vostro.rjw.lan> User-Agent: KMail/4.11.5 (Linux/4.1.0-rc5+; KDE/4.11.5; x86_64; ; ) In-Reply-To: <1435676108-20590-10-git-send-email-tomeu.vizoso@collabora.com> References: <1435676108-20590-1-git-send-email-tomeu.vizoso@collabora.com> <1435676108-20590-10-git-send-email-tomeu.vizoso@collabora.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="utf-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2613 Lines: 83 On Tuesday, June 30, 2015 04:55:07 PM Tomeu Vizoso wrote: > So buses can match drivers to devices without having to care about what > firmware is used to describe the device. > > The introduction of this function will also allow us to introduce > matching behavior common to the different type of firmwares. > > Signed-off-by: Tomeu Vizoso Looks OK to me. > --- > > drivers/base/property.c | 18 ++++++++++++++++++ > include/linux/property.h | 4 ++++ > 2 files changed, 22 insertions(+) > > diff --git a/drivers/base/property.c b/drivers/base/property.c > index 9c8be31..8528eb9 100644 > --- a/drivers/base/property.c > +++ b/drivers/base/property.c > @@ -15,6 +15,7 @@ > #include > #include > #include > +#include > #include > > /** > @@ -594,3 +595,20 @@ bool fwnode_is_compatible(struct fwnode_handle *fwnode, const char *compatible) > return false; > } > EXPORT_SYMBOL_GPL(fwnode_is_compatible); > + > +/** > + * fwnode_driver_match_device - Tell if a driver matches a device. > + * @drv: the device_driver structure to test > + * @dev: the device structure to match against > + */ > +bool fwnode_driver_match_device(struct device *dev, > + const struct device_driver *drv) > +{ > + if (is_of_node(dev->fwnode)) > + return of_driver_match_device(dev, drv); > + else if (is_acpi_node(dev->fwnode)) > + return acpi_driver_match_device(dev, drv); > + > + return false; > +} > +EXPORT_SYMBOL_GPL(fwnode_driver_match_device); > diff --git a/include/linux/property.h b/include/linux/property.h > index bf10074..4e453c4 100644 > --- a/include/linux/property.h > +++ b/include/linux/property.h > @@ -17,6 +17,7 @@ > #include > > struct device; > +struct device_driver; > > enum dev_prop_type { > DEV_PROP_U8, > @@ -82,6 +83,9 @@ void fwnode_handle_put(struct fwnode_handle *fwnode); > > bool fwnode_is_compatible(struct fwnode_handle *fwnode, const char *compatible); > > +bool fwnode_driver_match_device(struct device *dev, > + const struct device_driver *drv); > + > unsigned int device_get_child_node_count(struct device *dev); > > static inline bool device_property_read_bool(struct device *dev, > -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/