commit: http://blackfin.uclinux.org/git/?p=linux-kernel;a=commitdiff;h=06070d792b350159f032d41d82b1150c7a0e24a9
branch: http://blackfin.uclinux.org/git/?p=linux-kernel;a=shortlog;h=refs/heads/2012R1

Add platform data structure for multi slave processors.
Move message queue and debug buffermacro to common icc head.

Signed-off-by: Sonic Zhang <[email protected]>
---
 arch/blackfin/include/asm/icc.h             |   11 +++++++++-
 arch/blackfin/mach-bf609/boards/ezkit.c     |   28 ++++++++++++++------------
 arch/blackfin/mach-bf609/include/mach/icc.h |   17 ++-------------
 3 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/arch/blackfin/include/asm/icc.h b/arch/blackfin/include/asm/icc.h
index 8868536..39f2ed2 100644
--- a/arch/blackfin/include/asm/icc.h
+++ b/arch/blackfin/include/asm/icc.h
@@ -8,7 +8,16 @@
 #define _BFIN_ICC_H
 
 #include <linux/cpumask.h>
-#include <mach/icc.h>
+
+struct icc_slave_platform_data {
+	u32	irq;
+	u32	notify;
+};
+
+struct icc_platform_data {
+	u32	slave_count;
+	struct icc_slave_platform_data *slave_info;
+};
 
 void platform_send_ipi(cpumask_t callmap, int irq);
 void platform_send_ipi_cpu(unsigned int cpu, int irq);
diff --git a/arch/blackfin/mach-bf609/boards/ezkit.c b/arch/blackfin/mach-bf609/boards/ezkit.c
index ac18bba..e038094 100644
--- a/arch/blackfin/mach-bf609/boards/ezkit.c
+++ b/arch/blackfin/mach-bf609/boards/ezkit.c
@@ -1110,26 +1110,28 @@ static struct platform_device bfin_crypto_crc_device = {
 #endif
 
 #if defined(CONFIG_ICC)
-#define BFIN_ICC_NAME "icc"
+#include <asm/icc.h>
+#define ICC_NAME "icc"
+#define ICC_SLAVE_COUNT	1
 
-static struct resource bfin_icc_resources[] = {
+static struct icc_slave_platform_data bfin_icc_slave_data[ICC_SLAVE_COUNT] = {
 	{
-		.start = IRQ_SOFT0,	/* ICC Low receive IRQ */
-		.end = IRQ_SOFT0,
-		.flags = IORESOURCE_IRQ,
-	},
-	{
-		.start = IRQ_SOFT2,	/* ICC High receive IRQ */
-		.end = IRQ_SOFT2,
-		.flags = IORESOURCE_IRQ,
+		.irq = IRQ_SOFT0,
+		.notify = IRQ_SOFT1,
 	},
 };
 
+static struct icc_platform_data bfin_icc_data = {
+	.slave_count = ICC_SLAVE_COUNT,
+	.slave_info = bfin_icc_slave_data,
+};
+
 static struct platform_device bfin_icc_device = {
-	.name = BFIN_ICC_NAME,
+	.name = ICC_NAME,
 	.id = 0,
-	.num_resources = ARRAY_SIZE(bfin_icc_resources),
-	.resource = bfin_icc_resources,
+	.dev = {
+		.platform_data = &bfin_icc_data,
+	},
 };
 #endif
 
diff --git a/arch/blackfin/mach-bf609/include/mach/icc.h b/arch/blackfin/mach-bf609/include/mach/icc.h
index c246ebb..ba0ddff 100644
--- a/arch/blackfin/mach-bf609/include/mach/icc.h
+++ b/arch/blackfin/mach-bf609/include/mach/icc.h
@@ -12,21 +12,10 @@
 #define sm_atomic_read(v) bfin_read16(v)
 #define sm_atomic_write(v, i) bfin_write16(v, i)
 
-#define MSGQ_START_ADDR		L2_START
-#define MSGQ_SIZE		0x4000
-#define DEBUG_MSG_BUF_ADDR	(MSGQ_START_ADDR + MSGQ_SIZE)
-#define ICC_CODE_START		0xc8088000
-
 #define COREB_TASK_START	0x7C00000
 #define COREB_MEMPOOL_START	0x7D00000
+#define ICC_CODE_START		0xc8088000
 
-#define ICC_LOW_SEND		IRQ_SOFT1
-#define ICC_LOW_RECV		IRQ_SOFT0
-#define ICC_HIGH_SEND		IRQ_SOFT3
-#define ICC_HIGH_RECV		IRQ_SOFT2
-
-#define COREB_ICC_LOW_SEND	ICC_LOW_RECV
-#define COREB_ICC_LOW_RECV	ICC_LOW_SEND
-#define COREB_ICC_HIGH_SEND	ICC_HIGH_RECV
-#define COREB_ICC_HIGH_RECV	ICC_HIGH_SEND
+#define COREB_ICC_LOW_SEND	IRQ_SOFT0
+#define COREB_ICC_LOW_RECV	IRQ_SOFT1
 #endif
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to