aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/Kbuild3
-rw-r--r--include/linux/blkdev.h14
-rw-r--r--include/linux/debug_locks.h2
-rw-r--r--include/linux/device.h2
-rw-r--r--include/linux/elevator.h3
-rw-r--r--include/linux/file.h5
-rw-r--r--include/linux/if_fddi.h2
-rw-r--r--include/linux/ioport.h3
-rw-r--r--include/linux/kobject.h11
-rw-r--r--include/linux/kvm.h3
-rw-r--r--include/linux/page-flags.h8
-rw-r--r--include/linux/pci.h29
-rw-r--r--include/linux/pci_ids.h4
-rw-r--r--include/linux/pci_regs.h19
-rw-r--r--include/linux/rmap.h2
-rw-r--r--include/linux/sctp.h10
-rw-r--r--include/linux/vmstat.h11
17 files changed, 96 insertions, 35 deletions
diff --git a/include/linux/Kbuild b/include/linux/Kbuild
index a1b04d8a1d01..862e483cce8a 100644
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
@@ -119,7 +119,6 @@ header-y += nfs4_mount.h
119header-y += nfs_mount.h 119header-y += nfs_mount.h
120header-y += oom.h 120header-y += oom.h
121header-y += param.h 121header-y += param.h
122header-y += pci_ids.h
123header-y += pci_regs.h 122header-y += pci_regs.h
124header-y += personality.h 123header-y += personality.h
125header-y += pfkeyv2.h 124header-y += pfkeyv2.h
@@ -138,7 +137,6 @@ header-y += radeonfb.h
138header-y += raw.h 137header-y += raw.h
139header-y += resource.h 138header-y += resource.h
140header-y += rose.h 139header-y += rose.h
141header-y += sctp.h
142header-y += smbno.h 140header-y += smbno.h
143header-y += snmp.h 141header-y += snmp.h
144header-y += sockios.h 142header-y += sockios.h
@@ -162,7 +160,6 @@ header-y += vt.h
162header-y += wireless.h 160header-y += wireless.h
163header-y += xattr.h 161header-y += xattr.h
164header-y += x25.h 162header-y += x25.h
165header-y += zorro_ids.h
166 163
167unifdef-y += acct.h 164unifdef-y += acct.h
168unifdef-y += adb.h 165unifdef-y += adb.h
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index ea330d7b46c0..36a6eacefe20 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -331,10 +331,6 @@ struct request_pm_state
331 331
332#include <linux/elevator.h> 332#include <linux/elevator.h>
333 333
334typedef int (merge_request_fn) (request_queue_t *, struct request *,
335 struct bio *);
336typedef int (merge_requests_fn) (request_queue_t *, struct request *,
337 struct request *);
338typedef void (request_fn_proc) (request_queue_t *q); 334typedef void (request_fn_proc) (request_queue_t *q);
339typedef int (make_request_fn) (request_queue_t *q, struct bio *bio); 335typedef int (make_request_fn) (request_queue_t *q, struct bio *bio);
340typedef int (prep_rq_fn) (request_queue_t *, struct request *); 336typedef int (prep_rq_fn) (request_queue_t *, struct request *);
@@ -376,9 +372,6 @@ struct request_queue
376 struct request_list rq; 372 struct request_list rq;
377 373
378 request_fn_proc *request_fn; 374 request_fn_proc *request_fn;
379 merge_request_fn *back_merge_fn;
380 merge_request_fn *front_merge_fn;
381 merge_requests_fn *merge_requests_fn;
382 make_request_fn *make_request_fn; 375 make_request_fn *make_request_fn;
383 prep_rq_fn *prep_rq_fn; 376 prep_rq_fn *prep_rq_fn;
384 unplug_fn *unplug_fn; 377 unplug_fn *unplug_fn;
@@ -649,6 +642,11 @@ extern int sg_scsi_ioctl(struct file *, struct request_queue *,
649 struct gendisk *, struct scsi_ioctl_command __user *); 642 struct gendisk *, struct scsi_ioctl_command __user *);
650 643
651/* 644/*
645 * Temporary export, until SCSI gets fixed up.
646 */
647extern int ll_back_merge_fn(request_queue_t *, struct request *, struct bio *);
648
649/*
652 * A queue has just exitted congestion. Note this in the global counter of 650 * A queue has just exitted congestion. Note this in the global counter of
653 * congested queues, and wake up anyone who was waiting for requests to be 651 * congested queues, and wake up anyone who was waiting for requests to be
654 * put back. 652 * put back.
@@ -674,7 +672,7 @@ extern void __blk_stop_queue(request_queue_t *q);
674extern void blk_run_queue(request_queue_t *); 672extern void blk_run_queue(request_queue_t *);
675extern void blk_start_queueing(request_queue_t *); 673extern void blk_start_queueing(request_queue_t *);
676extern int blk_rq_map_user(request_queue_t *, struct request *, void __user *, unsigned long); 674extern int blk_rq_map_user(request_queue_t *, struct request *, void __user *, unsigned long);
677extern int blk_rq_unmap_user(struct request *); 675extern int blk_rq_unmap_user(struct bio *);
678extern int blk_rq_map_kern(request_queue_t *, struct request *, void *, unsigned int, gfp_t); 676extern int blk_rq_map_kern(request_queue_t *, struct request *, void *, unsigned int, gfp_t);
679extern int blk_rq_map_user_iov(request_queue_t *, struct request *, 677extern int blk_rq_map_user_iov(request_queue_t *, struct request *,
680 struct sg_iovec *, int, unsigned int); 678 struct sg_iovec *, int, unsigned int);
diff --git a/include/linux/debug_locks.h b/include/linux/debug_locks.h
index a1c10b0c4cf0..1678a5de7013 100644
--- a/include/linux/debug_locks.h
+++ b/include/linux/debug_locks.h
@@ -24,7 +24,7 @@ extern int debug_locks_off(void);
24 int __ret = 0; \ 24 int __ret = 0; \
25 \ 25 \
26 if (unlikely(c)) { \ 26 if (unlikely(c)) { \
27 if (debug_locks_silent || debug_locks_off()) \ 27 if (debug_locks_off() && !debug_locks_silent) \
28 WARN_ON(1); \ 28 WARN_ON(1); \
29 __ret = 1; \ 29 __ret = 1; \
30 } \ 30 } \
diff --git a/include/linux/device.h b/include/linux/device.h
index 49ab53ce92dc..f44247fe8135 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -433,6 +433,8 @@ static inline int device_is_registered(struct device *dev)
433 return dev->is_registered; 433 return dev->is_registered;
434} 434}
435 435
436void driver_init(void);
437
436/* 438/*
437 * High level routines for use by the bus drivers 439 * High level routines for use by the bus drivers
438 */ 440 */
diff --git a/include/linux/elevator.h b/include/linux/elevator.h
index a24931d24404..e88fcbc77f8f 100644
--- a/include/linux/elevator.h
+++ b/include/linux/elevator.h
@@ -12,6 +12,8 @@ typedef void (elevator_merge_req_fn) (request_queue_t *, struct request *, struc
12 12
13typedef void (elevator_merged_fn) (request_queue_t *, struct request *, int); 13typedef void (elevator_merged_fn) (request_queue_t *, struct request *, int);
14 14
15typedef int (elevator_allow_merge_fn) (request_queue_t *, struct request *, struct bio *);
16
15typedef int (elevator_dispatch_fn) (request_queue_t *, int); 17typedef int (elevator_dispatch_fn) (request_queue_t *, int);
16 18
17typedef void (elevator_add_req_fn) (request_queue_t *, struct request *); 19typedef void (elevator_add_req_fn) (request_queue_t *, struct request *);
@@ -33,6 +35,7 @@ struct elevator_ops
33 elevator_merge_fn *elevator_merge_fn; 35 elevator_merge_fn *elevator_merge_fn;
34 elevator_merged_fn *elevator_merged_fn; 36 elevator_merged_fn *elevator_merged_fn;
35 elevator_merge_req_fn *elevator_merge_req_fn; 37 elevator_merge_req_fn *elevator_merge_req_fn;
38 elevator_allow_merge_fn *elevator_allow_merge_fn;
36 39
37 elevator_dispatch_fn *elevator_dispatch_fn; 40 elevator_dispatch_fn *elevator_dispatch_fn;
38 elevator_add_req_fn *elevator_add_req_fn; 41 elevator_add_req_fn *elevator_add_req_fn;
diff --git a/include/linux/file.h b/include/linux/file.h
index edca361f2ab4..a59001e9ea58 100644
--- a/include/linux/file.h
+++ b/include/linux/file.h
@@ -80,6 +80,11 @@ extern int expand_files(struct files_struct *, int nr);
80extern void free_fdtable_rcu(struct rcu_head *rcu); 80extern void free_fdtable_rcu(struct rcu_head *rcu);
81extern void __init files_defer_init(void); 81extern void __init files_defer_init(void);
82 82
83static inline void free_fdtable(struct fdtable *fdt)
84{
85 call_rcu(&fdt->rcu, free_fdtable_rcu);
86}
87
83static inline struct file * fcheck_files(struct files_struct *files, unsigned int fd) 88static inline struct file * fcheck_files(struct files_struct *files, unsigned int fd)
84{ 89{
85 struct file * file = NULL; 90 struct file * file = NULL;
diff --git a/include/linux/if_fddi.h b/include/linux/if_fddi.h
index e0a150046208..4aba6b0ad41c 100644
--- a/include/linux/if_fddi.h
+++ b/include/linux/if_fddi.h
@@ -103,6 +103,8 @@ struct fddihdr
103 } __attribute__ ((packed)); 103 } __attribute__ ((packed));
104 104
105#ifdef __KERNEL__ 105#ifdef __KERNEL__
106#include <linux/netdevice.h>
107
106/* Define FDDI statistics structure */ 108/* Define FDDI statistics structure */
107struct fddi_statistics { 109struct fddi_statistics {
108 110
diff --git a/include/linux/ioport.h b/include/linux/ioport.h
index cf8696d4a138..15228d79c5bc 100644
--- a/include/linux/ioport.h
+++ b/include/linux/ioport.h
@@ -91,6 +91,9 @@ struct resource_list {
91#define IORESOURCE_ROM_COPY (1<<2) /* ROM is alloc'd copy, resource field overlaid */ 91#define IORESOURCE_ROM_COPY (1<<2) /* ROM is alloc'd copy, resource field overlaid */
92#define IORESOURCE_ROM_BIOS_COPY (1<<3) /* ROM is BIOS copy, resource field overlaid */ 92#define IORESOURCE_ROM_BIOS_COPY (1<<3) /* ROM is BIOS copy, resource field overlaid */
93 93
94/* PCI control bits. Shares IORESOURCE_BITS with above PCI ROM. */
95#define IORESOURCE_PCI_FIXED (1<<4) /* Do not move resource */
96
94/* PC/ISA/whatever - the normal PC address spaces: IO and memory */ 97/* PC/ISA/whatever - the normal PC address spaces: IO and memory */
95extern struct resource ioport_resource; 98extern struct resource ioport_resource;
96extern struct resource iomem_resource; 99extern struct resource iomem_resource;
diff --git a/include/linux/kobject.h b/include/linux/kobject.h
index d1c8d28fa92e..76538fcf2c4e 100644
--- a/include/linux/kobject.h
+++ b/include/linux/kobject.h
@@ -265,8 +265,8 @@ extern int __must_check subsys_create_file(struct subsystem * ,
265 struct subsys_attribute *); 265 struct subsys_attribute *);
266 266
267#if defined(CONFIG_HOTPLUG) 267#if defined(CONFIG_HOTPLUG)
268void kobject_uevent(struct kobject *kobj, enum kobject_action action); 268int kobject_uevent(struct kobject *kobj, enum kobject_action action);
269void kobject_uevent_env(struct kobject *kobj, enum kobject_action action, 269int kobject_uevent_env(struct kobject *kobj, enum kobject_action action,
270 char *envp[]); 270 char *envp[]);
271 271
272int add_uevent_var(char **envp, int num_envp, int *cur_index, 272int add_uevent_var(char **envp, int num_envp, int *cur_index,
@@ -274,11 +274,12 @@ int add_uevent_var(char **envp, int num_envp, int *cur_index,
274 const char *format, ...) 274 const char *format, ...)
275 __attribute__((format (printf, 7, 8))); 275 __attribute__((format (printf, 7, 8)));
276#else 276#else
277static inline void kobject_uevent(struct kobject *kobj, enum kobject_action action) { } 277static inline int kobject_uevent(struct kobject *kobj, enum kobject_action action)
278static inline void kobject_uevent_env(struct kobject *kobj, 278{ return 0; }
279static inline int kobject_uevent_env(struct kobject *kobj,
279 enum kobject_action action, 280 enum kobject_action action,
280 char *envp[]) 281 char *envp[])
281{ } 282{ return 0; }
282 283
283static inline int add_uevent_var(char **envp, int num_envp, int *cur_index, 284static inline int add_uevent_var(char **envp, int num_envp, int *cur_index,
284 char *buffer, int buffer_size, int *cur_len, 285 char *buffer, int buffer_size, int *cur_len,
diff --git a/include/linux/kvm.h b/include/linux/kvm.h
index 5bb2c3c585c1..28fdce1ac1db 100644
--- a/include/linux/kvm.h
+++ b/include/linux/kvm.h
@@ -11,6 +11,8 @@
11#include <asm/types.h> 11#include <asm/types.h>
12#include <linux/ioctl.h> 12#include <linux/ioctl.h>
13 13
14#define KVM_API_VERSION 1
15
14/* 16/*
15 * Architectural interrupt line count, and the size of the bitmap needed 17 * Architectural interrupt line count, and the size of the bitmap needed
16 * to hold them. 18 * to hold them.
@@ -209,6 +211,7 @@ struct kvm_dirty_log {
209 211
210#define KVMIO 0xAE 212#define KVMIO 0xAE
211 213
214#define KVM_GET_API_VERSION _IO(KVMIO, 1)
212#define KVM_RUN _IOWR(KVMIO, 2, struct kvm_run) 215#define KVM_RUN _IOWR(KVMIO, 2, struct kvm_run)
213#define KVM_GET_REGS _IOWR(KVMIO, 3, struct kvm_regs) 216#define KVM_GET_REGS _IOWR(KVMIO, 3, struct kvm_regs)
214#define KVM_SET_REGS _IOW(KVMIO, 4, struct kvm_regs) 217#define KVM_SET_REGS _IOW(KVMIO, 4, struct kvm_regs)
diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h
index 4830a3bedfb2..350878a2d848 100644
--- a/include/linux/page-flags.h
+++ b/include/linux/page-flags.h
@@ -253,15 +253,11 @@ static inline void SetPageUptodate(struct page *page)
253 253
254struct page; /* forward declaration */ 254struct page; /* forward declaration */
255 255
256int test_clear_page_dirty(struct page *page); 256extern void cancel_dirty_page(struct page *page, unsigned int account_size);
257
257int test_clear_page_writeback(struct page *page); 258int test_clear_page_writeback(struct page *page);
258int test_set_page_writeback(struct page *page); 259int test_set_page_writeback(struct page *page);
259 260
260static inline void clear_page_dirty(struct page *page)
261{
262 test_clear_page_dirty(page);
263}
264
265static inline void set_page_writeback(struct page *page) 261static inline void set_page_writeback(struct page *page)
266{ 262{
267 test_set_page_writeback(page); 263 test_set_page_writeback(page);
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 01c707261f9c..f3c617eabd8d 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -20,9 +20,6 @@
20/* Include the pci register defines */ 20/* Include the pci register defines */
21#include <linux/pci_regs.h> 21#include <linux/pci_regs.h>
22 22
23/* Include the ID list */
24#include <linux/pci_ids.h>
25
26/* 23/*
27 * The PCI interface treats multi-function devices as independent 24 * The PCI interface treats multi-function devices as independent
28 * devices. The slot/function address of each device is encoded 25 * devices. The slot/function address of each device is encoded
@@ -54,6 +51,9 @@
54#include <asm/atomic.h> 51#include <asm/atomic.h>
55#include <linux/device.h> 52#include <linux/device.h>
56 53
54/* Include the ID list */
55#include <linux/pci_ids.h>
56
57/* File state for mmap()s on /proc/bus/pci/X/Y */ 57/* File state for mmap()s on /proc/bus/pci/X/Y */
58enum pci_mmap_state { 58enum pci_mmap_state {
59 pci_mmap_io, 59 pci_mmap_io,
@@ -396,6 +396,21 @@ struct pci_driver {
396 */ 396 */
397#define pci_module_init pci_register_driver 397#define pci_module_init pci_register_driver
398 398
399/**
400 * PCI_VDEVICE - macro used to describe a specific pci device in short form
401 * @vend: the vendor name
402 * @dev: the 16 bit PCI Device ID
403 *
404 * This macro is used to create a struct pci_device_id that matches a
405 * specific PCI device. The subvendor, and subdevice fields will be set
406 * to PCI_ANY_ID. The macro allows the next field to follow as the device
407 * private data.
408 */
409
410#define PCI_VDEVICE(vendor, device) \
411 PCI_VENDOR_ID_##vendor, (device), \
412 PCI_ANY_ID, PCI_ANY_ID, 0, 0
413
399/* these external functions are only available when PCI support is enabled */ 414/* these external functions are only available when PCI support is enabled */
400#ifdef CONFIG_PCI 415#ifdef CONFIG_PCI
401 416
@@ -454,6 +469,8 @@ struct pci_dev *pci_find_slot (unsigned int bus, unsigned int devfn);
454int pci_find_capability (struct pci_dev *dev, int cap); 469int pci_find_capability (struct pci_dev *dev, int cap);
455int pci_find_next_capability (struct pci_dev *dev, u8 pos, int cap); 470int pci_find_next_capability (struct pci_dev *dev, u8 pos, int cap);
456int pci_find_ext_capability (struct pci_dev *dev, int cap); 471int pci_find_ext_capability (struct pci_dev *dev, int cap);
472int pci_find_ht_capability (struct pci_dev *dev, int ht_cap);
473int pci_find_next_ht_capability (struct pci_dev *dev, int pos, int ht_cap);
457struct pci_bus *pci_find_next_bus(const struct pci_bus *from); 474struct pci_bus *pci_find_next_bus(const struct pci_bus *from);
458 475
459struct pci_dev *pci_get_device(unsigned int vendor, unsigned int device, 476struct pci_dev *pci_get_device(unsigned int vendor, unsigned int device,
@@ -468,6 +485,7 @@ struct pci_dev *pci_get_slot (struct pci_bus *bus, unsigned int devfn);
468struct pci_dev *pci_get_bus_and_slot (unsigned int bus, unsigned int devfn); 485struct pci_dev *pci_get_bus_and_slot (unsigned int bus, unsigned int devfn);
469struct pci_dev *pci_get_class (unsigned int class, struct pci_dev *from); 486struct pci_dev *pci_get_class (unsigned int class, struct pci_dev *from);
470int pci_dev_present(const struct pci_device_id *ids); 487int pci_dev_present(const struct pci_device_id *ids);
488const struct pci_device_id *pci_find_present(const struct pci_device_id *ids);
471 489
472int pci_bus_read_config_byte (struct pci_bus *bus, unsigned int devfn, int where, u8 *val); 490int pci_bus_read_config_byte (struct pci_bus *bus, unsigned int devfn, int where, u8 *val);
473int pci_bus_read_config_word (struct pci_bus *bus, unsigned int devfn, int where, u16 *val); 491int pci_bus_read_config_word (struct pci_bus *bus, unsigned int devfn, int where, u16 *val);
@@ -681,6 +699,7 @@ static inline struct pci_dev *pci_get_class(unsigned int class, struct pci_dev *
681{ return NULL; } 699{ return NULL; }
682 700
683#define pci_dev_present(ids) (0) 701#define pci_dev_present(ids) (0)
702#define pci_find_present(ids) (NULL)
684#define pci_dev_put(dev) do { } while (0) 703#define pci_dev_put(dev) do { } while (0)
685 704
686static inline void pci_set_master(struct pci_dev *dev) { } 705static inline void pci_set_master(struct pci_dev *dev) { }
@@ -783,6 +802,7 @@ enum pci_fixup_pass {
783 pci_fixup_header, /* After reading configuration header */ 802 pci_fixup_header, /* After reading configuration header */
784 pci_fixup_final, /* Final phase of device fixups */ 803 pci_fixup_final, /* Final phase of device fixups */
785 pci_fixup_enable, /* pci_enable_device() time */ 804 pci_fixup_enable, /* pci_enable_device() time */
805 pci_fixup_resume, /* pci_enable_device() time */
786}; 806};
787 807
788/* Anonymous variables would be nice... */ 808/* Anonymous variables would be nice... */
@@ -801,6 +821,9 @@ enum pci_fixup_pass {
801#define DECLARE_PCI_FIXUP_ENABLE(vendor, device, hook) \ 821#define DECLARE_PCI_FIXUP_ENABLE(vendor, device, hook) \
802 DECLARE_PCI_FIXUP_SECTION(.pci_fixup_enable, \ 822 DECLARE_PCI_FIXUP_SECTION(.pci_fixup_enable, \
803 vendor##device##hook, vendor, device, hook) 823 vendor##device##hook, vendor, device, hook)
824#define DECLARE_PCI_FIXUP_RESUME(vendor, device, hook) \
825 DECLARE_PCI_FIXUP_SECTION(.pci_fixup_resume, \
826 resume##vendor##device##hook, vendor, device, hook)
804 827
805 828
806void pci_fixup_device(enum pci_fixup_pass pass, struct pci_dev *dev); 829void pci_fixup_device(enum pci_fixup_pass pass, struct pci_dev *dev);
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index 95c1e74afebc..778e701eff30 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -104,6 +104,10 @@
104#define PCI_CLASS_SERIAL_FIBER 0x0c04 104#define PCI_CLASS_SERIAL_FIBER 0x0c04
105#define PCI_CLASS_SERIAL_SMBUS 0x0c05 105#define PCI_CLASS_SERIAL_SMBUS 0x0c05
106 106
107#define PCI_BASE_CLASS_WIRELESS 0x0d
108#define PCI_CLASS_WIRELESS_RF_CONTROLLER 0x0d10
109#define PCI_CLASS_WIRELESS_WHCI 0x0d1010
110
107#define PCI_BASE_CLASS_INTELLIGENT 0x0e 111#define PCI_BASE_CLASS_INTELLIGENT 0x0e
108#define PCI_CLASS_INTELLIGENT_I2O 0x0e00 112#define PCI_CLASS_INTELLIGENT_I2O 0x0e00
109 113
diff --git a/include/linux/pci_regs.h b/include/linux/pci_regs.h
index 064b1dc71c22..7a6d34ee5ab1 100644
--- a/include/linux/pci_regs.h
+++ b/include/linux/pci_regs.h
@@ -475,15 +475,32 @@
475#define PCI_PWR_CAP 12 /* Capability */ 475#define PCI_PWR_CAP 12 /* Capability */
476#define PCI_PWR_CAP_BUDGET(x) ((x) & 1) /* Included in system budget */ 476#define PCI_PWR_CAP_BUDGET(x) ((x) & 1) /* Included in system budget */
477 477
478/* Hypertransport sub capability types */ 478/*
479 * Hypertransport sub capability types
480 *
481 * Unfortunately there are both 3 bit and 5 bit capability types defined
482 * in the HT spec, catering for that is a little messy. You probably don't
483 * want to use these directly, just use pci_find_ht_capability() and it
484 * will do the right thing for you.
485 */
486#define HT_3BIT_CAP_MASK 0xE0
479#define HT_CAPTYPE_SLAVE 0x00 /* Slave/Primary link configuration */ 487#define HT_CAPTYPE_SLAVE 0x00 /* Slave/Primary link configuration */
480#define HT_CAPTYPE_HOST 0x20 /* Host/Secondary link configuration */ 488#define HT_CAPTYPE_HOST 0x20 /* Host/Secondary link configuration */
489
490#define HT_5BIT_CAP_MASK 0xF8
481#define HT_CAPTYPE_IRQ 0x80 /* IRQ Configuration */ 491#define HT_CAPTYPE_IRQ 0x80 /* IRQ Configuration */
482#define HT_CAPTYPE_REMAPPING_40 0xA0 /* 40 bit address remapping */ 492#define HT_CAPTYPE_REMAPPING_40 0xA0 /* 40 bit address remapping */
483#define HT_CAPTYPE_REMAPPING_64 0xA2 /* 64 bit address remapping */ 493#define HT_CAPTYPE_REMAPPING_64 0xA2 /* 64 bit address remapping */
484#define HT_CAPTYPE_UNITID_CLUMP 0x90 /* Unit ID clumping */ 494#define HT_CAPTYPE_UNITID_CLUMP 0x90 /* Unit ID clumping */
485#define HT_CAPTYPE_EXTCONF 0x98 /* Extended Configuration Space Access */ 495#define HT_CAPTYPE_EXTCONF 0x98 /* Extended Configuration Space Access */
486#define HT_CAPTYPE_MSI_MAPPING 0xA8 /* MSI Mapping Capability */ 496#define HT_CAPTYPE_MSI_MAPPING 0xA8 /* MSI Mapping Capability */
497#define HT_MSI_FLAGS 0x02 /* Offset to flags */
498#define HT_MSI_FLAGS_ENABLE 0x1 /* Mapping enable */
499#define HT_MSI_FLAGS_FIXED 0x2 /* Fixed mapping only */
500#define HT_MSI_FIXED_ADDR 0x00000000FEE00000ULL /* Fixed addr */
501#define HT_MSI_ADDR_LO 0x04 /* Offset to low addr bits */
502#define HT_MSI_ADDR_LO_MASK 0xFFF00000 /* Low address bit mask */
503#define HT_MSI_ADDR_HI 0x08 /* Offset to high addr bits */
487#define HT_CAPTYPE_DIRECT_ROUTE 0xB0 /* Direct routing configuration */ 504#define HT_CAPTYPE_DIRECT_ROUTE 0xB0 /* Direct routing configuration */
488#define HT_CAPTYPE_VCSET 0xB8 /* Virtual Channel configuration */ 505#define HT_CAPTYPE_VCSET 0xB8 /* Virtual Channel configuration */
489#define HT_CAPTYPE_ERROR_RETRY 0xC0 /* Retry on error configuration */ 506#define HT_CAPTYPE_ERROR_RETRY 0xC0 /* Retry on error configuration */
diff --git a/include/linux/rmap.h b/include/linux/rmap.h
index 36f850373d2c..bdd277223af0 100644
--- a/include/linux/rmap.h
+++ b/include/linux/rmap.h
@@ -72,7 +72,7 @@ void __anon_vma_link(struct vm_area_struct *);
72void page_add_anon_rmap(struct page *, struct vm_area_struct *, unsigned long); 72void page_add_anon_rmap(struct page *, struct vm_area_struct *, unsigned long);
73void page_add_new_anon_rmap(struct page *, struct vm_area_struct *, unsigned long); 73void page_add_new_anon_rmap(struct page *, struct vm_area_struct *, unsigned long);
74void page_add_file_rmap(struct page *); 74void page_add_file_rmap(struct page *);
75void page_remove_rmap(struct page *); 75void page_remove_rmap(struct page *, struct vm_area_struct *);
76 76
77/** 77/**
78 * page_dup_rmap - duplicate pte mapping to a page 78 * page_dup_rmap - duplicate pte mapping to a page
diff --git a/include/linux/sctp.h b/include/linux/sctp.h
index 35108fe7a686..d4f86560bfff 100644
--- a/include/linux/sctp.h
+++ b/include/linux/sctp.h
@@ -180,7 +180,7 @@ typedef enum {
180 SCTP_PARAM_ERR_CAUSE = __constant_htons(0xc003), 180 SCTP_PARAM_ERR_CAUSE = __constant_htons(0xc003),
181 SCTP_PARAM_SET_PRIMARY = __constant_htons(0xc004), 181 SCTP_PARAM_SET_PRIMARY = __constant_htons(0xc004),
182 SCTP_PARAM_SUCCESS_REPORT = __constant_htons(0xc005), 182 SCTP_PARAM_SUCCESS_REPORT = __constant_htons(0xc005),
183 SCTP_PARAM_ADAPTION_LAYER_IND = __constant_htons(0xc006), 183 SCTP_PARAM_ADAPTATION_LAYER_IND = __constant_htons(0xc006),
184 184
185} sctp_param_t; /* enum */ 185} sctp_param_t; /* enum */
186 186
@@ -281,11 +281,11 @@ typedef struct sctp_ecn_capable_param {
281 sctp_paramhdr_t param_hdr; 281 sctp_paramhdr_t param_hdr;
282} __attribute__((packed)) sctp_ecn_capable_param_t; 282} __attribute__((packed)) sctp_ecn_capable_param_t;
283 283
284/* ADDIP Section 3.2.6 Adaption Layer Indication */ 284/* ADDIP Section 3.2.6 Adaptation Layer Indication */
285typedef struct sctp_adaption_ind_param { 285typedef struct sctp_adaptation_ind_param {
286 struct sctp_paramhdr param_hdr; 286 struct sctp_paramhdr param_hdr;
287 __be32 adaption_ind; 287 __be32 adaptation_ind;
288} __attribute__((packed)) sctp_adaption_ind_param_t; 288} __attribute__((packed)) sctp_adaptation_ind_param_t;
289 289
290/* RFC 2960. Section 3.3.3 Initiation Acknowledgement (INIT ACK) (2): 290/* RFC 2960. Section 3.3.3 Initiation Acknowledgement (INIT ACK) (2):
291 * The INIT ACK chunk is used to acknowledge the initiation of an SCTP 291 * The INIT ACK chunk is used to acknowledge the initiation of an SCTP
diff --git a/include/linux/vmstat.h b/include/linux/vmstat.h
index c89df55f6e03..5e9803ed17fc 100644
--- a/include/linux/vmstat.h
+++ b/include/linux/vmstat.h
@@ -10,8 +10,9 @@
10/* 10/*
11 * Light weight per cpu counter implementation. 11 * Light weight per cpu counter implementation.
12 * 12 *
13 * Counters should only be incremented and no critical kernel component 13 * Counters should only be incremented. You need to set EMBEDDED
14 * should rely on the counter values. 14 * to disable VM_EVENT_COUNTERS. Things like procps (vmstat,
15 * top, etc) use /proc/vmstat and depend on these counters.
15 * 16 *
16 * Counters are handled completely inline. On many platforms the code 17 * Counters are handled completely inline. On many platforms the code
17 * generated will simply be the increment of a global address. 18 * generated will simply be the increment of a global address.
@@ -73,7 +74,13 @@ static inline void count_vm_events(enum vm_event_item item, long delta)
73} 74}
74 75
75extern void all_vm_events(unsigned long *); 76extern void all_vm_events(unsigned long *);
77#ifdef CONFIG_HOTPLUG
76extern void vm_events_fold_cpu(int cpu); 78extern void vm_events_fold_cpu(int cpu);
79#else
80static inline void vm_events_fold_cpu(int cpu)
81{
82}
83#endif
77 84
78#else 85#else
79 86