mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-22 22:04:47 +08:00
soc: fsl: qe: qe.c: use of_property_read_* helpers
Instead of manually doing of_get_property/of_find_property and reading the value by assigning to a u32* or u64* and dereferencing, use the of_property_read_* functions. This make the code more readable, and more importantly, is required for this to work correctly on little-endian platforms. Reviewed-by: Timur Tabi <timur@kernel.org> Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> Signed-off-by: Li Yang <leoyang.li@nxp.com>
This commit is contained in:
parent
9dab15b1a0
commit
123ee6e90b
@ -159,8 +159,7 @@ static unsigned int brg_clk = 0;
|
||||
unsigned int qe_get_brg_clk(void)
|
||||
{
|
||||
struct device_node *qe;
|
||||
int size;
|
||||
const u32 *prop;
|
||||
u32 brg;
|
||||
unsigned int mod;
|
||||
|
||||
if (brg_clk)
|
||||
@ -170,9 +169,8 @@ unsigned int qe_get_brg_clk(void)
|
||||
if (!qe)
|
||||
return brg_clk;
|
||||
|
||||
prop = of_get_property(qe, "brg-frequency", &size);
|
||||
if (prop && size == sizeof(*prop))
|
||||
brg_clk = *prop;
|
||||
if (!of_property_read_u32(qe, "brg-frequency", &brg))
|
||||
brg_clk = brg;
|
||||
|
||||
of_node_put(qe);
|
||||
|
||||
@ -571,11 +569,9 @@ EXPORT_SYMBOL(qe_upload_firmware);
|
||||
struct qe_firmware_info *qe_get_firmware_info(void)
|
||||
{
|
||||
static int initialized;
|
||||
struct property *prop;
|
||||
struct device_node *qe;
|
||||
struct device_node *fw = NULL;
|
||||
const char *sprop;
|
||||
unsigned int i;
|
||||
|
||||
/*
|
||||
* If we haven't checked yet, and a driver hasn't uploaded a firmware
|
||||
@ -609,20 +605,11 @@ struct qe_firmware_info *qe_get_firmware_info(void)
|
||||
strlcpy(qe_firmware_info.id, sprop,
|
||||
sizeof(qe_firmware_info.id));
|
||||
|
||||
prop = of_find_property(fw, "extended-modes", NULL);
|
||||
if (prop && (prop->length == sizeof(u64))) {
|
||||
const u64 *iprop = prop->value;
|
||||
of_property_read_u64(fw, "extended-modes",
|
||||
&qe_firmware_info.extended_modes);
|
||||
|
||||
qe_firmware_info.extended_modes = *iprop;
|
||||
}
|
||||
|
||||
prop = of_find_property(fw, "virtual-traps", NULL);
|
||||
if (prop && (prop->length == 32)) {
|
||||
const u32 *iprop = prop->value;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(qe_firmware_info.vtraps); i++)
|
||||
qe_firmware_info.vtraps[i] = iprop[i];
|
||||
}
|
||||
of_property_read_u32_array(fw, "virtual-traps", qe_firmware_info.vtraps,
|
||||
ARRAY_SIZE(qe_firmware_info.vtraps));
|
||||
|
||||
of_node_put(fw);
|
||||
|
||||
@ -633,17 +620,13 @@ EXPORT_SYMBOL(qe_get_firmware_info);
|
||||
unsigned int qe_get_num_of_risc(void)
|
||||
{
|
||||
struct device_node *qe;
|
||||
int size;
|
||||
unsigned int num_of_risc = 0;
|
||||
const u32 *prop;
|
||||
|
||||
qe = qe_get_device_node();
|
||||
if (!qe)
|
||||
return num_of_risc;
|
||||
|
||||
prop = of_get_property(qe, "fsl,qe-num-riscs", &size);
|
||||
if (prop && size == sizeof(*prop))
|
||||
num_of_risc = *prop;
|
||||
of_property_read_u32(qe, "fsl,qe-num-riscs", &num_of_risc);
|
||||
|
||||
of_node_put(qe);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user