Merge tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 16 Apr 2015 22:48:55 +0000 (18:48 -0400)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 16 Apr 2015 22:48:55 +0000 (18:48 -0400)
Pull arch/c6x fixes from Mark Salter.

* tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming:
  c6x: platforms: cache: Export symbol L1P_cache_block_invalidate and L1D_cache_block_writeback
  c6x: kernel: setup: Export symbol memory_end
  c6x: kernel: setup: Add screen_info global variable
  c6x: include: asm: Kbuild: Add generic serial.h
  c6x: include: asm: dma-mapping: Add dummy dma_sync_single_range_for_device
  c6x: include: asm: setup: Include "linux/types.h"
  c6x: asm: Add default flat.h according to xtensa architecture
  c6x: kernel: setup: Remove 'const' for local variables in machine_init
  c6x: Makefile: Add -D__linux__
  C6x: time: Ensure consistency in __init
  c6x: kernel: setup: Include "linux/console.h"

arch/c6x/Makefile
arch/c6x/include/asm/Kbuild
arch/c6x/include/asm/dma-mapping.h
arch/c6x/include/asm/flat.h [new file with mode: 0644]
arch/c6x/include/asm/setup.h
arch/c6x/kernel/setup.c
arch/c6x/kernel/time.c
arch/c6x/platforms/cache.c

index e72eb3417239af97b51a857e3021d48eeea2c255..6b0be670ddfabc5c49c64320f8be1fe455ba9acf 100644 (file)
@@ -8,7 +8,7 @@
 
 KBUILD_DEFCONFIG := dsk6455_defconfig
 
-cflags-y += -mno-dsbt -msdata=none
+cflags-y += -mno-dsbt -msdata=none -D__linux__
 
 cflags-$(CONFIG_C6X_BIG_KERNEL) += -mlong-calls
 
index 2de73391b81eeee4e1eefc95e9e5d5d666f13527..ae0a51f5376cefb58223e0436e54d15daabefe53 100644 (file)
@@ -41,6 +41,7 @@ generic-y += resource.h
 generic-y += scatterlist.h
 generic-y += segment.h
 generic-y += sembuf.h
+generic-y += serial.h
 generic-y += shmbuf.h
 generic-y += shmparam.h
 generic-y += siginfo.h
index 88bd0d899bdbedfac95bfc99450f9f6fbcc00ca0..bbd7774e4d4e312b57a626c0b685cb447c82b89d 100644 (file)
 
 #define dma_supported(d, m)    1
 
+static inline void dma_sync_single_range_for_device(struct device *dev,
+                                                   dma_addr_t addr,
+                                                   unsigned long offset,
+                                                   size_t size,
+                                                   enum dma_data_direction dir)
+{
+}
+
 static inline int dma_set_mask(struct device *dev, u64 dma_mask)
 {
        if (!dev->dma_mask || !dma_supported(dev, dma_mask))
diff --git a/arch/c6x/include/asm/flat.h b/arch/c6x/include/asm/flat.h
new file mode 100644 (file)
index 0000000..a1858bd
--- /dev/null
@@ -0,0 +1,12 @@
+#ifndef __ASM_C6X_FLAT_H
+#define __ASM_C6X_FLAT_H
+
+#define flat_argvp_envp_on_stack()                     0
+#define flat_old_ram_flag(flags)                       (flags)
+#define flat_reloc_valid(reloc, size)                  ((reloc) <= (size))
+#define flat_get_addr_from_rp(rp, relval, flags, p)    get_unaligned(rp)
+#define flat_put_addr_at_rp(rp, val, relval)           put_unaligned(val, rp)
+#define flat_get_relocate_addr(rel)                    (rel)
+#define flat_set_persistent(relval, p)                 0
+
+#endif /* __ASM_C6X_FLAT_H */
index 696804475f551034c48a81ca1e81b8c9d355d55a..852afb209afbc2505d0bb7c6b6e39819297b646e 100644 (file)
@@ -12,6 +12,7 @@
 #define _ASM_C6X_SETUP_H
 
 #include <uapi/asm/setup.h>
+#include <linux/types.h>
 
 #ifndef __ASSEMBLY__
 extern int c6x_add_memory(phys_addr_t start, unsigned long size);
index 757128868d4324133c2ee0201d54fa40908b76f1..72e17f7ebd6ff0fba193ac07190d42b41e106e76 100644 (file)
@@ -26,7 +26,8 @@
 #include <linux/cpu.h>
 #include <linux/fs.h>
 #include <linux/of.h>
-
+#include <linux/console.h>
+#include <linux/screen_info.h>
 
 #include <asm/sections.h>
 #include <asm/div64.h>
@@ -38,6 +39,8 @@
 
 static const char *c6x_soc_name;
 
+struct screen_info screen_info;
+
 int c6x_num_cores;
 EXPORT_SYMBOL_GPL(c6x_num_cores);
 
@@ -60,6 +63,7 @@ unsigned char c6x_fuse_mac[6];
 
 unsigned long memory_start;
 unsigned long memory_end;
+EXPORT_SYMBOL(memory_end);
 
 unsigned long ram_start;
 unsigned long ram_end;
@@ -265,8 +269,8 @@ int __init c6x_add_memory(phys_addr_t start, unsigned long size)
  */
 notrace void __init machine_init(unsigned long dt_ptr)
 {
-       const void *dtb = __va(dt_ptr);
-       const void *fdt = _fdt_start;
+       void *dtb = __va(dt_ptr);
+       void *fdt = _fdt_start;
 
        /* interrupts must be masked */
        set_creg(IER, 2);
index 356ee84cad95aef68e6e9aca6f88b42e0eb931ec..04845aaf59858f81feebeeca6c45096b48c313d8 100644 (file)
@@ -49,7 +49,7 @@ u64 sched_clock(void)
        return (tsc * sched_clock_multiplier) >> SCHED_CLOCK_SHIFT;
 }
 
-void time_init(void)
+void __init time_init(void)
 {
        u64 tmp = (u64)NSEC_PER_SEC << SCHED_CLOCK_SHIFT;
 
index 86318a16a252fc5dfa44793e1ca507cadd481bae..46fd2d530271e1a42f7ce7c96aa1a65dcbcdf7ad 100644 (file)
@@ -350,6 +350,7 @@ void L1P_cache_block_invalidate(unsigned int start, unsigned int end)
                              (unsigned int *) end,
                              IMCR_L1PIBAR, IMCR_L1PIWC);
 }
+EXPORT_SYMBOL(L1P_cache_block_invalidate);
 
 void L1D_cache_block_invalidate(unsigned int start, unsigned int end)
 {
@@ -371,6 +372,7 @@ void L1D_cache_block_writeback(unsigned int start, unsigned int end)
                              (unsigned int *) end,
                              IMCR_L1DWBAR, IMCR_L1DWWC);
 }
+EXPORT_SYMBOL(L1D_cache_block_writeback);
 
 /*
  *  L2 block operations