mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 23:32:14 +00:00
dt: add helper function to read u8 & u16 variables & arrays
This adds following helper routines: - of_property_read_u8_array() - of_property_read_u16_array() - of_property_read_u8() - of_property_read_u16() This expects arrays from DT to be passed as: - u8 array: property = /bits/ 8 <0x50 0x60 0x70>; - u16 array: property = /bits/ 16 <0x5000 0x6000 0x7000>; Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Reviewed-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
This commit is contained in:
parent
9846210b1e
commit
be193249b4
2 changed files with 107 additions and 0 deletions
|
@ -223,6 +223,10 @@ extern struct device_node *of_find_node_with_property(
|
|||
extern struct property *of_find_property(const struct device_node *np,
|
||||
const char *name,
|
||||
int *lenp);
|
||||
extern int of_property_read_u8_array(const struct device_node *np,
|
||||
const char *propname, u8 *out_values, size_t sz);
|
||||
extern int of_property_read_u16_array(const struct device_node *np,
|
||||
const char *propname, u16 *out_values, size_t sz);
|
||||
extern int of_property_read_u32_array(const struct device_node *np,
|
||||
const char *propname,
|
||||
u32 *out_values,
|
||||
|
@ -364,6 +368,18 @@ static inline struct device_node *of_find_compatible_node(
|
|||
return NULL;
|
||||
}
|
||||
|
||||
static inline int of_property_read_u8_array(const struct device_node *np,
|
||||
const char *propname, u8 *out_values, size_t sz)
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
static inline int of_property_read_u16_array(const struct device_node *np,
|
||||
const char *propname, u16 *out_values, size_t sz)
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
static inline int of_property_read_u32_array(const struct device_node *np,
|
||||
const char *propname,
|
||||
u32 *out_values, size_t sz)
|
||||
|
@ -470,6 +486,20 @@ static inline bool of_property_read_bool(const struct device_node *np,
|
|||
return prop ? true : false;
|
||||
}
|
||||
|
||||
static inline int of_property_read_u8(const struct device_node *np,
|
||||
const char *propname,
|
||||
u8 *out_value)
|
||||
{
|
||||
return of_property_read_u8_array(np, propname, out_value, 1);
|
||||
}
|
||||
|
||||
static inline int of_property_read_u16(const struct device_node *np,
|
||||
const char *propname,
|
||||
u16 *out_value)
|
||||
{
|
||||
return of_property_read_u16_array(np, propname, out_value, 1);
|
||||
}
|
||||
|
||||
static inline int of_property_read_u32(const struct device_node *np,
|
||||
const char *propname,
|
||||
u32 *out_value)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue