diff options
author | <jgarzik@pretzel.yyz.us> | 2005-05-27 22:07:02 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-05-27 22:07:02 -0400 |
commit | 1f15d694522af9cd7492695f11dd2dc77b6cf098 (patch) | |
tree | 7f67a4c38456ec73359d576a5c602d18c3c3ef72 /include/linux | |
parent | fff9cfd99c0f88645c3f50d7476d6c8cef99f140 (diff) | |
parent | 254feb882a7c6e4e51416dff6a97d847fbbba551 (diff) |
Automatic merge of /spare/repo/netdev-2.6 branch master
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/acpi.h | 5 | ||||
-rw-r--r-- | include/linux/device.h | 3 | ||||
-rw-r--r-- | include/linux/err.h | 4 | ||||
-rw-r--r-- | include/linux/ide.h | 20 | ||||
-rw-r--r-- | include/linux/if_tr.h | 45 | ||||
-rw-r--r-- | include/linux/libata.h | 7 | ||||
-rw-r--r-- | include/linux/mii.h | 8 | ||||
-rw-r--r-- | include/linux/mmc/protocol.h | 27 | ||||
-rw-r--r-- | include/linux/net.h | 1 | ||||
-rw-r--r-- | include/linux/netdevice.h | 2 | ||||
-rw-r--r-- | include/linux/pci_ids.h | 3 | ||||
-rw-r--r-- | include/linux/pkt_sched.h | 9 | ||||
-rw-r--r-- | include/linux/serial_core.h | 19 | ||||
-rw-r--r-- | include/linux/spinlock.h | 8 | ||||
-rw-r--r-- | include/linux/vmalloc.h | 1 | ||||
-rw-r--r-- | include/linux/wait.h | 4 |
16 files changed, 108 insertions, 58 deletions
diff --git a/include/linux/acpi.h b/include/linux/acpi.h index aefe6d051ace..d5a55bdb9c3c 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h | |||
@@ -25,6 +25,8 @@ | |||
25 | #ifndef _LINUX_ACPI_H | 25 | #ifndef _LINUX_ACPI_H |
26 | #define _LINUX_ACPI_H | 26 | #define _LINUX_ACPI_H |
27 | 27 | ||
28 | #ifdef CONFIG_ACPI | ||
29 | |||
28 | #ifndef _LINUX | 30 | #ifndef _LINUX |
29 | #define _LINUX | 31 | #define _LINUX |
30 | #endif | 32 | #endif |
@@ -533,4 +535,5 @@ static inline int acpi_get_pxm(acpi_handle handle) | |||
533 | 535 | ||
534 | extern int pnpacpi_disabled; | 536 | extern int pnpacpi_disabled; |
535 | 537 | ||
536 | #endif /*_LINUX_ACPI_H*/ | 538 | #endif /* CONFIG_ACPI */ |
539 | #endif /*_LINUX_ACPI_H*/ | ||
diff --git a/include/linux/device.h b/include/linux/device.h index cf470459fa69..df94c0de53f2 100644 --- a/include/linux/device.h +++ b/include/linux/device.h | |||
@@ -273,9 +273,6 @@ struct device { | |||
273 | BIOS data relevant to device) */ | 273 | BIOS data relevant to device) */ |
274 | struct dev_pm_info power; | 274 | struct dev_pm_info power; |
275 | 275 | ||
276 | u32 detach_state; /* State to enter when device is | ||
277 | detached from its driver. */ | ||
278 | |||
279 | u64 *dma_mask; /* dma mask (if dma'able device) */ | 276 | u64 *dma_mask; /* dma mask (if dma'able device) */ |
280 | u64 coherent_dma_mask;/* Like dma_mask, but for | 277 | u64 coherent_dma_mask;/* Like dma_mask, but for |
281 | alloc_coherent mappings as | 278 | alloc_coherent mappings as |
diff --git a/include/linux/err.h b/include/linux/err.h index 17c55df13615..ff71d2af5da3 100644 --- a/include/linux/err.h +++ b/include/linux/err.h | |||
@@ -13,6 +13,8 @@ | |||
13 | * This should be a per-architecture thing, to allow different | 13 | * This should be a per-architecture thing, to allow different |
14 | * error and pointer decisions. | 14 | * error and pointer decisions. |
15 | */ | 15 | */ |
16 | #define IS_ERR_VALUE(x) unlikely((x) > (unsigned long)-1000L) | ||
17 | |||
16 | static inline void *ERR_PTR(long error) | 18 | static inline void *ERR_PTR(long error) |
17 | { | 19 | { |
18 | return (void *) error; | 20 | return (void *) error; |
@@ -25,7 +27,7 @@ static inline long PTR_ERR(const void *ptr) | |||
25 | 27 | ||
26 | static inline long IS_ERR(const void *ptr) | 28 | static inline long IS_ERR(const void *ptr) |
27 | { | 29 | { |
28 | return unlikely((unsigned long)ptr > (unsigned long)-1000L); | 30 | return IS_ERR_VALUE((unsigned long)ptr); |
29 | } | 31 | } |
30 | 32 | ||
31 | #endif /* _LINUX_ERR_H */ | 33 | #endif /* _LINUX_ERR_H */ |
diff --git a/include/linux/ide.h b/include/linux/ide.h index 9cfc0999becb..336d6e509f59 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -664,7 +664,6 @@ typedef struct ide_drive_s { | |||
664 | 664 | ||
665 | struct request *rq; /* current request */ | 665 | struct request *rq; /* current request */ |
666 | struct ide_drive_s *next; /* circular list of hwgroup drives */ | 666 | struct ide_drive_s *next; /* circular list of hwgroup drives */ |
667 | struct ide_driver_s *driver;/* (ide_driver_t *) */ | ||
668 | void *driver_data; /* extra driver data */ | 667 | void *driver_data; /* extra driver data */ |
669 | struct hd_driveid *id; /* drive model identification info */ | 668 | struct hd_driveid *id; /* drive model identification info */ |
670 | struct proc_dir_entry *proc; /* /proc/ide/ directory entry */ | 669 | struct proc_dir_entry *proc; /* /proc/ide/ directory entry */ |
@@ -758,6 +757,8 @@ typedef struct ide_drive_s { | |||
758 | struct semaphore gendev_rel_sem; /* to deal with device release() */ | 757 | struct semaphore gendev_rel_sem; /* to deal with device release() */ |
759 | } ide_drive_t; | 758 | } ide_drive_t; |
760 | 759 | ||
760 | #define to_ide_device(dev)container_of(dev, ide_drive_t, gendev) | ||
761 | |||
761 | #define IDE_CHIPSET_PCI_MASK \ | 762 | #define IDE_CHIPSET_PCI_MASK \ |
762 | ((1<<ide_pci)|(1<<ide_cmd646)|(1<<ide_ali14xx)) | 763 | ((1<<ide_pci)|(1<<ide_cmd646)|(1<<ide_ali14xx)) |
763 | #define IDE_CHIPSET_IS_PCI(c) ((IDE_CHIPSET_PCI_MASK >> (c)) & 1) | 764 | #define IDE_CHIPSET_IS_PCI(c) ((IDE_CHIPSET_PCI_MASK >> (c)) & 1) |
@@ -1086,28 +1087,20 @@ enum { | |||
1086 | */ | 1087 | */ |
1087 | typedef struct ide_driver_s { | 1088 | typedef struct ide_driver_s { |
1088 | struct module *owner; | 1089 | struct module *owner; |
1089 | const char *name; | ||
1090 | const char *version; | 1090 | const char *version; |
1091 | u8 media; | 1091 | u8 media; |
1092 | unsigned busy : 1; | ||
1093 | unsigned supports_dsc_overlap : 1; | 1092 | unsigned supports_dsc_overlap : 1; |
1094 | int (*cleanup)(ide_drive_t *); | ||
1095 | ide_startstop_t (*do_request)(ide_drive_t *, struct request *, sector_t); | 1093 | ide_startstop_t (*do_request)(ide_drive_t *, struct request *, sector_t); |
1096 | int (*end_request)(ide_drive_t *, int, int); | 1094 | int (*end_request)(ide_drive_t *, int, int); |
1097 | ide_startstop_t (*error)(ide_drive_t *, struct request *rq, u8, u8); | 1095 | ide_startstop_t (*error)(ide_drive_t *, struct request *rq, u8, u8); |
1098 | ide_startstop_t (*abort)(ide_drive_t *, struct request *rq); | 1096 | ide_startstop_t (*abort)(ide_drive_t *, struct request *rq); |
1099 | int (*ioctl)(ide_drive_t *, struct inode *, struct file *, unsigned int, unsigned long); | 1097 | int (*ioctl)(ide_drive_t *, struct inode *, struct file *, unsigned int, unsigned long); |
1100 | ide_proc_entry_t *proc; | 1098 | ide_proc_entry_t *proc; |
1101 | int (*attach)(ide_drive_t *); | ||
1102 | void (*ata_prebuilder)(ide_drive_t *); | 1099 | void (*ata_prebuilder)(ide_drive_t *); |
1103 | void (*atapi_prebuilder)(ide_drive_t *); | 1100 | void (*atapi_prebuilder)(ide_drive_t *); |
1104 | struct device_driver gen_driver; | 1101 | struct device_driver gen_driver; |
1105 | struct list_head drives; | ||
1106 | struct list_head drivers; | ||
1107 | } ide_driver_t; | 1102 | } ide_driver_t; |
1108 | 1103 | ||
1109 | #define DRIVER(drive) ((drive)->driver) | ||
1110 | |||
1111 | int generic_ide_ioctl(ide_drive_t *, struct file *, struct block_device *, unsigned, unsigned long); | 1104 | int generic_ide_ioctl(ide_drive_t *, struct file *, struct block_device *, unsigned, unsigned long); |
1112 | 1105 | ||
1113 | /* | 1106 | /* |
@@ -1328,8 +1321,6 @@ extern void ide_init_subdrivers(void); | |||
1328 | 1321 | ||
1329 | void ide_init_disk(struct gendisk *, ide_drive_t *); | 1322 | void ide_init_disk(struct gendisk *, ide_drive_t *); |
1330 | 1323 | ||
1331 | extern int ata_attach(ide_drive_t *); | ||
1332 | |||
1333 | extern int ideprobe_init(void); | 1324 | extern int ideprobe_init(void); |
1334 | 1325 | ||
1335 | extern void ide_scan_pcibus(int scan_direction) __init; | 1326 | extern void ide_scan_pcibus(int scan_direction) __init; |
@@ -1342,11 +1333,8 @@ extern void default_hwif_iops(ide_hwif_t *); | |||
1342 | extern void default_hwif_mmiops(ide_hwif_t *); | 1333 | extern void default_hwif_mmiops(ide_hwif_t *); |
1343 | extern void default_hwif_transport(ide_hwif_t *); | 1334 | extern void default_hwif_transport(ide_hwif_t *); |
1344 | 1335 | ||
1345 | int ide_register_driver(ide_driver_t *driver); | 1336 | void ide_register_subdriver(ide_drive_t *, ide_driver_t *); |
1346 | void ide_unregister_driver(ide_driver_t *driver); | 1337 | void ide_unregister_subdriver(ide_drive_t *, ide_driver_t *); |
1347 | int ide_register_subdriver(ide_drive_t *, ide_driver_t *); | ||
1348 | int ide_unregister_subdriver (ide_drive_t *drive); | ||
1349 | int ide_replace_subdriver(ide_drive_t *drive, const char *driver); | ||
1350 | 1338 | ||
1351 | #define ON_BOARD 1 | 1339 | #define ON_BOARD 1 |
1352 | #define NEVER_BOARD 0 | 1340 | #define NEVER_BOARD 0 |
diff --git a/include/linux/if_tr.h b/include/linux/if_tr.h index 4fd451f81ccb..6688b414c529 100644 --- a/include/linux/if_tr.h +++ b/include/linux/if_tr.h | |||
@@ -9,7 +9,7 @@ | |||
9 | * | 9 | * |
10 | * Author: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG> | 10 | * Author: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG> |
11 | * Donald Becker, <becker@super.org> | 11 | * Donald Becker, <becker@super.org> |
12 | * Peter De Schrijver, <stud11@cc4.kuleuven.ac.be> | 12 | * Peter De Schrijver, <stud11@cc4.kuleuven.ac.be> |
13 | * | 13 | * |
14 | * This program is free software; you can redistribute it and/or | 14 | * This program is free software; you can redistribute it and/or |
15 | * modify it under the terms of the GNU General Public License | 15 | * modify it under the terms of the GNU General Public License |
@@ -19,24 +19,16 @@ | |||
19 | #ifndef _LINUX_IF_TR_H | 19 | #ifndef _LINUX_IF_TR_H |
20 | #define _LINUX_IF_TR_H | 20 | #define _LINUX_IF_TR_H |
21 | 21 | ||
22 | |||
23 | /* IEEE 802.5 Token-Ring magic constants. The frame sizes omit the preamble | 22 | /* IEEE 802.5 Token-Ring magic constants. The frame sizes omit the preamble |
24 | and FCS/CRC (frame check sequence). */ | 23 | and FCS/CRC (frame check sequence). */ |
25 | #define TR_ALEN 6 /* Octets in one ethernet addr */ | 24 | #define TR_ALEN 6 /* Octets in one token-ring addr */ |
26 | #define TR_HLEN (sizeof(struct trh_hdr)+sizeof(struct trllc)) | 25 | #define TR_HLEN (sizeof(struct trh_hdr)+sizeof(struct trllc)) |
27 | #define AC 0x10 | 26 | #define AC 0x10 |
28 | #define LLC_FRAME 0x40 | 27 | #define LLC_FRAME 0x40 |
29 | #if 0 | ||
30 | #define ETH_HLEN 14 /* Total octets in header. */ | ||
31 | #define ETH_ZLEN 60 /* Min. octets in frame sans FCS */ | ||
32 | #define ETH_DATA_LEN 1500 /* Max. octets in payload */ | ||
33 | #define ETH_FRAME_LEN 1514 /* Max. octets in frame sans FCS */ | ||
34 | #endif | ||
35 | |||
36 | 28 | ||
37 | /* LLC and SNAP constants */ | 29 | /* LLC and SNAP constants */ |
38 | #define EXTENDED_SAP 0xAA | 30 | #define EXTENDED_SAP 0xAA |
39 | #define UI_CMD 0x03 | 31 | #define UI_CMD 0x03 |
40 | 32 | ||
41 | /* This is an Token-Ring frame header. */ | 33 | /* This is an Token-Ring frame header. */ |
42 | struct trh_hdr { | 34 | struct trh_hdr { |
@@ -44,8 +36,8 @@ struct trh_hdr { | |||
44 | __u8 fc; /* frame control field */ | 36 | __u8 fc; /* frame control field */ |
45 | __u8 daddr[TR_ALEN]; /* destination address */ | 37 | __u8 daddr[TR_ALEN]; /* destination address */ |
46 | __u8 saddr[TR_ALEN]; /* source address */ | 38 | __u8 saddr[TR_ALEN]; /* source address */ |
47 | __u16 rcf; /* route control field */ | 39 | __be16 rcf; /* route control field */ |
48 | __u16 rseg[8]; /* routing registers */ | 40 | __be16 rseg[8]; /* routing registers */ |
49 | }; | 41 | }; |
50 | 42 | ||
51 | #ifdef __KERNEL__ | 43 | #ifdef __KERNEL__ |
@@ -63,7 +55,7 @@ struct trllc { | |||
63 | __u8 ssap; /* source SAP */ | 55 | __u8 ssap; /* source SAP */ |
64 | __u8 llc; /* LLC control field */ | 56 | __u8 llc; /* LLC control field */ |
65 | __u8 protid[3]; /* protocol id */ | 57 | __u8 protid[3]; /* protocol id */ |
66 | __u16 ethertype; /* ether type field */ | 58 | __be16 ethertype; /* ether type field */ |
67 | }; | 59 | }; |
68 | 60 | ||
69 | /* Token-Ring statistics collection data. */ | 61 | /* Token-Ring statistics collection data. */ |
@@ -96,14 +88,13 @@ struct tr_statistics { | |||
96 | }; | 88 | }; |
97 | 89 | ||
98 | /* source routing stuff */ | 90 | /* source routing stuff */ |
99 | 91 | #define TR_RII 0x80 | |
100 | #define TR_RII 0x80 | 92 | #define TR_RCF_DIR_BIT 0x80 |
101 | #define TR_RCF_DIR_BIT 0x80 | 93 | #define TR_RCF_LEN_MASK 0x1f00 |
102 | #define TR_RCF_LEN_MASK 0x1f00 | 94 | #define TR_RCF_BROADCAST 0x8000 /* all-routes broadcast */ |
103 | #define TR_RCF_BROADCAST 0x8000 /* all-routes broadcast */ | 95 | #define TR_RCF_LIMITED_BROADCAST 0xC000 /* single-route broadcast */ |
104 | #define TR_RCF_LIMITED_BROADCAST 0xC000 /* single-route broadcast */ | 96 | #define TR_RCF_FRAME2K 0x20 |
105 | #define TR_RCF_FRAME2K 0x20 | 97 | #define TR_RCF_BROADCAST_MASK 0xC000 |
106 | #define TR_RCF_BROADCAST_MASK 0xC000 | 98 | #define TR_MAXRIFLEN 18 |
107 | #define TR_MAXRIFLEN 18 | ||
108 | 99 | ||
109 | #endif /* _LINUX_IF_TR_H */ | 100 | #endif /* _LINUX_IF_TR_H */ |
diff --git a/include/linux/libata.h b/include/linux/libata.h index 505160ab472b..1f7e2039a04e 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -584,6 +584,13 @@ static inline void scr_write(struct ata_port *ap, unsigned int reg, u32 val) | |||
584 | ap->ops->scr_write(ap, reg, val); | 584 | ap->ops->scr_write(ap, reg, val); |
585 | } | 585 | } |
586 | 586 | ||
587 | static inline void scr_write_flush(struct ata_port *ap, unsigned int reg, | ||
588 | u32 val) | ||
589 | { | ||
590 | ap->ops->scr_write(ap, reg, val); | ||
591 | (void) ap->ops->scr_read(ap, reg); | ||
592 | } | ||
593 | |||
587 | static inline unsigned int sata_dev_present(struct ata_port *ap) | 594 | static inline unsigned int sata_dev_present(struct ata_port *ap) |
588 | { | 595 | { |
589 | return ((scr_read(ap, SCR_STATUS) & 0xf) == 0x3) ? 1 : 0; | 596 | return ((scr_read(ap, SCR_STATUS) & 0xf) == 0x3) ? 1 : 0; |
diff --git a/include/linux/mii.h b/include/linux/mii.h index 20971fe78a8d..374b615ea9ea 100644 --- a/include/linux/mii.h +++ b/include/linux/mii.h | |||
@@ -65,9 +65,13 @@ | |||
65 | #define ADVERTISE_SLCT 0x001f /* Selector bits */ | 65 | #define ADVERTISE_SLCT 0x001f /* Selector bits */ |
66 | #define ADVERTISE_CSMA 0x0001 /* Only selector supported */ | 66 | #define ADVERTISE_CSMA 0x0001 /* Only selector supported */ |
67 | #define ADVERTISE_10HALF 0x0020 /* Try for 10mbps half-duplex */ | 67 | #define ADVERTISE_10HALF 0x0020 /* Try for 10mbps half-duplex */ |
68 | #define ADVERTISE_1000XFULL 0x0020 /* Try for 1000BASE-X full-duplex */ | ||
68 | #define ADVERTISE_10FULL 0x0040 /* Try for 10mbps full-duplex */ | 69 | #define ADVERTISE_10FULL 0x0040 /* Try for 10mbps full-duplex */ |
70 | #define ADVERTISE_1000XHALF 0x0040 /* Try for 1000BASE-X half-duplex */ | ||
69 | #define ADVERTISE_100HALF 0x0080 /* Try for 100mbps half-duplex */ | 71 | #define ADVERTISE_100HALF 0x0080 /* Try for 100mbps half-duplex */ |
72 | #define ADVERTISE_1000XPAUSE 0x0080 /* Try for 1000BASE-X pause */ | ||
70 | #define ADVERTISE_100FULL 0x0100 /* Try for 100mbps full-duplex */ | 73 | #define ADVERTISE_100FULL 0x0100 /* Try for 100mbps full-duplex */ |
74 | #define ADVERTISE_1000XPSE_ASYM 0x0100 /* Try for 1000BASE-X asym pause */ | ||
71 | #define ADVERTISE_100BASE4 0x0200 /* Try for 100mbps 4k packets */ | 75 | #define ADVERTISE_100BASE4 0x0200 /* Try for 100mbps 4k packets */ |
72 | #define ADVERTISE_PAUSE_CAP 0x0400 /* Try for pause */ | 76 | #define ADVERTISE_PAUSE_CAP 0x0400 /* Try for pause */ |
73 | #define ADVERTISE_PAUSE_ASYM 0x0800 /* Try for asymetric pause */ | 77 | #define ADVERTISE_PAUSE_ASYM 0x0800 /* Try for asymetric pause */ |
@@ -84,9 +88,13 @@ | |||
84 | /* Link partner ability register. */ | 88 | /* Link partner ability register. */ |
85 | #define LPA_SLCT 0x001f /* Same as advertise selector */ | 89 | #define LPA_SLCT 0x001f /* Same as advertise selector */ |
86 | #define LPA_10HALF 0x0020 /* Can do 10mbps half-duplex */ | 90 | #define LPA_10HALF 0x0020 /* Can do 10mbps half-duplex */ |
91 | #define LPA_1000XFULL 0x0020 /* Can do 1000BASE-X full-duplex */ | ||
87 | #define LPA_10FULL 0x0040 /* Can do 10mbps full-duplex */ | 92 | #define LPA_10FULL 0x0040 /* Can do 10mbps full-duplex */ |
93 | #define LPA_1000XHALF 0x0040 /* Can do 1000BASE-X half-duplex */ | ||
88 | #define LPA_100HALF 0x0080 /* Can do 100mbps half-duplex */ | 94 | #define LPA_100HALF 0x0080 /* Can do 100mbps half-duplex */ |
95 | #define LPA_1000XPAUSE 0x0080 /* Can do 1000BASE-X pause */ | ||
89 | #define LPA_100FULL 0x0100 /* Can do 100mbps full-duplex */ | 96 | #define LPA_100FULL 0x0100 /* Can do 100mbps full-duplex */ |
97 | #define LPA_1000XPAUSE_ASYM 0x0100 /* Can do 1000BASE-X pause asym*/ | ||
90 | #define LPA_100BASE4 0x0200 /* Can do 100mbps 4k packets */ | 98 | #define LPA_100BASE4 0x0200 /* Can do 100mbps 4k packets */ |
91 | #define LPA_PAUSE_CAP 0x0400 /* Can pause */ | 99 | #define LPA_PAUSE_CAP 0x0400 /* Can pause */ |
92 | #define LPA_PAUSE_ASYM 0x0800 /* Can pause asymetrically */ | 100 | #define LPA_PAUSE_ASYM 0x0800 /* Can pause asymetrically */ |
diff --git a/include/linux/mmc/protocol.h b/include/linux/mmc/protocol.h index 7b904c5102f6..896342817b97 100644 --- a/include/linux/mmc/protocol.h +++ b/include/linux/mmc/protocol.h | |||
@@ -195,6 +195,33 @@ struct _mmc_csd { | |||
195 | #define MMC_VDD_35_36 0x00800000 /* VDD voltage 3.5 ~ 3.6 */ | 195 | #define MMC_VDD_35_36 0x00800000 /* VDD voltage 3.5 ~ 3.6 */ |
196 | #define MMC_CARD_BUSY 0x80000000 /* Card Power up status bit */ | 196 | #define MMC_CARD_BUSY 0x80000000 /* Card Power up status bit */ |
197 | 197 | ||
198 | /* | ||
199 | * Card Command Classes (CCC) | ||
200 | */ | ||
201 | #define CCC_BASIC (1<<0) /* (0) Basic protocol functions */ | ||
202 | /* (CMD0,1,2,3,4,7,9,10,12,13,15) */ | ||
203 | #define CCC_STREAM_READ (1<<1) /* (1) Stream read commands */ | ||
204 | /* (CMD11) */ | ||
205 | #define CCC_BLOCK_READ (1<<2) /* (2) Block read commands */ | ||
206 | /* (CMD16,17,18) */ | ||
207 | #define CCC_STREAM_WRITE (1<<3) /* (3) Stream write commands */ | ||
208 | /* (CMD20) */ | ||
209 | #define CCC_BLOCK_WRITE (1<<4) /* (4) Block write commands */ | ||
210 | /* (CMD16,24,25,26,27) */ | ||
211 | #define CCC_ERASE (1<<5) /* (5) Ability to erase blocks */ | ||
212 | /* (CMD32,33,34,35,36,37,38,39) */ | ||
213 | #define CCC_WRITE_PROT (1<<6) /* (6) Able to write protect blocks */ | ||
214 | /* (CMD28,29,30) */ | ||
215 | #define CCC_LOCK_CARD (1<<7) /* (7) Able to lock down card */ | ||
216 | /* (CMD16,CMD42) */ | ||
217 | #define CCC_APP_SPEC (1<<8) /* (8) Application specific */ | ||
218 | /* (CMD55,56,57,ACMD*) */ | ||
219 | #define CCC_IO_MODE (1<<9) /* (9) I/O mode */ | ||
220 | /* (CMD5,39,40,52,53) */ | ||
221 | #define CCC_SWITCH (1<<10) /* (10) High speed switch */ | ||
222 | /* (CMD6,34,35,36,37,50) */ | ||
223 | /* (11) Reserved */ | ||
224 | /* (CMD?) */ | ||
198 | 225 | ||
199 | /* | 226 | /* |
200 | * CSD field definitions | 227 | * CSD field definitions |
diff --git a/include/linux/net.h b/include/linux/net.h index 6d997ff3f103..20cb226b2268 100644 --- a/include/linux/net.h +++ b/include/linux/net.h | |||
@@ -101,7 +101,6 @@ enum sock_type { | |||
101 | * @sk: internal networking protocol agnostic socket representation | 101 | * @sk: internal networking protocol agnostic socket representation |
102 | * @wait: wait queue for several uses | 102 | * @wait: wait queue for several uses |
103 | * @type: socket type (%SOCK_STREAM, etc) | 103 | * @type: socket type (%SOCK_STREAM, etc) |
104 | * @passcred: credentials (used only in Unix Sockets (aka PF_LOCAL)) | ||
105 | */ | 104 | */ |
106 | struct socket { | 105 | struct socket { |
107 | socket_state state; | 106 | socket_state state; |
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index ac11d73be4ce..b25bd02720d3 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -503,7 +503,7 @@ static inline void *netdev_priv(struct net_device *dev) | |||
503 | #define SET_NETDEV_DEV(net, pdev) ((net)->class_dev.dev = (pdev)) | 503 | #define SET_NETDEV_DEV(net, pdev) ((net)->class_dev.dev = (pdev)) |
504 | 504 | ||
505 | struct packet_type { | 505 | struct packet_type { |
506 | unsigned short type; /* This is really htons(ether_type). */ | 506 | __be16 type; /* This is really htons(ether_type). */ |
507 | struct net_device *dev; /* NULL is wildcarded here */ | 507 | struct net_device *dev; /* NULL is wildcarded here */ |
508 | int (*func) (struct sk_buff *, struct net_device *, | 508 | int (*func) (struct sk_buff *, struct net_device *, |
509 | struct packet_type *); | 509 | struct packet_type *); |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index ae27792b5aa4..7ccbc2e4272c 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -2064,12 +2064,14 @@ | |||
2064 | 2064 | ||
2065 | #define PCI_VENDOR_ID_BROADCOM 0x14e4 | 2065 | #define PCI_VENDOR_ID_BROADCOM 0x14e4 |
2066 | #define PCI_DEVICE_ID_TIGON3_5752 0x1600 | 2066 | #define PCI_DEVICE_ID_TIGON3_5752 0x1600 |
2067 | #define PCI_DEVICE_ID_TIGON3_5752M 0x1601 | ||
2067 | #define PCI_DEVICE_ID_TIGON3_5700 0x1644 | 2068 | #define PCI_DEVICE_ID_TIGON3_5700 0x1644 |
2068 | #define PCI_DEVICE_ID_TIGON3_5701 0x1645 | 2069 | #define PCI_DEVICE_ID_TIGON3_5701 0x1645 |
2069 | #define PCI_DEVICE_ID_TIGON3_5702 0x1646 | 2070 | #define PCI_DEVICE_ID_TIGON3_5702 0x1646 |
2070 | #define PCI_DEVICE_ID_TIGON3_5703 0x1647 | 2071 | #define PCI_DEVICE_ID_TIGON3_5703 0x1647 |
2071 | #define PCI_DEVICE_ID_TIGON3_5704 0x1648 | 2072 | #define PCI_DEVICE_ID_TIGON3_5704 0x1648 |
2072 | #define PCI_DEVICE_ID_TIGON3_5704S_2 0x1649 | 2073 | #define PCI_DEVICE_ID_TIGON3_5704S_2 0x1649 |
2074 | #define PCI_DEVICE_ID_NX2_5706 0x164a | ||
2073 | #define PCI_DEVICE_ID_TIGON3_5702FE 0x164d | 2075 | #define PCI_DEVICE_ID_TIGON3_5702FE 0x164d |
2074 | #define PCI_DEVICE_ID_TIGON3_5705 0x1653 | 2076 | #define PCI_DEVICE_ID_TIGON3_5705 0x1653 |
2075 | #define PCI_DEVICE_ID_TIGON3_5705_2 0x1654 | 2077 | #define PCI_DEVICE_ID_TIGON3_5705_2 0x1654 |
@@ -2089,6 +2091,7 @@ | |||
2089 | #define PCI_DEVICE_ID_TIGON3_5702X 0x16a6 | 2091 | #define PCI_DEVICE_ID_TIGON3_5702X 0x16a6 |
2090 | #define PCI_DEVICE_ID_TIGON3_5703X 0x16a7 | 2092 | #define PCI_DEVICE_ID_TIGON3_5703X 0x16a7 |
2091 | #define PCI_DEVICE_ID_TIGON3_5704S 0x16a8 | 2093 | #define PCI_DEVICE_ID_TIGON3_5704S 0x16a8 |
2094 | #define PCI_DEVICE_ID_NX2_5706S 0x16aa | ||
2092 | #define PCI_DEVICE_ID_TIGON3_5702A3 0x16c6 | 2095 | #define PCI_DEVICE_ID_TIGON3_5702A3 0x16c6 |
2093 | #define PCI_DEVICE_ID_TIGON3_5703A3 0x16c7 | 2096 | #define PCI_DEVICE_ID_TIGON3_5703A3 0x16c7 |
2094 | #define PCI_DEVICE_ID_TIGON3_5781 0x16dd | 2097 | #define PCI_DEVICE_ID_TIGON3_5781 0x16dd |
diff --git a/include/linux/pkt_sched.h b/include/linux/pkt_sched.h index 73d84c071cb1..1d9da36eb9db 100644 --- a/include/linux/pkt_sched.h +++ b/include/linux/pkt_sched.h | |||
@@ -427,6 +427,7 @@ enum | |||
427 | TCA_NETEM_UNSPEC, | 427 | TCA_NETEM_UNSPEC, |
428 | TCA_NETEM_CORR, | 428 | TCA_NETEM_CORR, |
429 | TCA_NETEM_DELAY_DIST, | 429 | TCA_NETEM_DELAY_DIST, |
430 | TCA_NETEM_REORDER, | ||
430 | __TCA_NETEM_MAX, | 431 | __TCA_NETEM_MAX, |
431 | }; | 432 | }; |
432 | 433 | ||
@@ -437,7 +438,7 @@ struct tc_netem_qopt | |||
437 | __u32 latency; /* added delay (us) */ | 438 | __u32 latency; /* added delay (us) */ |
438 | __u32 limit; /* fifo limit (packets) */ | 439 | __u32 limit; /* fifo limit (packets) */ |
439 | __u32 loss; /* random packet loss (0=none ~0=100%) */ | 440 | __u32 loss; /* random packet loss (0=none ~0=100%) */ |
440 | __u32 gap; /* re-ordering gap (0 for delay all) */ | 441 | __u32 gap; /* re-ordering gap (0 for none) */ |
441 | __u32 duplicate; /* random packet dup (0=none ~0=100%) */ | 442 | __u32 duplicate; /* random packet dup (0=none ~0=100%) */ |
442 | __u32 jitter; /* random jitter in latency (us) */ | 443 | __u32 jitter; /* random jitter in latency (us) */ |
443 | }; | 444 | }; |
@@ -449,6 +450,12 @@ struct tc_netem_corr | |||
449 | __u32 dup_corr; /* duplicate correlation */ | 450 | __u32 dup_corr; /* duplicate correlation */ |
450 | }; | 451 | }; |
451 | 452 | ||
453 | struct tc_netem_reorder | ||
454 | { | ||
455 | __u32 probability; | ||
456 | __u32 correlation; | ||
457 | }; | ||
458 | |||
452 | #define NETEM_DIST_SCALE 8192 | 459 | #define NETEM_DIST_SCALE 8192 |
453 | 460 | ||
454 | #endif | 461 | #endif |
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h index c3fb5984f250..d6025af7efac 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h | |||
@@ -479,6 +479,25 @@ uart_handle_cts_change(struct uart_port *port, unsigned int status) | |||
479 | } | 479 | } |
480 | } | 480 | } |
481 | 481 | ||
482 | #include <linux/tty_flip.h> | ||
483 | |||
484 | static inline void | ||
485 | uart_insert_char(struct uart_port *port, unsigned int status, | ||
486 | unsigned int overrun, unsigned int ch, unsigned int flag) | ||
487 | { | ||
488 | struct tty_struct *tty = port->info->tty; | ||
489 | |||
490 | if ((status & port->ignore_status_mask & ~overrun) == 0) | ||
491 | tty_insert_flip_char(tty, ch, flag); | ||
492 | |||
493 | /* | ||
494 | * Overrun is special. Since it's reported immediately, | ||
495 | * it doesn't affect the current character. | ||
496 | */ | ||
497 | if (status & ~port->ignore_status_mask & overrun) | ||
498 | tty_insert_flip_char(tty, 0, TTY_OVERRUN); | ||
499 | } | ||
500 | |||
482 | /* | 501 | /* |
483 | * UART_ENABLE_MS - determine if port should enable modem status irqs | 502 | * UART_ENABLE_MS - determine if port should enable modem status irqs |
484 | */ | 503 | */ |
diff --git a/include/linux/spinlock.h b/include/linux/spinlock.h index e895f3eaf53a..d6ba068719b6 100644 --- a/include/linux/spinlock.h +++ b/include/linux/spinlock.h | |||
@@ -248,7 +248,7 @@ typedef struct { | |||
248 | 248 | ||
249 | #define _spin_trylock_bh(lock) ({preempt_disable(); local_bh_disable(); \ | 249 | #define _spin_trylock_bh(lock) ({preempt_disable(); local_bh_disable(); \ |
250 | _raw_spin_trylock(lock) ? \ | 250 | _raw_spin_trylock(lock) ? \ |
251 | 1 : ({preempt_enable(); local_bh_enable(); 0;});}) | 251 | 1 : ({preempt_enable_no_resched(); local_bh_enable(); 0;});}) |
252 | 252 | ||
253 | #define _spin_lock(lock) \ | 253 | #define _spin_lock(lock) \ |
254 | do { \ | 254 | do { \ |
@@ -383,7 +383,7 @@ do { \ | |||
383 | #define _spin_unlock_bh(lock) \ | 383 | #define _spin_unlock_bh(lock) \ |
384 | do { \ | 384 | do { \ |
385 | _raw_spin_unlock(lock); \ | 385 | _raw_spin_unlock(lock); \ |
386 | preempt_enable(); \ | 386 | preempt_enable_no_resched(); \ |
387 | local_bh_enable(); \ | 387 | local_bh_enable(); \ |
388 | __release(lock); \ | 388 | __release(lock); \ |
389 | } while (0) | 389 | } while (0) |
@@ -391,7 +391,7 @@ do { \ | |||
391 | #define _write_unlock_bh(lock) \ | 391 | #define _write_unlock_bh(lock) \ |
392 | do { \ | 392 | do { \ |
393 | _raw_write_unlock(lock); \ | 393 | _raw_write_unlock(lock); \ |
394 | preempt_enable(); \ | 394 | preempt_enable_no_resched(); \ |
395 | local_bh_enable(); \ | 395 | local_bh_enable(); \ |
396 | __release(lock); \ | 396 | __release(lock); \ |
397 | } while (0) | 397 | } while (0) |
@@ -423,8 +423,8 @@ do { \ | |||
423 | #define _read_unlock_bh(lock) \ | 423 | #define _read_unlock_bh(lock) \ |
424 | do { \ | 424 | do { \ |
425 | _raw_read_unlock(lock); \ | 425 | _raw_read_unlock(lock); \ |
426 | preempt_enable_no_resched(); \ | ||
426 | local_bh_enable(); \ | 427 | local_bh_enable(); \ |
427 | preempt_enable(); \ | ||
428 | __release(lock); \ | 428 | __release(lock); \ |
429 | } while (0) | 429 | } while (0) |
430 | 430 | ||
diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h index 3a358c895188..6409d9cf5965 100644 --- a/include/linux/vmalloc.h +++ b/include/linux/vmalloc.h | |||
@@ -41,6 +41,7 @@ extern struct vm_struct *get_vm_area(unsigned long size, unsigned long flags); | |||
41 | extern struct vm_struct *__get_vm_area(unsigned long size, unsigned long flags, | 41 | extern struct vm_struct *__get_vm_area(unsigned long size, unsigned long flags, |
42 | unsigned long start, unsigned long end); | 42 | unsigned long start, unsigned long end); |
43 | extern struct vm_struct *remove_vm_area(void *addr); | 43 | extern struct vm_struct *remove_vm_area(void *addr); |
44 | extern struct vm_struct *__remove_vm_area(void *addr); | ||
44 | extern int map_vm_area(struct vm_struct *area, pgprot_t prot, | 45 | extern int map_vm_area(struct vm_struct *area, pgprot_t prot, |
45 | struct page ***pages); | 46 | struct page ***pages); |
46 | extern void unmap_vm_area(struct vm_struct *area); | 47 | extern void unmap_vm_area(struct vm_struct *area); |
diff --git a/include/linux/wait.h b/include/linux/wait.h index 17c874a8eb3f..c9486c3efb4a 100644 --- a/include/linux/wait.h +++ b/include/linux/wait.h | |||
@@ -386,9 +386,7 @@ int wake_bit_function(wait_queue_t *wait, unsigned mode, int sync, void *key); | |||
386 | wait_queue_t name = { \ | 386 | wait_queue_t name = { \ |
387 | .task = current, \ | 387 | .task = current, \ |
388 | .func = autoremove_wake_function, \ | 388 | .func = autoremove_wake_function, \ |
389 | .task_list = { .next = &(name).task_list, \ | 389 | .task_list = LIST_HEAD_INIT((name).task_list), \ |
390 | .prev = &(name).task_list, \ | ||
391 | }, \ | ||
392 | } | 390 | } |
393 | 391 | ||
394 | #define DEFINE_WAIT_BIT(name, word, bit) \ | 392 | #define DEFINE_WAIT_BIT(name, word, bit) \ |