Commit 41be6aef authored by David Howells's avatar David Howells Committed by Linus Torvalds

[PATCH] frv: miscellaneous changes

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: default avatarDavid Howells <dhowells@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 5c15d41b
...@@ -109,10 +109,10 @@ bootstrap: ...@@ -109,10 +109,10 @@ bootstrap:
$(Q)$(MAKEBOOT) bootstrap $(Q)$(MAKEBOOT) bootstrap
archmrproper: archmrproper:
$(Q)$(MAKE) -C arch/frv/boot mrproper $(Q)$(MAKE) $(build)=arch/frv/boot mrproper
archclean: archclean:
$(Q)$(MAKE) -C arch/frv/boot clean $(Q)$(MAKE) $(build)=arch/frv/boot clean
archdep: scripts/mkdep symlinks archdep: scripts/mkdep symlinks
$(Q)$(MAKE) -C arch/frv/boot dep $(Q)$(MAKE) $(build)=arch/frv/boot dep
...@@ -112,6 +112,7 @@ SECTIONS ...@@ -112,6 +112,7 @@ SECTIONS
#endif #endif
) )
SCHED_TEXT SCHED_TEXT
LOCK_TEXT
*(.fixup) *(.fixup)
*(.gnu.warning) *(.gnu.warning)
*(.exitcall.exit) *(.exitcall.exit)
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
#define _ASM_BUG_H #define _ASM_BUG_H
#include <linux/config.h> #include <linux/config.h>
#include <linux/linkage.h>
#ifdef CONFIG_BUG #ifdef CONFIG_BUG
/* /*
......
...@@ -23,7 +23,7 @@ void dma_free_coherent(struct device *dev, size_t size, void *vaddr, dma_addr_t ...@@ -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 * returns, or alternatively stop on the first sg_dma_len(sg) which
* is 0. * 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) #define sg_dma_len(sg) ((sg)->length)
/* /*
......
/* 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 */
...@@ -57,6 +57,14 @@ extern void pci_free_consistent(struct pci_dev *hwdev, size_t size, ...@@ -57,6 +57,14 @@ extern void pci_free_consistent(struct pci_dev *hwdev, size_t size,
*/ */
#define PCI_DMA_BUS_IS_PHYS (1) #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 #ifdef CONFIG_PCI
static inline void pci_dma_burst_advice(struct pci_dev *pdev, static inline void pci_dma_burst_advice(struct pci_dev *pdev,
enum pci_dma_burst_strategy *strat, enum pci_dma_burst_strategy *strat,
......
...@@ -420,6 +420,11 @@ static inline void ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, ...@@ -420,6 +420,11 @@ static inline void ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr,
asm volatile("dcf %M0" :: "U"(*ptep)); 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, * Conversion functions: convert a page and protection to a page entry,
* and a page entry and page directory to the page they refer to. * and a page entry and page directory to the page they refer to.
......
...@@ -59,7 +59,6 @@ typedef unsigned int u32; ...@@ -59,7 +59,6 @@ typedef unsigned int u32;
typedef signed long long s64; typedef signed long long s64;
typedef unsigned long long u64; typedef unsigned long long u64;
typedef u64 u_quad_t;
/* Dma addresses are 32-bits wide. */ /* Dma addresses are 32-bits wide. */
......
...@@ -313,7 +313,7 @@ do { \ ...@@ -313,7 +313,7 @@ do { \
unsigned long __sr2 = (res); \ unsigned long __sr2 = (res); \
if (__builtin_expect(__sr2 >= (unsigned long)(-4095), 0)) { \ if (__builtin_expect(__sr2 >= (unsigned long)(-4095), 0)) { \
errno = (-__sr2); \ errno = (-__sr2); \
__sr2 = ULONG_MAX; \ __sr2 = ~0UL; \
} \ } \
return (type) __sr2; \ return (type) __sr2; \
} while (0) } while (0)
......
/* 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 */
#include <asm-generic/xor.h>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment