While adding DT support for the Sheevaplugs by Globalscale Technologies
(Kirkwood), it turned out that the DT binding of mvsdio lacked features to
properly support the hardware (active high/low of CD and WP pins could not
be described in DT).
This is standard functionality provided by the mmc_of_parse() helper
function. However, mmc_of_parse() may allocate GPIO lines. If the
allocation fails, it outputs an error, but does not return an error to its
caller. Therefore, a proposal to handle errors in mmc_of_parse() is made.
The patch set is structured as follows:
1 Adapt mmc_of_parse() to return errors
2-6 Handle errors in current drivers using mmc_of_parse() (compile tested
only)
7-8 Convert mvsdio and respective dts files to mmc_of_parse() (tested on
kirkwood)
9 Add dts files for (eSATA) Sheevaplug
10 Add DT support for (eSATA) Sheevaplug
I could only test on an eSATA Sheevaplug. I found patches with
different LEDs for the Sheevaplug. Thus, I would highly appreciate if
someone with the hardware could give this a spin on a non-eSATA
version. Some additional testing of the change detect and write
protect behaviour for mvsdio can't hurt either. I hope that there aren't
board revisions with different CD/WP pins out there.
Simon Baatz (10):
mmc: return mmc_of_parse() errors to caller
mmc: sh_mmcif: handle mmc_of_parse() errors during probe
mmc: tmio-mmc: handle mmc_of_parse() errors during probe
mmc: mxcmmc: handle mmc_of_parse() errors during probe
mmc: sdhi-pxav3: handle mmc_of_parse() errors during probe
mmc: tegra: handle mmc_of_parse() errors during probe
ARM: mvebu: Use standard MMC binding for all users of mvsdio
mmc: mvsdio: use standard MMC device-tree binding parser
mmc_of_parse()
ARM: Kirkwood: Add dts files for Sheevaplug and eSATA Sheevaplug
ARM: Kirkwood: add DT support for Sheevaplug and Sheevaplug eSATA
arch/arm/boot/dts/Makefile | 2 +
arch/arm/boot/dts/armada-370-db.dts | 1 +
arch/arm/boot/dts/armada-370-mirabox.dts | 1 +
arch/arm/boot/dts/armada-370-rd.dts | 1 +
arch/arm/boot/dts/armada-370-xp.dtsi | 4 +
arch/arm/boot/dts/armada-xp-db.dts | 1 +
arch/arm/boot/dts/kirkwood-dreamplug.dts | 1 +
.../arm/boot/dts/kirkwood-guruplug-server-plus.dts | 2 +
arch/arm/boot/dts/kirkwood-mplcec4.dts | 2 +-
arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi | 97 ++++++++++++++++++++
arch/arm/boot/dts/kirkwood-sheevaplug-esata.dts | 40 ++++++++
arch/arm/boot/dts/kirkwood-sheevaplug.dts | 45 +++++++++
arch/arm/boot/dts/kirkwood-topkick.dts | 1 +
arch/arm/boot/dts/kirkwood.dtsi | 4 +
arch/arm/mach-kirkwood/Kconfig | 7 ++
arch/arm/mach-kirkwood/Makefile | 1 +
arch/arm/mach-kirkwood/board-dt.c | 4 +
arch/arm/mach-kirkwood/board-sheevaplug.c | 27 ++++++
arch/arm/mach-kirkwood/common.h | 5 +
drivers/mmc/core/host.c | 24 ++++-
drivers/mmc/host/mvsdio.c | 73 ++++++++-------
drivers/mmc/host/mxcmmc.c | 4 +-
drivers/mmc/host/sdhci-pxav3.c | 7 +-
drivers/mmc/host/sdhci-tegra.c | 9 +-
drivers/mmc/host/sh_mmcif.c | 7 +-
drivers/mmc/host/tmio_mmc_pio.c | 4 +-
include/linux/mmc/host.h | 2 +-
27 files changed, 328 insertions(+), 48 deletions(-)
create mode 100644 arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi
create mode 100644 arch/arm/boot/dts/kirkwood-sheevaplug-esata.dts
create mode 100644 arch/arm/boot/dts/kirkwood-sheevaplug.dts
create mode 100644 arch/arm/mach-kirkwood/board-sheevaplug.c
--
1.7.9.5
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html