[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140430135855.GO29462@lee--X1>
Date: Wed, 30 Apr 2014 14:58:55 +0100
From: Lee Jones <lee.jones@...aro.org>
To: Pawel Moll <pawel.moll@....com>
Cc: Grant Likely <grant.likely@...aro.org>,
Rob Herring <robh+dt@...nel.org>,
Samuel Ortiz <sameo@...ux.intel.com>,
Arnd Bergmann <arnd@...db.de>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Russell King <linux@....linux.org.uk>,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
arm@...nel.org, Jean Delvare <jdelvare@...e.de>,
Guenter Roeck <linux@...ck-us.net>, lm-sensors@...sensors.org,
Mark Brown <broonie@...nel.org>,
Liam Girdwood <lgirdwood@...il.com>,
David Woodhouse <dwmw2@...radead.org>,
Dmitry Eremin-Solenikov <dbaryshkov@...il.com>,
Mike Turquette <mturquette@...aro.org>
Subject: Re: [PATCH 02/10] mfd: vexpress: Convert custom func API to regmap
> Components of the Versatile Express platform (configuration
> microcontrollers on motherboard and daughterboards in particular)
> talk to each other over a custom configuration bus. They
> provide miscellaneous functions (from clock generator control
> to energy sensors) which are represented as platform devices
> (and Device Tree nodes). The transactions on the bus can
> be generated by different "bridges" in the system, some
> of which are universal for the whole platform (for the price
> of high transfer latencies), others restricted to a subsystem
> (but much faster).
>
> Until now drivers for such functions were using custom "func"
> API, which is being replaced in this patch by regmap calls.
> This required:
>
> * a rework (and move to drivers/bus directory, as suggested
> by Samuel and Arnd) of the config bus core, which is much
> simpler now and uses device model infrastructure (class)
> to keep track of the bridges; non-DT case (soon to be
> retired anyway) is simply covered by a special device
> registration function
>
> * the new config-bus driver also takes over device population,
> so there is no need for special matching table for
> of_platform_populate nor "simple-bus" hack in the arm64
> model dtsi file (relevant bindings documentation has
> been updated); this allows all the vexpress devices
> fit into normal device model, making it possible
> to remove plenty of early inits and other hacks in
> the near future
>
> * adaptation of the syscfg bridge implementation in the
> sysreg driver, again making it much simpler; there is
> a special case of the "energy" function spanning two
> registers, where they should be both defined in the tree
> now, but backward compatibility is maintained in the code
>
> * modification of the relevant drivers:
>
> * hwmon - just a straight-forward API change
> * power/reset driver - API change
> * regulator - API change plus error handling
> simplification
> * osc clock driver - this one required larger rework
> in order to turn in into a standard platform driver
>
> Cc: Jean Delvare <jdelvare@...e.de>
> Cc: Guenter Roeck <linux@...ck-us.net>
> Cc: lm-sensors@...sensors.org
> Cc: Mark Brown <broonie@...nel.org>
> Cc: Liam Girdwood <lgirdwood@...il.com>
> Cc: David Woodhouse <dwmw2@...radead.org>
> Cc: Dmitry Eremin-Solenikov <dbaryshkov@...il.com>
> Cc: Mike Turquette <mturquette@...aro.org>
> Signed-off-by: Pawel Moll <pawel.moll@....com>
> ---
> .../devicetree/bindings/arm/vexpress-sysreg.txt | 43 ++-
> Documentation/devicetree/bindings/arm/vexpress.txt | 15 +-
> arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts | 5 +-
> arch/arm/mach-vexpress/ct-ca9x4.c | 10 +-
> arch/arm/mach-vexpress/v2m.c | 18 +-
> arch/arm64/boot/dts/rtsm_ve-motherboard.dtsi | 2 +-
> drivers/bus/Kconfig | 9 +
> drivers/bus/Makefile | 2 +
> drivers/bus/vexpress-config.c | 202 +++++++++++
> drivers/clk/versatile/clk-vexpress-osc.c | 94 +++--
> drivers/hwmon/vexpress.c | 15 +-
> drivers/mfd/Makefile | 2 +-
> drivers/mfd/vexpress-config.c | 287 ---------------
> drivers/mfd/vexpress-sysreg.c | 395 +++++++++++----------
> drivers/power/reset/vexpress-poweroff.c | 16 +-
> drivers/regulator/vexpress.c | 50 +--
> include/linux/vexpress.h | 79 +----
> 17 files changed, 567 insertions(+), 677 deletions(-)
> create mode 100644 drivers/bus/vexpress-config.c
> delete mode 100644 drivers/mfd/vexpress-config.c
Blimey!
MFD diffstat looks great and the changes look sensible:
Acked-by: Lee Jones <lee.jones@...aro.org>
I guess someone will need to create a branch for us all to pull from.
I'm happy to do it if needs be.
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists