MFD: mcp-sa11x0/assabet: move assabet reset handling out of mcp-sa11x0.c
Move the assabet specific reset handling out of mcp-sa11x0.c, into its
board file. This leaves the mcp code free from all board specific
details.
Acked-by: Jochen Friedrich <jochen@scram.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
diff --git a/arch/arm/mach-sa1100/assabet.c b/arch/arm/mach-sa1100/assabet.c
index c45402f..b5955ad 100644
--- a/arch/arm/mach-sa1100/assabet.c
+++ b/arch/arm/mach-sa1100/assabet.c
@@ -70,6 +70,13 @@
EXPORT_SYMBOL(ASSABET_BCR_frob);
+static void assabet_ucb1x00_reset(enum ucb1x00_reset state)
+{
+ if (state == UCB_RST_PROBE)
+ ASSABET_BCR_set(ASSABET_BCR_CODEC_RST);
+}
+
+
static void assabet_backlight_power(int on)
{
#ifndef ASSABET_PAL_VIDEO
@@ -201,6 +208,7 @@
};
static struct ucb1x00_plat_data assabet_ucb1x00_data = {
+ .reset = assabet_ucb1x00_reset,
.gpio_base = -1,
};
diff --git a/drivers/mfd/mcp-sa11x0.c b/drivers/mfd/mcp-sa11x0.c
index c381436..1c0ceac 100644
--- a/drivers/mfd/mcp-sa11x0.c
+++ b/drivers/mfd/mcp-sa11x0.c
@@ -27,8 +27,6 @@
#include <asm/system.h>
#include <mach/mcp.h>
-#include <mach/assabet.h>
-
#define DRIVER_NAME "sa11x0-mcp"
struct mcp_sa11x0 {
@@ -208,10 +206,6 @@
platform_set_drvdata(dev, mcp);
- if (machine_is_assabet()) {
- ASSABET_BCR_set(ASSABET_BCR_CODEC_RST);
- }
-
/*
* Initialise device. Note that we initially
* set the sampling rate to minimum.