Re: [PATCH v1 2/3] of: Add support for reading a s32 from a multi-value property.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 






在 2016/8/20 4:47, David Woodhouse 写道:
On Fri, 2016-08-19 at 22:41 +0200, Heiko Stuebner wrote:
So no, don't *add* any more of these functions. Only add the generic
version. And if your driver isn't using the generic property
functions... fix it.
As far as I can see, all the device_property_* functions are grounded on their
of_property_*, acpi_property_* etc counterparts and functions reading specific
elements (the _index variants) are currently not available at all.

drivers/base/property.c:
#define OF_DEV_PROP_READ_ARRAY(node, propname, type, val, nval)                         \
         (val) ? of_property_read_##type##_array((node), (propname), (val), (nval))      \
               : of_property_count_elems_of_size((node), (propname), sizeof(type))

So even if you're using the device_property_* functions you'd still need
a match in the underlying functions or am I missing something?
Yes, but the underlying function should never be used directly by
drivers. And should probably be prefixed with __ or marked deprecated
(with an override in its one genuine call site).


So can I add a device_property_read_s32_array function in property.h?

--- a/include/linux/property.h
+++ b/include/linux/property.h
@@ -108,6 +108,13 @@ static inline int device_property_read_u32(struct device *dev,
        return device_property_read_u32_array(dev, propname, val, 1);
 }

+static inline int device_property_read_s32_array(struct device *dev, const char *propname,
+                                  s32 *val, size_t nval)
+{
+ return device_property_read_u32_array(struct device *dev, const char *propname,
+                                  (u32 *)val, size_t nval);
+}

--
Finley


--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux