phy: qcom-qmp: Utilize fully-specified DT registers
authorEvan Green <evgreen@chromium.org>
Mon, 10 Dec 2018 19:28:23 +0000 (11:28 -0800)
committerKishon Vijay Abraham I <kishon@ti.com>
Wed, 12 Dec 2018 04:32:11 +0000 (10:02 +0530)
commit5e17b95d9893dbbe3366c4d66b0f1677cce99997
treed444687ce34960e538c3f0364fa68d28ca1e5939
parent2517d09b39f3bb811e7349efa8248147ccb2eaa1
phy: qcom-qmp: Utilize fully-specified DT registers

Utilize the newly fixed up DT bindings to get the tx2 and rx2 register
regions for the second lane of dual-lane PHYs. Before this change,
the driver was simply using lane one's register region and adding
0x400, which reached well beyond the DT-specified register
allocation. This would have been a crash were it not for the page size
on ARM64. Fix the driver not to rely on the magic of virtual memory by
using the newly specified DT register regions for tx2 and rx2.

In order to support existing device trees, this change also contains a
fallback mode for when those new register regions don't exist, which
reverts to the original behavior of overreaching and prints a complaint.

Signed-off-by: Evan Green <evgreen@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
drivers/phy/qualcomm/phy-qcom-qmp.c