diff options
Diffstat (limited to 'arch/c6x')
| -rw-r--r-- | arch/c6x/Kconfig | 7 | ||||
| -rw-r--r-- | arch/c6x/include/asm/Kbuild | 3 | ||||
| -rw-r--r-- | arch/c6x/include/asm/bitops.h | 8 | ||||
| -rw-r--r-- | arch/c6x/include/asm/cache.h | 1 | ||||
| -rw-r--r-- | arch/c6x/include/asm/prom.h | 1 | ||||
| -rw-r--r-- | arch/c6x/include/asm/setup.h | 2 | ||||
| -rw-r--r-- | arch/c6x/include/asm/thread_info.h | 2 | ||||
| -rw-r--r-- | arch/c6x/kernel/devicetree.c | 29 | ||||
| -rw-r--r-- | arch/c6x/kernel/setup.c | 17 | ||||
| -rw-r--r-- | arch/c6x/kernel/vmlinux.lds.S | 6 | 
10 files changed, 9 insertions, 67 deletions
diff --git a/arch/c6x/Kconfig b/arch/c6x/Kconfig index 957dd00ea56..77ea09b8bce 100644 --- a/arch/c6x/Kconfig +++ b/arch/c6x/Kconfig @@ -36,9 +36,6 @@ config GENERIC_HWEIGHT  config GENERIC_BUG  	def_bool y -config COMMON_CLKDEV -	def_bool y -  config C6X_BIG_KERNEL  	bool "Build a big kernel"  	help @@ -105,10 +102,6 @@ menu "Processor type and features"  source "arch/c6x/platforms/Kconfig" -config TMS320C6X_CACHES_ON -	bool "L2 cache support" -	default y -  config KERNEL_RAM_BASE_ADDRESS  	hex "Virtual address of memory base"  	default 0xe0000000 if SOC_TMS320C6455 diff --git a/arch/c6x/include/asm/Kbuild b/arch/c6x/include/asm/Kbuild index e49f918531a..8dbdce8421b 100644 --- a/arch/c6x/include/asm/Kbuild +++ b/arch/c6x/include/asm/Kbuild @@ -15,6 +15,7 @@ generic-y += exec.h  generic-y += fb.h  generic-y += fcntl.h  generic-y += futex.h +generic-y += hash.h  generic-y += hw_irq.h  generic-y += io.h  generic-y += ioctl.h @@ -24,6 +25,7 @@ generic-y += irq_regs.h  generic-y += kdebug.h  generic-y += kmap_types.h  generic-y += local.h +generic-y += mcs_spinlock.h  generic-y += mman.h  generic-y += mmu.h  generic-y += mmu_context.h @@ -34,6 +36,7 @@ generic-y += percpu.h  generic-y += pgalloc.h  generic-y += poll.h  generic-y += posix_types.h +generic-y += preempt.h  generic-y += resource.h  generic-y += scatterlist.h  generic-y += segment.h diff --git a/arch/c6x/include/asm/bitops.h b/arch/c6x/include/asm/bitops.h index 0bec7e5036a..f0ab012401b 100644 --- a/arch/c6x/include/asm/bitops.h +++ b/arch/c6x/include/asm/bitops.h @@ -14,14 +14,8 @@  #ifdef __KERNEL__  #include <linux/bitops.h> -  #include <asm/byteorder.h> - -/* - * clear_bit() doesn't provide any barrier for the compiler. - */ -#define smp_mb__before_clear_bit() barrier() -#define smp_mb__after_clear_bit()  barrier() +#include <asm/barrier.h>  /*   * We are lucky, DSP is perfect for bitops: do it in 3 cycles diff --git a/arch/c6x/include/asm/cache.h b/arch/c6x/include/asm/cache.h index 09c5a0f5f4d..86648c083bb 100644 --- a/arch/c6x/include/asm/cache.h +++ b/arch/c6x/include/asm/cache.h @@ -12,6 +12,7 @@  #define _ASM_C6X_CACHE_H  #include <linux/irqflags.h> +#include <linux/init.h>  /*   * Cache line size diff --git a/arch/c6x/include/asm/prom.h b/arch/c6x/include/asm/prom.h deleted file mode 100644 index b4ec95f0751..00000000000 --- a/arch/c6x/include/asm/prom.h +++ /dev/null @@ -1 +0,0 @@ -/* dummy prom.h; here to make linux/of.h's #includes happy */ diff --git a/arch/c6x/include/asm/setup.h b/arch/c6x/include/asm/setup.h index ecead15872a..696804475f5 100644 --- a/arch/c6x/include/asm/setup.h +++ b/arch/c6x/include/asm/setup.h @@ -14,8 +14,6 @@  #include <uapi/asm/setup.h>  #ifndef __ASSEMBLY__ -extern char c6x_command_line[COMMAND_LINE_SIZE]; -  extern int c6x_add_memory(phys_addr_t start, unsigned long size);  extern unsigned long ram_start; diff --git a/arch/c6x/include/asm/thread_info.h b/arch/c6x/include/asm/thread_info.h index 4c8dc562bd9..d4e9ef87076 100644 --- a/arch/c6x/include/asm/thread_info.h +++ b/arch/c6x/include/asm/thread_info.h @@ -84,8 +84,6 @@ struct thread_info *current_thread_info(void)  #define put_thread_info(ti)	put_task_struct((ti)->task)  #endif /* __ASSEMBLY__ */ -#define	PREEMPT_ACTIVE	0x10000000 -  /*   * thread information flag bit numbers   * - pending work-to-be-done flags are in LSW diff --git a/arch/c6x/kernel/devicetree.c b/arch/c6x/kernel/devicetree.c index 9e15ab9199b..fa3e5741514 100644 --- a/arch/c6x/kernel/devicetree.c +++ b/arch/c6x/kernel/devicetree.c @@ -10,37 +10,8 @@   *   */  #include <linux/init.h> -#include <linux/of.h> -#include <linux/of_fdt.h> -#include <linux/initrd.h>  #include <linux/memblock.h> -void __init early_init_devtree(void *params) -{ -	/* Setup flat device-tree pointer */ -	initial_boot_params = params; - -	/* Retrieve various informations from the /chosen node of the -	 * device-tree, including the platform type, initrd location and -	 * size and more ... -	 */ -	of_scan_flat_dt(early_init_dt_scan_chosen, c6x_command_line); - -	/* Scan memory nodes and rebuild MEMBLOCKs */ -	of_scan_flat_dt(early_init_dt_scan_root, NULL); -	of_scan_flat_dt(early_init_dt_scan_memory, NULL); -} - - -#ifdef CONFIG_BLK_DEV_INITRD -void __init early_init_dt_setup_initrd_arch(u64 start, u64 end) -{ -	initrd_start = (unsigned long)__va(start); -	initrd_end = (unsigned long)__va(end); -	initrd_below_start_ok = 1; -} -#endif -  void __init early_init_dt_add_memory_arch(u64 base, u64 size)  {  	c6x_add_memory(base, size); diff --git a/arch/c6x/kernel/setup.c b/arch/c6x/kernel/setup.c index f4e72bd8c10..757128868d4 100644 --- a/arch/c6x/kernel/setup.c +++ b/arch/c6x/kernel/setup.c @@ -68,13 +68,6 @@ unsigned long ram_end;  static unsigned long dma_start __initdata;  static unsigned long dma_size __initdata; -char c6x_command_line[COMMAND_LINE_SIZE]; - -#if defined(CONFIG_CMDLINE_BOOL) -static const char default_command_line[COMMAND_LINE_SIZE] __section(.cmdline) = -	CONFIG_CMDLINE; -#endif -  struct cpuinfo_c6x {  	const char *cpu_name;  	const char *cpu_voltage; @@ -272,8 +265,8 @@ int __init c6x_add_memory(phys_addr_t start, unsigned long size)   */  notrace void __init machine_init(unsigned long dt_ptr)  { -	struct boot_param_header *dtb = __va(dt_ptr); -	struct boot_param_header *fdt = (struct boot_param_header *)_fdt_start; +	const void *dtb = __va(dt_ptr); +	const void *fdt = _fdt_start;  	/* interrupts must be masked */  	set_creg(IER, 2); @@ -294,10 +287,8 @@ notrace void __init machine_init(unsigned long dt_ptr)  		fdt = dtb;  	/* Do some early initialization based on the flat device tree */ -	early_init_devtree(fdt); +	early_init_dt_scan(fdt); -	/* parse_early_param needs a boot_command_line */ -	strlcpy(boot_command_line, c6x_command_line, COMMAND_LINE_SIZE);  	parse_early_param();  } @@ -309,7 +300,7 @@ void __init setup_arch(char **cmdline_p)  	printk(KERN_INFO "Initializing kernel\n");  	/* Initialize command line */ -	*cmdline_p = c6x_command_line; +	*cmdline_p = boot_command_line;  	memory_end = ram_end;  	memory_end &= ~(PAGE_SIZE - 1); diff --git a/arch/c6x/kernel/vmlinux.lds.S b/arch/c6x/kernel/vmlinux.lds.S index 279d8072512..5a6e141d164 100644 --- a/arch/c6x/kernel/vmlinux.lds.S +++ b/arch/c6x/kernel/vmlinux.lds.S @@ -37,12 +37,6 @@ SECTIONS  		_vectors_end = .;  	} -	. = ALIGN(0x1000); -	.cmdline : -	{ -		*(.cmdline) -	} -  	/*  	 * This section contains data which may be shared with other  	 * cores. It needs to be a fixed offset from PAGE_OFFSET  | 
