1/**
2 * of_property_read_u8_array - Find and read an array of u8 from a property.
3 *
4 * @np: device node from which the property value is to be read.
5 * @propname: name of the property to be searched.
6 * @out_values: pointer to return value, modified only if return value is 0.
7 * @sz: number of array elements to read
8 *
9 * Search for a property in a device node and read 8-bit value(s) from
10 * it. Returns 0 on success, -EINVAL if the property does not exist,
11 * -ENODATA if property does not have a value, and -EOVERFLOW if the
12 * property data isn't large enough.
13 *
14 * dts entry of array should be like:
15 * property = /bits/ 8 <0x50 0x60 0x70>;
16 *
17 * The out_values is modified only if a valid u8 value can be decoded.
18 */19intof_property_read_u8_array(conststructdevice_node*np,20constchar*propname, u8 *out_values,size_t sz)21{22const u8 *val =of_find_property_value_of_size(np, propname,23(sz *sizeof(*out_values)));2425if(IS_ERR(val))26returnPTR_ERR(val);2728while(sz--)29*out_values++=*val++;30return0;31}32EXPORT_SYMBOL_GPL(of_property_read_u8_array);