From: Guenter Roeck <linux@roeck-us.net>
To: Pawel Moll <pawel.moll@arm.com>
Cc: linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
lm-sensors@lm-sensors.org, arm@kernel.org,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Kumar Gala <galak@codeaurora.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Mike Turquette <mturquette@linaro.org>,
Jean Delvare <jdelvare@suse.de>,
Samuel Ortiz <sameo@linux.intel.com>,
Lee Jones <lee.jones@linaro.org>, Arnd Bergmann <arnd@arndb.de>,
Grant Likely <grant.likely@linaro.org>,
Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>,
David Woodhouse <dwmw2@infradead.org>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>
Subject: Re: [PATCH 2/3] mfd: vexpress: Convert custom func API to regmap
Date: Tue, 11 Feb 2014 18:26:16 -0800 [thread overview]
Message-ID: <20140212022616.GA19334@roeck-us.net> (raw)
On Tue, Feb 11, 2014 at 04:53:29PM +0000, Pawel Moll wrote:
> 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
> * regulator - API change plus error handling
> simplification
> * power/reset driver - API change, but as devm_regmap*()
> can't be called when the system is dying, it must
> be requested at driver probe time
> * osc clock driver - this one required larger rework
> in order to turn in into a standard platform driver
> (and this a good thing on its own)
>
> Signed-off-by: Pawel Moll <pawel.moll@arm.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/Kconfig | 7 -
> drivers/mfd/Makefile | 2 +-
> drivers/mfd/vexpress-config.c | 288 ---------------
> drivers/mfd/vexpress-sysreg.c | 395 +++++++++++----------
> drivers/power/reset/vexpress-poweroff.c | 13 +-
> drivers/regulator/vexpress.c | 50 +--
> include/linux/vexpress.h | 79 +----
> 18 files changed, 568 insertions(+), 681 deletions(-)
> create mode 100644 drivers/bus/vexpress-config.c
> delete mode 100644 drivers/mfd/vexpress-config.c
>
For hwmon:
Acked-by: Guenter Roeck <linux@roeck-us.net>
next reply other threads:[~2014-02-12 2:26 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-12 2:26 Guenter Roeck [this message]
-- strict thread matches above, loose matches on Subject: below --
2014-02-11 16:53 [PATCH 0/3] Versatile Express sysregs rework Pawel Moll
2014-02-11 16:53 ` [PATCH 2/3] mfd: vexpress: Convert custom func API to regmap Pawel Moll
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140212022616.GA19334@roeck-us.net \
--to=linux@roeck-us.net \
--cc=arm@kernel.org \
--cc=arnd@arndb.de \
--cc=broonie@kernel.org \
--cc=dbaryshkov@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=dwmw2@infradead.org \
--cc=galak@codeaurora.org \
--cc=grant.likely@linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=jdelvare@suse.de \
--cc=lee.jones@linaro.org \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lm-sensors@lm-sensors.org \
--cc=mark.rutland@arm.com \
--cc=mturquette@linaro.org \
--cc=pawel.moll@arm.com \
--cc=robh+dt@kernel.org \
--cc=sameo@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox