Commit 2de5897b authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Greg Kroah-Hartman
Browse files

device property: Implement device_is_compatible()



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.

Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: default avatarSerge Semin <fancer.lancer@gmail.com>
Reviewed-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Message-ID: <20230609154900.43024-3-andriy.shevchenko@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 007cfa13
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -85,6 +85,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,