Message ID | 20211007171815.28336-1-andriy.shevchenko@linux.intel.com |
---|---|
State | New |
Headers | show |
Series | [v3,1/3] driver core: Provide device_match_acpi_handle() helper | expand |
On Thu, Oct 7, 2021 at 7:18 PM Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote: > > We have couple of users of this helper, make it available for them. "a couple"? > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > --- > v3: no changes > drivers/base/core.c | 6 ++++++ > include/linux/device/bus.h | 1 + > 2 files changed, 7 insertions(+) > > diff --git a/drivers/base/core.c b/drivers/base/core.c > index b67ebe6a323c..fd034d742447 100644 > --- a/drivers/base/core.c > +++ b/drivers/base/core.c > @@ -4838,6 +4838,12 @@ int device_match_acpi_dev(struct device *dev, const void *adev) > } > EXPORT_SYMBOL(device_match_acpi_dev); > > +int device_match_acpi_handle(struct device *dev, const void *handle) Hmmm. Should the second arg be of type acpi_handle? And doesn't this function belong to the ACPI core? It is related to acpi_bus_get_device() and such which are located there. > +{ > + return ACPI_HANDLE(dev) == handle; > +} > +EXPORT_SYMBOL(device_match_acpi_handle); > + > int device_match_any(struct device *dev, const void *unused) > { > return 1; > diff --git a/include/linux/device/bus.h b/include/linux/device/bus.h > index 062777a45a74..a039ab809753 100644 > --- a/include/linux/device/bus.h > +++ b/include/linux/device/bus.h > @@ -143,6 +143,7 @@ int device_match_of_node(struct device *dev, const void *np); > int device_match_fwnode(struct device *dev, const void *fwnode); > int device_match_devt(struct device *dev, const void *pdevt); > int device_match_acpi_dev(struct device *dev, const void *adev); > +int device_match_acpi_handle(struct device *dev, const void *handle); > int device_match_any(struct device *dev, const void *unused); > > /* iterator helpers for buses */ > -- > 2.33.0 >
On Wed, Oct 13, 2021 at 8:24 PM Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote: > > On Wed, Oct 13, 2021 at 07:47:37PM +0200, Rafael J. Wysocki wrote: > > On Thu, Oct 7, 2021 at 7:18 PM Andy Shevchenko > > <andriy.shevchenko@linux.intel.com> wrote: > > > > > > We have couple of users of this helper, make it available for them. > > > > "a couple"? > > Yep. > > > > EXPORT_SYMBOL(device_match_acpi_dev); > > > > > > +int device_match_acpi_handle(struct device *dev, const void *handle) > > > > Hmmm. Should the second arg be of type acpi_handle? > > acpi_handle is not defined as struct and it means the header, where the > prototype is declared, will require acpi.h to be included. Besides that the > whole set of device_match_*() is done by the same prototype, so it can be used > in bus_find_device() calls. Ah, OK, it's for bus_find_device(). > > And doesn't this function belong to the ACPI core? It is related to > > acpi_bus_get_device() and such which are located there. > > Same as above. I don't think so. I see, but any chance to improve the changelog?
On Wed, Oct 13, 2021 at 07:47:37PM +0200, Rafael J. Wysocki wrote: > On Thu, Oct 7, 2021 at 7:18 PM Andy Shevchenko > <andriy.shevchenko@linux.intel.com> wrote: > > > > We have couple of users of this helper, make it available for them. > > "a couple"? Yep. > > EXPORT_SYMBOL(device_match_acpi_dev); > > > > +int device_match_acpi_handle(struct device *dev, const void *handle) > > Hmmm. Should the second arg be of type acpi_handle? acpi_handle is not defined as struct and it means the header, where the prototype is declared, will require acpi.h to be included. Besides that the whole set of device_match_*() is done by the same prototype, so it can be used in bus_find_device() calls. > And doesn't this function belong to the ACPI core? It is related to > acpi_bus_get_device() and such which are located there. Same as above. I don't think so.
On Wed, Oct 13, 2021 at 08:33:14PM +0200, Rafael J. Wysocki wrote: > On Wed, Oct 13, 2021 at 8:24 PM Andy Shevchenko > <andriy.shevchenko@linux.intel.com> wrote: > > > > On Wed, Oct 13, 2021 at 07:47:37PM +0200, Rafael J. Wysocki wrote: > > > On Thu, Oct 7, 2021 at 7:18 PM Andy Shevchenko > > > <andriy.shevchenko@linux.intel.com> wrote: > > > > > > > > We have couple of users of this helper, make it available for them. > > > > > > "a couple"? > > > > Yep. > > > > > > EXPORT_SYMBOL(device_match_acpi_dev); > > > > > > > > +int device_match_acpi_handle(struct device *dev, const void *handle) > > > > > > Hmmm. Should the second arg be of type acpi_handle? > > > > acpi_handle is not defined as struct and it means the header, where the > > prototype is declared, will require acpi.h to be included. Besides that the > > whole set of device_match_*() is done by the same prototype, so it can be used > > in bus_find_device() calls. > > Ah, OK, it's for bus_find_device(). > > > > And doesn't this function belong to the ACPI core? It is related to > > > acpi_bus_get_device() and such which are located there. > > > > Same as above. I don't think so. > > I see, but any chance to improve the changelog? I will drop this from my testing tree and wait for a new version with a better changelog. thanks, greg k-h
diff --git a/drivers/base/core.c b/drivers/base/core.c index b67ebe6a323c..fd034d742447 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -4838,6 +4838,12 @@ int device_match_acpi_dev(struct device *dev, const void *adev) } EXPORT_SYMBOL(device_match_acpi_dev); +int device_match_acpi_handle(struct device *dev, const void *handle) +{ + return ACPI_HANDLE(dev) == handle; +} +EXPORT_SYMBOL(device_match_acpi_handle); + int device_match_any(struct device *dev, const void *unused) { return 1; diff --git a/include/linux/device/bus.h b/include/linux/device/bus.h index 062777a45a74..a039ab809753 100644 --- a/include/linux/device/bus.h +++ b/include/linux/device/bus.h @@ -143,6 +143,7 @@ int device_match_of_node(struct device *dev, const void *np); int device_match_fwnode(struct device *dev, const void *fwnode); int device_match_devt(struct device *dev, const void *pdevt); int device_match_acpi_dev(struct device *dev, const void *adev); +int device_match_acpi_handle(struct device *dev, const void *handle); int device_match_any(struct device *dev, const void *unused); /* iterator helpers for buses */
We have couple of users of this helper, make it available for them. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- v3: no changes drivers/base/core.c | 6 ++++++ include/linux/device/bus.h | 1 + 2 files changed, 7 insertions(+)