summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2004-11-08 05:19:37 -0500
committerLen Brown <len.brown@intel.com>2004-11-08 05:19:37 -0500
commitdad99cb437e463e628e406c7c1cf2d90661abe77 (patch)
tree0050dcba3b43e49661c61aa075dcae896f04e8c8 /include/linux
parent272dacf79cd9b36957c49b70337462b131fb293a (diff)
parentf199195e181f3c004e7a7a1b7ebfd7707c4e3e2a (diff)
Merge
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/ata.h8
-rw-r--r--include/linux/compat_ioctl.h5
-rw-r--r--include/linux/crc-ccitt.h2
-rw-r--r--include/linux/fb.h2
-rw-r--r--include/linux/hardirq.h24
-rw-r--r--include/linux/hdreg.h23
-rw-r--r--include/linux/ide.h31
-rw-r--r--include/linux/jbd.h44
-rw-r--r--include/linux/kallsyms.h10
-rw-r--r--include/linux/kprobes.h5
-rw-r--r--include/linux/meye.h17
-rw-r--r--include/linux/parport_pc.h17
-rw-r--r--include/linux/proc_fs.h2
-rw-r--r--include/linux/random.h2
-rw-r--r--include/linux/sched.h6
-rw-r--r--include/linux/serial_core.h3
-rw-r--r--include/linux/smb_fs.h2
-rw-r--r--include/linux/sysrq.h45
-rw-r--r--include/linux/via.h22
-rw-r--r--include/linux/videodev2.h1
20 files changed, 110 insertions, 161 deletions
diff --git a/include/linux/ata.h b/include/linux/ata.h
index 52c5fc6bb4ac..b6d8e8681603 100644
--- a/include/linux/ata.h
+++ b/include/linux/ata.h
@@ -24,6 +24,8 @@
#ifndef __LINUX_ATA_H__
#define __LINUX_ATA_H__
+#include <linux/types.h>
+
/* defines only for the constants which don't work well as enums */
#define ATA_DMA_BOUNDARY 0xffffUL
#define ATA_DMA_MASK 0xffffffffULL
@@ -33,8 +35,6 @@ enum {
ATA_MAX_DEVICES = 2, /* per bus/port */
ATA_MAX_PRD = 256, /* we could make these 256/256 */
ATA_SECT_SIZE = 512,
- ATA_SECT_SIZE_MASK = (ATA_SECT_SIZE - 1),
- ATA_SECT_DWORDS = ATA_SECT_SIZE / sizeof(u32),
ATA_ID_WORDS = 256,
ATA_ID_PROD_OFS = 27,
@@ -142,6 +142,10 @@ enum {
XFER_PIO_2 = 0x0A,
XFER_PIO_1 = 0x09,
XFER_PIO_0 = 0x08,
+ XFER_SW_DMA_2 = 0x12,
+ XFER_SW_DMA_1 = 0x11,
+ XFER_SW_DMA_0 = 0x10,
+ XFER_PIO_SLOW = 0x00,
/* ATAPI stuff */
ATAPI_PKT_DMA = (1 << 0),
diff --git a/include/linux/compat_ioctl.h b/include/linux/compat_ioctl.h
index a9d099134bf2..c8c2cea10623 100644
--- a/include/linux/compat_ioctl.h
+++ b/include/linux/compat_ioctl.h
@@ -340,6 +340,11 @@ COMPATIBLE_IOCTL(PPPOEIOCSFWD)
COMPATIBLE_IOCTL(PPPOEIOCDFWD)
/* LP */
COMPATIBLE_IOCTL(LPGETSTATUS)
+/* ppdev */
+COMPATIBLE_IOCTL(PPCLAIM)
+COMPATIBLE_IOCTL(PPRELEASE)
+COMPATIBLE_IOCTL(PPEXCL)
+COMPATIBLE_IOCTL(PPYIELD)
/* CDROM stuff */
COMPATIBLE_IOCTL(CDROMPAUSE)
COMPATIBLE_IOCTL(CDROMRESUME)
diff --git a/include/linux/crc-ccitt.h b/include/linux/crc-ccitt.h
index f52696a1ff0d..90037617da8f 100644
--- a/include/linux/crc-ccitt.h
+++ b/include/linux/crc-ccitt.h
@@ -1,5 +1,6 @@
#ifndef _LINUX_CRC_CCITT_H
#define _LINUX_CRC_CCITT_H
+#ifdef __KERNEL__
#include <linux/types.h>
@@ -12,4 +13,5 @@ static inline u16 crc_ccitt_byte(u16 crc, const u8 c)
return (crc >> 8) ^ crc_ccitt_table[(crc ^ c) & 0xff];
}
+#endif /* __KERNEL__ */
#endif /* _LINUX_CRC_CCITT_H */
diff --git a/include/linux/fb.h b/include/linux/fb.h
index bd9e42e356d0..d8f4789dce45 100644
--- a/include/linux/fb.h
+++ b/include/linux/fb.h
@@ -685,7 +685,6 @@ struct fb_info {
struct fb_fix_screeninfo fix; /* Current fix */
struct fb_monspecs monspecs; /* Current Monitor specs */
struct work_struct queue; /* Framebuffer event queue */
- struct timer_list cursor_timer; /* Cursor timer */
struct fb_pixmap pixmap; /* Image hardware mapper */
struct fb_pixmap sprite; /* Cursor hardware mapper */
struct fb_cmap cmap; /* Current cmap */
@@ -697,7 +696,6 @@ struct fb_info {
#endif
char __iomem *screen_base; /* Virtual address */
unsigned long screen_size; /* Amount of ioremapped VRAM or 0 */
- int currcon; /* Current VC. */
void *pseudo_palette; /* Fake palette of 16 colors */
#define FBINFO_STATE_RUNNING 0
#define FBINFO_STATE_SUSPENDED 1
diff --git a/include/linux/hardirq.h b/include/linux/hardirq.h
index 7969257bc87a..eae45cc3ea7a 100644
--- a/include/linux/hardirq.h
+++ b/include/linux/hardirq.h
@@ -5,39 +5,39 @@
#include <linux/smp_lock.h>
#include <asm/hardirq.h>
-#ifdef CONFIG_GENERIC_HARDIRQS
/*
* We put the hardirq and softirq counter into the preemption
* counter. The bitmask has the following meaning:
*
* - bits 0-7 are the preemption count (max preemption depth: 256)
* - bits 8-15 are the softirq count (max # of softirqs: 256)
- * - bits 16-27 are the hardirq count (max # of hardirqs: 4096)
*
+ * The hardirq count can be overridden per architecture, the default is:
+ *
+ * - bits 16-27 are the hardirq count (max # of hardirqs: 4096)
* - ( bit 28 is the PREEMPT_ACTIVE flag. )
*
* PREEMPT_MASK: 0x000000ff
* SOFTIRQ_MASK: 0x0000ff00
* HARDIRQ_MASK: 0x0fff0000
*/
-
#define PREEMPT_BITS 8
#define SOFTIRQ_BITS 8
-#define HARDIRQ_BITS 12
-
-#define PREEMPT_SHIFT 0
-#define SOFTIRQ_SHIFT (PREEMPT_SHIFT + PREEMPT_BITS)
-#define HARDIRQ_SHIFT (SOFTIRQ_SHIFT + SOFTIRQ_BITS)
+#ifndef HARDIRQ_BITS
+#define HARDIRQ_BITS 12
/*
- * The hardirq mask has to be large enough to have
- * space for potentially all IRQ sources in the system
- * nesting on a single CPU:
+ * The hardirq mask has to be large enough to have space for potentially
+ * all IRQ sources in the system nesting on a single CPU.
*/
#if (1 << HARDIRQ_BITS) < NR_IRQS
# error HARDIRQ_BITS is too low!
#endif
-#endif /* CONFIG_GENERIC_HARDIRQS */
+#endif
+
+#define PREEMPT_SHIFT 0
+#define SOFTIRQ_SHIFT (PREEMPT_SHIFT + PREEMPT_BITS)
+#define HARDIRQ_SHIFT (SOFTIRQ_SHIFT + SOFTIRQ_BITS)
#define __IRQ_MASK(x) ((1UL << (x))-1)
diff --git a/include/linux/hdreg.h b/include/linux/hdreg.h
index 54ad63b1d02c..c94de12a5ee1 100644
--- a/include/linux/hdreg.h
+++ b/include/linux/hdreg.h
@@ -1,6 +1,8 @@
#ifndef _LINUX_HDREG_H
#define _LINUX_HDREG_H
+#include <linux/ata.h>
+
/*
* This file contains some defines for the AT-hd-controller.
* Various sources.
@@ -328,27 +330,6 @@ typedef struct hd_drive_hob_hdr {
/* WIN_SETFEATURES sub-commands */
#define SETFEATURES_EN_8BIT 0x01 /* Enable 8-Bit Transfers */
#define SETFEATURES_EN_WCACHE 0x02 /* Enable write cache */
-#define SETFEATURES_XFER 0x03 /* Set transfer mode */
-# define XFER_UDMA_7 0x47 /* 0100|0111 */
-# define XFER_UDMA_6 0x46 /* 0100|0110 */
-# define XFER_UDMA_5 0x45 /* 0100|0101 */
-# define XFER_UDMA_4 0x44 /* 0100|0100 */
-# define XFER_UDMA_3 0x43 /* 0100|0011 */
-# define XFER_UDMA_2 0x42 /* 0100|0010 */
-# define XFER_UDMA_1 0x41 /* 0100|0001 */
-# define XFER_UDMA_0 0x40 /* 0100|0000 */
-# define XFER_MW_DMA_2 0x22 /* 0010|0010 */
-# define XFER_MW_DMA_1 0x21 /* 0010|0001 */
-# define XFER_MW_DMA_0 0x20 /* 0010|0000 */
-# define XFER_SW_DMA_2 0x12 /* 0001|0010 */
-# define XFER_SW_DMA_1 0x11 /* 0001|0001 */
-# define XFER_SW_DMA_0 0x10 /* 0001|0000 */
-# define XFER_PIO_4 0x0C /* 0000|1100 */
-# define XFER_PIO_3 0x0B /* 0000|1011 */
-# define XFER_PIO_2 0x0A /* 0000|1010 */
-# define XFER_PIO_1 0x09 /* 0000|1001 */
-# define XFER_PIO_0 0x08 /* 0000|1000 */
-# define XFER_PIO_SLOW 0x00 /* 0000|0000 */
#define SETFEATURES_DIS_DEFECT 0x04 /* Disable Defect Management */
#define SETFEATURES_EN_APM 0x05 /* Enable advanced power management */
#define SETFEATURES_EN_SAME_R 0x22 /* for a region ATA-1 */
diff --git a/include/linux/ide.h b/include/linux/ide.h
index 3d9bc0542b7d..ec81a19ec550 100644
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -39,7 +39,6 @@
*
* REALLY_SLOW_IO can be defined in ide.c and ide-cd.c, if necessary
*/
-#define REALLY_FAST_IO /* define if ide ports are perfect */
#define INITIAL_MULT_COUNT 0 /* off=0; on=2,4,8,16,32, etc.. */
#ifndef SUPPORT_SLOW_DATA_PORTS /* 1 to support slow data ports */
@@ -64,18 +63,6 @@
#define IDE_NO_IRQ (-1)
/*
- * IDE_DRIVE_CMD is used to implement many features of the hdparm utility
- */
-#define IDE_DRIVE_CMD 99 /* (magic) undef to reduce kernel size*/
-
-#define IDE_DRIVE_TASK 98
-
-/*
- * IDE_DRIVE_TASKFILE is used to implement many features needed for raw tasks
- */
-#define IDE_DRIVE_TASKFILE 97
-
-/*
* "No user-serviceable parts" beyond this point :)
*****************************************************************************/
@@ -101,13 +88,6 @@ typedef unsigned char byte; /* used everywhere */
#define DMA_PIO_RETRY 1 /* retrying in PIO */
-/*
- * Ensure that various configuration flags have compatible settings
- */
-#ifdef REALLY_SLOW_IO
-#undef REALLY_FAST_IO
-#endif
-
#define HWIF(drive) ((ide_hwif_t *)((drive)->hwif))
#define HWGROUP(drive) ((ide_hwgroup_t *)(HWIF(drive)->hwgroup))
@@ -197,10 +177,7 @@ typedef unsigned char byte; /* used everywhere */
/*
* Some more useful definitions
*/
-#define IDE_MAJOR_NAME "hd" /* the same for all i/f; see also genhd.c */
-#define MAJOR_NAME IDE_MAJOR_NAME
#define PARTN_BITS 6 /* number of minor dev bits for partitions */
-#define PARTN_MASK ((1<<PARTN_BITS)-1) /* a useful bit mask */
#define MAX_DRIVES 2 /* per interface; 2 assumed by lots of code */
#define SECTOR_SIZE 512
#define SECTOR_WORDS (SECTOR_SIZE / 4) /* number of 32bit words per sector */
@@ -256,16 +233,14 @@ typedef struct hw_regs_s {
int irq; /* our irq number */
int dma; /* our dma entry */
ide_ack_intr_t *ack_intr; /* acknowledge interrupt */
- void *priv; /* interface specific data */
hwif_chipset_t chipset;
- unsigned long sata_scr[SATA_NR_PORTS];
- unsigned long sata_misc[SATA_NR_PORTS];
} hw_regs_t;
/*
* Register new hardware with ide
*/
int ide_register_hw(hw_regs_t *hw, struct hwif_s **hwifp);
+int ide_register_hw_with_fixup(hw_regs_t *, struct hwif_s **, void (*)(struct hwif_s *));
/*
* Set up hw_regs_t structure before calling ide_register_hw (optional)
@@ -1453,6 +1428,7 @@ typedef struct ide_pci_device_s {
void (*init_iops)(ide_hwif_t *);
void (*init_hwif)(ide_hwif_t *);
void (*init_dma)(ide_hwif_t *, unsigned long);
+ void (*fixup)(ide_hwif_t *);
u8 channels;
u8 autodma;
ide_pci_enablebit_t enablebits[2];
@@ -1513,6 +1489,9 @@ extern int ide_hwif_request_regions(ide_hwif_t *hwif);
extern void ide_hwif_release_regions(ide_hwif_t* hwif);
extern void ide_unregister (unsigned int index);
+void ide_undecoded_slave(ide_hwif_t *);
+
+int probe_hwif_init_with_fixup(ide_hwif_t *, void (*)(ide_hwif_t *));
extern int probe_hwif_init(ide_hwif_t *);
static inline void *ide_get_hwifdata (ide_hwif_t * hwif)
diff --git a/include/linux/jbd.h b/include/linux/jbd.h
index dfdd307872bb..3d9451b62e5a 100644
--- a/include/linux/jbd.h
+++ b/include/linux/jbd.h
@@ -352,27 +352,6 @@ static inline void jbd_unlock_bh_journal_head(struct buffer_head *bh)
bit_spin_unlock(BH_JournalHead, &bh->b_state);
}
-#define HAVE_JOURNAL_CALLBACK_STATUS
-/**
- * struct journal_callback - Base structure for callback information.
- * @jcb_list: list information for other callbacks attached to the same handle.
- * @jcb_func: Function to call with this callback structure.
- *
- * This struct is a 'seed' structure for a using with your own callback
- * structs. If you are using callbacks you must allocate one of these
- * or another struct of your own definition which has this struct
- * as it's first element and pass it to journal_callback_set().
- *
- * This is used internally by jbd to maintain callback information.
- *
- * See journal_callback_set for more information.
- **/
-struct journal_callback {
- struct list_head jcb_list; /* t_jcb_lock */
- void (*jcb_func)(struct journal_callback *jcb, int error);
- /* user data goes here */
-};
-
struct jbd_revoke_table_s;
/**
@@ -381,7 +360,6 @@ struct jbd_revoke_table_s;
* @h_transaction: Which compound transaction is this update a part of?
* @h_buffer_credits: Number of remaining buffers we are allowed to dirty.
* @h_ref: Reference count on this handle
- * @h_jcb: List of application registered callbacks for this handle.
* @h_err: Field for caller's use to track errors through large fs operations
* @h_sync: flag for sync-on-close
* @h_jdata: flag to force data journaling
@@ -407,13 +385,6 @@ struct handle_s
/* operations */
int h_err;
- /*
- * List of application registered callbacks for this handle. The
- * function(s) will be called after the transaction that this handle is
- * part of has been committed to disk. [t_jcb_lock]
- */
- struct list_head h_jcb;
-
/* Flags [no locking] */
unsigned int h_sync: 1; /* sync-on-close */
unsigned int h_jdata: 1; /* force data journaling */
@@ -455,8 +426,6 @@ struct handle_s
* j_state_lock
* ->j_list_lock (journal_unmap_buffer)
*
- * t_handle_lock
- * ->t_jcb_lock
*/
struct transaction_s
@@ -580,15 +549,6 @@ struct transaction_s
*/
int t_handle_count;
- /*
- * Protects the callback list
- */
- spinlock_t t_jcb_lock;
- /*
- * List of registered callback functions for this transaction.
- * Called when the transaction is committed. [t_jcb_lock]
- */
- struct list_head t_jcb;
};
/**
@@ -921,10 +881,6 @@ extern int journal_invalidatepage(journal_t *,
extern int journal_try_to_free_buffers(journal_t *, struct page *, int);
extern int journal_stop(handle_t *);
extern int journal_flush (journal_t *);
-extern void journal_callback_set(handle_t *handle,
- void (*fn)(struct journal_callback *,int),
- struct journal_callback *jcb);
-
extern void journal_lock_updates (journal_t *);
extern void journal_unlock_updates (journal_t *);
diff --git a/include/linux/kallsyms.h b/include/linux/kallsyms.h
index 1a5dce8f9346..9bbd04092365 100644
--- a/include/linux/kallsyms.h
+++ b/include/linux/kallsyms.h
@@ -47,6 +47,16 @@ __attribute__((format(printf,1,2)));
static inline void __check_printsym_format(const char *fmt, ...)
{
}
+/* ia64 and ppc64 use function descriptors, which contain the real address */
+#if defined(CONFIG_IA64) || defined(CONFIG_PPC64)
+#define print_fn_descriptor_symbol(fmt, addr) \
+do { \
+ unsigned long *__faddr = (unsigned long*) addr; \
+ print_symbol(fmt, __faddr[0]); \
+} while (0)
+#else
+#define print_fn_descriptor_symbol(fmt, addr) print_symbol(fmt, addr)
+#endif
#define print_symbol(fmt, addr) \
do { \
diff --git a/include/linux/kprobes.h b/include/linux/kprobes.h
index 172b7f421f72..3177a7ffe573 100644
--- a/include/linux/kprobes.h
+++ b/include/linux/kprobes.h
@@ -64,7 +64,7 @@ struct kprobe {
kprobe_opcode_t opcode;
/* copy of the original instruction */
- kprobe_opcode_t insn[MAX_INSN_SIZE];
+ struct arch_specific_insn ainsn;
};
/*
@@ -94,7 +94,8 @@ static inline int kprobe_running(void)
return kprobe_cpu == smp_processor_id();
}
-extern void arch_prepare_kprobe(struct kprobe *p);
+extern int arch_prepare_kprobe(struct kprobe *p);
+extern void arch_remove_kprobe(struct kprobe *p);
extern void show_registers(struct pt_regs *regs);
/* Get the kprobe at this addr (if any). Must have called lock_kprobes */
diff --git a/include/linux/meye.h b/include/linux/meye.h
index dc2c12d64f7f..11ec45e9a132 100644
--- a/include/linux/meye.h
+++ b/include/linux/meye.h
@@ -1,4 +1,4 @@
-/*
+/*
* Motion Eye video4linux driver for Sony Vaio PictureBook
*
* Copyright (C) 2001-2003 Stelian Pop <stelian@popies.net>
@@ -8,20 +8,20 @@
* Copyright (C) 2000 Andrew Tridgell <tridge@valinux.com>
*
* Earlier work by Werner Almesberger, Paul `Rusty' Russell and Paul Mackerras.
- *
+ *
* Some parts borrowed from various video4linux drivers, especially
* bttv-driver.c and zoran.c, see original files for credits.
- *
+ *
* 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.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
@@ -56,4 +56,11 @@ struct meye_params {
/* get a jpeg compressed snapshot */
#define MEYEIOC_STILLJCAPT _IOR ('v', BASE_VIDIOCPRIVATE+5, int)
+/* V4L2 private controls */
+#define V4L2_CID_AGC V4L2_CID_PRIVATE_BASE
+#define V4L2_CID_SHARPNESS (V4L2_CID_PRIVATE_BASE + 1)
+#define V4L2_CID_PICTURE (V4L2_CID_PRIVATE_BASE + 2)
+#define V4L2_CID_JPEGQUAL (V4L2_CID_PRIVATE_BASE + 3)
+#define V4L2_CID_FRAMERATE (V4L2_CID_PRIVATE_BASE + 4)
+
#endif
diff --git a/include/linux/parport_pc.h b/include/linux/parport_pc.h
index 2b5ad1bf19a2..0682cb927170 100644
--- a/include/linux/parport_pc.h
+++ b/include/linux/parport_pc.h
@@ -43,6 +43,23 @@ struct parport_pc_private {
struct parport *port;
};
+struct parport_pc_via_data
+{
+ /* ISA PnP IRQ routing register 1 */
+ u8 via_pci_parport_irq_reg;
+ /* ISA PnP DMA request routing register */
+ u8 via_pci_parport_dma_reg;
+ /* Register and value to enable SuperIO configuration access */
+ u8 via_pci_superio_config_reg;
+ u8 via_pci_superio_config_data;
+ /* SuperIO function register number */
+ u8 viacfg_function;
+ /* parallel port control register number */
+ u8 viacfg_parport_control;
+ /* Parallel port base address register */
+ u8 viacfg_parport_base;
+};
+
static __inline__ void parport_pc_write_data(struct parport *p, unsigned char d)
{
#ifdef DEBUG_PARPORT
diff --git a/include/linux/proc_fs.h b/include/linux/proc_fs.h
index ba4c3255ccf7..14b0b41e5ecc 100644
--- a/include/linux/proc_fs.h
+++ b/include/linux/proc_fs.h
@@ -227,7 +227,7 @@ extern struct proc_dir_entry proc_root;
#endif /* CONFIG_PROC_FS */
-#if !defined(CONFIG_PROC_FS)
+#if !defined(CONFIG_PROC_KCORE)
static inline void kclist_add(struct kcore_list *new, void *addr, size_t size)
{
}
diff --git a/include/linux/random.h b/include/linux/random.h
index 068875bf9601..4aaffb57349d 100644
--- a/include/linux/random.h
+++ b/include/linux/random.h
@@ -44,8 +44,6 @@ struct rand_pool_info {
extern void rand_initialize_irq(int irq);
-extern void batch_entropy_store(u32 a, u32 b, int num);
-
extern void add_keyboard_randomness(unsigned char scancode);
extern void add_mouse_randomness(__u32 mouse_data);
extern void add_interrupt_randomness(int irq);
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 5d4ebb202ea6..0c8262c6d6b8 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1105,6 +1105,12 @@ static inline void arch_pick_mmap_layout(struct mm_struct *mm)
extern long sched_setaffinity(pid_t pid, cpumask_t new_mask);
extern long sched_getaffinity(pid_t pid, cpumask_t *mask);
+#ifdef CONFIG_MAGIC_SYSRQ
+
+extern void normalize_rt_tasks(void);
+
+#endif
+
#endif /* __KERNEL__ */
#endif
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
index a01972bb5c52..bba805dd7a39 100644
--- a/include/linux/serial_core.h
+++ b/include/linux/serial_core.h
@@ -91,6 +91,9 @@
/* MPC52xx type numbers */
#define PORT_MPC52xx 59
+/*IBM icom*/
+#define PORT_ICOM 60
+
#ifdef __KERNEL__
#include <linux/config.h>
diff --git a/include/linux/smb_fs.h b/include/linux/smb_fs.h
index c776bcd95b7a..c4153120ade6 100644
--- a/include/linux/smb_fs.h
+++ b/include/linux/smb_fs.h
@@ -12,7 +12,6 @@
#include <linux/smb.h>
#include <linux/smb_fs_i.h>
#include <linux/smb_fs_sb.h>
-#include <linux/fs.h>
/*
* ioctl commands
@@ -26,6 +25,7 @@
#ifdef __KERNEL__
+#include <linux/fs.h>
#include <linux/pagemap.h>
#include <linux/vmalloc.h>
#include <linux/smb_mount.h>
diff --git a/include/linux/sysrq.h b/include/linux/sysrq.h
index 7fe8012f79f9..94cbe97bd8e6 100644
--- a/include/linux/sysrq.h
+++ b/include/linux/sysrq.h
@@ -31,49 +31,8 @@ struct sysrq_key_op {
void handle_sysrq(int, struct pt_regs *, struct tty_struct *);
void __handle_sysrq(int, struct pt_regs *, struct tty_struct *);
-
-/*
- * Sysrq registration manipulation functions
- */
-
-void __sysrq_lock_table (void);
-void __sysrq_unlock_table (void);
-struct sysrq_key_op *__sysrq_get_key_op (int key);
-void __sysrq_put_key_op (int key, struct sysrq_key_op *op_p);
-
-extern __inline__ int
-__sysrq_swap_key_ops_nolock(int key, struct sysrq_key_op *insert_op_p,
- struct sysrq_key_op *remove_op_p)
-{
- int retval;
- if (__sysrq_get_key_op(key) == remove_op_p) {
- __sysrq_put_key_op(key, insert_op_p);
- retval = 0;
- } else {
- retval = -1;
- }
- return retval;
-}
-
-extern __inline__ int
-__sysrq_swap_key_ops(int key, struct sysrq_key_op *insert_op_p,
- struct sysrq_key_op *remove_op_p) {
- int retval;
- __sysrq_lock_table();
- retval = __sysrq_swap_key_ops_nolock(key, insert_op_p, remove_op_p);
- __sysrq_unlock_table();
- return retval;
-}
-
-static inline int register_sysrq_key(int key, struct sysrq_key_op *op_p)
-{
- return __sysrq_swap_key_ops(key, op_p, NULL);
-}
-
-static inline int unregister_sysrq_key(int key, struct sysrq_key_op *op_p)
-{
- return __sysrq_swap_key_ops(key, NULL, op_p);
-}
+int register_sysrq_key(int, struct sysrq_key_op *);
+int unregister_sysrq_key(int, struct sysrq_key_op *);
#else
diff --git a/include/linux/via.h b/include/linux/via.h
new file mode 100644
index 000000000000..86ae3bcdb2ba
--- /dev/null
+++ b/include/linux/via.h
@@ -0,0 +1,22 @@
+/* Miscellaneous definitions for VIA chipsets
+ Currently used only by drivers/parport/parport_pc.c */
+
+/* Values for SuperIO function select configuration register */
+#define VIA_FUNCTION_PARPORT_SPP 0x00
+#define VIA_FUNCTION_PARPORT_ECP 0x01
+#define VIA_FUNCTION_PARPORT_EPP 0x02
+#define VIA_FUNCTION_PARPORT_DISABLE 0x03
+#define VIA_FUNCTION_PROBE 0xFF /* Special magic value to be used in code, not to be written into chip */
+
+/* Bits for parallel port mode configuration register */
+#define VIA_PARPORT_ECPEPP 0X20
+#define VIA_PARPORT_BIDIR 0x80
+
+/* VIA configuration registers */
+#define VIA_CONFIG_INDEX 0x3F0
+#define VIA_CONFIG_DATA 0x3F1
+
+/* Mask for parallel port IRQ bits (in ISA PnP IRQ routing register 1) */
+#define VIA_IRQCONTROL_PARALLEL 0xF0
+/* Mask for parallel port DMA bits (in ISA PnP DMA routing register) */
+#define VIA_DMACONTROL_PARALLEL 0x0C
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index fda602c77144..819e211f60be 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -16,6 +16,7 @@
#ifdef __KERNEL__
#include <linux/time.h> /* need struct timeval */
#endif
+#include <linux/compiler.h> /* need __user */
/*
* M I S C E L L A N E O U S