aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/asm-um/bug.h2
-rw-r--r--include/asm-um/common.lds.S2
-rw-r--r--include/asm-um/paravirt.h6
-rw-r--r--include/linux/fs.h27
-rw-r--r--include/linux/slab.h4
-rw-r--r--include/linux/sm501-regs.h8
6 files changed, 46 insertions, 3 deletions
diff --git a/include/asm-um/bug.h b/include/asm-um/bug.h
index 3357c5e2468..9e33b864c35 100644
--- a/include/asm-um/bug.h
+++ b/include/asm-um/bug.h
@@ -1,6 +1,6 @@
1#ifndef __UM_BUG_H 1#ifndef __UM_BUG_H
2#define __UM_BUG_H 2#define __UM_BUG_H
3 3
4#include <asm/arch/bug.h> 4#include <asm-generic/bug.h>
5 5
6#endif 6#endif
diff --git a/include/asm-um/common.lds.S b/include/asm-um/common.lds.S
index f5de80c31e8..e3f010bd12b 100644
--- a/include/asm-um/common.lds.S
+++ b/include/asm-um/common.lds.S
@@ -20,6 +20,8 @@
20 __ex_table : { *(__ex_table) } 20 __ex_table : { *(__ex_table) }
21 __stop___ex_table = .; 21 __stop___ex_table = .;
22 22
23 BUG_TABLE
24
23 __uml_setup_start = .; 25 __uml_setup_start = .;
24 .uml.setup.init : { *(.uml.setup.init) } 26 .uml.setup.init : { *(.uml.setup.init) }
25 __uml_setup_end = .; 27 __uml_setup_end = .;
diff --git a/include/asm-um/paravirt.h b/include/asm-um/paravirt.h
new file mode 100644
index 00000000000..9d6aaad80b5
--- /dev/null
+++ b/include/asm-um/paravirt.h
@@ -0,0 +1,6 @@
1#ifndef __UM_PARAVIRT_H
2#define __UM_PARAVIRT_H
3
4#include "asm/arch/paravirt.h"
5
6#endif
diff --git a/include/linux/fs.h b/include/linux/fs.h
index b3ae77cccbb..6a41f4cab14 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1211,6 +1211,14 @@ static inline void mark_inode_dirty_sync(struct inode *inode)
1211 __mark_inode_dirty(inode, I_DIRTY_SYNC); 1211 __mark_inode_dirty(inode, I_DIRTY_SYNC);
1212} 1212}
1213 1213
1214/**
1215 * inc_nlink - directly increment an inode's link count
1216 * @inode: inode
1217 *
1218 * This is a low-level filesystem helper to replace any
1219 * direct filesystem manipulation of i_nlink. Currently,
1220 * it is only here for parity with dec_nlink().
1221 */
1214static inline void inc_nlink(struct inode *inode) 1222static inline void inc_nlink(struct inode *inode)
1215{ 1223{
1216 inode->i_nlink++; 1224 inode->i_nlink++;
@@ -1222,11 +1230,30 @@ static inline void inode_inc_link_count(struct inode *inode)
1222 mark_inode_dirty(inode); 1230 mark_inode_dirty(inode);
1223} 1231}
1224 1232
1233/**
1234 * drop_nlink - directly drop an inode's link count
1235 * @inode: inode
1236 *
1237 * This is a low-level filesystem helper to replace any
1238 * direct filesystem manipulation of i_nlink. In cases
1239 * where we are attempting to track writes to the
1240 * filesystem, a decrement to zero means an imminent
1241 * write when the file is truncated and actually unlinked
1242 * on the filesystem.
1243 */
1225static inline void drop_nlink(struct inode *inode) 1244static inline void drop_nlink(struct inode *inode)
1226{ 1245{
1227 inode->i_nlink--; 1246 inode->i_nlink--;
1228} 1247}
1229 1248
1249/**
1250 * clear_nlink - directly zero an inode's link count
1251 * @inode: inode
1252 *
1253 * This is a low-level filesystem helper to replace any
1254 * direct filesystem manipulation of i_nlink. See
1255 * drop_nlink() for why we care about i_nlink hitting zero.
1256 */
1230static inline void clear_nlink(struct inode *inode) 1257static inline void clear_nlink(struct inode *inode)
1231{ 1258{
1232 inode->i_nlink = 0; 1259 inode->i_nlink = 0;
diff --git a/include/linux/slab.h b/include/linux/slab.h
index a015236cc57..cebcd3833c7 100644
--- a/include/linux/slab.h
+++ b/include/linux/slab.h
@@ -82,8 +82,8 @@ static inline void *kmem_cache_alloc_node(struct kmem_cache *cachep,
82 * to do various tricks to work around compiler limitations in order to 82 * to do various tricks to work around compiler limitations in order to
83 * ensure proper constant folding. 83 * ensure proper constant folding.
84 */ 84 */
85#define KMALLOC_SHIFT_HIGH ((MAX_ORDER + PAGE_SHIFT) <= 25 ? \ 85#define KMALLOC_SHIFT_HIGH ((MAX_ORDER + PAGE_SHIFT - 1) <= 25 ? \
86 (MAX_ORDER + PAGE_SHIFT) : 25) 86 (MAX_ORDER + PAGE_SHIFT - 1) : 25)
87 87
88#define KMALLOC_MAX_SIZE (1UL << KMALLOC_SHIFT_HIGH) 88#define KMALLOC_MAX_SIZE (1UL << KMALLOC_SHIFT_HIGH)
89#define KMALLOC_MAX_ORDER (KMALLOC_SHIFT_HIGH - PAGE_SHIFT) 89#define KMALLOC_MAX_ORDER (KMALLOC_SHIFT_HIGH - PAGE_SHIFT)
diff --git a/include/linux/sm501-regs.h b/include/linux/sm501-regs.h
index cc9be4a1186..014e73b31fc 100644
--- a/include/linux/sm501-regs.h
+++ b/include/linux/sm501-regs.h
@@ -64,6 +64,11 @@
64#define SM501_DEBUG_CONTROL (0x000034) 64#define SM501_DEBUG_CONTROL (0x000034)
65 65
66/* power management */ 66/* power management */
67#define SM501_POWERMODE_P2X_SRC (1<<29)
68#define SM501_POWERMODE_V2X_SRC (1<<20)
69#define SM501_POWERMODE_M_SRC (1<<12)
70#define SM501_POWERMODE_M1_SRC (1<<4)
71
67#define SM501_CURRENT_GATE (0x000038) 72#define SM501_CURRENT_GATE (0x000038)
68#define SM501_CURRENT_CLOCK (0x00003C) 73#define SM501_CURRENT_CLOCK (0x00003C)
69#define SM501_POWER_MODE_0_GATE (0x000040) 74#define SM501_POWER_MODE_0_GATE (0x000040)
@@ -104,6 +109,9 @@
104#define SM501_DEVICEID (0x000060) 109#define SM501_DEVICEID (0x000060)
105/* 0x050100A0 */ 110/* 0x050100A0 */
106 111
112#define SM501_DEVICEID_SM501 (0x05010000)
113#define SM501_DEVICEID_IDMASK (0xffff0000)
114
107#define SM501_PLLCLOCK_COUNT (0x000064) 115#define SM501_PLLCLOCK_COUNT (0x000064)
108#define SM501_MISC_TIMING (0x000068) 116#define SM501_MISC_TIMING (0x000068)
109#define SM501_CURRENT_SDRAM_CLOCK (0x00006C) 117#define SM501_CURRENT_SDRAM_CLOCK (0x00006C)