| From e44bb0cbdc88686c21e2175a990b40bf6db5d005 Mon Sep 17 00:00:00 2001 |
| From: Sakari Ailus <sakari.ailus@linux.intel.com> |
| Date: Tue, 28 Mar 2017 10:52:24 +0300 |
| Subject: device property: Make dev_fwnode() public |
| |
| From: Sakari Ailus <sakari.ailus@linux.intel.com> |
| |
| commit e44bb0cbdc88686c21e2175a990b40bf6db5d005 upstream. |
| |
| The function to obtain a fwnode related to a struct device is useful for |
| drivers that use the fwnode property API: it allows not being aware of the |
| underlying firmware implementation. |
| |
| Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> |
| Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com> |
| Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
| Cc: Chris Metcalf <cmetcalf@mellanox.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/base/property.c | 3 ++- |
| include/linux/property.h | 2 ++ |
| 2 files changed, 4 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/base/property.c |
| +++ b/drivers/base/property.c |
| @@ -182,11 +182,12 @@ static int pset_prop_read_string(struct |
| return 0; |
| } |
| |
| -static inline struct fwnode_handle *dev_fwnode(struct device *dev) |
| +struct fwnode_handle *dev_fwnode(struct device *dev) |
| { |
| return IS_ENABLED(CONFIG_OF) && dev->of_node ? |
| &dev->of_node->fwnode : dev->fwnode; |
| } |
| +EXPORT_SYMBOL_GPL(dev_fwnode); |
| |
| /** |
| * device_property_present - check if a property of a device is present |
| --- a/include/linux/property.h |
| +++ b/include/linux/property.h |
| @@ -33,6 +33,8 @@ enum dev_dma_attr { |
| DEV_DMA_COHERENT, |
| }; |
| |
| +struct fwnode_handle *dev_fwnode(struct device *dev); |
| + |
| bool device_property_present(struct device *dev, const char *propname); |
| int device_property_read_u8_array(struct device *dev, const char *propname, |
| u8 *val, size_t nval); |