diff options
Diffstat (limited to 'arch/ia64/include/asm')
-rw-r--r-- | arch/ia64/include/asm/atomic.h | 6 | ||||
-rw-r--r-- | arch/ia64/include/asm/bitops.h | 3 | ||||
-rw-r--r-- | arch/ia64/include/asm/clocksource.h | 10 | ||||
-rw-r--r-- | arch/ia64/include/asm/device.h | 2 | ||||
-rw-r--r-- | arch/ia64/include/asm/gpio.h | 55 | ||||
-rw-r--r-- | arch/ia64/include/asm/iommu.h | 8 | ||||
-rw-r--r-- | arch/ia64/include/asm/paravirt.h | 4 | ||||
-rw-r--r-- | arch/ia64/include/asm/pci.h | 2 | ||||
-rw-r--r-- | arch/ia64/include/asm/processor.h | 2 | ||||
-rw-r--r-- | arch/ia64/include/asm/ptrace.h | 1 | ||||
-rw-r--r-- | arch/ia64/include/asm/sn/tioce.h | 2 | ||||
-rw-r--r-- | arch/ia64/include/asm/spinlock.h | 2 |
12 files changed, 83 insertions, 14 deletions
diff --git a/arch/ia64/include/asm/atomic.h b/arch/ia64/include/asm/atomic.h index 44688143967..3fad89ee01c 100644 --- a/arch/ia64/include/asm/atomic.h +++ b/arch/ia64/include/asm/atomic.h | |||
@@ -90,7 +90,7 @@ ia64_atomic64_sub (__s64 i, atomic64_t *v) | |||
90 | (cmpxchg(&((v)->counter), old, new)) | 90 | (cmpxchg(&((v)->counter), old, new)) |
91 | #define atomic64_xchg(v, new) (xchg(&((v)->counter), new)) | 91 | #define atomic64_xchg(v, new) (xchg(&((v)->counter), new)) |
92 | 92 | ||
93 | static __inline__ int atomic_add_unless(atomic_t *v, int a, int u) | 93 | static __inline__ int __atomic_add_unless(atomic_t *v, int a, int u) |
94 | { | 94 | { |
95 | int c, old; | 95 | int c, old; |
96 | c = atomic_read(v); | 96 | c = atomic_read(v); |
@@ -102,10 +102,9 @@ static __inline__ int atomic_add_unless(atomic_t *v, int a, int u) | |||
102 | break; | 102 | break; |
103 | c = old; | 103 | c = old; |
104 | } | 104 | } |
105 | return c != (u); | 105 | return c; |
106 | } | 106 | } |
107 | 107 | ||
108 | #define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0) | ||
109 | 108 | ||
110 | static __inline__ long atomic64_add_unless(atomic64_t *v, long a, long u) | 109 | static __inline__ long atomic64_add_unless(atomic64_t *v, long a, long u) |
111 | { | 110 | { |
@@ -216,5 +215,4 @@ atomic64_add_negative (__s64 i, atomic64_t *v) | |||
216 | #define smp_mb__before_atomic_inc() barrier() | 215 | #define smp_mb__before_atomic_inc() barrier() |
217 | #define smp_mb__after_atomic_inc() barrier() | 216 | #define smp_mb__after_atomic_inc() barrier() |
218 | 217 | ||
219 | #include <asm-generic/atomic-long.h> | ||
220 | #endif /* _ASM_IA64_ATOMIC_H */ | 218 | #endif /* _ASM_IA64_ATOMIC_H */ |
diff --git a/arch/ia64/include/asm/bitops.h b/arch/ia64/include/asm/bitops.h index b76f7e00921..8e20bff39f7 100644 --- a/arch/ia64/include/asm/bitops.h +++ b/arch/ia64/include/asm/bitops.h | |||
@@ -458,8 +458,7 @@ static __inline__ unsigned long __arch_hweight64(unsigned long x) | |||
458 | 458 | ||
459 | #include <asm-generic/bitops/le.h> | 459 | #include <asm-generic/bitops/le.h> |
460 | 460 | ||
461 | #define ext2_set_bit_atomic(l,n,a) test_and_set_bit(n,a) | 461 | #include <asm-generic/bitops/ext2-atomic-setbit.h> |
462 | #define ext2_clear_bit_atomic(l,n,a) test_and_clear_bit(n,a) | ||
463 | 462 | ||
464 | #include <asm-generic/bitops/sched.h> | 463 | #include <asm-generic/bitops/sched.h> |
465 | 464 | ||
diff --git a/arch/ia64/include/asm/clocksource.h b/arch/ia64/include/asm/clocksource.h new file mode 100644 index 00000000000..5c8596e4cb0 --- /dev/null +++ b/arch/ia64/include/asm/clocksource.h | |||
@@ -0,0 +1,10 @@ | |||
1 | /* IA64-specific clocksource additions */ | ||
2 | |||
3 | #ifndef _ASM_IA64_CLOCKSOURCE_H | ||
4 | #define _ASM_IA64_CLOCKSOURCE_H | ||
5 | |||
6 | struct arch_clocksource_data { | ||
7 | void *fsys_mmio; /* used by fsyscall asm code */ | ||
8 | }; | ||
9 | |||
10 | #endif /* _ASM_IA64_CLOCKSOURCE_H */ | ||
diff --git a/arch/ia64/include/asm/device.h b/arch/ia64/include/asm/device.h index d66d446b127..d05e78f6db9 100644 --- a/arch/ia64/include/asm/device.h +++ b/arch/ia64/include/asm/device.h | |||
@@ -10,7 +10,7 @@ struct dev_archdata { | |||
10 | #ifdef CONFIG_ACPI | 10 | #ifdef CONFIG_ACPI |
11 | void *acpi_handle; | 11 | void *acpi_handle; |
12 | #endif | 12 | #endif |
13 | #ifdef CONFIG_DMAR | 13 | #ifdef CONFIG_INTEL_IOMMU |
14 | void *iommu; /* hook for IOMMU specific extension */ | 14 | void *iommu; /* hook for IOMMU specific extension */ |
15 | #endif | 15 | #endif |
16 | }; | 16 | }; |
diff --git a/arch/ia64/include/asm/gpio.h b/arch/ia64/include/asm/gpio.h new file mode 100644 index 00000000000..590a20debc4 --- /dev/null +++ b/arch/ia64/include/asm/gpio.h | |||
@@ -0,0 +1,55 @@ | |||
1 | /* | ||
2 | * Generic GPIO API implementation for IA-64. | ||
3 | * | ||
4 | * A stright copy of that for PowerPC which was: | ||
5 | * | ||
6 | * Copyright (c) 2007-2008 MontaVista Software, Inc. | ||
7 | * | ||
8 | * Author: Anton Vorontsov <avorontsov@ru.mvista.com> | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License as published by | ||
12 | * the Free Software Foundation; either version 2 of the License, or | ||
13 | * (at your option) any later version. | ||
14 | */ | ||
15 | |||
16 | #ifndef _ASM_IA64_GPIO_H | ||
17 | #define _ASM_IA64_GPIO_H | ||
18 | |||
19 | #include <linux/errno.h> | ||
20 | #include <asm-generic/gpio.h> | ||
21 | |||
22 | #ifdef CONFIG_GPIOLIB | ||
23 | |||
24 | /* | ||
25 | * We don't (yet) implement inlined/rapid versions for on-chip gpios. | ||
26 | * Just call gpiolib. | ||
27 | */ | ||
28 | static inline int gpio_get_value(unsigned int gpio) | ||
29 | { | ||
30 | return __gpio_get_value(gpio); | ||
31 | } | ||
32 | |||
33 | static inline void gpio_set_value(unsigned int gpio, int value) | ||
34 | { | ||
35 | __gpio_set_value(gpio, value); | ||
36 | } | ||
37 | |||
38 | static inline int gpio_cansleep(unsigned int gpio) | ||
39 | { | ||
40 | return __gpio_cansleep(gpio); | ||
41 | } | ||
42 | |||
43 | static inline int gpio_to_irq(unsigned int gpio) | ||
44 | { | ||
45 | return __gpio_to_irq(gpio); | ||
46 | } | ||
47 | |||
48 | static inline int irq_to_gpio(unsigned int irq) | ||
49 | { | ||
50 | return -EINVAL; | ||
51 | } | ||
52 | |||
53 | #endif /* CONFIG_GPIOLIB */ | ||
54 | |||
55 | #endif /* _ASM_IA64_GPIO_H */ | ||
diff --git a/arch/ia64/include/asm/iommu.h b/arch/ia64/include/asm/iommu.h index 745e095fe82..b6a809fa299 100644 --- a/arch/ia64/include/asm/iommu.h +++ b/arch/ia64/include/asm/iommu.h | |||
@@ -7,12 +7,16 @@ | |||
7 | 7 | ||
8 | extern void pci_iommu_shutdown(void); | 8 | extern void pci_iommu_shutdown(void); |
9 | extern void no_iommu_init(void); | 9 | extern void no_iommu_init(void); |
10 | #ifdef CONFIG_INTEL_IOMMU | ||
10 | extern int force_iommu, no_iommu; | 11 | extern int force_iommu, no_iommu; |
11 | extern int iommu_detected; | ||
12 | #ifdef CONFIG_DMAR | ||
13 | extern int iommu_pass_through; | 12 | extern int iommu_pass_through; |
13 | extern int iommu_detected; | ||
14 | extern int iommu_group_mf; | ||
14 | #else | 15 | #else |
15 | #define iommu_pass_through (0) | 16 | #define iommu_pass_through (0) |
17 | #define no_iommu (1) | ||
18 | #define iommu_detected (0) | ||
19 | #define iommu_group_mf (0) | ||
16 | #endif | 20 | #endif |
17 | extern void iommu_dma_init(void); | 21 | extern void iommu_dma_init(void); |
18 | extern void machvec_init(const char *name); | 22 | extern void machvec_init(const char *name); |
diff --git a/arch/ia64/include/asm/paravirt.h b/arch/ia64/include/asm/paravirt.h index 2eb0a981a09..32551d304cd 100644 --- a/arch/ia64/include/asm/paravirt.h +++ b/arch/ia64/include/asm/paravirt.h | |||
@@ -281,6 +281,10 @@ paravirt_init_missing_ticks_accounting(int cpu) | |||
281 | pv_time_ops.init_missing_ticks_accounting(cpu); | 281 | pv_time_ops.init_missing_ticks_accounting(cpu); |
282 | } | 282 | } |
283 | 283 | ||
284 | struct jump_label_key; | ||
285 | extern struct jump_label_key paravirt_steal_enabled; | ||
286 | extern struct jump_label_key paravirt_steal_rq_enabled; | ||
287 | |||
284 | static inline int | 288 | static inline int |
285 | paravirt_do_steal_accounting(unsigned long *new_itm) | 289 | paravirt_do_steal_accounting(unsigned long *new_itm) |
286 | { | 290 | { |
diff --git a/arch/ia64/include/asm/pci.h b/arch/ia64/include/asm/pci.h index 73b5f785e70..127dd7be346 100644 --- a/arch/ia64/include/asm/pci.h +++ b/arch/ia64/include/asm/pci.h | |||
@@ -139,7 +139,7 @@ static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) | |||
139 | return channel ? isa_irq_to_vector(15) : isa_irq_to_vector(14); | 139 | return channel ? isa_irq_to_vector(15) : isa_irq_to_vector(14); |
140 | } | 140 | } |
141 | 141 | ||
142 | #ifdef CONFIG_DMAR | 142 | #ifdef CONFIG_INTEL_IOMMU |
143 | extern void pci_iommu_alloc(void); | 143 | extern void pci_iommu_alloc(void); |
144 | #endif | 144 | #endif |
145 | #endif /* _ASM_IA64_PCI_H */ | 145 | #endif /* _ASM_IA64_PCI_H */ |
diff --git a/arch/ia64/include/asm/processor.h b/arch/ia64/include/asm/processor.h index 03afe797074..d9f397fae03 100644 --- a/arch/ia64/include/asm/processor.h +++ b/arch/ia64/include/asm/processor.h | |||
@@ -75,7 +75,7 @@ | |||
75 | #include <asm/percpu.h> | 75 | #include <asm/percpu.h> |
76 | #include <asm/rse.h> | 76 | #include <asm/rse.h> |
77 | #include <asm/unwind.h> | 77 | #include <asm/unwind.h> |
78 | #include <asm/atomic.h> | 78 | #include <linux/atomic.h> |
79 | #ifdef CONFIG_NUMA | 79 | #ifdef CONFIG_NUMA |
80 | #include <asm/nodedata.h> | 80 | #include <asm/nodedata.h> |
81 | #endif | 81 | #endif |
diff --git a/arch/ia64/include/asm/ptrace.h b/arch/ia64/include/asm/ptrace.h index 7ae9c3f15a1..f5cb27614e3 100644 --- a/arch/ia64/include/asm/ptrace.h +++ b/arch/ia64/include/asm/ptrace.h | |||
@@ -286,7 +286,6 @@ static inline unsigned long user_stack_pointer(struct pt_regs *regs) | |||
286 | struct task_struct; /* forward decl */ | 286 | struct task_struct; /* forward decl */ |
287 | struct unw_frame_info; /* forward decl */ | 287 | struct unw_frame_info; /* forward decl */ |
288 | 288 | ||
289 | extern void show_regs (struct pt_regs *); | ||
290 | extern void ia64_do_show_stack (struct unw_frame_info *, void *); | 289 | extern void ia64_do_show_stack (struct unw_frame_info *, void *); |
291 | extern unsigned long ia64_get_user_rbs_end (struct task_struct *, struct pt_regs *, | 290 | extern unsigned long ia64_get_user_rbs_end (struct task_struct *, struct pt_regs *, |
292 | unsigned long *); | 291 | unsigned long *); |
diff --git a/arch/ia64/include/asm/sn/tioce.h b/arch/ia64/include/asm/sn/tioce.h index 893468e1b41..6eae8ada90f 100644 --- a/arch/ia64/include/asm/sn/tioce.h +++ b/arch/ia64/include/asm/sn/tioce.h | |||
@@ -467,7 +467,7 @@ typedef volatile struct tioce { | |||
467 | #define CE_LSI_GB_CFG1_RXL0S_THS_SHFT 0 | 467 | #define CE_LSI_GB_CFG1_RXL0S_THS_SHFT 0 |
468 | #define CE_LSI_GB_CFG1_RXL0S_THS_MASK (0xffULL << 0) | 468 | #define CE_LSI_GB_CFG1_RXL0S_THS_MASK (0xffULL << 0) |
469 | #define CE_LSI_GB_CFG1_RXL0S_SMP_SHFT 8 | 469 | #define CE_LSI_GB_CFG1_RXL0S_SMP_SHFT 8 |
470 | #define CE_LSI_GB_CFG1_RXL0S_SMP_MASK (0xfULL << 8); | 470 | #define CE_LSI_GB_CFG1_RXL0S_SMP_MASK (0xfULL << 8) |
471 | #define CE_LSI_GB_CFG1_RXL0S_ADJ_SHFT 12 | 471 | #define CE_LSI_GB_CFG1_RXL0S_ADJ_SHFT 12 |
472 | #define CE_LSI_GB_CFG1_RXL0S_ADJ_MASK (0x7ULL << 12) | 472 | #define CE_LSI_GB_CFG1_RXL0S_ADJ_MASK (0x7ULL << 12) |
473 | #define CE_LSI_GB_CFG1_RXL0S_FLT_SHFT 15 | 473 | #define CE_LSI_GB_CFG1_RXL0S_FLT_SHFT 15 |
diff --git a/arch/ia64/include/asm/spinlock.h b/arch/ia64/include/asm/spinlock.h index 1a91c9121d1..b77768d35f9 100644 --- a/arch/ia64/include/asm/spinlock.h +++ b/arch/ia64/include/asm/spinlock.h | |||
@@ -13,7 +13,7 @@ | |||
13 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
14 | #include <linux/bitops.h> | 14 | #include <linux/bitops.h> |
15 | 15 | ||
16 | #include <asm/atomic.h> | 16 | #include <linux/atomic.h> |
17 | #include <asm/intrinsics.h> | 17 | #include <asm/intrinsics.h> |
18 | #include <asm/system.h> | 18 | #include <asm/system.h> |
19 | 19 | ||