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
