[PATCH] frv: miscellaneous changes
authorDavid Howells <dhowells@redhat.com>
Sun, 8 Jan 2006 09:01:25 +0000 (01:01 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 9 Jan 2006 04:13:38 +0000 (20:13 -0800)
Fix a number of miscellanous items:

 (1) Declare lock sections in the linker script.

 (2) Recurse in the correct manner in the arch makefile.

 (3) asm/bug.h requires asm/linkage.h to be included first. One C file puts
     asm/bug.h first.

 (4) Add an empty RTC header file to avoid missing header file errors.

 (5) sg_dma_address() should use the dma_address member of a scatter list.

 (6) Add trivial pci_unmap support.

 (7) Add pgprot_noncached()

 (8) Discard u_quad_t.

 (9) Use ~0UL rather than ULONG_MAX in unistd.h in case the latter isn't
     declared.

(10) Add an empty VGA header file to avoid missing header file errors.

(11) Add an XOR header file to use the generic XOR stuff.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/frv/Makefile
arch/frv/kernel/vmlinux.lds.S
include/asm-frv/bug.h
include/asm-frv/dma-mapping.h
include/asm-frv/mc146818rtc.h [new file with mode: 0644]
include/asm-frv/pci.h
include/asm-frv/pgtable.h
include/asm-frv/types.h
include/asm-frv/unistd.h
include/asm-frv/vga.h [new file with mode: 0644]
include/asm-frv/xor.h [new file with mode: 0644]

index 54046d2386f56d38a5bd7b311841b6db08dee000..90c0fb8d9dc3de577f3bbc011a4911821881a5fc 100644 (file)
@@ -109,10 +109,10 @@ bootstrap:
        $(Q)$(MAKEBOOT) bootstrap
 
 archmrproper:
-       $(Q)$(MAKE) -C arch/frv/boot mrproper
+       $(Q)$(MAKE) $(build)=arch/frv/boot mrproper
 
 archclean:
-       $(Q)$(MAKE) -C arch/frv/boot clean
+       $(Q)$(MAKE) $(build)=arch/frv/boot clean
 
 archdep: scripts/mkdep symlinks
-       $(Q)$(MAKE) -C arch/frv/boot dep
+       $(Q)$(MAKE) $(build)=arch/frv/boot dep
index fceafd2cc20226e76a790db64a315afd97d60901..f474534ba78a50ff61b7c60b31fa37121ba3de1a 100644 (file)
@@ -112,6 +112,7 @@ SECTIONS
 #endif
        )
        SCHED_TEXT
+       LOCK_TEXT
        *(.fixup)
        *(.gnu.warning)
        *(.exitcall.exit)
index 074c0d5770ebd4cb6f5f4f64645323da6bd812fc..451712cc30600901ba0cae6b28623f8d546debaf 100644 (file)
@@ -12,6 +12,7 @@
 #define _ASM_BUG_H
 
 #include <linux/config.h>
+#include <linux/linkage.h>
 
 #ifdef CONFIG_BUG
 /*
index 5003e017fd1ecae1905950c1fb49f75e8aca37c1..e9fc1d47797e295664a0fa5f025b80bdce7fb50b 100644 (file)
@@ -23,7 +23,7 @@ void dma_free_coherent(struct device *dev, size_t size, void *vaddr, dma_addr_t
  * returns, or alternatively stop on the first sg_dma_len(sg) which
  * is 0.
  */
-#define sg_dma_address(sg)     ((unsigned long) (page_to_phys((sg)->page) + (sg)->offset))
+#define sg_dma_address(sg)     ((sg)->dma_address)
 #define sg_dma_len(sg)         ((sg)->length)
 
 /*
diff --git a/include/asm-frv/mc146818rtc.h b/include/asm-frv/mc146818rtc.h
new file mode 100644 (file)
index 0000000..90dfb7a
--- /dev/null
@@ -0,0 +1,16 @@
+/* mc146818rtc.h: RTC defs
+ *
+ * Copyright (C) 2005 Red Hat, Inc. All Rights Reserved.
+ * Written by David Howells (dhowells@redhat.com)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version
+ * 2 of the License, or (at your option) any later version.
+ */
+
+#ifndef _ASM_MC146818RTC_H
+#define _ASM_MC146818RTC_H
+
+
+#endif /* _ASM_MC146818RTC_H */
index 1168451c275fb1603892630bf3510a6899dace0b..598b0c6b695da9af576f43458241604bbcc4678c 100644 (file)
@@ -57,6 +57,14 @@ extern void pci_free_consistent(struct pci_dev *hwdev, size_t size,
  */
 #define PCI_DMA_BUS_IS_PHYS    (1)
 
+/* pci_unmap_{page,single} is a nop so... */
+#define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME)
+#define DECLARE_PCI_UNMAP_LEN(LEN_NAME)
+#define pci_unmap_addr(PTR, ADDR_NAME)         (0)
+#define pci_unmap_addr_set(PTR, ADDR_NAME, VAL)        do { } while (0)
+#define pci_unmap_len(PTR, LEN_NAME)           (0)
+#define pci_unmap_len_set(PTR, LEN_NAME, VAL)  do { } while (0)
+
 #ifdef CONFIG_PCI
 static inline void pci_dma_burst_advice(struct pci_dev *pdev,
                                        enum pci_dma_burst_strategy *strat,
index 844666377dcbfc45db86c4b33d5c9ec431fb4907..d1c3b182c6914282b860d4b4d4a855dfb27f5d5d 100644 (file)
@@ -420,6 +420,11 @@ static inline void ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr,
        asm volatile("dcf %M0" :: "U"(*ptep));
 }
 
+/*
+ * Macro to mark a page protection value as "uncacheable"
+ */
+#define pgprot_noncached(prot) (__pgprot(pgprot_val(prot) | _PAGE_NOCACHE))
+
 /*
  * Conversion functions: convert a page and protection to a page entry,
  * and a page entry and page directory to the page they refer to.
index 50605df6d8acbc024adcba5f4c7aabe1ac57ca14..2560f596a75db78b2e7f406864f281933fff3957 100644 (file)
@@ -59,7 +59,6 @@ typedef unsigned int u32;
 
 typedef signed long long s64;
 typedef unsigned long long u64;
-typedef u64 u_quad_t;
 
 /* Dma addresses are 32-bits wide.  */
 
index 5cf989b448d5200a190a1f320cd1bb4dcb5edafd..cde376a7a85733e57dda51e8569bd16389ad6b6b 100644 (file)
@@ -313,7 +313,7 @@ do {                                                                        \
         unsigned long __sr2 = (res);                                   \
        if (__builtin_expect(__sr2 >= (unsigned long)(-4095), 0)) {     \
                errno = (-__sr2);                                       \
-               __sr2 = ULONG_MAX;                                      \
+               __sr2 = ~0UL;                                           \
        }                                                               \
        return (type) __sr2;                                            \
 } while (0)
diff --git a/include/asm-frv/vga.h b/include/asm-frv/vga.h
new file mode 100644 (file)
index 0000000..a702c80
--- /dev/null
@@ -0,0 +1,17 @@
+/* vga.h: VGA register stuff
+ *
+ * Copyright (C) 2006 Red Hat, Inc. All Rights Reserved.
+ * Written by David Howells (dhowells@redhat.com)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version
+ * 2 of the License, or (at your option) any later version.
+ */
+
+#ifndef _ASM_VGA_H
+#define _ASM_VGA_H
+
+
+
+#endif /* _ASM_VGA_H */
diff --git a/include/asm-frv/xor.h b/include/asm-frv/xor.h
new file mode 100644 (file)
index 0000000..c82eb12
--- /dev/null
@@ -0,0 +1 @@
+#include <asm-generic/xor.h>