]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commit
perf/arm-cci: Untangle global cci_ctrl_base
authorRobin Murphy <robin.murphy@arm.com>
Thu, 15 Feb 2018 18:51:46 +0000 (18:51 +0000)
committerArnd Bergmann <arnd@arndb.de>
Tue, 6 Mar 2018 16:27:25 +0000 (17:27 +0100)
commite9c112c94b014b581380d370d3fa2f1d23d07cc0
tree7f8287695ed266443c30f7d989e79d80933d03bd
parent32837954db462ecc28051923109ef6e4a221f2b2
perf/arm-cci: Untangle global cci_ctrl_base

Depending directly on the bus driver's global cci_ctrl_base variable
is a little unpleasant, and exporting it to allow the PMU driver to
be modular would be even more so. Let's make things a little better
abstracted by adding the control register block to the cci_pmu instance
data alongside the PMU register block, and communicating the mapped
address from the bus driver via platform data.

It's not practical to try the same thing for the bus driver itself,
given that the globals are entangled with the hairy assembly code for
port control, so we leave them be there. It would however be prudent
to move them to the __ro_after_init section in passing, since the
addresses really should never be changing once set.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
drivers/bus/arm-cci.c
drivers/perf/arm-cci.c