diff mbox series

[v3,1/3] driver core: Provide device_match_acpi_handle() helper

Message ID 20211007171815.28336-1-andriy.shevchenko@linux.intel.com (mailing list archive)
State Superseded, archived
Headers show
Series [v3,1/3] driver core: Provide device_match_acpi_handle() helper | expand

Commit Message

Andy Shevchenko Oct. 7, 2021, 5:18 p.m. UTC
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(+)

Comments

Rafael J. Wysocki Oct. 13, 2021, 5:47 p.m. UTC | #1
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
>
Rafael J. Wysocki Oct. 13, 2021, 6:33 p.m. UTC | #2
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?
Andy Shevchenko Oct. 13, 2021, 9:24 p.m. UTC | #3
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.
Greg KH Oct. 14, 2021, 8:48 a.m. UTC | #4
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 mbox series

Patch

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 */