summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/asm-sparc/elf.h2
-rw-r--r--include/asm-sparc/hardirq.h1
-rw-r--r--include/asm-sparc/io.h3
-rw-r--r--include/asm-sparc/irq.h2
-rw-r--r--include/asm-sparc/page.h3
-rw-r--r--include/asm-sparc64/irq.h2
-rw-r--r--include/asm-sparc64/rwsem.h2
-rw-r--r--include/asm-sparc64/system.h12
-rw-r--r--include/linux/completion.h1
-rw-r--r--include/linux/pci.h9
-rw-r--r--include/linux/sched.h7
-rw-r--r--include/linux/sonypi.h3
12 files changed, 27 insertions, 20 deletions
diff --git a/include/asm-sparc/elf.h b/include/asm-sparc/elf.h
index 59d2f8e11964..239d2da0a6c0 100644
--- a/include/asm-sparc/elf.h
+++ b/include/asm-sparc/elf.h
@@ -56,7 +56,7 @@ typedef struct {
} elf_fpregset_t;
#define ELF_CORE_COPY_TASK_REGS(__tsk, __elf_regs) \
- ({ ELF_CORE_COPY_REGS((*(__elf_regs)), (__tsk)->thread_info->kregs); 1; })
+ ({ ELF_CORE_COPY_REGS((*(__elf_regs)), (__tsk)->thread.kregs); 1; })
/*
* This is used to ensure we don't load something for the wrong architecture.
diff --git a/include/asm-sparc/hardirq.h b/include/asm-sparc/hardirq.h
index 8057289e0f3e..822ec6f1062d 100644
--- a/include/asm-sparc/hardirq.h
+++ b/include/asm-sparc/hardirq.h
@@ -11,6 +11,7 @@
#include <linux/threads.h>
#include <linux/brlock.h>
#include <linux/spinlock.h>
+#include <linux/cache.h>
/* entry.S is sensitive to the offsets of these fields */ /* XXX P3 Is it? */
typedef struct {
diff --git a/include/asm-sparc/io.h b/include/asm-sparc/io.h
index 848111d7980b..f3fdacf95ba5 100644
--- a/include/asm-sparc/io.h
+++ b/include/asm-sparc/io.h
@@ -187,9 +187,6 @@ extern unsigned long sbus_ioremap(struct resource *res, unsigned long offset,
extern void sbus_iounmap(unsigned long vaddr, unsigned long size);
-#define virt_to_phys(x) __pa((unsigned long)(x))
-#define phys_to_virt(x) __va((unsigned long)(x))
-
/*
* At the moment, we do not use CMOS_READ anywhere outside of rtc.c,
* so rtc_port is static in it. This should not change unless a new
diff --git a/include/asm-sparc/irq.h b/include/asm-sparc/irq.h
index d3f935afaf87..fb99a8c81f81 100644
--- a/include/asm-sparc/irq.h
+++ b/include/asm-sparc/irq.h
@@ -19,7 +19,7 @@
BTFIXUPDEF_CALL(char *, __irq_itoa, unsigned int)
#define __irq_itoa(irq) BTFIXUP_CALL(__irq_itoa)(irq)
-#define NR_IRQS 15
+#define NR_IRQS 16
#define irq_cannonicalize(irq) (irq)
diff --git a/include/asm-sparc/page.h b/include/asm-sparc/page.h
index a08100e59c69..7e521e0c31f4 100644
--- a/include/asm-sparc/page.h
+++ b/include/asm-sparc/page.h
@@ -174,6 +174,9 @@ extern __inline__ int get_order(unsigned long size)
#define __pa(x) ((unsigned long)(x) - PAGE_OFFSET)
#define __va(x) ((void *)((unsigned long) (x) + PAGE_OFFSET))
+#define virt_to_phys(x) __pa((unsigned long)(x))
+#define phys_to_virt(x) __va((unsigned long)(x))
+
#define pfn_to_page(pfn) (mem_map + (pfn))
#define page_to_pfn(page) ((unsigned long)((page) - mem_map))
#define virt_to_page(kaddr) (mem_map + (__pa(kaddr) >> PAGE_SHIFT))
diff --git a/include/asm-sparc64/irq.h b/include/asm-sparc64/irq.h
index 397744bb33d7..5fbe174012cc 100644
--- a/include/asm-sparc64/irq.h
+++ b/include/asm-sparc64/irq.h
@@ -110,7 +110,7 @@ static __inline__ char *__irq_itoa(unsigned int irq)
return buff;
}
-#define NR_IRQS 15
+#define NR_IRQS 16
#define irq_cannonicalize(irq) (irq)
extern void disable_irq(unsigned int);
diff --git a/include/asm-sparc64/rwsem.h b/include/asm-sparc64/rwsem.h
index a559e183a1dd..fb100f981554 100644
--- a/include/asm-sparc64/rwsem.h
+++ b/include/asm-sparc64/rwsem.h
@@ -279,7 +279,7 @@ static __inline__ int rwsem_atomic_update(int delta, struct rw_semaphore *sem)
"mov %%g7, %0\n\t"
: "=&r" (tmp)
: "0" (tmp), "r" (sem)
- : "g5", "g7", "memory");
+ : "g5", "g7", "memory", "cc");
return tmp + delta;
}
diff --git a/include/asm-sparc64/system.h b/include/asm-sparc64/system.h
index 9f7710f5a589..98c738d70a06 100644
--- a/include/asm-sparc64/system.h
+++ b/include/asm-sparc64/system.h
@@ -164,6 +164,11 @@ do { spin_unlock_irq(&(prev)->switch_lock); \
* not preserve it's value. Hairy, but it lets us remove 2 loads
* and 2 stores in this critical code path. -DaveM
*/
+#if __GNUC__ >= 3
+#define EXTRA_CLOBBER ,"%l1"
+#else
+#define EXTRA_CLOBBER
+#endif
#define switch_to(prev, next, last) \
do { if (test_thread_flag(TIF_PERFCTR)) { \
unsigned long __tmp; \
@@ -209,10 +214,11 @@ do { if (test_thread_flag(TIF_PERFCTR)) { \
: "0" (next->thread_info), \
"i" (TI_WSTATE), "i" (TI_KSP), "i" (TI_FLAGS), "i" (TI_CWP), \
"i" (_TIF_NEWCHILD), "i" (TI_TASK) \
- : "cc", "g1", "g2", "g3", "g5", "g7", \
- "l2", "l3", "l4", "l5", "l6", "l7", \
+ : "cc", \
+ "g1", "g2", "g3", "g5", "g7", \
+ "l2", "l3", "l4", "l5", "l6", "l7", \
"i0", "i1", "i2", "i3", "i4", "i5", \
- "o0", "o1", "o2", "o3", "o4", "o5", "o7"); \
+ "o0", "o1", "o2", "o3", "o4", "o5", "o7" EXTRA_CLOBBER);\
/* If you fuck with this, update ret_from_syscall code too. */ \
if (test_thread_flag(TIF_PERFCTR)) { \
write_pcr(current_thread_info()->pcr_reg); \
diff --git a/include/linux/completion.h b/include/linux/completion.h
index e4d6817775be..b8d7ed948470 100644
--- a/include/linux/completion.h
+++ b/include/linux/completion.h
@@ -29,6 +29,7 @@ static inline void init_completion(struct completion *x)
extern void FASTCALL(wait_for_completion(struct completion *));
extern void FASTCALL(complete(struct completion *));
+extern void FASTCALL(complete_all(struct completion *));
#define INIT_COMPLETION(x) ((x).done = 0)
diff --git a/include/linux/pci.h b/include/linux/pci.h
index eede29dc50ad..557b17d959c1 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -383,7 +383,6 @@ struct pci_dev {
u8 rom_base_reg; /* which config register controls the ROM */
struct pci_driver *driver; /* which driver has allocated this device */
- void *driver_data; /* data private to the driver */
u64 dma_mask; /* Mask of the bits of bus address this
device implements. Normally this is
0xffffffff. You only need to change
@@ -787,17 +786,17 @@ static inline int pci_module_init(struct pci_driver *drv)
pci_resource_start((dev),(bar)) + 1))
/* Similar to the helpers above, these manipulate per-pci_dev
- * driver-specific data. Currently stored as pci_dev::driver_data,
- * a void pointer, but it is not present on older kernels.
+ * driver-specific data. They are really just a wrapper around
+ * the generic device structure functions of these calls.
*/
static inline void *pci_get_drvdata (struct pci_dev *pdev)
{
- return pdev->driver_data;
+ return dev_get_drvdata(&pdev->dev);
}
static inline void pci_set_drvdata (struct pci_dev *pdev, void *data)
{
- pdev->driver_data = data;
+ dev_set_drvdata(&pdev->dev, data);
}
/*
diff --git a/include/linux/sched.h b/include/linux/sched.h
index f919a8ce52cb..80a9836df919 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -203,9 +203,8 @@ struct mm_struct {
mm_context_t context;
/* coredumping support */
- struct semaphore core_sem;
- atomic_t core_waiters;
- wait_queue_head_t core_wait;
+ int core_waiters;
+ struct completion *core_startup_done, core_done;
/* aio bits */
rwlock_t ioctx_list_lock;
@@ -397,8 +396,6 @@ struct task_struct {
void *journal_info;
struct dentry *proc_dentry;
struct backing_dev_info *backing_dev_info;
-/* threaded coredumping support */
- int core_waiter;
unsigned long ptrace_message;
};
diff --git a/include/linux/sonypi.h b/include/linux/sonypi.h
index 7581d3fd846d..89ead755abfe 100644
--- a/include/linux/sonypi.h
+++ b/include/linux/sonypi.h
@@ -91,6 +91,9 @@
#define SONYPI_EVENT_THUMBPHRASE_PRESSED 51
#define SONYPI_EVENT_MEYE_FACE 52
#define SONYPI_EVENT_MEYE_OPPOSITE 53
+#define SONYPI_EVENT_MEMORYSTICK_INSERT 54
+#define SONYPI_EVENT_MEMORYSTICK_EJECT 55
+
/* get/set brightness */
#define SONYPI_IOCGBRT _IOR('v', 0, __u8)