Message ID | 20230612161011.86871-3-andriy.shevchenko@linux.intel.com |
---|---|
State | New |
Headers | show |
Series | device property: Introduce device_is_compatible() | expand |
On Mon, Jun 12, 2023 at 07:10:10PM +0300, Andy Shevchenko wrote: > Some users want to use the struct device pointer to see if the > device is compatible in terms of Open Firmware specifications, > i.e. if it has a 'compatible' property and it matches to the > given value. Provide inline helper for the users. > > Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> C/P v2: IMO much useful wrapper. Thanks for the patch. Reviewed-by: Serge Semin <fancer.lancer@gmail.com> -Serge(y) > --- > include/linux/property.h | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/include/linux/property.h b/include/linux/property.h > index 3df7e10156d8..0251138c7c88 100644 > --- a/include/linux/property.h > +++ b/include/linux/property.h > @@ -90,6 +90,18 @@ bool fwnode_device_is_compatible(const struct fwnode_handle *fwnode, const char > return fwnode_property_match_string(fwnode, "compatible", compat) >= 0; > } > > +/** > + * device_is_compatible - match 'compatible' property of the device with a given string > + * @dev: Pointer to the struct device > + * @compat: The string to match 'compatible' property with > + * > + * Returns: true if matches, otherwise false. > + */ > +static inline bool device_is_compatible(const struct device *dev, const char *compat) > +{ > + return fwnode_device_is_compatible(dev_fwnode(dev), compat); > +} > + > int fwnode_property_get_reference_args(const struct fwnode_handle *fwnode, > const char *prop, const char *nargs_prop, > unsigned int nargs, unsigned int index, > -- > 2.40.0.1.gaa8946217a0b > >
diff --git a/include/linux/property.h b/include/linux/property.h index 3df7e10156d8..0251138c7c88 100644 --- a/include/linux/property.h +++ b/include/linux/property.h @@ -90,6 +90,18 @@ bool fwnode_device_is_compatible(const struct fwnode_handle *fwnode, const char return fwnode_property_match_string(fwnode, "compatible", compat) >= 0; } +/** + * device_is_compatible - match 'compatible' property of the device with a given string + * @dev: Pointer to the struct device + * @compat: The string to match 'compatible' property with + * + * Returns: true if matches, otherwise false. + */ +static inline bool device_is_compatible(const struct device *dev, const char *compat) +{ + return fwnode_device_is_compatible(dev_fwnode(dev), compat); +} + int fwnode_property_get_reference_args(const struct fwnode_handle *fwnode, const char *prop, const char *nargs_prop, unsigned int nargs, unsigned int index,