From dbc895f95500a73ebf1ff12fe85f2e2b3790f52f Mon Sep 17 00:00:00 2001 From: Graf Yang Date: Wed, 7 Jan 2009 23:14:39 +0800 Subject: Blackfin arch: smp patch cleanup from LKML review 1. Use inline get_l1_... functions instead of macro 2. Fix compile issue about smp barrier functions Signed-off-by: Graf Yang Signed-off-by: Bryan Wu --- arch/blackfin/mach-bf561/include/mach/mem_map.h | 42 +------------------------ arch/blackfin/mach-bf561/smp.c | 11 ++----- 2 files changed, 4 insertions(+), 49 deletions(-) (limited to 'arch/blackfin/mach-bf561') diff --git a/arch/blackfin/mach-bf561/include/mach/mem_map.h b/arch/blackfin/mach-bf561/include/mach/mem_map.h index 488c3bda65b..419dffdc96e 100644 --- a/arch/blackfin/mach-bf561/include/mach/mem_map.h +++ b/arch/blackfin/mach-bf561/include/mach/mem_map.h @@ -85,47 +85,7 @@ #define L1_SCRATCH_START COREA_L1_SCRATCH_START #define L1_SCRATCH_LENGTH 0x1000 -#ifndef __ASSEMBLY__ - -#ifdef CONFIG_SMP - -#define get_l1_scratch_start_cpu(cpu) \ - ({ unsigned long __addr; \ - __addr = (cpu) ? COREB_L1_SCRATCH_START : COREA_L1_SCRATCH_START;\ - __addr; }) - -#define get_l1_code_start_cpu(cpu) \ - ({ unsigned long __addr; \ - __addr = (cpu) ? COREB_L1_CODE_START : COREA_L1_CODE_START; \ - __addr; }) - -#define get_l1_data_a_start_cpu(cpu) \ - ({ unsigned long __addr; \ - __addr = (cpu) ? COREB_L1_DATA_A_START : COREA_L1_DATA_A_START;\ - __addr; }) - -#define get_l1_data_b_start_cpu(cpu) \ - ({ unsigned long __addr; \ - __addr = (cpu) ? COREB_L1_DATA_B_START : COREA_L1_DATA_B_START;\ - __addr; }) - -#define get_l1_scratch_start() get_l1_scratch_start_cpu(blackfin_core_id()) -#define get_l1_code_start() get_l1_code_start_cpu(blackfin_core_id()) -#define get_l1_data_a_start() get_l1_data_a_start_cpu(blackfin_core_id()) -#define get_l1_data_b_start() get_l1_data_b_start_cpu(blackfin_core_id()) - -#else /* !CONFIG_SMP */ -#define get_l1_scratch_start_cpu(cpu) L1_SCRATCH_START -#define get_l1_code_start_cpu(cpu) L1_CODE_START -#define get_l1_data_a_start_cpu(cpu) L1_DATA_A_START -#define get_l1_data_b_start_cpu(cpu) L1_DATA_B_START -#define get_l1_scratch_start() L1_SCRATCH_START -#define get_l1_code_start() L1_CODE_START -#define get_l1_data_a_start() L1_DATA_A_START -#define get_l1_data_b_start() L1_DATA_B_START -#endif /* !CONFIG_SMP */ - -#else /* __ASSEMBLY__ */ +#ifdef __ASSEMBLY__ /* * The following macros both return the address of the PDA for the diff --git a/arch/blackfin/mach-bf561/smp.c b/arch/blackfin/mach-bf561/smp.c index 23fd4c13897..9b27e698c0b 100644 --- a/arch/blackfin/mach-bf561/smp.c +++ b/arch/blackfin/mach-bf561/smp.c @@ -27,11 +27,6 @@ #include #include -#define COREB_SRAM_BASE 0xff600000 -#define COREB_SRAM_SIZE 0x4000 - -extern char coreb_trampoline_start, coreb_trampoline_end; - static DEFINE_SPINLOCK(boot_lock); static cpumask_t cpu_callin_map; @@ -54,15 +49,15 @@ void __init platform_prepare_cpus(unsigned int max_cpus) int len; len = &coreb_trampoline_end - &coreb_trampoline_start + 1; - BUG_ON(len > COREB_SRAM_SIZE); + BUG_ON(len > L1_CODE_LENGTH); - dma_memcpy((void *)COREB_SRAM_BASE, &coreb_trampoline_start, len); + dma_memcpy((void *)COREB_L1_CODE_START, &coreb_trampoline_start, len); /* Both cores ought to be present on a bf561! */ cpu_set(0, cpu_present_map); /* CoreA */ cpu_set(1, cpu_present_map); /* CoreB */ - printk(KERN_INFO "CoreB bootstrap code to SRAM %p via DMA.\n", (void *)COREB_SRAM_BASE); + printk(KERN_INFO "CoreB bootstrap code to SRAM %p via DMA.\n", (void *)COREB_L1_CODE_START); } int __init setup_profiling_timer(unsigned int multiplier) /* not supported */ -- cgit v1.2.3