drm: bridge: anx7625: Use of_property_read_variable_u8_array()
There's no need to get the length of an DT array property before parsing the array. of_property_read_variable_u8_array() takes a minimum and maximum length and returns the actual length (or error code). This is part of a larger effort to remove callers of of_get_property() and similar functions. of_get_property() leaks the DT property data pointer which is a problem for dynamically allocated nodes which may be freed. Signed-off-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Robert Foss <rfoss@kernel.org> Link: https://patchwork.freedesktop.org/patch/msgid/20240731201407.1838385-4-robh@kernel.org
This commit is contained in:
parent
737ad37763
commit
11c742bb5a
@ -1647,25 +1647,15 @@ static int anx7625_get_swing_setting(struct device *dev,
|
||||
{
|
||||
int num_regs;
|
||||
|
||||
if (of_get_property(dev->of_node,
|
||||
"analogix,lane0-swing", &num_regs)) {
|
||||
if (num_regs > DP_TX_SWING_REG_CNT)
|
||||
num_regs = DP_TX_SWING_REG_CNT;
|
||||
|
||||
num_regs = of_property_read_variable_u8_array(dev->of_node, "analogix,lane0-swing",
|
||||
pdata->lane0_reg_data, 1, DP_TX_SWING_REG_CNT);
|
||||
if (num_regs > 0)
|
||||
pdata->dp_lane0_swing_reg_cnt = num_regs;
|
||||
of_property_read_u8_array(dev->of_node, "analogix,lane0-swing",
|
||||
pdata->lane0_reg_data, num_regs);
|
||||
}
|
||||
|
||||
if (of_get_property(dev->of_node,
|
||||
"analogix,lane1-swing", &num_regs)) {
|
||||
if (num_regs > DP_TX_SWING_REG_CNT)
|
||||
num_regs = DP_TX_SWING_REG_CNT;
|
||||
|
||||
num_regs = of_property_read_variable_u8_array(dev->of_node, "analogix,lane1-swing",
|
||||
pdata->lane1_reg_data, 1, DP_TX_SWING_REG_CNT);
|
||||
if (num_regs > 0)
|
||||
pdata->dp_lane1_swing_reg_cnt = num_regs;
|
||||
of_property_read_u8_array(dev->of_node, "analogix,lane1-swing",
|
||||
pdata->lane1_reg_data, num_regs);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user