[PATCH v3 2/4] ARM: bcm2835: add rpi power domain driver
From: f.fainelli@gmail.com (Florian Fainelli)
Date: 2015-12-16 00:05:23
Also in:
linux-devicetree, linux-pm, lkml
On 15/12/15 15:55, Eric Anholt wrote:
Florian Fainelli [off-list ref] writes:quoted
On 15/12/15 13:40, Eric Anholt wrote:quoted
From: Alexander Aring <alex.aring@gmail.com> This patch adds support for several power domains on Raspberry Pi, including USB (so it can be enabled even if the bootloader didn't do it), and graphics. This patch is the combined work of Eric Anholt (who wrote USB support inside of the Raspberry Pi firmware driver, and wrote the non-USB domain support) and Alexander Aring (who separated the original USB work out from the firmware driver). Signed-off-by: Alexander Aring <alex.aring@gmail.com> Signed-off-by: Eric Anholt <redacted> --- v2: Add support for power domains other than USB, using the new firmware interface, reword commit message (changes by Eric) v3: Restructure as a builtin driver, and drop of_genpd_add_provider_onecell error handling to avoid pm_genpd_exit() dependency until that API can be settled. Clean up copyright header, add missing ISP initialization, and fix typo in transposer's name. arch/arm/mach-bcm/Kconfig | 10 ++ arch/arm/mach-bcm/Makefile | 1 + arch/arm/mach-bcm/raspberrypi-power.c | 247 ++++++++++++++++++++++++++++ include/dt-bindings/arm/raspberrypi-power.h | 41 +++++ 4 files changed, 299 insertions(+) create mode 100644 arch/arm/mach-bcm/raspberrypi-power.cWhat motivated the location of this power domain driver in arch/arm/mach-bcm? Should not we have this in drivers/power/ or somewhere in drivers/ at the very least?ls stronly suggests that power contains drivers for power supplies and batteries, not power domains. There are 6 power domain drivers in arch/arm, 3 in drivers/clk, and 3 in drivers/soc.
If we ever have to support a different architecture which happens to use a similar power domain, then we want it to be in a location which makes it easy for sharing it in the first place. As it stands today, it does not seem useful to me to have this code in arch/arm/mach-bcm/ at all. Maybe there is room from a drivers/power/domains/ of some kind? -- Florian