diff options
| author | Ingo Molnar <mingo@elte.hu> | 2009-01-30 12:23:30 -0500 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2009-01-30 12:23:30 -0500 |
| commit | c43e0e46adf79c321ed3fbf0351e1005fb8a2413 (patch) | |
| tree | 35b9ab361651f649d3c9aa69f159812eba50d154 /include/linux | |
| parent | dba3d36b2f0842ed7f25c33cd3a2ccdb3d0df9db (diff) | |
| parent | f2257b70b0f9b2fe8f2afd83fc6798dca75930b8 (diff) | |
Merge branch 'linus' into core/percpu
Conflicts:
kernel/irq/handle.c
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/cgroup.h | 1 | ||||
| -rw-r--r-- | include/linux/dmi.h | 3 | ||||
| -rw-r--r-- | include/linux/kprobes.h | 47 | ||||
| -rw-r--r-- | include/linux/libata.h | 2 | ||||
| -rw-r--r-- | include/linux/mod_devicetable.h | 7 | ||||
| -rw-r--r-- | include/linux/pci_ids.h | 4 | ||||
| -rw-r--r-- | include/linux/sched.h | 1 | ||||
| -rw-r--r-- | include/linux/suspend.h | 2 | ||||
| -rw-r--r-- | include/linux/syscalls.h | 5 | ||||
| -rw-r--r-- | include/linux/usb.h | 2 |
10 files changed, 52 insertions, 22 deletions
diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h index e267e62827bb..e4e8e117d27d 100644 --- a/include/linux/cgroup.h +++ b/include/linux/cgroup.h | |||
| @@ -99,6 +99,7 @@ static inline bool css_tryget(struct cgroup_subsys_state *css) | |||
| 99 | while (!atomic_inc_not_zero(&css->refcnt)) { | 99 | while (!atomic_inc_not_zero(&css->refcnt)) { |
| 100 | if (test_bit(CSS_REMOVED, &css->flags)) | 100 | if (test_bit(CSS_REMOVED, &css->flags)) |
| 101 | return false; | 101 | return false; |
| 102 | cpu_relax(); | ||
| 102 | } | 103 | } |
| 103 | return true; | 104 | return true; |
| 104 | } | 105 | } |
diff --git a/include/linux/dmi.h b/include/linux/dmi.h index 34161907b2f8..d741b9ceb0e0 100644 --- a/include/linux/dmi.h +++ b/include/linux/dmi.h | |||
| @@ -38,6 +38,7 @@ struct dmi_device { | |||
| 38 | #ifdef CONFIG_DMI | 38 | #ifdef CONFIG_DMI |
| 39 | 39 | ||
| 40 | extern int dmi_check_system(const struct dmi_system_id *list); | 40 | extern int dmi_check_system(const struct dmi_system_id *list); |
| 41 | const struct dmi_system_id *dmi_first_match(const struct dmi_system_id *list); | ||
| 41 | extern const char * dmi_get_system_info(int field); | 42 | extern const char * dmi_get_system_info(int field); |
| 42 | extern const struct dmi_device * dmi_find_device(int type, const char *name, | 43 | extern const struct dmi_device * dmi_find_device(int type, const char *name, |
| 43 | const struct dmi_device *from); | 44 | const struct dmi_device *from); |
| @@ -64,6 +65,8 @@ static inline int dmi_walk(void (*decode)(const struct dmi_header *)) | |||
| 64 | { return -1; } | 65 | { return -1; } |
| 65 | static inline bool dmi_match(enum dmi_field f, const char *str) | 66 | static inline bool dmi_match(enum dmi_field f, const char *str) |
| 66 | { return false; } | 67 | { return false; } |
| 68 | static inline const struct dmi_system_id * | ||
| 69 | dmi_first_match(const struct dmi_system_id *list) { return NULL; } | ||
| 67 | 70 | ||
| 68 | #endif | 71 | #endif |
| 69 | 72 | ||
diff --git a/include/linux/kprobes.h b/include/linux/kprobes.h index d6ea19e314bb..32851eef48f0 100644 --- a/include/linux/kprobes.h +++ b/include/linux/kprobes.h | |||
| @@ -49,6 +49,13 @@ | |||
| 49 | 49 | ||
| 50 | /* Attach to insert probes on any functions which should be ignored*/ | 50 | /* Attach to insert probes on any functions which should be ignored*/ |
| 51 | #define __kprobes __attribute__((__section__(".kprobes.text"))) notrace | 51 | #define __kprobes __attribute__((__section__(".kprobes.text"))) notrace |
| 52 | #else /* CONFIG_KPROBES */ | ||
| 53 | typedef int kprobe_opcode_t; | ||
| 54 | struct arch_specific_insn { | ||
| 55 | int dummy; | ||
| 56 | }; | ||
| 57 | #define __kprobes notrace | ||
| 58 | #endif /* CONFIG_KPROBES */ | ||
| 52 | 59 | ||
| 53 | struct kprobe; | 60 | struct kprobe; |
| 54 | struct pt_regs; | 61 | struct pt_regs; |
| @@ -131,23 +138,6 @@ struct jprobe { | |||
| 131 | /* For backward compatibility with old code using JPROBE_ENTRY() */ | 138 | /* For backward compatibility with old code using JPROBE_ENTRY() */ |
| 132 | #define JPROBE_ENTRY(handler) (handler) | 139 | #define JPROBE_ENTRY(handler) (handler) |
| 133 | 140 | ||
| 134 | DECLARE_PER_CPU(struct kprobe *, current_kprobe); | ||
| 135 | DECLARE_PER_CPU(struct kprobe_ctlblk, kprobe_ctlblk); | ||
| 136 | |||
| 137 | #ifdef CONFIG_KRETPROBES | ||
| 138 | extern void arch_prepare_kretprobe(struct kretprobe_instance *ri, | ||
| 139 | struct pt_regs *regs); | ||
| 140 | extern int arch_trampoline_kprobe(struct kprobe *p); | ||
| 141 | #else /* CONFIG_KRETPROBES */ | ||
| 142 | static inline void arch_prepare_kretprobe(struct kretprobe *rp, | ||
| 143 | struct pt_regs *regs) | ||
| 144 | { | ||
| 145 | } | ||
| 146 | static inline int arch_trampoline_kprobe(struct kprobe *p) | ||
| 147 | { | ||
| 148 | return 0; | ||
| 149 | } | ||
| 150 | #endif /* CONFIG_KRETPROBES */ | ||
| 151 | /* | 141 | /* |
| 152 | * Function-return probe - | 142 | * Function-return probe - |
| 153 | * Note: | 143 | * Note: |
| @@ -188,6 +178,25 @@ struct kprobe_blackpoint { | |||
| 188 | unsigned long range; | 178 | unsigned long range; |
| 189 | }; | 179 | }; |
| 190 | 180 | ||
| 181 | #ifdef CONFIG_KPROBES | ||
| 182 | DECLARE_PER_CPU(struct kprobe *, current_kprobe); | ||
| 183 | DECLARE_PER_CPU(struct kprobe_ctlblk, kprobe_ctlblk); | ||
| 184 | |||
| 185 | #ifdef CONFIG_KRETPROBES | ||
| 186 | extern void arch_prepare_kretprobe(struct kretprobe_instance *ri, | ||
| 187 | struct pt_regs *regs); | ||
| 188 | extern int arch_trampoline_kprobe(struct kprobe *p); | ||
| 189 | #else /* CONFIG_KRETPROBES */ | ||
| 190 | static inline void arch_prepare_kretprobe(struct kretprobe *rp, | ||
| 191 | struct pt_regs *regs) | ||
| 192 | { | ||
| 193 | } | ||
| 194 | static inline int arch_trampoline_kprobe(struct kprobe *p) | ||
| 195 | { | ||
| 196 | return 0; | ||
| 197 | } | ||
| 198 | #endif /* CONFIG_KRETPROBES */ | ||
| 199 | |||
| 191 | extern struct kretprobe_blackpoint kretprobe_blacklist[]; | 200 | extern struct kretprobe_blackpoint kretprobe_blacklist[]; |
| 192 | 201 | ||
| 193 | static inline void kretprobe_assert(struct kretprobe_instance *ri, | 202 | static inline void kretprobe_assert(struct kretprobe_instance *ri, |
| @@ -264,10 +273,6 @@ void recycle_rp_inst(struct kretprobe_instance *ri, struct hlist_head *head); | |||
| 264 | 273 | ||
| 265 | #else /* CONFIG_KPROBES */ | 274 | #else /* CONFIG_KPROBES */ |
| 266 | 275 | ||
| 267 | #define __kprobes notrace | ||
| 268 | struct jprobe; | ||
| 269 | struct kretprobe; | ||
| 270 | |||
| 271 | static inline struct kprobe *get_kprobe(void *addr) | 276 | static inline struct kprobe *get_kprobe(void *addr) |
| 272 | { | 277 | { |
| 273 | return NULL; | 278 | return NULL; |
diff --git a/include/linux/libata.h b/include/linux/libata.h index 2c6bd66209ff..bca3ba25f52a 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
| @@ -187,6 +187,8 @@ enum { | |||
| 187 | ATA_FLAG_PIO_POLLING = (1 << 9), /* use polling PIO if LLD | 187 | ATA_FLAG_PIO_POLLING = (1 << 9), /* use polling PIO if LLD |
| 188 | * doesn't handle PIO interrupts */ | 188 | * doesn't handle PIO interrupts */ |
| 189 | ATA_FLAG_NCQ = (1 << 10), /* host supports NCQ */ | 189 | ATA_FLAG_NCQ = (1 << 10), /* host supports NCQ */ |
| 190 | ATA_FLAG_NO_POWEROFF_SPINDOWN = (1 << 11), /* don't spindown before poweroff */ | ||
| 191 | ATA_FLAG_NO_HIBERNATE_SPINDOWN = (1 << 12), /* don't spindown before hibernation */ | ||
| 190 | ATA_FLAG_DEBUGMSG = (1 << 13), | 192 | ATA_FLAG_DEBUGMSG = (1 << 13), |
| 191 | ATA_FLAG_IGN_SIMPLEX = (1 << 15), /* ignore SIMPLEX */ | 193 | ATA_FLAG_IGN_SIMPLEX = (1 << 15), /* ignore SIMPLEX */ |
| 192 | ATA_FLAG_NO_IORDY = (1 << 16), /* controller lacks iordy */ | 194 | ATA_FLAG_NO_IORDY = (1 << 16), /* controller lacks iordy */ |
diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h index 97b91d1abb43..fde86671f48f 100644 --- a/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h | |||
| @@ -443,6 +443,13 @@ struct dmi_system_id { | |||
| 443 | struct dmi_strmatch matches[4]; | 443 | struct dmi_strmatch matches[4]; |
| 444 | void *driver_data; | 444 | void *driver_data; |
| 445 | }; | 445 | }; |
| 446 | /* | ||
| 447 | * struct dmi_device_id appears during expansion of | ||
| 448 | * "MODULE_DEVICE_TABLE(dmi, x)". Compiler doesn't look inside it | ||
| 449 | * but this is enough for gcc 3.4.6 to error out: | ||
| 450 | * error: storage size of '__mod_dmi_device_table' isn't known | ||
| 451 | */ | ||
| 452 | #define dmi_device_id dmi_system_id | ||
| 446 | #endif | 453 | #endif |
| 447 | 454 | ||
| 448 | #define DMI_MATCH(a, b) { a, b } | 455 | #define DMI_MATCH(a, b) { a, b } |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index d56ad9c21c09..febc10ed3858 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
| @@ -1357,6 +1357,7 @@ | |||
| 1357 | #define PCI_DEVICE_ID_VIA_8783_0 0x3208 | 1357 | #define PCI_DEVICE_ID_VIA_8783_0 0x3208 |
| 1358 | #define PCI_DEVICE_ID_VIA_8237 0x3227 | 1358 | #define PCI_DEVICE_ID_VIA_8237 0x3227 |
| 1359 | #define PCI_DEVICE_ID_VIA_8251 0x3287 | 1359 | #define PCI_DEVICE_ID_VIA_8251 0x3287 |
| 1360 | #define PCI_DEVICE_ID_VIA_8261 0x3402 | ||
| 1360 | #define PCI_DEVICE_ID_VIA_8237A 0x3337 | 1361 | #define PCI_DEVICE_ID_VIA_8237A 0x3337 |
| 1361 | #define PCI_DEVICE_ID_VIA_8237S 0x3372 | 1362 | #define PCI_DEVICE_ID_VIA_8237S 0x3372 |
| 1362 | #define PCI_DEVICE_ID_VIA_SATA_EIDE 0x5324 | 1363 | #define PCI_DEVICE_ID_VIA_SATA_EIDE 0x5324 |
| @@ -1366,10 +1367,13 @@ | |||
| 1366 | #define PCI_DEVICE_ID_VIA_CX700 0x8324 | 1367 | #define PCI_DEVICE_ID_VIA_CX700 0x8324 |
| 1367 | #define PCI_DEVICE_ID_VIA_CX700_IDE 0x0581 | 1368 | #define PCI_DEVICE_ID_VIA_CX700_IDE 0x0581 |
| 1368 | #define PCI_DEVICE_ID_VIA_VX800 0x8353 | 1369 | #define PCI_DEVICE_ID_VIA_VX800 0x8353 |
| 1370 | #define PCI_DEVICE_ID_VIA_VX855 0x8409 | ||
| 1369 | #define PCI_DEVICE_ID_VIA_8371_1 0x8391 | 1371 | #define PCI_DEVICE_ID_VIA_8371_1 0x8391 |
| 1370 | #define PCI_DEVICE_ID_VIA_82C598_1 0x8598 | 1372 | #define PCI_DEVICE_ID_VIA_82C598_1 0x8598 |
| 1371 | #define PCI_DEVICE_ID_VIA_838X_1 0xB188 | 1373 | #define PCI_DEVICE_ID_VIA_838X_1 0xB188 |
| 1372 | #define PCI_DEVICE_ID_VIA_83_87XX_1 0xB198 | 1374 | #define PCI_DEVICE_ID_VIA_83_87XX_1 0xB198 |
| 1375 | #define PCI_DEVICE_ID_VIA_C409_IDE 0XC409 | ||
| 1376 | #define PCI_DEVICE_ID_VIA_ANON 0xFFFF | ||
| 1373 | 1377 | ||
| 1374 | #define PCI_VENDOR_ID_SIEMENS 0x110A | 1378 | #define PCI_VENDOR_ID_SIEMENS 0x110A |
| 1375 | #define PCI_DEVICE_ID_SIEMENS_DSCC4 0x2102 | 1379 | #define PCI_DEVICE_ID_SIEMENS_DSCC4 0x2102 |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 681394f3a0cf..2225c207801c 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
| @@ -630,7 +630,6 @@ struct user_struct { | |||
| 630 | atomic_t inotify_devs; /* How many inotify devs does this user have opened? */ | 630 | atomic_t inotify_devs; /* How many inotify devs does this user have opened? */ |
| 631 | #endif | 631 | #endif |
| 632 | #ifdef CONFIG_EPOLL | 632 | #ifdef CONFIG_EPOLL |
| 633 | atomic_t epoll_devs; /* The number of epoll descriptors currently open */ | ||
| 634 | atomic_t epoll_watches; /* The number of file descriptors currently watched */ | 633 | atomic_t epoll_watches; /* The number of file descriptors currently watched */ |
| 635 | #endif | 634 | #endif |
| 636 | #ifdef CONFIG_POSIX_MQUEUE | 635 | #ifdef CONFIG_POSIX_MQUEUE |
diff --git a/include/linux/suspend.h b/include/linux/suspend.h index 2b409c44db83..c7d9bb1832ba 100644 --- a/include/linux/suspend.h +++ b/include/linux/suspend.h | |||
| @@ -237,6 +237,7 @@ extern int hibernate_nvs_alloc(void); | |||
| 237 | extern void hibernate_nvs_free(void); | 237 | extern void hibernate_nvs_free(void); |
| 238 | extern void hibernate_nvs_save(void); | 238 | extern void hibernate_nvs_save(void); |
| 239 | extern void hibernate_nvs_restore(void); | 239 | extern void hibernate_nvs_restore(void); |
| 240 | extern bool system_entering_hibernation(void); | ||
| 240 | #else /* CONFIG_HIBERNATION */ | 241 | #else /* CONFIG_HIBERNATION */ |
| 241 | static inline int swsusp_page_is_forbidden(struct page *p) { return 0; } | 242 | static inline int swsusp_page_is_forbidden(struct page *p) { return 0; } |
| 242 | static inline void swsusp_set_page_free(struct page *p) {} | 243 | static inline void swsusp_set_page_free(struct page *p) {} |
| @@ -252,6 +253,7 @@ static inline int hibernate_nvs_alloc(void) { return 0; } | |||
| 252 | static inline void hibernate_nvs_free(void) {} | 253 | static inline void hibernate_nvs_free(void) {} |
| 253 | static inline void hibernate_nvs_save(void) {} | 254 | static inline void hibernate_nvs_save(void) {} |
| 254 | static inline void hibernate_nvs_restore(void) {} | 255 | static inline void hibernate_nvs_restore(void) {} |
| 256 | static inline bool system_entering_hibernation(void) { return false; } | ||
| 255 | #endif /* CONFIG_HIBERNATION */ | 257 | #endif /* CONFIG_HIBERNATION */ |
| 256 | 258 | ||
| 257 | #ifdef CONFIG_PM_SLEEP | 259 | #ifdef CONFIG_PM_SLEEP |
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h index 16875f89e6a7..0eda02ff2414 100644 --- a/include/linux/syscalls.h +++ b/include/linux/syscalls.h | |||
| @@ -108,9 +108,14 @@ struct old_linux_dirent; | |||
| 108 | asm ("\t.globl " #alias "\n\t.set " #alias ", " #name "\n" \ | 108 | asm ("\t.globl " #alias "\n\t.set " #alias ", " #name "\n" \ |
| 109 | "\t.globl ." #alias "\n\t.set ." #alias ", ." #name) | 109 | "\t.globl ." #alias "\n\t.set ." #alias ", ." #name) |
| 110 | #else | 110 | #else |
| 111 | #ifdef CONFIG_ALPHA | ||
| 112 | #define SYSCALL_ALIAS(alias, name) \ | ||
| 113 | asm ( #alias " = " #name "\n\t.globl " #alias) | ||
| 114 | #else | ||
| 111 | #define SYSCALL_ALIAS(alias, name) \ | 115 | #define SYSCALL_ALIAS(alias, name) \ |
| 112 | asm ("\t.globl " #alias "\n\t.set " #alias ", " #name) | 116 | asm ("\t.globl " #alias "\n\t.set " #alias ", " #name) |
| 113 | #endif | 117 | #endif |
| 118 | #endif | ||
| 114 | 119 | ||
| 115 | #ifdef CONFIG_HAVE_SYSCALL_WRAPPERS | 120 | #ifdef CONFIG_HAVE_SYSCALL_WRAPPERS |
| 116 | 121 | ||
diff --git a/include/linux/usb.h b/include/linux/usb.h index 85ee9be9361e..88079fd60235 100644 --- a/include/linux/usb.h +++ b/include/linux/usb.h | |||
| @@ -418,6 +418,8 @@ struct usb_tt; | |||
| 418 | * @autosuspend_disabled: autosuspend disabled by the user | 418 | * @autosuspend_disabled: autosuspend disabled by the user |
| 419 | * @autoresume_disabled: autoresume disabled by the user | 419 | * @autoresume_disabled: autoresume disabled by the user |
| 420 | * @skip_sys_resume: skip the next system resume | 420 | * @skip_sys_resume: skip the next system resume |
| 421 | * @wusb_dev: if this is a Wireless USB device, link to the WUSB | ||
| 422 | * specific data for the device. | ||
| 421 | * | 423 | * |
| 422 | * Notes: | 424 | * Notes: |
| 423 | * Usbcore drivers should not set usbdev->state directly. Instead use | 425 | * Usbcore drivers should not set usbdev->state directly. Instead use |
