diff options
Diffstat (limited to 'include')
28 files changed, 82 insertions, 44 deletions
diff --git a/include/asm-generic/hardirq.h b/include/asm-generic/hardirq.h index 23bb4dad4962..62f59080e5cc 100644 --- a/include/asm-generic/hardirq.h +++ b/include/asm-generic/hardirq.h | |||
@@ -6,7 +6,7 @@ | |||
6 | #include <linux/irq.h> | 6 | #include <linux/irq.h> |
7 | 7 | ||
8 | typedef struct { | 8 | typedef struct { |
9 | unsigned long __softirq_pending; | 9 | unsigned int __softirq_pending; |
10 | } ____cacheline_aligned irq_cpustat_t; | 10 | } ____cacheline_aligned irq_cpustat_t; |
11 | 11 | ||
12 | #include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */ | 12 | #include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */ |
diff --git a/include/linux/Kbuild b/include/linux/Kbuild index 3f384d4b163a..1feed71551c9 100644 --- a/include/linux/Kbuild +++ b/include/linux/Kbuild | |||
@@ -364,6 +364,7 @@ unifdef-y += utsname.h | |||
364 | unifdef-y += videodev2.h | 364 | unifdef-y += videodev2.h |
365 | unifdef-y += videodev.h | 365 | unifdef-y += videodev.h |
366 | unifdef-y += virtio_config.h | 366 | unifdef-y += virtio_config.h |
367 | unifdef-y += virtio_ids.h | ||
367 | unifdef-y += virtio_blk.h | 368 | unifdef-y += virtio_blk.h |
368 | unifdef-y += virtio_net.h | 369 | unifdef-y += virtio_net.h |
369 | unifdef-y += virtio_9p.h | 370 | unifdef-y += virtio_9p.h |
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 25119041e034..221cecd86bd3 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
@@ -1172,11 +1172,7 @@ static inline void put_dev_sector(Sector p) | |||
1172 | } | 1172 | } |
1173 | 1173 | ||
1174 | struct work_struct; | 1174 | struct work_struct; |
1175 | struct delayed_work; | ||
1176 | int kblockd_schedule_work(struct request_queue *q, struct work_struct *work); | 1175 | int kblockd_schedule_work(struct request_queue *q, struct work_struct *work); |
1177 | int kblockd_schedule_delayed_work(struct request_queue *q, | ||
1178 | struct delayed_work *work, | ||
1179 | unsigned long delay); | ||
1180 | 1176 | ||
1181 | #define MODULE_ALIAS_BLOCKDEV(major,minor) \ | 1177 | #define MODULE_ALIAS_BLOCKDEV(major,minor) \ |
1182 | MODULE_ALIAS("block-major-" __stringify(major) "-" __stringify(minor)) | 1178 | MODULE_ALIAS("block-major-" __stringify(major) "-" __stringify(minor)) |
diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h index 44717eb47639..79a2340d83cd 100644 --- a/include/linux/cpufreq.h +++ b/include/linux/cpufreq.h | |||
@@ -291,8 +291,15 @@ struct global_attr { | |||
291 | int cpufreq_get_policy(struct cpufreq_policy *policy, unsigned int cpu); | 291 | int cpufreq_get_policy(struct cpufreq_policy *policy, unsigned int cpu); |
292 | int cpufreq_update_policy(unsigned int cpu); | 292 | int cpufreq_update_policy(unsigned int cpu); |
293 | 293 | ||
294 | #ifdef CONFIG_CPU_FREQ | ||
294 | /* query the current CPU frequency (in kHz). If zero, cpufreq couldn't detect it */ | 295 | /* query the current CPU frequency (in kHz). If zero, cpufreq couldn't detect it */ |
295 | unsigned int cpufreq_get(unsigned int cpu); | 296 | unsigned int cpufreq_get(unsigned int cpu); |
297 | #else | ||
298 | static inline unsigned int cpufreq_get(unsigned int cpu) | ||
299 | { | ||
300 | return 0; | ||
301 | } | ||
302 | #endif | ||
296 | 303 | ||
297 | /* query the last known CPU freq (in kHz). If zero, cpufreq couldn't detect it */ | 304 | /* query the last known CPU freq (in kHz). If zero, cpufreq couldn't detect it */ |
298 | #ifdef CONFIG_CPU_FREQ | 305 | #ifdef CONFIG_CPU_FREQ |
diff --git a/include/linux/elf.h b/include/linux/elf.h index 45a937be6d38..90a4ed0ea0e5 100644 --- a/include/linux/elf.h +++ b/include/linux/elf.h | |||
@@ -361,6 +361,7 @@ typedef struct elf64_shdr { | |||
361 | #define NT_PPC_VSX 0x102 /* PowerPC VSX registers */ | 361 | #define NT_PPC_VSX 0x102 /* PowerPC VSX registers */ |
362 | #define NT_386_TLS 0x200 /* i386 TLS slots (struct user_desc) */ | 362 | #define NT_386_TLS 0x200 /* i386 TLS slots (struct user_desc) */ |
363 | #define NT_386_IOPERM 0x201 /* x86 io permission bitmap (1=deny) */ | 363 | #define NT_386_IOPERM 0x201 /* x86 io permission bitmap (1=deny) */ |
364 | #define NT_PRXSTATUS 0x300 /* s390 upper register halves */ | ||
364 | 365 | ||
365 | 366 | ||
366 | /* Note header in a PT_NOTE section */ | 367 | /* Note header in a PT_NOTE section */ |
diff --git a/include/linux/genhd.h b/include/linux/genhd.h index 7beaa21b3880..297df45ffd0a 100644 --- a/include/linux/genhd.h +++ b/include/linux/genhd.h | |||
@@ -98,7 +98,7 @@ struct hd_struct { | |||
98 | int make_it_fail; | 98 | int make_it_fail; |
99 | #endif | 99 | #endif |
100 | unsigned long stamp; | 100 | unsigned long stamp; |
101 | int in_flight; | 101 | int in_flight[2]; |
102 | #ifdef CONFIG_SMP | 102 | #ifdef CONFIG_SMP |
103 | struct disk_stats *dkstats; | 103 | struct disk_stats *dkstats; |
104 | #else | 104 | #else |
@@ -322,18 +322,23 @@ static inline void free_part_stats(struct hd_struct *part) | |||
322 | #define part_stat_sub(cpu, gendiskp, field, subnd) \ | 322 | #define part_stat_sub(cpu, gendiskp, field, subnd) \ |
323 | part_stat_add(cpu, gendiskp, field, -subnd) | 323 | part_stat_add(cpu, gendiskp, field, -subnd) |
324 | 324 | ||
325 | static inline void part_inc_in_flight(struct hd_struct *part) | 325 | static inline void part_inc_in_flight(struct hd_struct *part, int rw) |
326 | { | 326 | { |
327 | part->in_flight++; | 327 | part->in_flight[rw]++; |
328 | if (part->partno) | 328 | if (part->partno) |
329 | part_to_disk(part)->part0.in_flight++; | 329 | part_to_disk(part)->part0.in_flight[rw]++; |
330 | } | 330 | } |
331 | 331 | ||
332 | static inline void part_dec_in_flight(struct hd_struct *part) | 332 | static inline void part_dec_in_flight(struct hd_struct *part, int rw) |
333 | { | 333 | { |
334 | part->in_flight--; | 334 | part->in_flight[rw]--; |
335 | if (part->partno) | 335 | if (part->partno) |
336 | part_to_disk(part)->part0.in_flight--; | 336 | part_to_disk(part)->part0.in_flight[rw]--; |
337 | } | ||
338 | |||
339 | static inline int part_in_flight(struct hd_struct *part) | ||
340 | { | ||
341 | return part->in_flight[0] + part->in_flight[1]; | ||
337 | } | 342 | } |
338 | 343 | ||
339 | /* block/blk-core.c */ | 344 | /* block/blk-core.c */ |
@@ -546,6 +551,8 @@ extern ssize_t part_size_show(struct device *dev, | |||
546 | struct device_attribute *attr, char *buf); | 551 | struct device_attribute *attr, char *buf); |
547 | extern ssize_t part_stat_show(struct device *dev, | 552 | extern ssize_t part_stat_show(struct device *dev, |
548 | struct device_attribute *attr, char *buf); | 553 | struct device_attribute *attr, char *buf); |
554 | extern ssize_t part_inflight_show(struct device *dev, | ||
555 | struct device_attribute *attr, char *buf); | ||
549 | #ifdef CONFIG_FAIL_MAKE_REQUEST | 556 | #ifdef CONFIG_FAIL_MAKE_REQUEST |
550 | extern ssize_t part_fail_show(struct device *dev, | 557 | extern ssize_t part_fail_show(struct device *dev, |
551 | struct device_attribute *attr, char *buf); | 558 | struct device_attribute *attr, char *buf); |
diff --git a/include/linux/i2c/twl4030.h b/include/linux/i2c/twl4030.h index 2d02dfd7076c..508824ee35e6 100644 --- a/include/linux/i2c/twl4030.h +++ b/include/linux/i2c/twl4030.h | |||
@@ -349,11 +349,11 @@ struct twl4030_madc_platform_data { | |||
349 | int irq_line; | 349 | int irq_line; |
350 | }; | 350 | }; |
351 | 351 | ||
352 | /* Boards have uniqe mappings of {col, row} --> keycode. | 352 | /* Boards have uniqe mappings of {row, col} --> keycode. |
353 | * Column and row are 4 bits, but range only from 0..7. | 353 | * Column and row are 8 bits each, but range only from 0..7. |
354 | * a PERSISTENT_KEY is "always on" and never reported. | 354 | * a PERSISTENT_KEY is "always on" and never reported. |
355 | */ | 355 | */ |
356 | #define PERSISTENT_KEY(c, r) KEY((c), (r), KEY_RESERVED) | 356 | #define PERSISTENT_KEY(r, c) KEY((r), (c), KEY_RESERVED) |
357 | 357 | ||
358 | struct twl4030_keypad_data { | 358 | struct twl4030_keypad_data { |
359 | const struct matrix_keymap_data *keymap_data; | 359 | const struct matrix_keymap_data *keymap_data; |
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index b78cf8194957..7ca72b74eec7 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h | |||
@@ -10,7 +10,6 @@ | |||
10 | #include <linux/irqreturn.h> | 10 | #include <linux/irqreturn.h> |
11 | #include <linux/irqnr.h> | 11 | #include <linux/irqnr.h> |
12 | #include <linux/hardirq.h> | 12 | #include <linux/hardirq.h> |
13 | #include <linux/sched.h> | ||
14 | #include <linux/irqflags.h> | 13 | #include <linux/irqflags.h> |
15 | #include <linux/smp.h> | 14 | #include <linux/smp.h> |
16 | #include <linux/percpu.h> | 15 | #include <linux/percpu.h> |
@@ -610,6 +609,7 @@ extern void debug_poll_all_shared_irqs(void); | |||
610 | static inline void debug_poll_all_shared_irqs(void) { } | 609 | static inline void debug_poll_all_shared_irqs(void) { } |
611 | #endif | 610 | #endif |
612 | 611 | ||
612 | struct seq_file; | ||
613 | int show_interrupts(struct seq_file *p, void *v); | 613 | int show_interrupts(struct seq_file *p, void *v); |
614 | 614 | ||
615 | struct irq_desc; | 615 | struct irq_desc; |
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index d3cd23f30039..f4e3184fa054 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
@@ -659,6 +659,12 @@ extern int do_sysinfo(struct sysinfo *info); | |||
659 | 659 | ||
660 | #endif /* __KERNEL__ */ | 660 | #endif /* __KERNEL__ */ |
661 | 661 | ||
662 | #ifndef __EXPORTED_HEADERS__ | ||
663 | #ifndef __KERNEL__ | ||
664 | #warning Attempt to use kernel headers from user space, see http://kernelnewbies.org/KernelHeaders | ||
665 | #endif /* __KERNEL__ */ | ||
666 | #endif /* __EXPORTED_HEADERS__ */ | ||
667 | |||
662 | #define SI_LOAD_SHIFT 16 | 668 | #define SI_LOAD_SHIFT 16 |
663 | struct sysinfo { | 669 | struct sysinfo { |
664 | long uptime; /* Seconds since boot */ | 670 | long uptime; /* Seconds since boot */ |
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h index 81bb42358595..eaf36364b7d4 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h | |||
@@ -11,6 +11,7 @@ | |||
11 | #define LINUX_MMC_HOST_H | 11 | #define LINUX_MMC_HOST_H |
12 | 12 | ||
13 | #include <linux/leds.h> | 13 | #include <linux/leds.h> |
14 | #include <linux/sched.h> | ||
14 | 15 | ||
15 | #include <linux/mmc/core.h> | 16 | #include <linux/mmc/core.h> |
16 | 17 | ||
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 94958c109761..812a5f3c2abe 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -557,7 +557,7 @@ struct netdev_queue { | |||
557 | * Callback uses when the transmitter has not made any progress | 557 | * Callback uses when the transmitter has not made any progress |
558 | * for dev->watchdog ticks. | 558 | * for dev->watchdog ticks. |
559 | * | 559 | * |
560 | * struct net_device_stats* (*get_stats)(struct net_device *dev); | 560 | * struct net_device_stats* (*ndo_get_stats)(struct net_device *dev); |
561 | * Called when a user wants to get the network device usage | 561 | * Called when a user wants to get the network device usage |
562 | * statistics. If not defined, the counters in dev->stats will | 562 | * statistics. If not defined, the counters in dev->stats will |
563 | * be used. | 563 | * be used. |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index da1fda8623e0..b0f0f3851cd4 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -379,9 +379,6 @@ | |||
379 | #define PCI_DEVICE_ID_ATI_IXP600_IDE 0x438c | 379 | #define PCI_DEVICE_ID_ATI_IXP600_IDE 0x438c |
380 | #define PCI_DEVICE_ID_ATI_IXP700_SATA 0x4390 | 380 | #define PCI_DEVICE_ID_ATI_IXP700_SATA 0x4390 |
381 | #define PCI_DEVICE_ID_ATI_IXP700_IDE 0x439c | 381 | #define PCI_DEVICE_ID_ATI_IXP700_IDE 0x439c |
382 | /* AMD SB Chipset */ | ||
383 | #define PCI_DEVICE_ID_AMD_SB900_IDE 0x780c | ||
384 | #define PCI_DEVICE_ID_AMD_SB900_SATA_IDE 0x7800 | ||
385 | 382 | ||
386 | #define PCI_VENDOR_ID_VLSI 0x1004 | 383 | #define PCI_VENDOR_ID_VLSI 0x1004 |
387 | #define PCI_DEVICE_ID_VLSI_82C592 0x0005 | 384 | #define PCI_DEVICE_ID_VLSI_82C592 0x0005 |
@@ -485,6 +482,9 @@ | |||
485 | #define PCI_DEVICE_ID_IBM_ICOM_V2_ONE_PORT_RVX_ONE_PORT_MDM_PCIE 0x0361 | 482 | #define PCI_DEVICE_ID_IBM_ICOM_V2_ONE_PORT_RVX_ONE_PORT_MDM_PCIE 0x0361 |
486 | #define PCI_DEVICE_ID_IBM_ICOM_FOUR_PORT_MODEL 0x252 | 483 | #define PCI_DEVICE_ID_IBM_ICOM_FOUR_PORT_MODEL 0x252 |
487 | 484 | ||
485 | #define PCI_SUBVENDOR_ID_IBM 0x1014 | ||
486 | #define PCI_SUBDEVICE_ID_IBM_SATURN_SERIAL_ONE_PORT 0x03d4 | ||
487 | |||
488 | #define PCI_VENDOR_ID_UNISYS 0x1018 | 488 | #define PCI_VENDOR_ID_UNISYS 0x1018 |
489 | #define PCI_DEVICE_ID_UNISYS_DMA_DIRECTOR 0x001C | 489 | #define PCI_DEVICE_ID_UNISYS_DMA_DIRECTOR 0x001C |
490 | 490 | ||
@@ -553,9 +553,10 @@ | |||
553 | #define PCI_DEVICE_ID_AMD_CS5536_UDC 0x2096 | 553 | #define PCI_DEVICE_ID_AMD_CS5536_UDC 0x2096 |
554 | #define PCI_DEVICE_ID_AMD_CS5536_UOC 0x2097 | 554 | #define PCI_DEVICE_ID_AMD_CS5536_UOC 0x2097 |
555 | #define PCI_DEVICE_ID_AMD_CS5536_IDE 0x209A | 555 | #define PCI_DEVICE_ID_AMD_CS5536_IDE 0x209A |
556 | |||
557 | #define PCI_DEVICE_ID_AMD_LX_VIDEO 0x2081 | 556 | #define PCI_DEVICE_ID_AMD_LX_VIDEO 0x2081 |
558 | #define PCI_DEVICE_ID_AMD_LX_AES 0x2082 | 557 | #define PCI_DEVICE_ID_AMD_LX_AES 0x2082 |
558 | #define PCI_DEVICE_ID_AMD_HUDSON2_IDE 0x780c | ||
559 | #define PCI_DEVICE_ID_AMD_HUDSON2_SATA_IDE 0x7800 | ||
559 | 560 | ||
560 | #define PCI_VENDOR_ID_TRIDENT 0x1023 | 561 | #define PCI_VENDOR_ID_TRIDENT 0x1023 |
561 | #define PCI_DEVICE_ID_TRIDENT_4DWAVE_DX 0x2000 | 562 | #define PCI_DEVICE_ID_TRIDENT_4DWAVE_DX 0x2000 |
@@ -776,6 +777,7 @@ | |||
776 | #define PCI_DEVICE_ID_TI_X515 0x8036 | 777 | #define PCI_DEVICE_ID_TI_X515 0x8036 |
777 | #define PCI_DEVICE_ID_TI_XX12 0x8039 | 778 | #define PCI_DEVICE_ID_TI_XX12 0x8039 |
778 | #define PCI_DEVICE_ID_TI_XX12_FM 0x803b | 779 | #define PCI_DEVICE_ID_TI_XX12_FM 0x803b |
780 | #define PCI_DEVICE_ID_TI_XIO2000A 0x8231 | ||
779 | #define PCI_DEVICE_ID_TI_1130 0xac12 | 781 | #define PCI_DEVICE_ID_TI_1130 0xac12 |
780 | #define PCI_DEVICE_ID_TI_1031 0xac13 | 782 | #define PCI_DEVICE_ID_TI_1031 0xac13 |
781 | #define PCI_DEVICE_ID_TI_1131 0xac15 | 783 | #define PCI_DEVICE_ID_TI_1131 0xac15 |
@@ -2161,6 +2163,10 @@ | |||
2161 | #define PCI_DEVICE_ID_ADDIDATA_APCI7420_3 0x700D | 2163 | #define PCI_DEVICE_ID_ADDIDATA_APCI7420_3 0x700D |
2162 | #define PCI_DEVICE_ID_ADDIDATA_APCI7300_3 0x700E | 2164 | #define PCI_DEVICE_ID_ADDIDATA_APCI7300_3 0x700E |
2163 | #define PCI_DEVICE_ID_ADDIDATA_APCI7800_3 0x700F | 2165 | #define PCI_DEVICE_ID_ADDIDATA_APCI7800_3 0x700F |
2166 | #define PCI_DEVICE_ID_ADDIDATA_APCIe7300 0x7010 | ||
2167 | #define PCI_DEVICE_ID_ADDIDATA_APCIe7420 0x7011 | ||
2168 | #define PCI_DEVICE_ID_ADDIDATA_APCIe7500 0x7012 | ||
2169 | #define PCI_DEVICE_ID_ADDIDATA_APCIe7800 0x7013 | ||
2164 | 2170 | ||
2165 | #define PCI_VENDOR_ID_PDC 0x15e9 | 2171 | #define PCI_VENDOR_ID_PDC 0x15e9 |
2166 | 2172 | ||
diff --git a/include/linux/string.h b/include/linux/string.h index 489019ef1694..b8508868d5ad 100644 --- a/include/linux/string.h +++ b/include/linux/string.h | |||
@@ -62,7 +62,7 @@ extern char * strnchr(const char *, size_t, int); | |||
62 | #ifndef __HAVE_ARCH_STRRCHR | 62 | #ifndef __HAVE_ARCH_STRRCHR |
63 | extern char * strrchr(const char *,int); | 63 | extern char * strrchr(const char *,int); |
64 | #endif | 64 | #endif |
65 | extern char * strstrip(char *); | 65 | extern char * __must_check strstrip(char *); |
66 | #ifndef __HAVE_ARCH_STRSTR | 66 | #ifndef __HAVE_ARCH_STRSTR |
67 | extern char * strstr(const char *,const char *); | 67 | extern char * strstr(const char *,const char *); |
68 | #endif | 68 | #endif |
diff --git a/include/linux/usb/serial.h b/include/linux/usb/serial.h index c17eb64d7213..ce911ebf91e8 100644 --- a/include/linux/usb/serial.h +++ b/include/linux/usb/serial.h | |||
@@ -150,6 +150,7 @@ struct usb_serial { | |||
150 | struct usb_interface *interface; | 150 | struct usb_interface *interface; |
151 | unsigned char disconnected:1; | 151 | unsigned char disconnected:1; |
152 | unsigned char suspending:1; | 152 | unsigned char suspending:1; |
153 | unsigned char attached:1; | ||
153 | unsigned char minor; | 154 | unsigned char minor; |
154 | unsigned char num_ports; | 155 | unsigned char num_ports; |
155 | unsigned char num_port_pointers; | 156 | unsigned char num_port_pointers; |
diff --git a/include/linux/virtio_9p.h b/include/linux/virtio_9p.h index ea7226a45acb..095e10d148b4 100644 --- a/include/linux/virtio_9p.h +++ b/include/linux/virtio_9p.h | |||
@@ -2,6 +2,7 @@ | |||
2 | #define _LINUX_VIRTIO_9P_H | 2 | #define _LINUX_VIRTIO_9P_H |
3 | /* This header is BSD licensed so anyone can use the definitions to implement | 3 | /* This header is BSD licensed so anyone can use the definitions to implement |
4 | * compatible drivers/servers. */ | 4 | * compatible drivers/servers. */ |
5 | #include <linux/virtio_ids.h> | ||
5 | #include <linux/virtio_config.h> | 6 | #include <linux/virtio_config.h> |
6 | 7 | ||
7 | /* Maximum number of virtio channels per partition (1 for now) */ | 8 | /* Maximum number of virtio channels per partition (1 for now) */ |
diff --git a/include/linux/virtio_balloon.h b/include/linux/virtio_balloon.h index 09d730085060..1418f048cb34 100644 --- a/include/linux/virtio_balloon.h +++ b/include/linux/virtio_balloon.h | |||
@@ -2,6 +2,7 @@ | |||
2 | #define _LINUX_VIRTIO_BALLOON_H | 2 | #define _LINUX_VIRTIO_BALLOON_H |
3 | /* This header is BSD licensed so anyone can use the definitions to implement | 3 | /* This header is BSD licensed so anyone can use the definitions to implement |
4 | * compatible drivers/servers. */ | 4 | * compatible drivers/servers. */ |
5 | #include <linux/virtio_ids.h> | ||
5 | #include <linux/virtio_config.h> | 6 | #include <linux/virtio_config.h> |
6 | 7 | ||
7 | /* The feature bitmap for virtio balloon */ | 8 | /* The feature bitmap for virtio balloon */ |
diff --git a/include/linux/virtio_blk.h b/include/linux/virtio_blk.h index 15cb666581d7..fd294c56d571 100644 --- a/include/linux/virtio_blk.h +++ b/include/linux/virtio_blk.h | |||
@@ -3,6 +3,7 @@ | |||
3 | /* This header is BSD licensed so anyone can use the definitions to implement | 3 | /* This header is BSD licensed so anyone can use the definitions to implement |
4 | * compatible drivers/servers. */ | 4 | * compatible drivers/servers. */ |
5 | #include <linux/types.h> | 5 | #include <linux/types.h> |
6 | #include <linux/virtio_ids.h> | ||
6 | #include <linux/virtio_config.h> | 7 | #include <linux/virtio_config.h> |
7 | 8 | ||
8 | /* Feature bits */ | 9 | /* Feature bits */ |
@@ -13,11 +14,8 @@ | |||
13 | #define VIRTIO_BLK_F_RO 5 /* Disk is read-only */ | 14 | #define VIRTIO_BLK_F_RO 5 /* Disk is read-only */ |
14 | #define VIRTIO_BLK_F_BLK_SIZE 6 /* Block size of disk is available*/ | 15 | #define VIRTIO_BLK_F_BLK_SIZE 6 /* Block size of disk is available*/ |
15 | #define VIRTIO_BLK_F_SCSI 7 /* Supports scsi command passthru */ | 16 | #define VIRTIO_BLK_F_SCSI 7 /* Supports scsi command passthru */ |
16 | #define VIRTIO_BLK_F_IDENTIFY 8 /* ATA IDENTIFY supported */ | ||
17 | #define VIRTIO_BLK_F_FLUSH 9 /* Cache flush command support */ | 17 | #define VIRTIO_BLK_F_FLUSH 9 /* Cache flush command support */ |
18 | 18 | ||
19 | #define VIRTIO_BLK_ID_BYTES (sizeof(__u16[256])) /* IDENTIFY DATA */ | ||
20 | |||
21 | struct virtio_blk_config { | 19 | struct virtio_blk_config { |
22 | /* The capacity (in 512-byte sectors). */ | 20 | /* The capacity (in 512-byte sectors). */ |
23 | __u64 capacity; | 21 | __u64 capacity; |
@@ -33,7 +31,6 @@ struct virtio_blk_config { | |||
33 | } geometry; | 31 | } geometry; |
34 | /* block size of device (if VIRTIO_BLK_F_BLK_SIZE) */ | 32 | /* block size of device (if VIRTIO_BLK_F_BLK_SIZE) */ |
35 | __u32 blk_size; | 33 | __u32 blk_size; |
36 | __u8 identify[VIRTIO_BLK_ID_BYTES]; | ||
37 | } __attribute__((packed)); | 34 | } __attribute__((packed)); |
38 | 35 | ||
39 | /* | 36 | /* |
diff --git a/include/linux/virtio_console.h b/include/linux/virtio_console.h index b5f519806014..fe885174cc1f 100644 --- a/include/linux/virtio_console.h +++ b/include/linux/virtio_console.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef _LINUX_VIRTIO_CONSOLE_H | 1 | #ifndef _LINUX_VIRTIO_CONSOLE_H |
2 | #define _LINUX_VIRTIO_CONSOLE_H | 2 | #define _LINUX_VIRTIO_CONSOLE_H |
3 | #include <linux/types.h> | 3 | #include <linux/types.h> |
4 | #include <linux/virtio_ids.h> | ||
4 | #include <linux/virtio_config.h> | 5 | #include <linux/virtio_config.h> |
5 | /* This header, excluding the #ifdef __KERNEL__ part, is BSD licensed so | 6 | /* This header, excluding the #ifdef __KERNEL__ part, is BSD licensed so |
6 | * anyone can use the definitions to implement compatible drivers/servers. */ | 7 | * anyone can use the definitions to implement compatible drivers/servers. */ |
diff --git a/include/linux/virtio_net.h b/include/linux/virtio_net.h index 1f41734bbb77..085e42298ce5 100644 --- a/include/linux/virtio_net.h +++ b/include/linux/virtio_net.h | |||
@@ -3,6 +3,7 @@ | |||
3 | /* This header is BSD licensed so anyone can use the definitions to implement | 3 | /* This header is BSD licensed so anyone can use the definitions to implement |
4 | * compatible drivers/servers. */ | 4 | * compatible drivers/servers. */ |
5 | #include <linux/types.h> | 5 | #include <linux/types.h> |
6 | #include <linux/virtio_ids.h> | ||
6 | #include <linux/virtio_config.h> | 7 | #include <linux/virtio_config.h> |
7 | #include <linux/if_ether.h> | 8 | #include <linux/if_ether.h> |
8 | 9 | ||
diff --git a/include/linux/virtio_rng.h b/include/linux/virtio_rng.h index 48121c3c434b..c4d5de896f0c 100644 --- a/include/linux/virtio_rng.h +++ b/include/linux/virtio_rng.h | |||
@@ -2,6 +2,7 @@ | |||
2 | #define _LINUX_VIRTIO_RNG_H | 2 | #define _LINUX_VIRTIO_RNG_H |
3 | /* This header is BSD licensed so anyone can use the definitions to implement | 3 | /* This header is BSD licensed so anyone can use the definitions to implement |
4 | * compatible drivers/servers. */ | 4 | * compatible drivers/servers. */ |
5 | #include <linux/virtio_ids.h> | ||
5 | #include <linux/virtio_config.h> | 6 | #include <linux/virtio_config.h> |
6 | 7 | ||
7 | #endif /* _LINUX_VIRTIO_RNG_H */ | 8 | #endif /* _LINUX_VIRTIO_RNG_H */ |
diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h index 7ef0c7b94f31..cf24c20de9e4 100644 --- a/include/linux/workqueue.h +++ b/include/linux/workqueue.h | |||
@@ -207,6 +207,7 @@ extern int queue_delayed_work_on(int cpu, struct workqueue_struct *wq, | |||
207 | 207 | ||
208 | extern void flush_workqueue(struct workqueue_struct *wq); | 208 | extern void flush_workqueue(struct workqueue_struct *wq); |
209 | extern void flush_scheduled_work(void); | 209 | extern void flush_scheduled_work(void); |
210 | extern void flush_delayed_work(struct delayed_work *work); | ||
210 | 211 | ||
211 | extern int schedule_work(struct work_struct *work); | 212 | extern int schedule_work(struct work_struct *work); |
212 | extern int schedule_work_on(int cpu, struct work_struct *work); | 213 | extern int schedule_work_on(int cpu, struct work_struct *work); |
diff --git a/include/net/inet_timewait_sock.h b/include/net/inet_timewait_sock.h index b63b80fac567..f93ad90a601b 100644 --- a/include/net/inet_timewait_sock.h +++ b/include/net/inet_timewait_sock.h | |||
@@ -130,11 +130,11 @@ struct inet_timewait_sock { | |||
130 | __u16 tw_num; | 130 | __u16 tw_num; |
131 | kmemcheck_bitfield_begin(flags); | 131 | kmemcheck_bitfield_begin(flags); |
132 | /* And these are ours. */ | 132 | /* And these are ours. */ |
133 | __u8 tw_ipv6only:1, | 133 | unsigned int tw_ipv6only : 1, |
134 | tw_transparent:1; | 134 | tw_transparent : 1, |
135 | /* 14 bits hole, try to pack */ | 135 | tw_pad : 14, /* 14 bits hole */ |
136 | tw_ipv6_offset : 16; | ||
136 | kmemcheck_bitfield_end(flags); | 137 | kmemcheck_bitfield_end(flags); |
137 | __u16 tw_ipv6_offset; | ||
138 | unsigned long tw_ttd; | 138 | unsigned long tw_ttd; |
139 | struct inet_bind_bucket *tw_tb; | 139 | struct inet_bind_bucket *tw_tb; |
140 | struct hlist_node tw_death_node; | 140 | struct hlist_node tw_death_node; |
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 466859b285e1..c75b960c8ac8 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -1669,6 +1669,8 @@ void ieee80211_restart_hw(struct ieee80211_hw *hw); | |||
1669 | * to this function and ieee80211_rx_irqsafe() may not be mixed for a | 1669 | * to this function and ieee80211_rx_irqsafe() may not be mixed for a |
1670 | * single hardware. | 1670 | * single hardware. |
1671 | * | 1671 | * |
1672 | * Note that right now, this function must be called with softirqs disabled. | ||
1673 | * | ||
1672 | * @hw: the hardware this frame came in on | 1674 | * @hw: the hardware this frame came in on |
1673 | * @skb: the buffer to receive, owned by mac80211 after this call | 1675 | * @skb: the buffer to receive, owned by mac80211 after this call |
1674 | */ | 1676 | */ |
diff --git a/include/net/sock.h b/include/net/sock.h index 1621935aad5b..9f96394f694e 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
@@ -226,12 +226,12 @@ struct sock { | |||
226 | #define sk_prot __sk_common.skc_prot | 226 | #define sk_prot __sk_common.skc_prot |
227 | #define sk_net __sk_common.skc_net | 227 | #define sk_net __sk_common.skc_net |
228 | kmemcheck_bitfield_begin(flags); | 228 | kmemcheck_bitfield_begin(flags); |
229 | unsigned char sk_shutdown : 2, | 229 | unsigned int sk_shutdown : 2, |
230 | sk_no_check : 2, | 230 | sk_no_check : 2, |
231 | sk_userlocks : 4; | 231 | sk_userlocks : 4, |
232 | sk_protocol : 8, | ||
233 | sk_type : 16; | ||
232 | kmemcheck_bitfield_end(flags); | 234 | kmemcheck_bitfield_end(flags); |
233 | unsigned char sk_protocol; | ||
234 | unsigned short sk_type; | ||
235 | int sk_rcvbuf; | 235 | int sk_rcvbuf; |
236 | socket_lock_t sk_lock; | 236 | socket_lock_t sk_lock; |
237 | /* | 237 | /* |
diff --git a/include/scsi/libiscsi.h b/include/scsi/libiscsi.h index 887e57e3e223..a72edd4eceec 100644 --- a/include/scsi/libiscsi.h +++ b/include/scsi/libiscsi.h | |||
@@ -303,6 +303,7 @@ struct iscsi_session { | |||
303 | int cmds_max; /* size of cmds array */ | 303 | int cmds_max; /* size of cmds array */ |
304 | struct iscsi_task **cmds; /* Original Cmds arr */ | 304 | struct iscsi_task **cmds; /* Original Cmds arr */ |
305 | struct iscsi_pool cmdpool; /* PDU's pool */ | 305 | struct iscsi_pool cmdpool; /* PDU's pool */ |
306 | void *dd_data; /* LLD private data */ | ||
306 | }; | 307 | }; |
307 | 308 | ||
308 | enum { | 309 | enum { |
@@ -363,7 +364,7 @@ extern int iscsi_target_alloc(struct scsi_target *starget); | |||
363 | */ | 364 | */ |
364 | extern struct iscsi_cls_session * | 365 | extern struct iscsi_cls_session * |
365 | iscsi_session_setup(struct iscsi_transport *, struct Scsi_Host *shost, | 366 | iscsi_session_setup(struct iscsi_transport *, struct Scsi_Host *shost, |
366 | uint16_t, int, uint32_t, unsigned int); | 367 | uint16_t, int, int, uint32_t, unsigned int); |
367 | extern void iscsi_session_teardown(struct iscsi_cls_session *); | 368 | extern void iscsi_session_teardown(struct iscsi_cls_session *); |
368 | extern void iscsi_session_recovery_timedout(struct iscsi_cls_session *); | 369 | extern void iscsi_session_recovery_timedout(struct iscsi_cls_session *); |
369 | extern int iscsi_set_param(struct iscsi_cls_conn *cls_conn, | 370 | extern int iscsi_set_param(struct iscsi_cls_conn *cls_conn, |
diff --git a/include/scsi/scsi.h b/include/scsi/scsi.h index 084478e14d24..34c46ab5c31b 100644 --- a/include/scsi/scsi.h +++ b/include/scsi/scsi.h | |||
@@ -129,6 +129,9 @@ struct scsi_cmnd; | |||
129 | #define MI_REPORT_TARGET_PGS 0x0a | 129 | #define MI_REPORT_TARGET_PGS 0x0a |
130 | /* values for maintenance out */ | 130 | /* values for maintenance out */ |
131 | #define MO_SET_TARGET_PGS 0x0a | 131 | #define MO_SET_TARGET_PGS 0x0a |
132 | /* values for variable length command */ | ||
133 | #define READ_32 0x09 | ||
134 | #define WRITE_32 0x0b | ||
132 | 135 | ||
133 | /* Values for T10/04-262r7 */ | 136 | /* Values for T10/04-262r7 */ |
134 | #define ATA_16 0x85 /* 16-byte pass-thru */ | 137 | #define ATA_16 0x85 /* 16-byte pass-thru */ |
diff --git a/include/scsi/scsi_cmnd.h b/include/scsi/scsi_cmnd.h index 3878d1dc7f59..a5e885a111df 100644 --- a/include/scsi/scsi_cmnd.h +++ b/include/scsi/scsi_cmnd.h | |||
@@ -229,10 +229,6 @@ enum scsi_prot_operations { | |||
229 | /* OS-HBA: Protected, HBA-Target: Protected */ | 229 | /* OS-HBA: Protected, HBA-Target: Protected */ |
230 | SCSI_PROT_READ_PASS, | 230 | SCSI_PROT_READ_PASS, |
231 | SCSI_PROT_WRITE_PASS, | 231 | SCSI_PROT_WRITE_PASS, |
232 | |||
233 | /* OS-HBA: Protected, HBA-Target: Protected, checksum conversion */ | ||
234 | SCSI_PROT_READ_CONVERT, | ||
235 | SCSI_PROT_WRITE_CONVERT, | ||
236 | }; | 232 | }; |
237 | 233 | ||
238 | static inline void scsi_set_prot_op(struct scsi_cmnd *scmd, unsigned char op) | 234 | static inline void scsi_set_prot_op(struct scsi_cmnd *scmd, unsigned char op) |
diff --git a/include/scsi/scsi_host.h b/include/scsi/scsi_host.h index b62a097b3ecb..6e728b176904 100644 --- a/include/scsi/scsi_host.h +++ b/include/scsi/scsi_host.h | |||
@@ -798,9 +798,15 @@ static inline unsigned int scsi_host_get_prot(struct Scsi_Host *shost) | |||
798 | static inline unsigned int scsi_host_dif_capable(struct Scsi_Host *shost, unsigned int target_type) | 798 | static inline unsigned int scsi_host_dif_capable(struct Scsi_Host *shost, unsigned int target_type) |
799 | { | 799 | { |
800 | switch (target_type) { | 800 | switch (target_type) { |
801 | case 1: return shost->prot_capabilities & SHOST_DIF_TYPE1_PROTECTION; | 801 | case 1: |
802 | case 2: return shost->prot_capabilities & SHOST_DIF_TYPE2_PROTECTION; | 802 | if (shost->prot_capabilities & SHOST_DIF_TYPE1_PROTECTION) |
803 | case 3: return shost->prot_capabilities & SHOST_DIF_TYPE3_PROTECTION; | 803 | return target_type; |
804 | case 2: | ||
805 | if (shost->prot_capabilities & SHOST_DIF_TYPE2_PROTECTION) | ||
806 | return target_type; | ||
807 | case 3: | ||
808 | if (shost->prot_capabilities & SHOST_DIF_TYPE3_PROTECTION) | ||
809 | return target_type; | ||
804 | } | 810 | } |
805 | 811 | ||
806 | return 0; | 812 | return 0; |
@@ -808,13 +814,14 @@ static inline unsigned int scsi_host_dif_capable(struct Scsi_Host *shost, unsign | |||
808 | 814 | ||
809 | static inline unsigned int scsi_host_dix_capable(struct Scsi_Host *shost, unsigned int target_type) | 815 | static inline unsigned int scsi_host_dix_capable(struct Scsi_Host *shost, unsigned int target_type) |
810 | { | 816 | { |
817 | #if defined(CONFIG_BLK_DEV_INTEGRITY) | ||
811 | switch (target_type) { | 818 | switch (target_type) { |
812 | case 0: return shost->prot_capabilities & SHOST_DIX_TYPE0_PROTECTION; | 819 | case 0: return shost->prot_capabilities & SHOST_DIX_TYPE0_PROTECTION; |
813 | case 1: return shost->prot_capabilities & SHOST_DIX_TYPE1_PROTECTION; | 820 | case 1: return shost->prot_capabilities & SHOST_DIX_TYPE1_PROTECTION; |
814 | case 2: return shost->prot_capabilities & SHOST_DIX_TYPE2_PROTECTION; | 821 | case 2: return shost->prot_capabilities & SHOST_DIX_TYPE2_PROTECTION; |
815 | case 3: return shost->prot_capabilities & SHOST_DIX_TYPE3_PROTECTION; | 822 | case 3: return shost->prot_capabilities & SHOST_DIX_TYPE3_PROTECTION; |
816 | } | 823 | } |
817 | 824 | #endif | |
818 | return 0; | 825 | return 0; |
819 | } | 826 | } |
820 | 827 | ||