diff options
author | Eugen Hristev <eugen.hristev@collabora.com> | 2023-05-22 11:39:58 +0300 |
---|---|---|
committer | Kever Yang <kever.yang@rock-chips.com> | 2023-06-29 18:31:48 +0800 |
commit | 3cc537842fefde785cee5dc62fc0b9866c730ae5 (patch) | |
tree | d834c6fd686ea45f560cefc9db81505bf5836cb8 /doc/usage | |
parent | 580eb31199be8a822e62f20965854a242f895d03 (diff) |
phy: rockchip: inno-usb2: fix phy reg=0 case
The support for #address-cells=2 has a loophole: if the reg is actually 0,
but the #address-cells is actually 1, like in such case below:
syscon {
#address-cells = <1>;
phy {
reg = <0 0x10>;
};
};
then the second u32 of the 'reg' is the size, not the address.
The code should check for the parent's #address-cells value, and not
assume that if the first u32 is 0, then the #address-cells is 2, and the
reg property is something like
reg = <0 0xff00 0x10>;
Fixed this by looking for the #address-cells value and retrieving the
reg address only if this is ==2.
To avoid breaking anything I also kept the check `if reg==0` as some DT's
may have a wrong #address-cells as parent and even if this commit is
correct, it might break the existing wrong device-trees.
Fixes: d538efb9adcf ("phy: rockchip: inno-usb2: Add support #address_cells = 2")
Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Diffstat (limited to 'doc/usage')
0 files changed, 0 insertions, 0 deletions