diff options
Diffstat (limited to 'include/linux')
168 files changed, 1698 insertions, 517 deletions
diff --git a/include/linux/Kbuild b/include/linux/Kbuild index 12e9a2957caf..2124c063a7ef 100644 --- a/include/linux/Kbuild +++ b/include/linux/Kbuild | |||
@@ -41,6 +41,7 @@ header-y += baycom.h | |||
41 | header-y += bfs_fs.h | 41 | header-y += bfs_fs.h |
42 | header-y += blkpg.h | 42 | header-y += blkpg.h |
43 | header-y += bpqether.h | 43 | header-y += bpqether.h |
44 | header-y += bsg.h | ||
44 | header-y += can.h | 45 | header-y += can.h |
45 | header-y += cdk.h | 46 | header-y += cdk.h |
46 | header-y += chio.h | 47 | header-y += chio.h |
diff --git a/include/linux/acpi.h b/include/linux/acpi.h index fba8051fb297..6fce2fc2d124 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h | |||
@@ -131,22 +131,6 @@ extern int acpi_get_override_irq(int bus_irq, int *trigger, int *polarity); | |||
131 | */ | 131 | */ |
132 | void acpi_unregister_gsi (u32 gsi); | 132 | void acpi_unregister_gsi (u32 gsi); |
133 | 133 | ||
134 | struct acpi_prt_entry { | ||
135 | struct list_head node; | ||
136 | struct acpi_pci_id id; | ||
137 | u8 pin; | ||
138 | struct { | ||
139 | acpi_handle handle; | ||
140 | u32 index; | ||
141 | } link; | ||
142 | u32 irq; | ||
143 | }; | ||
144 | |||
145 | struct acpi_prt_list { | ||
146 | int count; | ||
147 | struct list_head entries; | ||
148 | }; | ||
149 | |||
150 | struct pci_dev; | 134 | struct pci_dev; |
151 | 135 | ||
152 | int acpi_pci_irq_enable (struct pci_dev *dev); | 136 | int acpi_pci_irq_enable (struct pci_dev *dev); |
@@ -270,6 +254,7 @@ int acpi_check_mem_region(resource_size_t start, resource_size_t n, | |||
270 | #ifdef CONFIG_PM_SLEEP | 254 | #ifdef CONFIG_PM_SLEEP |
271 | void __init acpi_no_s4_hw_signature(void); | 255 | void __init acpi_no_s4_hw_signature(void); |
272 | void __init acpi_old_suspend_ordering(void); | 256 | void __init acpi_old_suspend_ordering(void); |
257 | void __init acpi_s4_no_nvs(void); | ||
273 | #endif /* CONFIG_PM_SLEEP */ | 258 | #endif /* CONFIG_PM_SLEEP */ |
274 | #else /* CONFIG_ACPI */ | 259 | #else /* CONFIG_ACPI */ |
275 | 260 | ||
diff --git a/include/linux/agpgart.h b/include/linux/agpgart.h index c8fdb6e658e1..110c600c885f 100644 --- a/include/linux/agpgart.h +++ b/include/linux/agpgart.h | |||
@@ -52,7 +52,6 @@ | |||
52 | 52 | ||
53 | #ifndef __KERNEL__ | 53 | #ifndef __KERNEL__ |
54 | #include <linux/types.h> | 54 | #include <linux/types.h> |
55 | #include <asm/types.h> | ||
56 | 55 | ||
57 | struct agp_version { | 56 | struct agp_version { |
58 | __u16 major; | 57 | __u16 major; |
diff --git a/include/linux/aio_abi.h b/include/linux/aio_abi.h index 9e0172931315..2c8731664180 100644 --- a/include/linux/aio_abi.h +++ b/include/linux/aio_abi.h | |||
@@ -27,6 +27,7 @@ | |||
27 | #ifndef __LINUX__AIO_ABI_H | 27 | #ifndef __LINUX__AIO_ABI_H |
28 | #define __LINUX__AIO_ABI_H | 28 | #define __LINUX__AIO_ABI_H |
29 | 29 | ||
30 | #include <linux/types.h> | ||
30 | #include <asm/byteorder.h> | 31 | #include <asm/byteorder.h> |
31 | 32 | ||
32 | typedef unsigned long aio_context_t; | 33 | typedef unsigned long aio_context_t; |
diff --git a/include/linux/async_tx.h b/include/linux/async_tx.h index 0f50d4cc4360..45f6297821bd 100644 --- a/include/linux/async_tx.h +++ b/include/linux/async_tx.h | |||
@@ -59,9 +59,7 @@ enum async_tx_flags { | |||
59 | }; | 59 | }; |
60 | 60 | ||
61 | #ifdef CONFIG_DMA_ENGINE | 61 | #ifdef CONFIG_DMA_ENGINE |
62 | void async_tx_issue_pending_all(void); | 62 | #define async_tx_issue_pending_all dma_issue_pending_all |
63 | enum dma_status dma_wait_for_async_tx(struct dma_async_tx_descriptor *tx); | ||
64 | void async_tx_run_dependencies(struct dma_async_tx_descriptor *tx); | ||
65 | #ifdef CONFIG_ARCH_HAS_ASYNC_TX_FIND_CHANNEL | 63 | #ifdef CONFIG_ARCH_HAS_ASYNC_TX_FIND_CHANNEL |
66 | #include <asm/async_tx.h> | 64 | #include <asm/async_tx.h> |
67 | #else | 65 | #else |
@@ -77,19 +75,6 @@ static inline void async_tx_issue_pending_all(void) | |||
77 | do { } while (0); | 75 | do { } while (0); |
78 | } | 76 | } |
79 | 77 | ||
80 | static inline enum dma_status | ||
81 | dma_wait_for_async_tx(struct dma_async_tx_descriptor *tx) | ||
82 | { | ||
83 | return DMA_SUCCESS; | ||
84 | } | ||
85 | |||
86 | static inline void | ||
87 | async_tx_run_dependencies(struct dma_async_tx_descriptor *tx, | ||
88 | struct dma_chan *host_chan) | ||
89 | { | ||
90 | do { } while (0); | ||
91 | } | ||
92 | |||
93 | static inline struct dma_chan * | 78 | static inline struct dma_chan * |
94 | async_tx_find_channel(struct dma_async_tx_descriptor *depend_tx, | 79 | async_tx_find_channel(struct dma_async_tx_descriptor *depend_tx, |
95 | enum dma_transaction_type tx_type, struct page **dst, int dst_count, | 80 | enum dma_transaction_type tx_type, struct page **dst, int dst_count, |
diff --git a/include/linux/atalk.h b/include/linux/atalk.h index e9ebac2e2ecc..d34c187432ed 100644 --- a/include/linux/atalk.h +++ b/include/linux/atalk.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef __LINUX_ATALK_H__ | 1 | #ifndef __LINUX_ATALK_H__ |
2 | #define __LINUX_ATALK_H__ | 2 | #define __LINUX_ATALK_H__ |
3 | 3 | ||
4 | #include <linux/types.h> | ||
4 | #include <asm/byteorder.h> | 5 | #include <asm/byteorder.h> |
5 | 6 | ||
6 | /* | 7 | /* |
diff --git a/include/linux/atm_idt77105.h b/include/linux/atm_idt77105.h index 05621cf20709..8b724000aa50 100644 --- a/include/linux/atm_idt77105.h +++ b/include/linux/atm_idt77105.h | |||
@@ -7,7 +7,7 @@ | |||
7 | #ifndef LINUX_ATM_IDT77105_H | 7 | #ifndef LINUX_ATM_IDT77105_H |
8 | #define LINUX_ATM_IDT77105_H | 8 | #define LINUX_ATM_IDT77105_H |
9 | 9 | ||
10 | #include <asm/types.h> | 10 | #include <linux/types.h> |
11 | #include <linux/atmioc.h> | 11 | #include <linux/atmioc.h> |
12 | #include <linux/atmdev.h> | 12 | #include <linux/atmdev.h> |
13 | 13 | ||
diff --git a/include/linux/atmbr2684.h b/include/linux/atmbr2684.h index 52bf72affbba..fdb2629b6189 100644 --- a/include/linux/atmbr2684.h +++ b/include/linux/atmbr2684.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef _LINUX_ATMBR2684_H | 1 | #ifndef _LINUX_ATMBR2684_H |
2 | #define _LINUX_ATMBR2684_H | 2 | #define _LINUX_ATMBR2684_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
4 | #include <linux/atm.h> | 5 | #include <linux/atm.h> |
5 | #include <linux/if.h> /* For IFNAMSIZ */ | 6 | #include <linux/if.h> /* For IFNAMSIZ */ |
6 | 7 | ||
diff --git a/include/linux/atmel-mci.h b/include/linux/atmel-mci.h index 2a2213eefd85..2f1f95737acb 100644 --- a/include/linux/atmel-mci.h +++ b/include/linux/atmel-mci.h | |||
@@ -3,7 +3,7 @@ | |||
3 | 3 | ||
4 | #define ATMEL_MCI_MAX_NR_SLOTS 2 | 4 | #define ATMEL_MCI_MAX_NR_SLOTS 2 |
5 | 5 | ||
6 | struct dma_slave; | 6 | #include <linux/dw_dmac.h> |
7 | 7 | ||
8 | /** | 8 | /** |
9 | * struct mci_slot_pdata - board-specific per-slot configuration | 9 | * struct mci_slot_pdata - board-specific per-slot configuration |
@@ -28,11 +28,11 @@ struct mci_slot_pdata { | |||
28 | 28 | ||
29 | /** | 29 | /** |
30 | * struct mci_platform_data - board-specific MMC/SDcard configuration | 30 | * struct mci_platform_data - board-specific MMC/SDcard configuration |
31 | * @dma_slave: DMA slave interface to use in data transfers, or NULL. | 31 | * @dma_slave: DMA slave interface to use in data transfers. |
32 | * @slot: Per-slot configuration data. | 32 | * @slot: Per-slot configuration data. |
33 | */ | 33 | */ |
34 | struct mci_platform_data { | 34 | struct mci_platform_data { |
35 | struct dma_slave *dma_slave; | 35 | struct dw_dma_slave dma_slave; |
36 | struct mci_slot_pdata slot[ATMEL_MCI_MAX_NR_SLOTS]; | 36 | struct mci_slot_pdata slot[ATMEL_MCI_MAX_NR_SLOTS]; |
37 | }; | 37 | }; |
38 | 38 | ||
diff --git a/include/linux/auto_fs4.h b/include/linux/auto_fs4.h index 55fa478bd639..8b49ac48a5b7 100644 --- a/include/linux/auto_fs4.h +++ b/include/linux/auto_fs4.h | |||
@@ -12,6 +12,7 @@ | |||
12 | #define _LINUX_AUTO_FS4_H | 12 | #define _LINUX_AUTO_FS4_H |
13 | 13 | ||
14 | /* Include common v3 definitions */ | 14 | /* Include common v3 definitions */ |
15 | #include <linux/types.h> | ||
15 | #include <linux/auto_fs.h> | 16 | #include <linux/auto_fs.h> |
16 | 17 | ||
17 | /* autofs v4 definitions */ | 18 | /* autofs v4 definitions */ |
diff --git a/include/linux/backlight.h b/include/linux/backlight.h index 1ee9488ca2e4..79ca2da81c87 100644 --- a/include/linux/backlight.h +++ b/include/linux/backlight.h | |||
@@ -31,6 +31,10 @@ struct backlight_device; | |||
31 | struct fb_info; | 31 | struct fb_info; |
32 | 32 | ||
33 | struct backlight_ops { | 33 | struct backlight_ops { |
34 | unsigned int options; | ||
35 | |||
36 | #define BL_CORE_SUSPENDRESUME (1 << 0) | ||
37 | |||
34 | /* Notify the backlight driver some property has changed */ | 38 | /* Notify the backlight driver some property has changed */ |
35 | int (*update_status)(struct backlight_device *); | 39 | int (*update_status)(struct backlight_device *); |
36 | /* Return the current backlight brightness (accounting for power, | 40 | /* Return the current backlight brightness (accounting for power, |
@@ -51,7 +55,19 @@ struct backlight_properties { | |||
51 | modes; 4: full off), see FB_BLANK_XXX */ | 55 | modes; 4: full off), see FB_BLANK_XXX */ |
52 | int power; | 56 | int power; |
53 | /* FB Blanking active? (values as for power) */ | 57 | /* FB Blanking active? (values as for power) */ |
58 | /* Due to be removed, please use (state & BL_CORE_FBBLANK) */ | ||
54 | int fb_blank; | 59 | int fb_blank; |
60 | /* Flags used to signal drivers of state changes */ | ||
61 | /* Upper 4 bits are reserved for driver internal use */ | ||
62 | unsigned int state; | ||
63 | |||
64 | #define BL_CORE_SUSPENDED (1 << 0) /* backlight is suspended */ | ||
65 | #define BL_CORE_FBBLANK (1 << 1) /* backlight is under an fb blank event */ | ||
66 | #define BL_CORE_DRIVER4 (1 << 28) /* reserved for driver specific use */ | ||
67 | #define BL_CORE_DRIVER3 (1 << 29) /* reserved for driver specific use */ | ||
68 | #define BL_CORE_DRIVER2 (1 << 30) /* reserved for driver specific use */ | ||
69 | #define BL_CORE_DRIVER1 (1 << 31) /* reserved for driver specific use */ | ||
70 | |||
55 | }; | 71 | }; |
56 | 72 | ||
57 | struct backlight_device { | 73 | struct backlight_device { |
diff --git a/include/linux/bfs_fs.h b/include/linux/bfs_fs.h index 8ed6dfdcd783..1c0b355aa515 100644 --- a/include/linux/bfs_fs.h +++ b/include/linux/bfs_fs.h | |||
@@ -6,6 +6,8 @@ | |||
6 | #ifndef _LINUX_BFS_FS_H | 6 | #ifndef _LINUX_BFS_FS_H |
7 | #define _LINUX_BFS_FS_H | 7 | #define _LINUX_BFS_FS_H |
8 | 8 | ||
9 | #include <linux/types.h> | ||
10 | |||
9 | #define BFS_BSIZE_BITS 9 | 11 | #define BFS_BSIZE_BITS 9 |
10 | #define BFS_BSIZE (1<<BFS_BSIZE_BITS) | 12 | #define BFS_BSIZE (1<<BFS_BSIZE_BITS) |
11 | 13 | ||
@@ -17,7 +19,6 @@ | |||
17 | #define BFS_VDIR 2L | 19 | #define BFS_VDIR 2L |
18 | #define BFS_VREG 1L | 20 | #define BFS_VREG 1L |
19 | 21 | ||
20 | |||
21 | /* BFS inode layout on disk */ | 22 | /* BFS inode layout on disk */ |
22 | struct bfs_inode { | 23 | struct bfs_inode { |
23 | __le16 i_ino; | 24 | __le16 i_ino; |
diff --git a/include/linux/bio.h b/include/linux/bio.h index 18462c5b8fff..0942765cf8c0 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h | |||
@@ -144,7 +144,7 @@ struct bio { | |||
144 | * bit 1 -- rw-ahead when set | 144 | * bit 1 -- rw-ahead when set |
145 | * bit 2 -- barrier | 145 | * bit 2 -- barrier |
146 | * Insert a serialization point in the IO queue, forcing previously | 146 | * Insert a serialization point in the IO queue, forcing previously |
147 | * submitted IO to be completed before this oen is issued. | 147 | * submitted IO to be completed before this one is issued. |
148 | * bit 3 -- synchronous I/O hint: the block layer will unplug immediately | 148 | * bit 3 -- synchronous I/O hint: the block layer will unplug immediately |
149 | * Note that this does NOT indicate that the IO itself is sync, just | 149 | * Note that this does NOT indicate that the IO itself is sync, just |
150 | * that the block layer will not postpone issue of this IO by plugging. | 150 | * that the block layer will not postpone issue of this IO by plugging. |
@@ -163,12 +163,33 @@ struct bio { | |||
163 | #define BIO_RW 0 /* Must match RW in req flags (blkdev.h) */ | 163 | #define BIO_RW 0 /* Must match RW in req flags (blkdev.h) */ |
164 | #define BIO_RW_AHEAD 1 /* Must match FAILFAST in req flags */ | 164 | #define BIO_RW_AHEAD 1 /* Must match FAILFAST in req flags */ |
165 | #define BIO_RW_BARRIER 2 | 165 | #define BIO_RW_BARRIER 2 |
166 | #define BIO_RW_SYNC 3 | 166 | #define BIO_RW_SYNCIO 3 |
167 | #define BIO_RW_META 4 | 167 | #define BIO_RW_UNPLUG 4 |
168 | #define BIO_RW_DISCARD 5 | 168 | #define BIO_RW_META 5 |
169 | #define BIO_RW_FAILFAST_DEV 6 | 169 | #define BIO_RW_DISCARD 6 |
170 | #define BIO_RW_FAILFAST_TRANSPORT 7 | 170 | #define BIO_RW_FAILFAST_DEV 7 |
171 | #define BIO_RW_FAILFAST_DRIVER 8 | 171 | #define BIO_RW_FAILFAST_TRANSPORT 8 |
172 | #define BIO_RW_FAILFAST_DRIVER 9 | ||
173 | |||
174 | #define BIO_RW_SYNC (BIO_RW_SYNCIO | BIO_RW_UNPLUG) | ||
175 | |||
176 | #define bio_rw_flagged(bio, flag) ((bio)->bi_rw & (1 << (flag))) | ||
177 | |||
178 | /* | ||
179 | * Old defines, these should eventually be replaced by direct usage of | ||
180 | * bio_rw_flagged() | ||
181 | */ | ||
182 | #define bio_barrier(bio) bio_rw_flagged(bio, BIO_RW_BARRIER) | ||
183 | #define bio_sync(bio) bio_rw_flagged(bio, BIO_RW_SYNCIO) | ||
184 | #define bio_unplug(bio) bio_rw_flagged(bio, BIO_RW_UNPLUG) | ||
185 | #define bio_failfast_dev(bio) bio_rw_flagged(bio, BIO_RW_FAILFAST_DEV) | ||
186 | #define bio_failfast_transport(bio) \ | ||
187 | bio_rw_flagged(bio, BIO_RW_FAILFAST_TRANSPORT) | ||
188 | #define bio_failfast_driver(bio) \ | ||
189 | bio_rw_flagged(bio, BIO_RW_FAILFAST_DRIVER) | ||
190 | #define bio_rw_ahead(bio) bio_rw_flagged(bio, BIO_RW_AHEAD) | ||
191 | #define bio_rw_meta(bio) bio_rw_flagged(bio, BIO_RW_META) | ||
192 | #define bio_discard(bio) bio_rw_flagged(bio, BIO_RW_DISCARD) | ||
172 | 193 | ||
173 | /* | 194 | /* |
174 | * upper 16 bits of bi_rw define the io priority of this bio | 195 | * upper 16 bits of bi_rw define the io priority of this bio |
@@ -193,15 +214,6 @@ struct bio { | |||
193 | #define bio_offset(bio) bio_iovec((bio))->bv_offset | 214 | #define bio_offset(bio) bio_iovec((bio))->bv_offset |
194 | #define bio_segments(bio) ((bio)->bi_vcnt - (bio)->bi_idx) | 215 | #define bio_segments(bio) ((bio)->bi_vcnt - (bio)->bi_idx) |
195 | #define bio_sectors(bio) ((bio)->bi_size >> 9) | 216 | #define bio_sectors(bio) ((bio)->bi_size >> 9) |
196 | #define bio_barrier(bio) ((bio)->bi_rw & (1 << BIO_RW_BARRIER)) | ||
197 | #define bio_sync(bio) ((bio)->bi_rw & (1 << BIO_RW_SYNC)) | ||
198 | #define bio_failfast_dev(bio) ((bio)->bi_rw & (1 << BIO_RW_FAILFAST_DEV)) | ||
199 | #define bio_failfast_transport(bio) \ | ||
200 | ((bio)->bi_rw & (1 << BIO_RW_FAILFAST_TRANSPORT)) | ||
201 | #define bio_failfast_driver(bio) ((bio)->bi_rw & (1 << BIO_RW_FAILFAST_DRIVER)) | ||
202 | #define bio_rw_ahead(bio) ((bio)->bi_rw & (1 << BIO_RW_AHEAD)) | ||
203 | #define bio_rw_meta(bio) ((bio)->bi_rw & (1 << BIO_RW_META)) | ||
204 | #define bio_discard(bio) ((bio)->bi_rw & (1 << BIO_RW_DISCARD)) | ||
205 | #define bio_empty_barrier(bio) (bio_barrier(bio) && !bio_has_data(bio) && !bio_discard(bio)) | 217 | #define bio_empty_barrier(bio) (bio_barrier(bio) && !bio_has_data(bio) && !bio_discard(bio)) |
206 | 218 | ||
207 | static inline unsigned int bio_cur_sectors(struct bio *bio) | 219 | static inline unsigned int bio_cur_sectors(struct bio *bio) |
@@ -312,7 +324,6 @@ struct bio_integrity_payload { | |||
312 | void *bip_buf; /* generated integrity data */ | 324 | void *bip_buf; /* generated integrity data */ |
313 | bio_end_io_t *bip_end_io; /* saved I/O completion fn */ | 325 | bio_end_io_t *bip_end_io; /* saved I/O completion fn */ |
314 | 326 | ||
315 | int bip_error; /* saved I/O error */ | ||
316 | unsigned int bip_size; | 327 | unsigned int bip_size; |
317 | 328 | ||
318 | unsigned short bip_pool; /* pool the ivec came from */ | 329 | unsigned short bip_pool; /* pool the ivec came from */ |
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 044467ef7b11..d08c4b8219a6 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
@@ -108,6 +108,7 @@ enum rq_flag_bits { | |||
108 | __REQ_RW_META, /* metadata io request */ | 108 | __REQ_RW_META, /* metadata io request */ |
109 | __REQ_COPY_USER, /* contains copies of user pages */ | 109 | __REQ_COPY_USER, /* contains copies of user pages */ |
110 | __REQ_INTEGRITY, /* integrity metadata has been remapped */ | 110 | __REQ_INTEGRITY, /* integrity metadata has been remapped */ |
111 | __REQ_UNPLUG, /* unplug queue on submission */ | ||
111 | __REQ_NR_BITS, /* stops here */ | 112 | __REQ_NR_BITS, /* stops here */ |
112 | }; | 113 | }; |
113 | 114 | ||
@@ -134,6 +135,7 @@ enum rq_flag_bits { | |||
134 | #define REQ_RW_META (1 << __REQ_RW_META) | 135 | #define REQ_RW_META (1 << __REQ_RW_META) |
135 | #define REQ_COPY_USER (1 << __REQ_COPY_USER) | 136 | #define REQ_COPY_USER (1 << __REQ_COPY_USER) |
136 | #define REQ_INTEGRITY (1 << __REQ_INTEGRITY) | 137 | #define REQ_INTEGRITY (1 << __REQ_INTEGRITY) |
138 | #define REQ_UNPLUG (1 << __REQ_UNPLUG) | ||
137 | 139 | ||
138 | #define BLK_MAX_CDB 16 | 140 | #define BLK_MAX_CDB 16 |
139 | 141 | ||
@@ -449,6 +451,11 @@ struct request_queue | |||
449 | #define QUEUE_FLAG_STACKABLE 13 /* supports request stacking */ | 451 | #define QUEUE_FLAG_STACKABLE 13 /* supports request stacking */ |
450 | #define QUEUE_FLAG_NONROT 14 /* non-rotational device (SSD) */ | 452 | #define QUEUE_FLAG_NONROT 14 /* non-rotational device (SSD) */ |
451 | #define QUEUE_FLAG_VIRT QUEUE_FLAG_NONROT /* paravirt device */ | 453 | #define QUEUE_FLAG_VIRT QUEUE_FLAG_NONROT /* paravirt device */ |
454 | #define QUEUE_FLAG_IO_STAT 15 /* do IO stats */ | ||
455 | |||
456 | #define QUEUE_FLAG_DEFAULT ((1 << QUEUE_FLAG_IO_STAT) | \ | ||
457 | (1 << QUEUE_FLAG_CLUSTER) | \ | ||
458 | 1 << QUEUE_FLAG_STACKABLE) | ||
452 | 459 | ||
453 | static inline int queue_is_locked(struct request_queue *q) | 460 | static inline int queue_is_locked(struct request_queue *q) |
454 | { | 461 | { |
@@ -565,6 +572,7 @@ enum { | |||
565 | #define blk_queue_stopped(q) test_bit(QUEUE_FLAG_STOPPED, &(q)->queue_flags) | 572 | #define blk_queue_stopped(q) test_bit(QUEUE_FLAG_STOPPED, &(q)->queue_flags) |
566 | #define blk_queue_nomerges(q) test_bit(QUEUE_FLAG_NOMERGES, &(q)->queue_flags) | 573 | #define blk_queue_nomerges(q) test_bit(QUEUE_FLAG_NOMERGES, &(q)->queue_flags) |
567 | #define blk_queue_nonrot(q) test_bit(QUEUE_FLAG_NONROT, &(q)->queue_flags) | 574 | #define blk_queue_nonrot(q) test_bit(QUEUE_FLAG_NONROT, &(q)->queue_flags) |
575 | #define blk_queue_io_stat(q) test_bit(QUEUE_FLAG_IO_STAT, &(q)->queue_flags) | ||
568 | #define blk_queue_flushing(q) ((q)->ordseq) | 576 | #define blk_queue_flushing(q) ((q)->ordseq) |
569 | #define blk_queue_stackable(q) \ | 577 | #define blk_queue_stackable(q) \ |
570 | test_bit(QUEUE_FLAG_STACKABLE, &(q)->queue_flags) | 578 | test_bit(QUEUE_FLAG_STACKABLE, &(q)->queue_flags) |
diff --git a/include/linux/blktrace_api.h b/include/linux/blktrace_api.h index 1dba3493d520..25379cba2370 100644 --- a/include/linux/blktrace_api.h +++ b/include/linux/blktrace_api.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef BLKTRACE_H | 1 | #ifndef BLKTRACE_H |
2 | #define BLKTRACE_H | 2 | #define BLKTRACE_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
4 | #ifdef __KERNEL__ | 5 | #ifdef __KERNEL__ |
5 | #include <linux/blkdev.h> | 6 | #include <linux/blkdev.h> |
6 | #include <linux/relay.h> | 7 | #include <linux/relay.h> |
diff --git a/include/linux/buffer_head.h b/include/linux/buffer_head.h index 8605f8a74df9..bd7ac793be19 100644 --- a/include/linux/buffer_head.h +++ b/include/linux/buffer_head.h | |||
@@ -171,7 +171,7 @@ void __wait_on_buffer(struct buffer_head *); | |||
171 | wait_queue_head_t *bh_waitq_head(struct buffer_head *bh); | 171 | wait_queue_head_t *bh_waitq_head(struct buffer_head *bh); |
172 | int fsync_bdev(struct block_device *); | 172 | int fsync_bdev(struct block_device *); |
173 | struct super_block *freeze_bdev(struct block_device *); | 173 | struct super_block *freeze_bdev(struct block_device *); |
174 | void thaw_bdev(struct block_device *, struct super_block *); | 174 | int thaw_bdev(struct block_device *, struct super_block *); |
175 | int fsync_super(struct super_block *); | 175 | int fsync_super(struct super_block *); |
176 | int fsync_no_super(struct block_device *); | 176 | int fsync_no_super(struct block_device *); |
177 | struct buffer_head *__find_get_block(struct block_device *bdev, sector_t block, | 177 | struct buffer_head *__find_get_block(struct block_device *bdev, sector_t block, |
@@ -346,6 +346,15 @@ static inline int remove_inode_buffers(struct inode *inode) { return 1; } | |||
346 | static inline int sync_mapping_buffers(struct address_space *mapping) { return 0; } | 346 | static inline int sync_mapping_buffers(struct address_space *mapping) { return 0; } |
347 | static inline void invalidate_bdev(struct block_device *bdev) {} | 347 | static inline void invalidate_bdev(struct block_device *bdev) {} |
348 | 348 | ||
349 | static inline struct super_block *freeze_bdev(struct block_device *sb) | ||
350 | { | ||
351 | return NULL; | ||
352 | } | ||
353 | |||
354 | static inline int thaw_bdev(struct block_device *bdev, struct super_block *sb) | ||
355 | { | ||
356 | return 0; | ||
357 | } | ||
349 | 358 | ||
350 | #endif /* CONFIG_BLOCK */ | 359 | #endif /* CONFIG_BLOCK */ |
351 | #endif /* _LINUX_BUFFER_HEAD_H */ | 360 | #endif /* _LINUX_BUFFER_HEAD_H */ |
diff --git a/include/linux/can/bcm.h b/include/linux/can/bcm.h index 7f293273c444..1432b278c52d 100644 --- a/include/linux/can/bcm.h +++ b/include/linux/can/bcm.h | |||
@@ -14,6 +14,8 @@ | |||
14 | #ifndef CAN_BCM_H | 14 | #ifndef CAN_BCM_H |
15 | #define CAN_BCM_H | 15 | #define CAN_BCM_H |
16 | 16 | ||
17 | #include <linux/types.h> | ||
18 | |||
17 | /** | 19 | /** |
18 | * struct bcm_msg_head - head of messages to/from the broadcast manager | 20 | * struct bcm_msg_head - head of messages to/from the broadcast manager |
19 | * @opcode: opcode, see enum below. | 21 | * @opcode: opcode, see enum below. |
diff --git a/include/linux/capability.h b/include/linux/capability.h index 02bdb768d43b..1b9872556131 100644 --- a/include/linux/capability.h +++ b/include/linux/capability.h | |||
@@ -69,10 +69,6 @@ typedef struct __user_cap_data_struct { | |||
69 | #define VFS_CAP_U32 VFS_CAP_U32_2 | 69 | #define VFS_CAP_U32 VFS_CAP_U32_2 |
70 | #define VFS_CAP_REVISION VFS_CAP_REVISION_2 | 70 | #define VFS_CAP_REVISION VFS_CAP_REVISION_2 |
71 | 71 | ||
72 | #ifdef CONFIG_SECURITY_FILE_CAPABILITIES | ||
73 | extern int file_caps_enabled; | ||
74 | #endif | ||
75 | |||
76 | struct vfs_cap_data { | 72 | struct vfs_cap_data { |
77 | __le32 magic_etc; /* Little endian */ | 73 | __le32 magic_etc; /* Little endian */ |
78 | struct { | 74 | struct { |
@@ -96,6 +92,10 @@ struct vfs_cap_data { | |||
96 | #define _KERNEL_CAPABILITY_VERSION _LINUX_CAPABILITY_VERSION_3 | 92 | #define _KERNEL_CAPABILITY_VERSION _LINUX_CAPABILITY_VERSION_3 |
97 | #define _KERNEL_CAPABILITY_U32S _LINUX_CAPABILITY_U32S_3 | 93 | #define _KERNEL_CAPABILITY_U32S _LINUX_CAPABILITY_U32S_3 |
98 | 94 | ||
95 | #ifdef CONFIG_SECURITY_FILE_CAPABILITIES | ||
96 | extern int file_caps_enabled; | ||
97 | #endif | ||
98 | |||
99 | typedef struct kernel_cap_struct { | 99 | typedef struct kernel_cap_struct { |
100 | __u32 cap[_KERNEL_CAPABILITY_U32S]; | 100 | __u32 cap[_KERNEL_CAPABILITY_U32S]; |
101 | } kernel_cap_t; | 101 | } kernel_cap_t; |
diff --git a/include/linux/capi.h b/include/linux/capi.h index fdebaaa9f66e..65100d6cb89b 100644 --- a/include/linux/capi.h +++ b/include/linux/capi.h | |||
@@ -12,7 +12,7 @@ | |||
12 | #ifndef __LINUX_CAPI_H__ | 12 | #ifndef __LINUX_CAPI_H__ |
13 | #define __LINUX_CAPI_H__ | 13 | #define __LINUX_CAPI_H__ |
14 | 14 | ||
15 | #include <asm/types.h> | 15 | #include <linux/types.h> |
16 | #include <linux/ioctl.h> | 16 | #include <linux/ioctl.h> |
17 | #ifndef __KERNEL__ | 17 | #ifndef __KERNEL__ |
18 | #include <linux/kernelcapi.h> | 18 | #include <linux/kernelcapi.h> |
diff --git a/include/linux/cdrom.h b/include/linux/cdrom.h index 0b49e08d3cb0..78e904796622 100644 --- a/include/linux/cdrom.h +++ b/include/linux/cdrom.h | |||
@@ -11,6 +11,7 @@ | |||
11 | #ifndef _LINUX_CDROM_H | 11 | #ifndef _LINUX_CDROM_H |
12 | #define _LINUX_CDROM_H | 12 | #define _LINUX_CDROM_H |
13 | 13 | ||
14 | #include <linux/types.h> | ||
14 | #include <asm/byteorder.h> | 15 | #include <asm/byteorder.h> |
15 | 16 | ||
16 | /******************************************************* | 17 | /******************************************************* |
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/cgroupstats.h b/include/linux/cgroupstats.h index 4f53abf6855d..3753c33160d1 100644 --- a/include/linux/cgroupstats.h +++ b/include/linux/cgroupstats.h | |||
@@ -15,6 +15,7 @@ | |||
15 | #ifndef _LINUX_CGROUPSTATS_H | 15 | #ifndef _LINUX_CGROUPSTATS_H |
16 | #define _LINUX_CGROUPSTATS_H | 16 | #define _LINUX_CGROUPSTATS_H |
17 | 17 | ||
18 | #include <linux/types.h> | ||
18 | #include <linux/taskstats.h> | 19 | #include <linux/taskstats.h> |
19 | 20 | ||
20 | /* | 21 | /* |
diff --git a/include/linux/clockchips.h b/include/linux/clockchips.h index cea153697ec7..3a1dbba4d3ae 100644 --- a/include/linux/clockchips.h +++ b/include/linux/clockchips.h | |||
@@ -36,6 +36,7 @@ enum clock_event_nofitiers { | |||
36 | CLOCK_EVT_NOTIFY_BROADCAST_EXIT, | 36 | CLOCK_EVT_NOTIFY_BROADCAST_EXIT, |
37 | CLOCK_EVT_NOTIFY_SUSPEND, | 37 | CLOCK_EVT_NOTIFY_SUSPEND, |
38 | CLOCK_EVT_NOTIFY_RESUME, | 38 | CLOCK_EVT_NOTIFY_RESUME, |
39 | CLOCK_EVT_NOTIFY_CPU_DYING, | ||
39 | CLOCK_EVT_NOTIFY_CPU_DEAD, | 40 | CLOCK_EVT_NOTIFY_CPU_DEAD, |
40 | }; | 41 | }; |
41 | 42 | ||
diff --git a/include/linux/compat.h b/include/linux/compat.h index e88f3ecf38b4..3fd2194ff573 100644 --- a/include/linux/compat.h +++ b/include/linux/compat.h | |||
@@ -280,5 +280,18 @@ asmlinkage long compat_sys_timerfd_settime(int ufd, int flags, | |||
280 | asmlinkage long compat_sys_timerfd_gettime(int ufd, | 280 | asmlinkage long compat_sys_timerfd_gettime(int ufd, |
281 | struct compat_itimerspec __user *otmr); | 281 | struct compat_itimerspec __user *otmr); |
282 | 282 | ||
283 | asmlinkage long compat_sys_move_pages(pid_t pid, unsigned long nr_page, | ||
284 | __u32 __user *pages, | ||
285 | const int __user *nodes, | ||
286 | int __user *status, | ||
287 | int flags); | ||
288 | asmlinkage long compat_sys_futimesat(unsigned int dfd, char __user *filename, | ||
289 | struct compat_timeval __user *t); | ||
290 | asmlinkage long compat_sys_newfstatat(unsigned int dfd, char __user * filename, | ||
291 | struct compat_stat __user *statbuf, | ||
292 | int flag); | ||
293 | asmlinkage long compat_sys_openat(unsigned int dfd, const char __user *filename, | ||
294 | int flags, int mode); | ||
295 | |||
283 | #endif /* CONFIG_COMPAT */ | 296 | #endif /* CONFIG_COMPAT */ |
284 | #endif /* _LINUX_COMPAT_H */ | 297 | #endif /* _LINUX_COMPAT_H */ |
diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h index af40f8eb86f0..1514d534deeb 100644 --- a/include/linux/compiler-gcc.h +++ b/include/linux/compiler-gcc.h | |||
@@ -11,9 +11,19 @@ | |||
11 | /* The "volatile" is due to gcc bugs */ | 11 | /* The "volatile" is due to gcc bugs */ |
12 | #define barrier() __asm__ __volatile__("": : :"memory") | 12 | #define barrier() __asm__ __volatile__("": : :"memory") |
13 | 13 | ||
14 | /* This macro obfuscates arithmetic on a variable address so that gcc | ||
15 | shouldn't recognize the original var, and make assumptions about it */ | ||
16 | /* | 14 | /* |
15 | * This macro obfuscates arithmetic on a variable address so that gcc | ||
16 | * shouldn't recognize the original var, and make assumptions about it. | ||
17 | * | ||
18 | * This is needed because the C standard makes it undefined to do | ||
19 | * pointer arithmetic on "objects" outside their boundaries and the | ||
20 | * gcc optimizers assume this is the case. In particular they | ||
21 | * assume such arithmetic does not wrap. | ||
22 | * | ||
23 | * A miscompilation has been observed because of this on PPC. | ||
24 | * To work around it we hide the relationship of the pointer and the object | ||
25 | * using this macro. | ||
26 | * | ||
17 | * Versions of the ppc64 compiler before 4.1 had a bug where use of | 27 | * Versions of the ppc64 compiler before 4.1 had a bug where use of |
18 | * RELOC_HIDE could trash r30. The bug can be worked around by changing | 28 | * RELOC_HIDE could trash r30. The bug can be worked around by changing |
19 | * the inline assembly constraint from =g to =r, in this particular | 29 | * the inline assembly constraint from =g to =r, in this particular |
diff --git a/include/linux/connector.h b/include/linux/connector.h index 5c7f9468f753..34f2789d9b9b 100644 --- a/include/linux/connector.h +++ b/include/linux/connector.h | |||
@@ -22,7 +22,7 @@ | |||
22 | #ifndef __CONNECTOR_H | 22 | #ifndef __CONNECTOR_H |
23 | #define __CONNECTOR_H | 23 | #define __CONNECTOR_H |
24 | 24 | ||
25 | #include <asm/types.h> | 25 | #include <linux/types.h> |
26 | 26 | ||
27 | #define CN_IDX_CONNECTOR 0xffffffff | 27 | #define CN_IDX_CONNECTOR 0xffffffff |
28 | #define CN_VAL_CONNECTOR 0xffffffff | 28 | #define CN_VAL_CONNECTOR 0xffffffff |
diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h index 484b3abf61bb..384b38d3e8e2 100644 --- a/include/linux/cpufreq.h +++ b/include/linux/cpufreq.h | |||
@@ -80,8 +80,8 @@ struct cpufreq_real_policy { | |||
80 | }; | 80 | }; |
81 | 81 | ||
82 | struct cpufreq_policy { | 82 | struct cpufreq_policy { |
83 | cpumask_t cpus; /* CPUs requiring sw coordination */ | 83 | cpumask_var_t cpus; /* CPUs requiring sw coordination */ |
84 | cpumask_t related_cpus; /* CPUs with any coordination */ | 84 | cpumask_var_t related_cpus; /* CPUs with any coordination */ |
85 | unsigned int shared_type; /* ANY or ALL affected CPUs | 85 | unsigned int shared_type; /* ANY or ALL affected CPUs |
86 | should set cpufreq */ | 86 | should set cpufreq */ |
87 | unsigned int cpu; /* cpu nr of registered CPU */ | 87 | unsigned int cpu; /* cpu nr of registered CPU */ |
diff --git a/include/linux/cyclades.h b/include/linux/cyclades.h index 2d3d1e04ba92..d06fbf286346 100644 --- a/include/linux/cyclades.h +++ b/include/linux/cyclades.h | |||
@@ -150,8 +150,6 @@ struct CYZ_BOOT_CTRL { | |||
150 | * architectures and compilers. | 150 | * architectures and compilers. |
151 | */ | 151 | */ |
152 | 152 | ||
153 | #include <asm/types.h> | ||
154 | |||
155 | typedef __u64 ucdouble; /* 64 bits, unsigned */ | 153 | typedef __u64 ucdouble; /* 64 bits, unsigned */ |
156 | typedef __u32 uclong; /* 32 bits, unsigned */ | 154 | typedef __u32 uclong; /* 32 bits, unsigned */ |
157 | typedef __u16 ucshort; /* 16 bits, unsigned */ | 155 | typedef __u16 ucshort; /* 16 bits, unsigned */ |
diff --git a/include/linux/debugfs.h b/include/linux/debugfs.h index 23936b16426b..af0e01d4c663 100644 --- a/include/linux/debugfs.h +++ b/include/linux/debugfs.h | |||
@@ -162,6 +162,13 @@ static inline struct dentry *debugfs_create_x32(const char *name, mode_t mode, | |||
162 | return ERR_PTR(-ENODEV); | 162 | return ERR_PTR(-ENODEV); |
163 | } | 163 | } |
164 | 164 | ||
165 | static inline struct dentry *debugfs_create_size_t(const char *name, mode_t mode, | ||
166 | struct dentry *parent, | ||
167 | size_t *value) | ||
168 | { | ||
169 | return ERR_PTR(-ENODEV); | ||
170 | } | ||
171 | |||
165 | static inline struct dentry *debugfs_create_bool(const char *name, mode_t mode, | 172 | static inline struct dentry *debugfs_create_bool(const char *name, mode_t mode, |
166 | struct dentry *parent, | 173 | struct dentry *parent, |
167 | u32 *value) | 174 | u32 *value) |
diff --git a/include/linux/device.h b/include/linux/device.h index 7d9da4b4993f..45e5b1921fbb 100644 --- a/include/linux/device.h +++ b/include/linux/device.h | |||
@@ -28,7 +28,6 @@ | |||
28 | #define BUS_ID_SIZE 20 | 28 | #define BUS_ID_SIZE 20 |
29 | 29 | ||
30 | struct device; | 30 | struct device; |
31 | struct device_private; | ||
32 | struct device_driver; | 31 | struct device_driver; |
33 | struct driver_private; | 32 | struct driver_private; |
34 | struct class; | 33 | struct class; |
@@ -366,10 +365,12 @@ struct device_dma_parameters { | |||
366 | }; | 365 | }; |
367 | 366 | ||
368 | struct device { | 367 | struct device { |
368 | struct klist klist_children; | ||
369 | struct klist_node knode_parent; /* node in sibling list */ | ||
370 | struct klist_node knode_driver; | ||
371 | struct klist_node knode_bus; | ||
369 | struct device *parent; | 372 | struct device *parent; |
370 | 373 | ||
371 | struct device_private *p; | ||
372 | |||
373 | struct kobject kobj; | 374 | struct kobject kobj; |
374 | char bus_id[BUS_ID_SIZE]; /* position on parent bus */ | 375 | char bus_id[BUS_ID_SIZE]; /* position on parent bus */ |
375 | unsigned uevent_suppress:1; | 376 | unsigned uevent_suppress:1; |
diff --git a/include/linux/dio.h b/include/linux/dio.h index 1e65ebc2a3db..b2dd31ca1710 100644 --- a/include/linux/dio.h +++ b/include/linux/dio.h | |||
@@ -241,7 +241,7 @@ struct dio_driver { | |||
241 | 241 | ||
242 | extern int dio_find(int deviceid); | 242 | extern int dio_find(int deviceid); |
243 | extern unsigned long dio_scodetophysaddr(int scode); | 243 | extern unsigned long dio_scodetophysaddr(int scode); |
244 | extern void dio_create_sysfs_dev_files(struct dio_dev *); | 244 | extern int dio_create_sysfs_dev_files(struct dio_dev *); |
245 | 245 | ||
246 | /* New-style probing */ | 246 | /* New-style probing */ |
247 | extern int dio_register_driver(struct dio_driver *); | 247 | extern int dio_register_driver(struct dio_driver *); |
diff --git a/include/linux/dlm_plock.h b/include/linux/dlm_plock.h index 18d5fdbceb74..2dd21243104f 100644 --- a/include/linux/dlm_plock.h +++ b/include/linux/dlm_plock.h | |||
@@ -9,6 +9,8 @@ | |||
9 | #ifndef __DLM_PLOCK_DOT_H__ | 9 | #ifndef __DLM_PLOCK_DOT_H__ |
10 | #define __DLM_PLOCK_DOT_H__ | 10 | #define __DLM_PLOCK_DOT_H__ |
11 | 11 | ||
12 | #include <linux/types.h> | ||
13 | |||
12 | #define DLM_PLOCK_MISC_NAME "dlm_plock" | 14 | #define DLM_PLOCK_MISC_NAME "dlm_plock" |
13 | 15 | ||
14 | #define DLM_PLOCK_VERSION_MAJOR 1 | 16 | #define DLM_PLOCK_VERSION_MAJOR 1 |
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index adb0b084eb5a..3e0f64c335c8 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h | |||
@@ -29,32 +29,6 @@ | |||
29 | #include <linux/dma-mapping.h> | 29 | #include <linux/dma-mapping.h> |
30 | 30 | ||
31 | /** | 31 | /** |
32 | * enum dma_state - resource PNP/power management state | ||
33 | * @DMA_RESOURCE_SUSPEND: DMA device going into low power state | ||
34 | * @DMA_RESOURCE_RESUME: DMA device returning to full power | ||
35 | * @DMA_RESOURCE_AVAILABLE: DMA device available to the system | ||
36 | * @DMA_RESOURCE_REMOVED: DMA device removed from the system | ||
37 | */ | ||
38 | enum dma_state { | ||
39 | DMA_RESOURCE_SUSPEND, | ||
40 | DMA_RESOURCE_RESUME, | ||
41 | DMA_RESOURCE_AVAILABLE, | ||
42 | DMA_RESOURCE_REMOVED, | ||
43 | }; | ||
44 | |||
45 | /** | ||
46 | * enum dma_state_client - state of the channel in the client | ||
47 | * @DMA_ACK: client would like to use, or was using this channel | ||
48 | * @DMA_DUP: client has already seen this channel, or is not using this channel | ||
49 | * @DMA_NAK: client does not want to see any more channels | ||
50 | */ | ||
51 | enum dma_state_client { | ||
52 | DMA_ACK, | ||
53 | DMA_DUP, | ||
54 | DMA_NAK, | ||
55 | }; | ||
56 | |||
57 | /** | ||
58 | * typedef dma_cookie_t - an opaque DMA cookie | 32 | * typedef dma_cookie_t - an opaque DMA cookie |
59 | * | 33 | * |
60 | * if dma_cookie_t is >0 it's a DMA request cookie, <0 it's an error code | 34 | * if dma_cookie_t is >0 it's a DMA request cookie, <0 it's an error code |
@@ -89,23 +63,13 @@ enum dma_transaction_type { | |||
89 | DMA_MEMSET, | 63 | DMA_MEMSET, |
90 | DMA_MEMCPY_CRC32C, | 64 | DMA_MEMCPY_CRC32C, |
91 | DMA_INTERRUPT, | 65 | DMA_INTERRUPT, |
66 | DMA_PRIVATE, | ||
92 | DMA_SLAVE, | 67 | DMA_SLAVE, |
93 | }; | 68 | }; |
94 | 69 | ||
95 | /* last transaction type for creation of the capabilities mask */ | 70 | /* last transaction type for creation of the capabilities mask */ |
96 | #define DMA_TX_TYPE_END (DMA_SLAVE + 1) | 71 | #define DMA_TX_TYPE_END (DMA_SLAVE + 1) |
97 | 72 | ||
98 | /** | ||
99 | * enum dma_slave_width - DMA slave register access width. | ||
100 | * @DMA_SLAVE_WIDTH_8BIT: Do 8-bit slave register accesses | ||
101 | * @DMA_SLAVE_WIDTH_16BIT: Do 16-bit slave register accesses | ||
102 | * @DMA_SLAVE_WIDTH_32BIT: Do 32-bit slave register accesses | ||
103 | */ | ||
104 | enum dma_slave_width { | ||
105 | DMA_SLAVE_WIDTH_8BIT, | ||
106 | DMA_SLAVE_WIDTH_16BIT, | ||
107 | DMA_SLAVE_WIDTH_32BIT, | ||
108 | }; | ||
109 | 73 | ||
110 | /** | 74 | /** |
111 | * enum dma_ctrl_flags - DMA flags to augment operation preparation, | 75 | * enum dma_ctrl_flags - DMA flags to augment operation preparation, |
@@ -132,32 +96,6 @@ enum dma_ctrl_flags { | |||
132 | typedef struct { DECLARE_BITMAP(bits, DMA_TX_TYPE_END); } dma_cap_mask_t; | 96 | typedef struct { DECLARE_BITMAP(bits, DMA_TX_TYPE_END); } dma_cap_mask_t; |
133 | 97 | ||
134 | /** | 98 | /** |
135 | * struct dma_slave - Information about a DMA slave | ||
136 | * @dev: device acting as DMA slave | ||
137 | * @dma_dev: required DMA master device. If non-NULL, the client can not be | ||
138 | * bound to other masters than this. | ||
139 | * @tx_reg: physical address of data register used for | ||
140 | * memory-to-peripheral transfers | ||
141 | * @rx_reg: physical address of data register used for | ||
142 | * peripheral-to-memory transfers | ||
143 | * @reg_width: peripheral register width | ||
144 | * | ||
145 | * If dma_dev is non-NULL, the client can not be bound to other DMA | ||
146 | * masters than the one corresponding to this device. The DMA master | ||
147 | * driver may use this to determine if there is controller-specific | ||
148 | * data wrapped around this struct. Drivers of platform code that sets | ||
149 | * the dma_dev field must therefore make sure to use an appropriate | ||
150 | * controller-specific dma slave structure wrapping this struct. | ||
151 | */ | ||
152 | struct dma_slave { | ||
153 | struct device *dev; | ||
154 | struct device *dma_dev; | ||
155 | dma_addr_t tx_reg; | ||
156 | dma_addr_t rx_reg; | ||
157 | enum dma_slave_width reg_width; | ||
158 | }; | ||
159 | |||
160 | /** | ||
161 | * struct dma_chan_percpu - the per-CPU part of struct dma_chan | 99 | * struct dma_chan_percpu - the per-CPU part of struct dma_chan |
162 | * @refcount: local_t used for open-coded "bigref" counting | 100 | * @refcount: local_t used for open-coded "bigref" counting |
163 | * @memcpy_count: transaction counter | 101 | * @memcpy_count: transaction counter |
@@ -165,7 +103,6 @@ struct dma_slave { | |||
165 | */ | 103 | */ |
166 | 104 | ||
167 | struct dma_chan_percpu { | 105 | struct dma_chan_percpu { |
168 | local_t refcount; | ||
169 | /* stats */ | 106 | /* stats */ |
170 | unsigned long memcpy_count; | 107 | unsigned long memcpy_count; |
171 | unsigned long bytes_transferred; | 108 | unsigned long bytes_transferred; |
@@ -176,13 +113,14 @@ struct dma_chan_percpu { | |||
176 | * @device: ptr to the dma device who supplies this channel, always !%NULL | 113 | * @device: ptr to the dma device who supplies this channel, always !%NULL |
177 | * @cookie: last cookie value returned to client | 114 | * @cookie: last cookie value returned to client |
178 | * @chan_id: channel ID for sysfs | 115 | * @chan_id: channel ID for sysfs |
179 | * @class_dev: class device for sysfs | 116 | * @dev: class device for sysfs |
180 | * @refcount: kref, used in "bigref" slow-mode | 117 | * @refcount: kref, used in "bigref" slow-mode |
181 | * @slow_ref: indicates that the DMA channel is free | 118 | * @slow_ref: indicates that the DMA channel is free |
182 | * @rcu: the DMA channel's RCU head | 119 | * @rcu: the DMA channel's RCU head |
183 | * @device_node: used to add this to the device chan list | 120 | * @device_node: used to add this to the device chan list |
184 | * @local: per-cpu pointer to a struct dma_chan_percpu | 121 | * @local: per-cpu pointer to a struct dma_chan_percpu |
185 | * @client-count: how many clients are using this channel | 122 | * @client-count: how many clients are using this channel |
123 | * @table_count: number of appearances in the mem-to-mem allocation table | ||
186 | */ | 124 | */ |
187 | struct dma_chan { | 125 | struct dma_chan { |
188 | struct dma_device *device; | 126 | struct dma_device *device; |
@@ -190,73 +128,47 @@ struct dma_chan { | |||
190 | 128 | ||
191 | /* sysfs */ | 129 | /* sysfs */ |
192 | int chan_id; | 130 | int chan_id; |
193 | struct device dev; | 131 | struct dma_chan_dev *dev; |
194 | |||
195 | struct kref refcount; | ||
196 | int slow_ref; | ||
197 | struct rcu_head rcu; | ||
198 | 132 | ||
199 | struct list_head device_node; | 133 | struct list_head device_node; |
200 | struct dma_chan_percpu *local; | 134 | struct dma_chan_percpu *local; |
201 | int client_count; | 135 | int client_count; |
136 | int table_count; | ||
202 | }; | 137 | }; |
203 | 138 | ||
204 | #define to_dma_chan(p) container_of(p, struct dma_chan, dev) | 139 | /** |
205 | 140 | * struct dma_chan_dev - relate sysfs device node to backing channel device | |
206 | void dma_chan_cleanup(struct kref *kref); | 141 | * @chan - driver channel device |
207 | 142 | * @device - sysfs device | |
208 | static inline void dma_chan_get(struct dma_chan *chan) | 143 | * @dev_id - parent dma_device dev_id |
209 | { | 144 | * @idr_ref - reference count to gate release of dma_device dev_id |
210 | if (unlikely(chan->slow_ref)) | 145 | */ |
211 | kref_get(&chan->refcount); | 146 | struct dma_chan_dev { |
212 | else { | 147 | struct dma_chan *chan; |
213 | local_inc(&(per_cpu_ptr(chan->local, get_cpu())->refcount)); | 148 | struct device device; |
214 | put_cpu(); | 149 | int dev_id; |
215 | } | 150 | atomic_t *idr_ref; |
216 | } | 151 | }; |
217 | 152 | ||
218 | static inline void dma_chan_put(struct dma_chan *chan) | 153 | static inline const char *dma_chan_name(struct dma_chan *chan) |
219 | { | 154 | { |
220 | if (unlikely(chan->slow_ref)) | 155 | return dev_name(&chan->dev->device); |
221 | kref_put(&chan->refcount, dma_chan_cleanup); | ||
222 | else { | ||
223 | local_dec(&(per_cpu_ptr(chan->local, get_cpu())->refcount)); | ||
224 | put_cpu(); | ||
225 | } | ||
226 | } | 156 | } |
227 | 157 | ||
228 | /* | 158 | void dma_chan_cleanup(struct kref *kref); |
229 | * typedef dma_event_callback - function pointer to a DMA event callback | ||
230 | * For each channel added to the system this routine is called for each client. | ||
231 | * If the client would like to use the channel it returns '1' to signal (ack) | ||
232 | * the dmaengine core to take out a reference on the channel and its | ||
233 | * corresponding device. A client must not 'ack' an available channel more | ||
234 | * than once. When a channel is removed all clients are notified. If a client | ||
235 | * is using the channel it must 'ack' the removal. A client must not 'ack' a | ||
236 | * removed channel more than once. | ||
237 | * @client - 'this' pointer for the client context | ||
238 | * @chan - channel to be acted upon | ||
239 | * @state - available or removed | ||
240 | */ | ||
241 | struct dma_client; | ||
242 | typedef enum dma_state_client (*dma_event_callback) (struct dma_client *client, | ||
243 | struct dma_chan *chan, enum dma_state state); | ||
244 | 159 | ||
245 | /** | 160 | /** |
246 | * struct dma_client - info on the entity making use of DMA services | 161 | * typedef dma_filter_fn - callback filter for dma_request_channel |
247 | * @event_callback: func ptr to call when something happens | 162 | * @chan: channel to be reviewed |
248 | * @cap_mask: only return channels that satisfy the requested capabilities | 163 | * @filter_param: opaque parameter passed through dma_request_channel |
249 | * a value of zero corresponds to any capability | 164 | * |
250 | * @slave: data for preparing slave transfer. Must be non-NULL iff the | 165 | * When this optional parameter is specified in a call to dma_request_channel a |
251 | * DMA_SLAVE capability is requested. | 166 | * suitable channel is passed to this routine for further dispositioning before |
252 | * @global_node: list_head for global dma_client_list | 167 | * being returned. Where 'suitable' indicates a non-busy channel that |
168 | * satisfies the given capability mask. It returns 'true' to indicate that the | ||
169 | * channel is suitable. | ||
253 | */ | 170 | */ |
254 | struct dma_client { | 171 | typedef bool (*dma_filter_fn)(struct dma_chan *chan, void *filter_param); |
255 | dma_event_callback event_callback; | ||
256 | dma_cap_mask_t cap_mask; | ||
257 | struct dma_slave *slave; | ||
258 | struct list_head global_node; | ||
259 | }; | ||
260 | 172 | ||
261 | typedef void (*dma_async_tx_callback)(void *dma_async_param); | 173 | typedef void (*dma_async_tx_callback)(void *dma_async_param); |
262 | /** | 174 | /** |
@@ -323,14 +235,10 @@ struct dma_device { | |||
323 | dma_cap_mask_t cap_mask; | 235 | dma_cap_mask_t cap_mask; |
324 | int max_xor; | 236 | int max_xor; |
325 | 237 | ||
326 | struct kref refcount; | ||
327 | struct completion done; | ||
328 | |||
329 | int dev_id; | 238 | int dev_id; |
330 | struct device *dev; | 239 | struct device *dev; |
331 | 240 | ||
332 | int (*device_alloc_chan_resources)(struct dma_chan *chan, | 241 | int (*device_alloc_chan_resources)(struct dma_chan *chan); |
333 | struct dma_client *client); | ||
334 | void (*device_free_chan_resources)(struct dma_chan *chan); | 242 | void (*device_free_chan_resources)(struct dma_chan *chan); |
335 | 243 | ||
336 | struct dma_async_tx_descriptor *(*device_prep_dma_memcpy)( | 244 | struct dma_async_tx_descriptor *(*device_prep_dma_memcpy)( |
@@ -362,9 +270,18 @@ struct dma_device { | |||
362 | 270 | ||
363 | /* --- public DMA engine API --- */ | 271 | /* --- public DMA engine API --- */ |
364 | 272 | ||
365 | void dma_async_client_register(struct dma_client *client); | 273 | #ifdef CONFIG_DMA_ENGINE |
366 | void dma_async_client_unregister(struct dma_client *client); | 274 | void dmaengine_get(void); |
367 | void dma_async_client_chan_request(struct dma_client *client); | 275 | void dmaengine_put(void); |
276 | #else | ||
277 | static inline void dmaengine_get(void) | ||
278 | { | ||
279 | } | ||
280 | static inline void dmaengine_put(void) | ||
281 | { | ||
282 | } | ||
283 | #endif | ||
284 | |||
368 | dma_cookie_t dma_async_memcpy_buf_to_buf(struct dma_chan *chan, | 285 | dma_cookie_t dma_async_memcpy_buf_to_buf(struct dma_chan *chan, |
369 | void *dest, void *src, size_t len); | 286 | void *dest, void *src, size_t len); |
370 | dma_cookie_t dma_async_memcpy_buf_to_pg(struct dma_chan *chan, | 287 | dma_cookie_t dma_async_memcpy_buf_to_pg(struct dma_chan *chan, |
@@ -380,6 +297,11 @@ static inline void async_tx_ack(struct dma_async_tx_descriptor *tx) | |||
380 | tx->flags |= DMA_CTRL_ACK; | 297 | tx->flags |= DMA_CTRL_ACK; |
381 | } | 298 | } |
382 | 299 | ||
300 | static inline void async_tx_clear_ack(struct dma_async_tx_descriptor *tx) | ||
301 | { | ||
302 | tx->flags &= ~DMA_CTRL_ACK; | ||
303 | } | ||
304 | |||
383 | static inline bool async_tx_test_ack(struct dma_async_tx_descriptor *tx) | 305 | static inline bool async_tx_test_ack(struct dma_async_tx_descriptor *tx) |
384 | { | 306 | { |
385 | return (tx->flags & DMA_CTRL_ACK) == DMA_CTRL_ACK; | 307 | return (tx->flags & DMA_CTRL_ACK) == DMA_CTRL_ACK; |
@@ -406,6 +328,12 @@ __dma_cap_set(enum dma_transaction_type tx_type, dma_cap_mask_t *dstp) | |||
406 | set_bit(tx_type, dstp->bits); | 328 | set_bit(tx_type, dstp->bits); |
407 | } | 329 | } |
408 | 330 | ||
331 | #define dma_cap_zero(mask) __dma_cap_zero(&(mask)) | ||
332 | static inline void __dma_cap_zero(dma_cap_mask_t *dstp) | ||
333 | { | ||
334 | bitmap_zero(dstp->bits, DMA_TX_TYPE_END); | ||
335 | } | ||
336 | |||
409 | #define dma_has_cap(tx, mask) __dma_has_cap((tx), &(mask)) | 337 | #define dma_has_cap(tx, mask) __dma_has_cap((tx), &(mask)) |
410 | static inline int | 338 | static inline int |
411 | __dma_has_cap(enum dma_transaction_type tx_type, dma_cap_mask_t *srcp) | 339 | __dma_has_cap(enum dma_transaction_type tx_type, dma_cap_mask_t *srcp) |
@@ -475,11 +403,29 @@ static inline enum dma_status dma_async_is_complete(dma_cookie_t cookie, | |||
475 | } | 403 | } |
476 | 404 | ||
477 | enum dma_status dma_sync_wait(struct dma_chan *chan, dma_cookie_t cookie); | 405 | enum dma_status dma_sync_wait(struct dma_chan *chan, dma_cookie_t cookie); |
406 | #ifdef CONFIG_DMA_ENGINE | ||
407 | enum dma_status dma_wait_for_async_tx(struct dma_async_tx_descriptor *tx); | ||
408 | void dma_issue_pending_all(void); | ||
409 | #else | ||
410 | static inline enum dma_status dma_wait_for_async_tx(struct dma_async_tx_descriptor *tx) | ||
411 | { | ||
412 | return DMA_SUCCESS; | ||
413 | } | ||
414 | static inline void dma_issue_pending_all(void) | ||
415 | { | ||
416 | do { } while (0); | ||
417 | } | ||
418 | #endif | ||
478 | 419 | ||
479 | /* --- DMA device --- */ | 420 | /* --- DMA device --- */ |
480 | 421 | ||
481 | int dma_async_device_register(struct dma_device *device); | 422 | int dma_async_device_register(struct dma_device *device); |
482 | void dma_async_device_unregister(struct dma_device *device); | 423 | void dma_async_device_unregister(struct dma_device *device); |
424 | void dma_run_dependencies(struct dma_async_tx_descriptor *tx); | ||
425 | struct dma_chan *dma_find_channel(enum dma_transaction_type tx_type); | ||
426 | #define dma_request_channel(mask, x, y) __dma_request_channel(&(mask), x, y) | ||
427 | struct dma_chan *__dma_request_channel(dma_cap_mask_t *mask, dma_filter_fn fn, void *fn_param); | ||
428 | void dma_release_channel(struct dma_chan *chan); | ||
483 | 429 | ||
484 | /* --- Helper iov-locking functions --- */ | 430 | /* --- Helper iov-locking functions --- */ |
485 | 431 | ||
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/dn.h b/include/linux/dn.h index 02bba040fcfb..fe9990823193 100644 --- a/include/linux/dn.h +++ b/include/linux/dn.h | |||
@@ -1,6 +1,8 @@ | |||
1 | #ifndef _LINUX_DN_H | 1 | #ifndef _LINUX_DN_H |
2 | #define _LINUX_DN_H | 2 | #define _LINUX_DN_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
5 | |||
4 | /* | 6 | /* |
5 | 7 | ||
6 | DECnet Data Structures and Constants | 8 | DECnet Data Structures and Constants |
diff --git a/include/linux/dvb/audio.h b/include/linux/dvb/audio.h index 89412e18f571..bb0df2aaebfa 100644 --- a/include/linux/dvb/audio.h +++ b/include/linux/dvb/audio.h | |||
@@ -24,12 +24,7 @@ | |||
24 | #ifndef _DVBAUDIO_H_ | 24 | #ifndef _DVBAUDIO_H_ |
25 | #define _DVBAUDIO_H_ | 25 | #define _DVBAUDIO_H_ |
26 | 26 | ||
27 | #ifdef __KERNEL__ | ||
28 | #include <linux/types.h> | 27 | #include <linux/types.h> |
29 | #else | ||
30 | #include <stdint.h> | ||
31 | #endif | ||
32 | |||
33 | 28 | ||
34 | typedef enum { | 29 | typedef enum { |
35 | AUDIO_SOURCE_DEMUX, /* Select the demux as the main source */ | 30 | AUDIO_SOURCE_DEMUX, /* Select the demux as the main source */ |
diff --git a/include/linux/dvb/dmx.h b/include/linux/dvb/dmx.h index 402fb7a8d922..fef943738a24 100644 --- a/include/linux/dvb/dmx.h +++ b/include/linux/dvb/dmx.h | |||
@@ -24,7 +24,7 @@ | |||
24 | #ifndef _DVBDMX_H_ | 24 | #ifndef _DVBDMX_H_ |
25 | #define _DVBDMX_H_ | 25 | #define _DVBDMX_H_ |
26 | 26 | ||
27 | #include <asm/types.h> | 27 | #include <linux/types.h> |
28 | #ifdef __KERNEL__ | 28 | #ifdef __KERNEL__ |
29 | #include <linux/time.h> | 29 | #include <linux/time.h> |
30 | #else | 30 | #else |
diff --git a/include/linux/dvb/frontend.h b/include/linux/dvb/frontend.h index 55026b1a40bd..51c8d2d49e42 100644 --- a/include/linux/dvb/frontend.h +++ b/include/linux/dvb/frontend.h | |||
@@ -26,8 +26,7 @@ | |||
26 | #ifndef _DVBFRONTEND_H_ | 26 | #ifndef _DVBFRONTEND_H_ |
27 | #define _DVBFRONTEND_H_ | 27 | #define _DVBFRONTEND_H_ |
28 | 28 | ||
29 | #include <asm/types.h> | 29 | #include <linux/types.h> |
30 | |||
31 | 30 | ||
32 | typedef enum fe_type { | 31 | typedef enum fe_type { |
33 | FE_QPSK, | 32 | FE_QPSK, |
diff --git a/include/linux/dvb/net.h b/include/linux/dvb/net.h index 5be474bf0d2b..f451e7eb0b0b 100644 --- a/include/linux/dvb/net.h +++ b/include/linux/dvb/net.h | |||
@@ -24,8 +24,7 @@ | |||
24 | #ifndef _DVBNET_H_ | 24 | #ifndef _DVBNET_H_ |
25 | #define _DVBNET_H_ | 25 | #define _DVBNET_H_ |
26 | 26 | ||
27 | #include <asm/types.h> | 27 | #include <linux/types.h> |
28 | |||
29 | 28 | ||
30 | struct dvb_net_if { | 29 | struct dvb_net_if { |
31 | __u16 pid; | 30 | __u16 pid; |
diff --git a/include/linux/dvb/video.h b/include/linux/dvb/video.h index 50839fe9e39e..bd49c3ebf916 100644 --- a/include/linux/dvb/video.h +++ b/include/linux/dvb/video.h | |||
@@ -24,17 +24,14 @@ | |||
24 | #ifndef _DVBVIDEO_H_ | 24 | #ifndef _DVBVIDEO_H_ |
25 | #define _DVBVIDEO_H_ | 25 | #define _DVBVIDEO_H_ |
26 | 26 | ||
27 | #include <linux/compiler.h> | ||
28 | |||
29 | #ifdef __KERNEL__ | ||
30 | #include <linux/types.h> | 27 | #include <linux/types.h> |
28 | #ifdef __KERNEL__ | ||
29 | #include <linux/compiler.h> | ||
31 | #else | 30 | #else |
32 | #include <asm/types.h> | ||
33 | #include <stdint.h> | 31 | #include <stdint.h> |
34 | #include <time.h> | 32 | #include <time.h> |
35 | #endif | 33 | #endif |
36 | 34 | ||
37 | |||
38 | typedef enum { | 35 | typedef enum { |
39 | VIDEO_FORMAT_4_3, /* Select 4:3 format */ | 36 | VIDEO_FORMAT_4_3, /* Select 4:3 format */ |
40 | VIDEO_FORMAT_16_9, /* Select 16:9 format. */ | 37 | VIDEO_FORMAT_16_9, /* Select 16:9 format. */ |
diff --git a/include/linux/dw_dmac.h b/include/linux/dw_dmac.h index 04d217b442bf..d797dde247f7 100644 --- a/include/linux/dw_dmac.h +++ b/include/linux/dw_dmac.h | |||
@@ -22,14 +22,34 @@ struct dw_dma_platform_data { | |||
22 | }; | 22 | }; |
23 | 23 | ||
24 | /** | 24 | /** |
25 | * enum dw_dma_slave_width - DMA slave register access width. | ||
26 | * @DMA_SLAVE_WIDTH_8BIT: Do 8-bit slave register accesses | ||
27 | * @DMA_SLAVE_WIDTH_16BIT: Do 16-bit slave register accesses | ||
28 | * @DMA_SLAVE_WIDTH_32BIT: Do 32-bit slave register accesses | ||
29 | */ | ||
30 | enum dw_dma_slave_width { | ||
31 | DW_DMA_SLAVE_WIDTH_8BIT, | ||
32 | DW_DMA_SLAVE_WIDTH_16BIT, | ||
33 | DW_DMA_SLAVE_WIDTH_32BIT, | ||
34 | }; | ||
35 | |||
36 | /** | ||
25 | * struct dw_dma_slave - Controller-specific information about a slave | 37 | * struct dw_dma_slave - Controller-specific information about a slave |
26 | * @slave: Generic information about the slave | 38 | * |
27 | * @ctl_lo: Platform-specific initializer for the CTL_LO register | 39 | * @dma_dev: required DMA master device |
40 | * @tx_reg: physical address of data register used for | ||
41 | * memory-to-peripheral transfers | ||
42 | * @rx_reg: physical address of data register used for | ||
43 | * peripheral-to-memory transfers | ||
44 | * @reg_width: peripheral register width | ||
28 | * @cfg_hi: Platform-specific initializer for the CFG_HI register | 45 | * @cfg_hi: Platform-specific initializer for the CFG_HI register |
29 | * @cfg_lo: Platform-specific initializer for the CFG_LO register | 46 | * @cfg_lo: Platform-specific initializer for the CFG_LO register |
30 | */ | 47 | */ |
31 | struct dw_dma_slave { | 48 | struct dw_dma_slave { |
32 | struct dma_slave slave; | 49 | struct device *dma_dev; |
50 | dma_addr_t tx_reg; | ||
51 | dma_addr_t rx_reg; | ||
52 | enum dw_dma_slave_width reg_width; | ||
33 | u32 cfg_hi; | 53 | u32 cfg_hi; |
34 | u32 cfg_lo; | 54 | u32 cfg_lo; |
35 | }; | 55 | }; |
@@ -54,9 +74,4 @@ struct dw_dma_slave { | |||
54 | #define DWC_CFGL_HS_DST_POL (1 << 18) /* dst handshake active low */ | 74 | #define DWC_CFGL_HS_DST_POL (1 << 18) /* dst handshake active low */ |
55 | #define DWC_CFGL_HS_SRC_POL (1 << 19) /* src handshake active low */ | 75 | #define DWC_CFGL_HS_SRC_POL (1 << 19) /* src handshake active low */ |
56 | 76 | ||
57 | static inline struct dw_dma_slave *to_dw_dma_slave(struct dma_slave *slave) | ||
58 | { | ||
59 | return container_of(slave, struct dw_dma_slave, slave); | ||
60 | } | ||
61 | |||
62 | #endif /* DW_DMAC_H */ | 77 | #endif /* DW_DMAC_H */ |
diff --git a/include/linux/edd.h b/include/linux/edd.h index 5d747c5cd0fe..4cbd0fe9df08 100644 --- a/include/linux/edd.h +++ b/include/linux/edd.h | |||
@@ -30,6 +30,8 @@ | |||
30 | #ifndef _LINUX_EDD_H | 30 | #ifndef _LINUX_EDD_H |
31 | #define _LINUX_EDD_H | 31 | #define _LINUX_EDD_H |
32 | 32 | ||
33 | #include <linux/types.h> | ||
34 | |||
33 | #define EDDNR 0x1e9 /* addr of number of edd_info structs at EDDBUF | 35 | #define EDDNR 0x1e9 /* addr of number of edd_info structs at EDDBUF |
34 | in boot_params - treat this as 1 byte */ | 36 | in boot_params - treat this as 1 byte */ |
35 | #define EDDBUF 0xd00 /* addr of edd_info structs in boot_params */ | 37 | #define EDDBUF 0xd00 /* addr of edd_info structs in boot_params */ |
diff --git a/include/linux/efs_fs_sb.h b/include/linux/efs_fs_sb.h index ff1945e37790..a01be90c58cc 100644 --- a/include/linux/efs_fs_sb.h +++ b/include/linux/efs_fs_sb.h | |||
@@ -9,6 +9,7 @@ | |||
9 | #ifndef __EFS_FS_SB_H__ | 9 | #ifndef __EFS_FS_SB_H__ |
10 | #define __EFS_FS_SB_H__ | 10 | #define __EFS_FS_SB_H__ |
11 | 11 | ||
12 | #include <linux/types.h> | ||
12 | #include <linux/magic.h> | 13 | #include <linux/magic.h> |
13 | 14 | ||
14 | /* EFS superblock magic numbers */ | 15 | /* EFS superblock magic numbers */ |
diff --git a/include/linux/elf-fdpic.h b/include/linux/elf-fdpic.h index 9f5b7456bff3..7cd2e80cebc8 100644 --- a/include/linux/elf-fdpic.h +++ b/include/linux/elf-fdpic.h | |||
@@ -58,11 +58,13 @@ struct elf_fdpic_params { | |||
58 | #define ELF_FDPIC_FLAG_PRESENT 0x80000000 /* T if this object is present */ | 58 | #define ELF_FDPIC_FLAG_PRESENT 0x80000000 /* T if this object is present */ |
59 | }; | 59 | }; |
60 | 60 | ||
61 | #ifdef __KERNEL__ | ||
61 | #ifdef CONFIG_MMU | 62 | #ifdef CONFIG_MMU |
62 | extern void elf_fdpic_arch_lay_out_mm(struct elf_fdpic_params *exec_params, | 63 | extern void elf_fdpic_arch_lay_out_mm(struct elf_fdpic_params *exec_params, |
63 | struct elf_fdpic_params *interp_params, | 64 | struct elf_fdpic_params *interp_params, |
64 | unsigned long *start_stack, | 65 | unsigned long *start_stack, |
65 | unsigned long *start_brk); | 66 | unsigned long *start_brk); |
66 | #endif | 67 | #endif |
68 | #endif /* __KERNEL__ */ | ||
67 | 69 | ||
68 | #endif /* _LINUX_ELF_FDPIC_H */ | 70 | #endif /* _LINUX_ELF_FDPIC_H */ |
diff --git a/include/linux/elf.h b/include/linux/elf.h index 0b61ca41a044..45a937be6d38 100644 --- a/include/linux/elf.h +++ b/include/linux/elf.h | |||
@@ -377,6 +377,7 @@ typedef struct elf64_note { | |||
377 | Elf64_Word n_type; /* Content type */ | 377 | Elf64_Word n_type; /* Content type */ |
378 | } Elf64_Nhdr; | 378 | } Elf64_Nhdr; |
379 | 379 | ||
380 | #ifdef __KERNEL__ | ||
380 | #if ELF_CLASS == ELFCLASS32 | 381 | #if ELF_CLASS == ELFCLASS32 |
381 | 382 | ||
382 | extern Elf32_Dyn _DYNAMIC []; | 383 | extern Elf32_Dyn _DYNAMIC []; |
@@ -404,5 +405,5 @@ static inline int elf_coredump_extra_notes_write(struct file *file, | |||
404 | extern int elf_coredump_extra_notes_size(void); | 405 | extern int elf_coredump_extra_notes_size(void); |
405 | extern int elf_coredump_extra_notes_write(struct file *file, loff_t *foffset); | 406 | extern int elf_coredump_extra_notes_write(struct file *file, loff_t *foffset); |
406 | #endif | 407 | #endif |
407 | 408 | #endif /* __KERNEL__ */ | |
408 | #endif /* _LINUX_ELF_H */ | 409 | #endif /* _LINUX_ELF_H */ |
diff --git a/include/linux/errqueue.h b/include/linux/errqueue.h index 92f8d4fab32b..ceb1454b6977 100644 --- a/include/linux/errqueue.h +++ b/include/linux/errqueue.h | |||
@@ -1,6 +1,8 @@ | |||
1 | #ifndef _LINUX_ERRQUEUE_H | 1 | #ifndef _LINUX_ERRQUEUE_H |
2 | #define _LINUX_ERRQUEUE_H 1 | 2 | #define _LINUX_ERRQUEUE_H 1 |
3 | 3 | ||
4 | #include <linux/types.h> | ||
5 | |||
4 | struct sock_extended_err | 6 | struct sock_extended_err |
5 | { | 7 | { |
6 | __u32 ee_errno; | 8 | __u32 ee_errno; |
diff --git a/include/linux/fb.h b/include/linux/fb.h index 1ee63df5be92..818fe21257e8 100644 --- a/include/linux/fb.h +++ b/include/linux/fb.h | |||
@@ -1,7 +1,7 @@ | |||
1 | #ifndef _LINUX_FB_H | 1 | #ifndef _LINUX_FB_H |
2 | #define _LINUX_FB_H | 2 | #define _LINUX_FB_H |
3 | 3 | ||
4 | #include <asm/types.h> | 4 | #include <linux/types.h> |
5 | #include <linux/i2c.h> | 5 | #include <linux/i2c.h> |
6 | 6 | ||
7 | struct dentry; | 7 | struct dentry; |
diff --git a/include/linux/fs.h b/include/linux/fs.h index 0b87b29f4797..6022f44043f2 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -234,6 +234,8 @@ struct inodes_stat_t { | |||
234 | #define BMAP_IOCTL 1 /* obsolete - kept for compatibility */ | 234 | #define BMAP_IOCTL 1 /* obsolete - kept for compatibility */ |
235 | #define FIBMAP _IO(0x00,1) /* bmap access */ | 235 | #define FIBMAP _IO(0x00,1) /* bmap access */ |
236 | #define FIGETBSZ _IO(0x00,2) /* get the block size used for bmap */ | 236 | #define FIGETBSZ _IO(0x00,2) /* get the block size used for bmap */ |
237 | #define FIFREEZE _IOWR('X', 119, int) /* Freeze */ | ||
238 | #define FITHAW _IOWR('X', 120, int) /* Thaw */ | ||
237 | 239 | ||
238 | #define FS_IOC_GETFLAGS _IOR('f', 1, long) | 240 | #define FS_IOC_GETFLAGS _IOR('f', 1, long) |
239 | #define FS_IOC_SETFLAGS _IOW('f', 2, long) | 241 | #define FS_IOC_SETFLAGS _IOW('f', 2, long) |
@@ -591,6 +593,11 @@ struct block_device { | |||
591 | * care to not mess up bd_private for that case. | 593 | * care to not mess up bd_private for that case. |
592 | */ | 594 | */ |
593 | unsigned long bd_private; | 595 | unsigned long bd_private; |
596 | |||
597 | /* The counter of freeze processes */ | ||
598 | int bd_fsfreeze_count; | ||
599 | /* Mutex for freeze */ | ||
600 | struct mutex bd_fsfreeze_mutex; | ||
594 | }; | 601 | }; |
595 | 602 | ||
596 | /* | 603 | /* |
@@ -1377,8 +1384,8 @@ struct super_operations { | |||
1377 | void (*put_super) (struct super_block *); | 1384 | void (*put_super) (struct super_block *); |
1378 | void (*write_super) (struct super_block *); | 1385 | void (*write_super) (struct super_block *); |
1379 | int (*sync_fs)(struct super_block *sb, int wait); | 1386 | int (*sync_fs)(struct super_block *sb, int wait); |
1380 | void (*write_super_lockfs) (struct super_block *); | 1387 | int (*freeze_fs) (struct super_block *); |
1381 | void (*unlockfs) (struct super_block *); | 1388 | int (*unfreeze_fs) (struct super_block *); |
1382 | int (*statfs) (struct dentry *, struct kstatfs *); | 1389 | int (*statfs) (struct dentry *, struct kstatfs *); |
1383 | int (*remount_fs) (struct super_block *, int *, char *); | 1390 | int (*remount_fs) (struct super_block *, int *, char *); |
1384 | void (*clear_inode) (struct inode *); | 1391 | void (*clear_inode) (struct inode *); |
diff --git a/include/linux/genetlink.h b/include/linux/genetlink.h index 7da02c93002b..b834ef6d59fa 100644 --- a/include/linux/genetlink.h +++ b/include/linux/genetlink.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef __LINUX_GENERIC_NETLINK_H | 1 | #ifndef __LINUX_GENERIC_NETLINK_H |
2 | #define __LINUX_GENERIC_NETLINK_H | 2 | #define __LINUX_GENERIC_NETLINK_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
4 | #include <linux/netlink.h> | 5 | #include <linux/netlink.h> |
5 | 6 | ||
6 | #define GENL_NAMSIZ 16 /* length of family name */ | 7 | #define GENL_NAMSIZ 16 /* length of family name */ |
diff --git a/include/linux/gfs2_ondisk.h b/include/linux/gfs2_ondisk.h index 14d0df0b5749..c56b4bce56d0 100644 --- a/include/linux/gfs2_ondisk.h +++ b/include/linux/gfs2_ondisk.h | |||
@@ -10,6 +10,8 @@ | |||
10 | #ifndef __GFS2_ONDISK_DOT_H__ | 10 | #ifndef __GFS2_ONDISK_DOT_H__ |
11 | #define __GFS2_ONDISK_DOT_H__ | 11 | #define __GFS2_ONDISK_DOT_H__ |
12 | 12 | ||
13 | #include <linux/types.h> | ||
14 | |||
13 | #define GFS2_MAGIC 0x01161970 | 15 | #define GFS2_MAGIC 0x01161970 |
14 | #define GFS2_BASIC_BLOCK 512 | 16 | #define GFS2_BASIC_BLOCK 512 |
15 | #define GFS2_BASIC_BLOCK_SHIFT 9 | 17 | #define GFS2_BASIC_BLOCK_SHIFT 9 |
diff --git a/include/linux/hid.h b/include/linux/hid.h index 81aa84d60c6b..fa8ee9cef7be 100644 --- a/include/linux/hid.h +++ b/include/linux/hid.h | |||
@@ -791,6 +791,7 @@ dbg_hid(const char *fmt, ...) | |||
791 | __FILE__ , ## arg) | 791 | __FILE__ , ## arg) |
792 | #endif /* HID_FF */ | 792 | #endif /* HID_FF */ |
793 | 793 | ||
794 | #ifdef __KERNEL__ | ||
794 | #ifdef CONFIG_HID_COMPAT | 795 | #ifdef CONFIG_HID_COMPAT |
795 | #define HID_COMPAT_LOAD_DRIVER(name) \ | 796 | #define HID_COMPAT_LOAD_DRIVER(name) \ |
796 | /* prototype to avoid sparse warning */ \ | 797 | /* prototype to avoid sparse warning */ \ |
@@ -804,6 +805,7 @@ EXPORT_SYMBOL(hid_compat_##name) | |||
804 | extern void hid_compat_##name(void); \ | 805 | extern void hid_compat_##name(void); \ |
805 | hid_compat_##name(); \ | 806 | hid_compat_##name(); \ |
806 | } while (0) | 807 | } while (0) |
808 | #endif /* __KERNEL__ */ | ||
807 | 809 | ||
808 | #endif | 810 | #endif |
809 | 811 | ||
diff --git a/include/linux/hiddev.h b/include/linux/hiddev.h index c760ae0eb6a1..bb6f58baf319 100644 --- a/include/linux/hiddev.h +++ b/include/linux/hiddev.h | |||
@@ -27,6 +27,8 @@ | |||
27 | * Vojtech Pavlik, Ucitelska 1576, Prague 8, 182 00 Czech Republic | 27 | * Vojtech Pavlik, Ucitelska 1576, Prague 8, 182 00 Czech Republic |
28 | */ | 28 | */ |
29 | 29 | ||
30 | #include <linux/types.h> | ||
31 | |||
30 | /* | 32 | /* |
31 | * The event structure itself | 33 | * The event structure itself |
32 | */ | 34 | */ |
diff --git a/include/linux/i2c-id.h b/include/linux/i2c-id.h index 01d67ba9e985..1ffc23bc5d1e 100644 --- a/include/linux/i2c-id.h +++ b/include/linux/i2c-id.h | |||
@@ -40,9 +40,7 @@ | |||
40 | #define I2C_DRIVERID_SAA7185B 13 /* video encoder */ | 40 | #define I2C_DRIVERID_SAA7185B 13 /* video encoder */ |
41 | #define I2C_DRIVERID_SAA7110 22 /* video decoder */ | 41 | #define I2C_DRIVERID_SAA7110 22 /* video decoder */ |
42 | #define I2C_DRIVERID_SAA5249 24 /* SAA5249 and compatibles */ | 42 | #define I2C_DRIVERID_SAA5249 24 /* SAA5249 and compatibles */ |
43 | #define I2C_DRIVERID_PCF8583 25 /* real time clock */ | ||
44 | #define I2C_DRIVERID_TDA7432 27 /* Stereo sound processor */ | 43 | #define I2C_DRIVERID_TDA7432 27 /* Stereo sound processor */ |
45 | #define I2C_DRIVERID_TVMIXER 28 /* Mixer driver for tv cards */ | ||
46 | #define I2C_DRIVERID_TVAUDIO 29 /* Generic TV sound driver */ | 44 | #define I2C_DRIVERID_TVAUDIO 29 /* Generic TV sound driver */ |
47 | #define I2C_DRIVERID_TDA9875 32 /* TV sound decoder chip */ | 45 | #define I2C_DRIVERID_TDA9875 32 /* TV sound decoder chip */ |
48 | #define I2C_DRIVERID_BT819 40 /* video decoder */ | 46 | #define I2C_DRIVERID_BT819 40 /* video decoder */ |
@@ -54,7 +52,6 @@ | |||
54 | #define I2C_DRIVERID_SAA7191 57 /* video decoder */ | 52 | #define I2C_DRIVERID_SAA7191 57 /* video decoder */ |
55 | #define I2C_DRIVERID_INDYCAM 58 /* SGI IndyCam */ | 53 | #define I2C_DRIVERID_INDYCAM 58 /* SGI IndyCam */ |
56 | #define I2C_DRIVERID_OVCAMCHIP 61 /* OmniVision CMOS image sens. */ | 54 | #define I2C_DRIVERID_OVCAMCHIP 61 /* OmniVision CMOS image sens. */ |
57 | #define I2C_DRIVERID_MAX6900 63 /* MAX6900 real-time clock */ | ||
58 | #define I2C_DRIVERID_SAA6752HS 67 /* MPEG2 encoder */ | 55 | #define I2C_DRIVERID_SAA6752HS 67 /* MPEG2 encoder */ |
59 | #define I2C_DRIVERID_TVEEPROM 68 /* TV EEPROM */ | 56 | #define I2C_DRIVERID_TVEEPROM 68 /* TV EEPROM */ |
60 | #define I2C_DRIVERID_WM8775 69 /* wm8775 audio processor */ | 57 | #define I2C_DRIVERID_WM8775 69 /* wm8775 audio processor */ |
@@ -62,23 +59,16 @@ | |||
62 | #define I2C_DRIVERID_CX25840 71 /* cx2584x video encoder */ | 59 | #define I2C_DRIVERID_CX25840 71 /* cx2584x video encoder */ |
63 | #define I2C_DRIVERID_SAA7127 72 /* saa7127 video encoder */ | 60 | #define I2C_DRIVERID_SAA7127 72 /* saa7127 video encoder */ |
64 | #define I2C_DRIVERID_SAA711X 73 /* saa711x video encoders */ | 61 | #define I2C_DRIVERID_SAA711X 73 /* saa711x video encoders */ |
65 | #define I2C_DRIVERID_AKITAIOEXP 74 /* IO Expander on Sharp SL-C1000 */ | ||
66 | #define I2C_DRIVERID_INFRARED 75 /* I2C InfraRed on Video boards */ | 62 | #define I2C_DRIVERID_INFRARED 75 /* I2C InfraRed on Video boards */ |
67 | #define I2C_DRIVERID_TVP5150 76 /* TVP5150 video decoder */ | 63 | #define I2C_DRIVERID_TVP5150 76 /* TVP5150 video decoder */ |
68 | #define I2C_DRIVERID_WM8739 77 /* wm8739 audio processor */ | 64 | #define I2C_DRIVERID_WM8739 77 /* wm8739 audio processor */ |
69 | #define I2C_DRIVERID_UPD64083 78 /* upd64083 video processor */ | 65 | #define I2C_DRIVERID_UPD64083 78 /* upd64083 video processor */ |
70 | #define I2C_DRIVERID_UPD64031A 79 /* upd64031a video processor */ | 66 | #define I2C_DRIVERID_UPD64031A 79 /* upd64031a video processor */ |
71 | #define I2C_DRIVERID_SAA717X 80 /* saa717x video encoder */ | 67 | #define I2C_DRIVERID_SAA717X 80 /* saa717x video encoder */ |
72 | #define I2C_DRIVERID_DS1672 81 /* Dallas/Maxim DS1672 RTC */ | ||
73 | #define I2C_DRIVERID_BT866 85 /* Conexant bt866 video encoder */ | 68 | #define I2C_DRIVERID_BT866 85 /* Conexant bt866 video encoder */ |
74 | #define I2C_DRIVERID_KS0127 86 /* Samsung ks0127 video decoder */ | 69 | #define I2C_DRIVERID_KS0127 86 /* Samsung ks0127 video decoder */ |
75 | #define I2C_DRIVERID_TLV320AIC23B 87 /* TI TLV320AIC23B audio codec */ | 70 | #define I2C_DRIVERID_TLV320AIC23B 87 /* TI TLV320AIC23B audio codec */ |
76 | #define I2C_DRIVERID_WM8731 89 /* Wolfson WM8731 audio codec */ | ||
77 | #define I2C_DRIVERID_WM8750 90 /* Wolfson WM8750 audio codec */ | ||
78 | #define I2C_DRIVERID_WM8753 91 /* Wolfson WM8753 audio codec */ | ||
79 | #define I2C_DRIVERID_LM4857 92 /* LM4857 Audio Amplifier */ | ||
80 | #define I2C_DRIVERID_VP27SMPX 93 /* Panasonic VP27s tuner internal MPX */ | 71 | #define I2C_DRIVERID_VP27SMPX 93 /* Panasonic VP27s tuner internal MPX */ |
81 | #define I2C_DRIVERID_CS4270 94 /* Cirrus Logic 4270 audio codec */ | ||
82 | #define I2C_DRIVERID_M52790 95 /* Mitsubishi M52790SP/FP AV switch */ | 72 | #define I2C_DRIVERID_M52790 95 /* Mitsubishi M52790SP/FP AV switch */ |
83 | #define I2C_DRIVERID_CS5345 96 /* cs5345 audio processor */ | 73 | #define I2C_DRIVERID_CS5345 96 /* cs5345 audio processor */ |
84 | 74 | ||
@@ -89,74 +79,23 @@ | |||
89 | */ | 79 | */ |
90 | 80 | ||
91 | /* --- Bit algorithm adapters */ | 81 | /* --- Bit algorithm adapters */ |
92 | #define I2C_HW_B_LP 0x010000 /* Parallel port Philips style */ | ||
93 | #define I2C_HW_B_BT848 0x010005 /* BT848 video boards */ | 82 | #define I2C_HW_B_BT848 0x010005 /* BT848 video boards */ |
94 | #define I2C_HW_B_VIA 0x010007 /* Via vt82c586b */ | ||
95 | #define I2C_HW_B_HYDRA 0x010008 /* Apple Hydra Mac I/O */ | ||
96 | #define I2C_HW_B_I810 0x01000a /* Intel I810 */ | ||
97 | #define I2C_HW_B_VOO 0x01000b /* 3dfx Voodoo 3 / Banshee */ | ||
98 | #define I2C_HW_B_SCX200 0x01000e /* Nat'l Semi SCx200 I2C */ | ||
99 | #define I2C_HW_B_RIVA 0x010010 /* Riva based graphics cards */ | 83 | #define I2C_HW_B_RIVA 0x010010 /* Riva based graphics cards */ |
100 | #define I2C_HW_B_IOC 0x010011 /* IOC bit-wiggling */ | ||
101 | #define I2C_HW_B_IXP2000 0x010016 /* GPIO on IXP2000 systems */ | ||
102 | #define I2C_HW_B_ZR36067 0x010019 /* Zoran-36057/36067 based boards */ | 84 | #define I2C_HW_B_ZR36067 0x010019 /* Zoran-36057/36067 based boards */ |
103 | #define I2C_HW_B_PCILYNX 0x01001a /* TI PCILynx I2C adapter */ | ||
104 | #define I2C_HW_B_CX2388x 0x01001b /* connexant 2388x based tv cards */ | 85 | #define I2C_HW_B_CX2388x 0x01001b /* connexant 2388x based tv cards */ |
105 | #define I2C_HW_B_NVIDIA 0x01001c /* nvidia framebuffer driver */ | ||
106 | #define I2C_HW_B_SAVAGE 0x01001d /* savage framebuffer driver */ | ||
107 | #define I2C_HW_B_RADEON 0x01001e /* radeon framebuffer driver */ | ||
108 | #define I2C_HW_B_EM28XX 0x01001f /* em28xx video capture cards */ | 86 | #define I2C_HW_B_EM28XX 0x01001f /* em28xx video capture cards */ |
109 | #define I2C_HW_B_CX2341X 0x010020 /* Conexant CX2341X MPEG encoder cards */ | 87 | #define I2C_HW_B_CX2341X 0x010020 /* Conexant CX2341X MPEG encoder cards */ |
110 | #define I2C_HW_B_INTELFB 0x010021 /* intel framebuffer driver */ | ||
111 | #define I2C_HW_B_CX23885 0x010022 /* conexant 23885 based tv cards (bus1) */ | 88 | #define I2C_HW_B_CX23885 0x010022 /* conexant 23885 based tv cards (bus1) */ |
112 | #define I2C_HW_B_AU0828 0x010023 /* auvitek au0828 usb bridge */ | 89 | #define I2C_HW_B_AU0828 0x010023 /* auvitek au0828 usb bridge */ |
113 | 90 | ||
114 | /* --- PCF 8584 based algorithms */ | ||
115 | #define I2C_HW_P_ELEK 0x020002 /* Elektor ISA Bus inteface card */ | ||
116 | |||
117 | /* --- PCA 9564 based algorithms */ | ||
118 | #define I2C_HW_A_ISA 0x1a0000 /* generic ISA Bus interface card */ | ||
119 | |||
120 | /* --- PowerPC on-chip adapters */ | ||
121 | #define I2C_HW_OCP 0x120000 /* IBM on-chip I2C adapter */ | ||
122 | |||
123 | /* --- Broadcom SiByte adapters */ | ||
124 | #define I2C_HW_SIBYTE 0x150000 | ||
125 | |||
126 | /* --- SGI adapters */ | 91 | /* --- SGI adapters */ |
127 | #define I2C_HW_SGI_VINO 0x160000 | 92 | #define I2C_HW_SGI_VINO 0x160000 |
128 | 93 | ||
129 | /* --- XSCALE on-chip adapters */ | ||
130 | #define I2C_HW_IOP3XX 0x140000 | ||
131 | |||
132 | /* --- Au1550 PSC adapters adapters */ | ||
133 | #define I2C_HW_AU1550_PSC 0x1b0000 | ||
134 | |||
135 | /* --- SMBus only adapters */ | 94 | /* --- SMBus only adapters */ |
136 | #define I2C_HW_SMBUS_PIIX4 0x040000 | ||
137 | #define I2C_HW_SMBUS_ALI15X3 0x040001 | ||
138 | #define I2C_HW_SMBUS_VIA2 0x040002 | ||
139 | #define I2C_HW_SMBUS_I801 0x040004 | ||
140 | #define I2C_HW_SMBUS_AMD756 0x040005 | ||
141 | #define I2C_HW_SMBUS_SIS5595 0x040006 | ||
142 | #define I2C_HW_SMBUS_ALI1535 0x040007 | ||
143 | #define I2C_HW_SMBUS_SIS630 0x040008 | ||
144 | #define I2C_HW_SMBUS_SIS96X 0x040009 | ||
145 | #define I2C_HW_SMBUS_AMD8111 0x04000a | ||
146 | #define I2C_HW_SMBUS_SCX200 0x04000b | ||
147 | #define I2C_HW_SMBUS_NFORCE2 0x04000c | ||
148 | #define I2C_HW_SMBUS_W9968CF 0x04000d | 95 | #define I2C_HW_SMBUS_W9968CF 0x04000d |
149 | #define I2C_HW_SMBUS_OV511 0x04000e /* OV511(+) USB 1.1 webcam ICs */ | 96 | #define I2C_HW_SMBUS_OV511 0x04000e /* OV511(+) USB 1.1 webcam ICs */ |
150 | #define I2C_HW_SMBUS_OV518 0x04000f /* OV518(+) USB 1.1 webcam ICs */ | 97 | #define I2C_HW_SMBUS_OV518 0x04000f /* OV518(+) USB 1.1 webcam ICs */ |
151 | #define I2C_HW_SMBUS_CAFE 0x040012 /* Marvell 88ALP01 "CAFE" cam */ | 98 | #define I2C_HW_SMBUS_CAFE 0x040012 /* Marvell 88ALP01 "CAFE" cam */ |
152 | #define I2C_HW_SMBUS_ALI1563 0x040013 | ||
153 | |||
154 | /* --- MCP107 adapter */ | ||
155 | #define I2C_HW_MPC107 0x0d0000 | ||
156 | |||
157 | /* --- Embedded adapters */ | ||
158 | #define I2C_HW_MV64XXX 0x190000 | ||
159 | #define I2C_HW_BLACKFIN 0x190001 /* ADI Blackfin I2C TWI driver */ | ||
160 | 99 | ||
161 | /* --- Miscellaneous adapters */ | 100 | /* --- Miscellaneous adapters */ |
162 | #define I2C_HW_SAA7146 0x060000 /* SAA7146 video decoder bus */ | 101 | #define I2C_HW_SAA7146 0x060000 /* SAA7146 video decoder bus */ |
diff --git a/include/linux/i2c.h b/include/linux/i2c.h index 20873d402467..fcfbfea3af72 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h | |||
@@ -151,7 +151,7 @@ struct i2c_driver { | |||
151 | * has been dynamically allocated by the driver in the function above, | 151 | * has been dynamically allocated by the driver in the function above, |
152 | * it must be freed here. (LEGACY I2C DRIVERS ONLY) | 152 | * it must be freed here. (LEGACY I2C DRIVERS ONLY) |
153 | */ | 153 | */ |
154 | int (*detach_client)(struct i2c_client *); | 154 | int (*detach_client)(struct i2c_client *) __deprecated; |
155 | 155 | ||
156 | /* Standard driver model interfaces, for "new style" i2c drivers. | 156 | /* Standard driver model interfaces, for "new style" i2c drivers. |
157 | * With the driver model, device enumeration is NEVER done by drivers; | 157 | * With the driver model, device enumeration is NEVER done by drivers; |
@@ -429,8 +429,10 @@ static inline int i2c_add_driver(struct i2c_driver *driver) | |||
429 | return i2c_register_driver(THIS_MODULE, driver); | 429 | return i2c_register_driver(THIS_MODULE, driver); |
430 | } | 430 | } |
431 | 431 | ||
432 | extern int i2c_attach_client(struct i2c_client *); | 432 | /* These are deprecated, your driver should use the standard .probe() |
433 | extern int i2c_detach_client(struct i2c_client *); | 433 | * and .remove() methods instead. */ |
434 | extern int __deprecated i2c_attach_client(struct i2c_client *); | ||
435 | extern int __deprecated i2c_detach_client(struct i2c_client *); | ||
434 | 436 | ||
435 | extern struct i2c_client *i2c_use_client(struct i2c_client *client); | 437 | extern struct i2c_client *i2c_use_client(struct i2c_client *client); |
436 | extern void i2c_release_client(struct i2c_client *client); | 438 | extern void i2c_release_client(struct i2c_client *client); |
diff --git a/include/linux/icmpv6.h b/include/linux/icmpv6.h index a93a8dd33118..10d701eec484 100644 --- a/include/linux/icmpv6.h +++ b/include/linux/icmpv6.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef _LINUX_ICMPV6_H | 1 | #ifndef _LINUX_ICMPV6_H |
2 | #define _LINUX_ICMPV6_H | 2 | #define _LINUX_ICMPV6_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
4 | #include <asm/byteorder.h> | 5 | #include <asm/byteorder.h> |
5 | 6 | ||
6 | struct icmp6hdr { | 7 | struct icmp6hdr { |
diff --git a/include/linux/ide.h b/include/linux/ide.h index 3644f6323384..194da5a4b0d6 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -871,7 +871,7 @@ struct ide_host { | |||
871 | ide_hwif_t *cur_port; /* for hosts requiring serialization */ | 871 | ide_hwif_t *cur_port; /* for hosts requiring serialization */ |
872 | 872 | ||
873 | /* used for hosts requiring serialization */ | 873 | /* used for hosts requiring serialization */ |
874 | volatile long host_busy; | 874 | volatile unsigned long host_busy; |
875 | }; | 875 | }; |
876 | 876 | ||
877 | #define IDE_HOST_BUSY 0 | 877 | #define IDE_HOST_BUSY 0 |
diff --git a/include/linux/if_addr.h b/include/linux/if_addr.h index 43f3bedaafd3..a60c821be44c 100644 --- a/include/linux/if_addr.h +++ b/include/linux/if_addr.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef __LINUX_IF_ADDR_H | 1 | #ifndef __LINUX_IF_ADDR_H |
2 | #define __LINUX_IF_ADDR_H | 2 | #define __LINUX_IF_ADDR_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
4 | #include <linux/netlink.h> | 5 | #include <linux/netlink.h> |
5 | 6 | ||
6 | struct ifaddrmsg | 7 | struct ifaddrmsg |
diff --git a/include/linux/if_addrlabel.h b/include/linux/if_addrlabel.h index 9fe79c95dd28..89571f65d6de 100644 --- a/include/linux/if_addrlabel.h +++ b/include/linux/if_addrlabel.h | |||
@@ -10,6 +10,8 @@ | |||
10 | #ifndef __LINUX_IF_ADDRLABEL_H | 10 | #ifndef __LINUX_IF_ADDRLABEL_H |
11 | #define __LINUX_IF_ADDRLABEL_H | 11 | #define __LINUX_IF_ADDRLABEL_H |
12 | 12 | ||
13 | #include <linux/types.h> | ||
14 | |||
13 | struct ifaddrlblmsg | 15 | struct ifaddrlblmsg |
14 | { | 16 | { |
15 | __u8 ifal_family; /* Address family */ | 17 | __u8 ifal_family; /* Address family */ |
diff --git a/include/linux/if_fc.h b/include/linux/if_fc.h index 376a34ea4723..6ed7f1bf35c8 100644 --- a/include/linux/if_fc.h +++ b/include/linux/if_fc.h | |||
@@ -20,6 +20,7 @@ | |||
20 | #ifndef _LINUX_IF_FC_H | 20 | #ifndef _LINUX_IF_FC_H |
21 | #define _LINUX_IF_FC_H | 21 | #define _LINUX_IF_FC_H |
22 | 22 | ||
23 | #include <linux/types.h> | ||
23 | 24 | ||
24 | #define FC_ALEN 6 /* Octets in one ethernet addr */ | 25 | #define FC_ALEN 6 /* Octets in one ethernet addr */ |
25 | #define FC_HLEN (sizeof(struct fch_hdr)+sizeof(struct fcllc)) | 26 | #define FC_HLEN (sizeof(struct fch_hdr)+sizeof(struct fcllc)) |
diff --git a/include/linux/if_frad.h b/include/linux/if_frad.h index 5c34240de746..60e16a551dd6 100644 --- a/include/linux/if_frad.h +++ b/include/linux/if_frad.h | |||
@@ -26,8 +26,6 @@ | |||
26 | 26 | ||
27 | #include <linux/if.h> | 27 | #include <linux/if.h> |
28 | 28 | ||
29 | #if defined(CONFIG_DLCI) || defined(CONFIG_DLCI_MODULE) | ||
30 | |||
31 | /* Structures and constants associated with the DLCI device driver */ | 29 | /* Structures and constants associated with the DLCI device driver */ |
32 | 30 | ||
33 | struct dlci_add | 31 | struct dlci_add |
@@ -127,6 +125,8 @@ struct frad_conf | |||
127 | 125 | ||
128 | #ifdef __KERNEL__ | 126 | #ifdef __KERNEL__ |
129 | 127 | ||
128 | #if defined(CONFIG_DLCI) || defined(CONFIG_DLCI_MODULE) | ||
129 | |||
130 | /* these are the fields of an RFC 1490 header */ | 130 | /* these are the fields of an RFC 1490 header */ |
131 | struct frhdr | 131 | struct frhdr |
132 | { | 132 | { |
@@ -190,12 +190,10 @@ struct frad_local | |||
190 | int buffer; /* current buffer for S508 firmware */ | 190 | int buffer; /* current buffer for S508 firmware */ |
191 | }; | 191 | }; |
192 | 192 | ||
193 | #endif /* __KERNEL__ */ | ||
194 | |||
195 | #endif /* CONFIG_DLCI || CONFIG_DLCI_MODULE */ | 193 | #endif /* CONFIG_DLCI || CONFIG_DLCI_MODULE */ |
196 | 194 | ||
197 | #ifdef __KERNEL__ | ||
198 | extern void dlci_ioctl_set(int (*hook)(unsigned int, void __user *)); | 195 | extern void dlci_ioctl_set(int (*hook)(unsigned int, void __user *)); |
199 | #endif | 196 | |
197 | #endif /* __KERNEL__ */ | ||
200 | 198 | ||
201 | #endif | 199 | #endif |
diff --git a/include/linux/if_hippi.h b/include/linux/if_hippi.h index f0f23516bb59..4a7c9940b080 100644 --- a/include/linux/if_hippi.h +++ b/include/linux/if_hippi.h | |||
@@ -22,6 +22,7 @@ | |||
22 | #ifndef _LINUX_IF_HIPPI_H | 22 | #ifndef _LINUX_IF_HIPPI_H |
23 | #define _LINUX_IF_HIPPI_H | 23 | #define _LINUX_IF_HIPPI_H |
24 | 24 | ||
25 | #include <linux/types.h> | ||
25 | #include <asm/byteorder.h> | 26 | #include <asm/byteorder.h> |
26 | 27 | ||
27 | /* | 28 | /* |
diff --git a/include/linux/if_link.h b/include/linux/if_link.h index f9032c88716a..176c5182c515 100644 --- a/include/linux/if_link.h +++ b/include/linux/if_link.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef _LINUX_IF_LINK_H | 1 | #ifndef _LINUX_IF_LINK_H |
2 | #define _LINUX_IF_LINK_H | 2 | #define _LINUX_IF_LINK_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
4 | #include <linux/netlink.h> | 5 | #include <linux/netlink.h> |
5 | 6 | ||
6 | /* The struct should be in sync with struct net_device_stats */ | 7 | /* The struct should be in sync with struct net_device_stats */ |
diff --git a/include/linux/if_ppp.h b/include/linux/if_ppp.h index c3b1f8562709..fcef103aa3f6 100644 --- a/include/linux/if_ppp.h +++ b/include/linux/if_ppp.h | |||
@@ -33,6 +33,7 @@ | |||
33 | #ifndef _IF_PPP_H_ | 33 | #ifndef _IF_PPP_H_ |
34 | #define _IF_PPP_H_ | 34 | #define _IF_PPP_H_ |
35 | 35 | ||
36 | #include <linux/types.h> | ||
36 | #include <linux/compiler.h> | 37 | #include <linux/compiler.h> |
37 | 38 | ||
38 | /* | 39 | /* |
diff --git a/include/linux/if_pppol2tp.h b/include/linux/if_pppol2tp.h index a7d6a2234b31..c7a66882b6d0 100644 --- a/include/linux/if_pppol2tp.h +++ b/include/linux/if_pppol2tp.h | |||
@@ -15,7 +15,7 @@ | |||
15 | #ifndef __LINUX_IF_PPPOL2TP_H | 15 | #ifndef __LINUX_IF_PPPOL2TP_H |
16 | #define __LINUX_IF_PPPOL2TP_H | 16 | #define __LINUX_IF_PPPOL2TP_H |
17 | 17 | ||
18 | #include <asm/types.h> | 18 | #include <linux/types.h> |
19 | 19 | ||
20 | #ifdef __KERNEL__ | 20 | #ifdef __KERNEL__ |
21 | #include <linux/in.h> | 21 | #include <linux/in.h> |
diff --git a/include/linux/if_pppox.h b/include/linux/if_pppox.h index 6fb7f1788570..30c88b2245ff 100644 --- a/include/linux/if_pppox.h +++ b/include/linux/if_pppox.h | |||
@@ -17,7 +17,7 @@ | |||
17 | #define __LINUX_IF_PPPOX_H | 17 | #define __LINUX_IF_PPPOX_H |
18 | 18 | ||
19 | 19 | ||
20 | #include <asm/types.h> | 20 | #include <linux/types.h> |
21 | #include <asm/byteorder.h> | 21 | #include <asm/byteorder.h> |
22 | 22 | ||
23 | #ifdef __KERNEL__ | 23 | #ifdef __KERNEL__ |
diff --git a/include/linux/if_strip.h b/include/linux/if_strip.h index fb5c5c98442f..6526a6235832 100644 --- a/include/linux/if_strip.h +++ b/include/linux/if_strip.h | |||
@@ -18,6 +18,8 @@ | |||
18 | #ifndef __LINUX_STRIP_H | 18 | #ifndef __LINUX_STRIP_H |
19 | #define __LINUX_STRIP_H | 19 | #define __LINUX_STRIP_H |
20 | 20 | ||
21 | #include <linux/types.h> | ||
22 | |||
21 | typedef struct { | 23 | typedef struct { |
22 | __u8 c[6]; | 24 | __u8 c[6]; |
23 | } MetricomAddress; | 25 | } MetricomAddress; |
diff --git a/include/linux/if_tr.h b/include/linux/if_tr.h index 5bcec8b2c5e2..fc23aeb0f201 100644 --- a/include/linux/if_tr.h +++ b/include/linux/if_tr.h | |||
@@ -19,6 +19,7 @@ | |||
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 | #include <linux/types.h> | ||
22 | #include <asm/byteorder.h> /* For __be16 */ | 23 | #include <asm/byteorder.h> /* For __be16 */ |
23 | 24 | ||
24 | /* IEEE 802.5 Token-Ring magic constants. The frame sizes omit the preamble | 25 | /* IEEE 802.5 Token-Ring magic constants. The frame sizes omit the preamble |
diff --git a/include/linux/igmp.h b/include/linux/igmp.h index f734a0ba0698..92fbd8cbd68f 100644 --- a/include/linux/igmp.h +++ b/include/linux/igmp.h | |||
@@ -16,6 +16,7 @@ | |||
16 | #ifndef _LINUX_IGMP_H | 16 | #ifndef _LINUX_IGMP_H |
17 | #define _LINUX_IGMP_H | 17 | #define _LINUX_IGMP_H |
18 | 18 | ||
19 | #include <linux/types.h> | ||
19 | #include <asm/byteorder.h> | 20 | #include <asm/byteorder.h> |
20 | 21 | ||
21 | /* | 22 | /* |
diff --git a/include/linux/inet_diag.h b/include/linux/inet_diag.h index 6e8bc548635a..bc8c49022084 100644 --- a/include/linux/inet_diag.h +++ b/include/linux/inet_diag.h | |||
@@ -1,6 +1,8 @@ | |||
1 | #ifndef _INET_DIAG_H_ | 1 | #ifndef _INET_DIAG_H_ |
2 | #define _INET_DIAG_H_ 1 | 2 | #define _INET_DIAG_H_ 1 |
3 | 3 | ||
4 | #include <linux/types.h> | ||
5 | |||
4 | /* Just some random number */ | 6 | /* Just some random number */ |
5 | #define TCPDIAG_GETSOCK 18 | 7 | #define TCPDIAG_GETSOCK 18 |
6 | #define DCCPDIAG_GETSOCK 19 | 8 | #define DCCPDIAG_GETSOCK 19 |
diff --git a/include/linux/init_task.h b/include/linux/init_task.h index 2f3c2d4ef73b..ea0ea1a4c36f 100644 --- a/include/linux/init_task.h +++ b/include/linux/init_task.h | |||
@@ -48,6 +48,12 @@ extern struct fs_struct init_fs; | |||
48 | .posix_timers = LIST_HEAD_INIT(sig.posix_timers), \ | 48 | .posix_timers = LIST_HEAD_INIT(sig.posix_timers), \ |
49 | .cpu_timers = INIT_CPU_TIMERS(sig.cpu_timers), \ | 49 | .cpu_timers = INIT_CPU_TIMERS(sig.cpu_timers), \ |
50 | .rlim = INIT_RLIMITS, \ | 50 | .rlim = INIT_RLIMITS, \ |
51 | .cputime = { .totals = { \ | ||
52 | .utime = cputime_zero, \ | ||
53 | .stime = cputime_zero, \ | ||
54 | .sum_exec_runtime = 0, \ | ||
55 | .lock = __SPIN_LOCK_UNLOCKED(sig.cputime.totals.lock), \ | ||
56 | }, }, \ | ||
51 | } | 57 | } |
52 | 58 | ||
53 | extern struct nsproxy init_nsproxy; | 59 | extern struct nsproxy init_nsproxy; |
diff --git a/include/linux/input.h b/include/linux/input.h index 9a6355f74db2..1249a0c20a38 100644 --- a/include/linux/input.h +++ b/include/linux/input.h | |||
@@ -16,7 +16,7 @@ | |||
16 | #include <sys/time.h> | 16 | #include <sys/time.h> |
17 | #include <sys/ioctl.h> | 17 | #include <sys/ioctl.h> |
18 | #include <sys/types.h> | 18 | #include <sys/types.h> |
19 | #include <asm/types.h> | 19 | #include <linux/types.h> |
20 | #endif | 20 | #endif |
21 | 21 | ||
22 | /* | 22 | /* |
diff --git a/include/linux/ioport.h b/include/linux/ioport.h index f6bb2ca8e3ba..32e4b2f72294 100644 --- a/include/linux/ioport.h +++ b/include/linux/ioport.h | |||
@@ -143,7 +143,8 @@ static inline unsigned long resource_type(struct resource *res) | |||
143 | 143 | ||
144 | extern struct resource * __request_region(struct resource *, | 144 | extern struct resource * __request_region(struct resource *, |
145 | resource_size_t start, | 145 | resource_size_t start, |
146 | resource_size_t n, const char *name, int relaxed); | 146 | resource_size_t n, |
147 | const char *name, int flags); | ||
147 | 148 | ||
148 | /* Compatibility cruft */ | 149 | /* Compatibility cruft */ |
149 | #define release_region(start,n) __release_region(&ioport_resource, (start), (n)) | 150 | #define release_region(start,n) __release_region(&ioport_resource, (start), (n)) |
diff --git a/include/linux/ip6_tunnel.h b/include/linux/ip6_tunnel.h index 1e7cc4af40de..acb9ad684d63 100644 --- a/include/linux/ip6_tunnel.h +++ b/include/linux/ip6_tunnel.h | |||
@@ -1,6 +1,8 @@ | |||
1 | #ifndef _IP6_TUNNEL_H | 1 | #ifndef _IP6_TUNNEL_H |
2 | #define _IP6_TUNNEL_H | 2 | #define _IP6_TUNNEL_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
5 | |||
4 | #define IPV6_TLV_TNL_ENCAP_LIMIT 4 | 6 | #define IPV6_TLV_TNL_ENCAP_LIMIT 4 |
5 | #define IPV6_DEFAULT_TNL_ENCAP_LIMIT 4 | 7 | #define IPV6_DEFAULT_TNL_ENCAP_LIMIT 4 |
6 | 8 | ||
diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h index 0b816cae533e..476d9464ac82 100644 --- a/include/linux/ipv6.h +++ b/include/linux/ipv6.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef _IPV6_H | 1 | #ifndef _IPV6_H |
2 | #define _IPV6_H | 2 | #define _IPV6_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
4 | #include <linux/in6.h> | 5 | #include <linux/in6.h> |
5 | #include <asm/byteorder.h> | 6 | #include <asm/byteorder.h> |
6 | 7 | ||
diff --git a/include/linux/ipv6_route.h b/include/linux/ipv6_route.h index b323ff577967..1e7d8af2defe 100644 --- a/include/linux/ipv6_route.h +++ b/include/linux/ipv6_route.h | |||
@@ -13,6 +13,8 @@ | |||
13 | #ifndef _LINUX_IPV6_ROUTE_H | 13 | #ifndef _LINUX_IPV6_ROUTE_H |
14 | #define _LINUX_IPV6_ROUTE_H | 14 | #define _LINUX_IPV6_ROUTE_H |
15 | 15 | ||
16 | #include <linux/types.h> | ||
17 | |||
16 | #define RTF_DEFAULT 0x00010000 /* default - learned via ND */ | 18 | #define RTF_DEFAULT 0x00010000 /* default - learned via ND */ |
17 | #define RTF_ALLONLINK 0x00020000 /* (deprecated and will be removed) | 19 | #define RTF_ALLONLINK 0x00020000 /* (deprecated and will be removed) |
18 | fallback, no routers on link */ | 20 | fallback, no routers on link */ |
diff --git a/include/linux/ipx.h b/include/linux/ipx.h index eb19b4ea84f4..aabb1d294025 100644 --- a/include/linux/ipx.h +++ b/include/linux/ipx.h | |||
@@ -1,5 +1,6 @@ | |||
1 | #ifndef _IPX_H_ | 1 | #ifndef _IPX_H_ |
2 | #define _IPX_H_ | 2 | #define _IPX_H_ |
3 | #include <linux/types.h> | ||
3 | #include <linux/sockios.h> | 4 | #include <linux/sockios.h> |
4 | #include <linux/socket.h> | 5 | #include <linux/socket.h> |
5 | #define IPX_NODE_LEN 6 | 6 | #define IPX_NODE_LEN 6 |
diff --git a/include/linux/irda.h b/include/linux/irda.h index 28f88ecba344..00bdad0e8515 100644 --- a/include/linux/irda.h +++ b/include/linux/irda.h | |||
@@ -25,6 +25,8 @@ | |||
25 | #ifndef KERNEL_IRDA_H | 25 | #ifndef KERNEL_IRDA_H |
26 | #define KERNEL_IRDA_H | 26 | #define KERNEL_IRDA_H |
27 | 27 | ||
28 | #include <linux/types.h> | ||
29 | |||
28 | /* Please do *not* add any #include in this file, this file is | 30 | /* Please do *not* add any #include in this file, this file is |
29 | * included as-is in user space. | 31 | * included as-is in user space. |
30 | * Please fix the calling file to properly included needed files before | 32 | * Please fix the calling file to properly included needed files before |
diff --git a/include/linux/jbd.h b/include/linux/jbd.h index 6384b19efe64..64246dce5663 100644 --- a/include/linux/jbd.h +++ b/include/linux/jbd.h | |||
@@ -614,6 +614,8 @@ struct transaction_s | |||
614 | * @j_wbufsize: maximum number of buffer_heads allowed in j_wbuf, the | 614 | * @j_wbufsize: maximum number of buffer_heads allowed in j_wbuf, the |
615 | * number that will fit in j_blocksize | 615 | * number that will fit in j_blocksize |
616 | * @j_last_sync_writer: most recent pid which did a synchronous write | 616 | * @j_last_sync_writer: most recent pid which did a synchronous write |
617 | * @j_average_commit_time: the average amount of time in nanoseconds it | ||
618 | * takes to commit a transaction to the disk. | ||
617 | * @j_private: An opaque pointer to fs-private information. | 619 | * @j_private: An opaque pointer to fs-private information. |
618 | */ | 620 | */ |
619 | 621 | ||
diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h index b45109c61fba..b28b37eb11c6 100644 --- a/include/linux/jbd2.h +++ b/include/linux/jbd2.h | |||
@@ -308,7 +308,8 @@ void buffer_assertion_failure(struct buffer_head *bh); | |||
308 | int val = (expr); \ | 308 | int val = (expr); \ |
309 | if (!val) { \ | 309 | if (!val) { \ |
310 | printk(KERN_ERR \ | 310 | printk(KERN_ERR \ |
311 | "EXT3-fs unexpected failure: %s;\n",# expr); \ | 311 | "JBD2 unexpected failure: %s: %s;\n", \ |
312 | __func__, #expr); \ | ||
312 | printk(KERN_ERR why "\n"); \ | 313 | printk(KERN_ERR why "\n"); \ |
313 | } \ | 314 | } \ |
314 | val; \ | 315 | val; \ |
diff --git a/include/linux/joystick.h b/include/linux/joystick.h index b5e051295a67..9e20c29c1e14 100644 --- a/include/linux/joystick.h +++ b/include/linux/joystick.h | |||
@@ -27,7 +27,7 @@ | |||
27 | * Vojtech Pavlik, Ucitelska 1576, Prague 8, 182 00 Czech Republic | 27 | * Vojtech Pavlik, Ucitelska 1576, Prague 8, 182 00 Czech Republic |
28 | */ | 28 | */ |
29 | 29 | ||
30 | #include <asm/types.h> | 30 | #include <linux/types.h> |
31 | #include <linux/input.h> | 31 | #include <linux/input.h> |
32 | 32 | ||
33 | /* | 33 | /* |
diff --git a/include/linux/klist.h b/include/linux/klist.h index d5a27af9dba5..e91a4e59b771 100644 --- a/include/linux/klist.h +++ b/include/linux/klist.h | |||
@@ -22,7 +22,7 @@ struct klist { | |||
22 | struct list_head k_list; | 22 | struct list_head k_list; |
23 | void (*get)(struct klist_node *); | 23 | void (*get)(struct klist_node *); |
24 | void (*put)(struct klist_node *); | 24 | void (*put)(struct klist_node *); |
25 | }; | 25 | } __attribute__ ((aligned (4))); |
26 | 26 | ||
27 | #define KLIST_INIT(_name, _get, _put) \ | 27 | #define KLIST_INIT(_name, _get, _put) \ |
28 | { .k_lock = __SPIN_LOCK_UNLOCKED(_name.k_lock), \ | 28 | { .k_lock = __SPIN_LOCK_UNLOCKED(_name.k_lock), \ |
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/kvm.h b/include/linux/kvm.h index 35525ac63337..5715f1907601 100644 --- a/include/linux/kvm.h +++ b/include/linux/kvm.h | |||
@@ -7,7 +7,7 @@ | |||
7 | * Note: you must update KVM_API_VERSION if you change this interface. | 7 | * Note: you must update KVM_API_VERSION if you change this interface. |
8 | */ | 8 | */ |
9 | 9 | ||
10 | #include <asm/types.h> | 10 | #include <linux/types.h> |
11 | #include <linux/compiler.h> | 11 | #include <linux/compiler.h> |
12 | #include <linux/ioctl.h> | 12 | #include <linux/ioctl.h> |
13 | #include <asm/kvm.h> | 13 | #include <asm/kvm.h> |
diff --git a/include/linux/leds-pca9532.h b/include/linux/leds-pca9532.h index 81b4207deb95..96eea90f01a8 100644 --- a/include/linux/leds-pca9532.h +++ b/include/linux/leds-pca9532.h | |||
@@ -15,6 +15,7 @@ | |||
15 | #define __LINUX_PCA9532_H | 15 | #define __LINUX_PCA9532_H |
16 | 16 | ||
17 | #include <linux/leds.h> | 17 | #include <linux/leds.h> |
18 | #include <linux/workqueue.h> | ||
18 | 19 | ||
19 | enum pca9532_state { | 20 | enum pca9532_state { |
20 | PCA9532_OFF = 0x0, | 21 | PCA9532_OFF = 0x0, |
@@ -31,6 +32,7 @@ struct pca9532_led { | |||
31 | struct i2c_client *client; | 32 | struct i2c_client *client; |
32 | char *name; | 33 | char *name; |
33 | struct led_classdev ldev; | 34 | struct led_classdev ldev; |
35 | struct work_struct work; | ||
34 | enum pca9532_type type; | 36 | enum pca9532_type type; |
35 | enum pca9532_state state; | 37 | enum pca9532_state state; |
36 | }; | 38 | }; |
diff --git a/include/linux/leds.h b/include/linux/leds.h index d3a73f5a48c3..24489da701e3 100644 --- a/include/linux/leds.h +++ b/include/linux/leds.h | |||
@@ -32,7 +32,10 @@ struct led_classdev { | |||
32 | int brightness; | 32 | int brightness; |
33 | int flags; | 33 | int flags; |
34 | 34 | ||
35 | /* Lower 16 bits reflect status */ | ||
35 | #define LED_SUSPENDED (1 << 0) | 36 | #define LED_SUSPENDED (1 << 0) |
37 | /* Upper 16 bits reflect control information */ | ||
38 | #define LED_CORE_SUSPENDRESUME (1 << 16) | ||
36 | 39 | ||
37 | /* Set LED brightness level */ | 40 | /* Set LED brightness level */ |
38 | /* Must not sleep, use a workqueue if needed */ | 41 | /* Must not sleep, use a workqueue if needed */ |
@@ -62,7 +65,7 @@ struct led_classdev { | |||
62 | 65 | ||
63 | extern int led_classdev_register(struct device *parent, | 66 | extern int led_classdev_register(struct device *parent, |
64 | struct led_classdev *led_cdev); | 67 | struct led_classdev *led_cdev); |
65 | extern void led_classdev_unregister(struct led_classdev *lcd); | 68 | extern void led_classdev_unregister(struct led_classdev *led_cdev); |
66 | extern void led_classdev_suspend(struct led_classdev *led_cdev); | 69 | extern void led_classdev_suspend(struct led_classdev *led_cdev); |
67 | extern void led_classdev_resume(struct led_classdev *led_cdev); | 70 | extern void led_classdev_resume(struct led_classdev *led_cdev); |
68 | 71 | ||
diff --git a/include/linux/libata.h b/include/linux/libata.h index 4f7c8fb4d3fe..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 */ |
@@ -239,6 +241,7 @@ enum { | |||
239 | /* host set flags */ | 241 | /* host set flags */ |
240 | ATA_HOST_SIMPLEX = (1 << 0), /* Host is simplex, one DMA channel per host only */ | 242 | ATA_HOST_SIMPLEX = (1 << 0), /* Host is simplex, one DMA channel per host only */ |
241 | ATA_HOST_STARTED = (1 << 1), /* Host started */ | 243 | ATA_HOST_STARTED = (1 << 1), /* Host started */ |
244 | ATA_HOST_PARALLEL_SCAN = (1 << 2), /* Ports on this host can be scanned in parallel */ | ||
242 | 245 | ||
243 | /* bits 24:31 of host->flags are reserved for LLD specific flags */ | 246 | /* bits 24:31 of host->flags are reserved for LLD specific flags */ |
244 | 247 | ||
@@ -400,12 +403,14 @@ enum { | |||
400 | ATA_TIMING_CYC8B, | 403 | ATA_TIMING_CYC8B, |
401 | ATA_TIMING_ACTIVE = (1 << 4), | 404 | ATA_TIMING_ACTIVE = (1 << 4), |
402 | ATA_TIMING_RECOVER = (1 << 5), | 405 | ATA_TIMING_RECOVER = (1 << 5), |
403 | ATA_TIMING_CYCLE = (1 << 6), | 406 | ATA_TIMING_DMACK_HOLD = (1 << 6), |
404 | ATA_TIMING_UDMA = (1 << 7), | 407 | ATA_TIMING_CYCLE = (1 << 7), |
408 | ATA_TIMING_UDMA = (1 << 8), | ||
405 | ATA_TIMING_ALL = ATA_TIMING_SETUP | ATA_TIMING_ACT8B | | 409 | ATA_TIMING_ALL = ATA_TIMING_SETUP | ATA_TIMING_ACT8B | |
406 | ATA_TIMING_REC8B | ATA_TIMING_CYC8B | | 410 | ATA_TIMING_REC8B | ATA_TIMING_CYC8B | |
407 | ATA_TIMING_ACTIVE | ATA_TIMING_RECOVER | | 411 | ATA_TIMING_ACTIVE | ATA_TIMING_RECOVER | |
408 | ATA_TIMING_CYCLE | ATA_TIMING_UDMA, | 412 | ATA_TIMING_DMACK_HOLD | ATA_TIMING_CYCLE | |
413 | ATA_TIMING_UDMA, | ||
409 | }; | 414 | }; |
410 | 415 | ||
411 | enum ata_xfer_mask { | 416 | enum ata_xfer_mask { |
@@ -865,6 +870,7 @@ struct ata_timing { | |||
865 | unsigned short cyc8b; /* t0 for 8-bit I/O */ | 870 | unsigned short cyc8b; /* t0 for 8-bit I/O */ |
866 | unsigned short active; /* t2 or tD */ | 871 | unsigned short active; /* t2 or tD */ |
867 | unsigned short recover; /* t2i or tK */ | 872 | unsigned short recover; /* t2i or tK */ |
873 | unsigned short dmack_hold; /* tj */ | ||
868 | unsigned short cycle; /* t0 */ | 874 | unsigned short cycle; /* t0 */ |
869 | unsigned short udma; /* t2CYCTYP/2 */ | 875 | unsigned short udma; /* t2CYCTYP/2 */ |
870 | }; | 876 | }; |
@@ -926,6 +932,8 @@ extern void ata_host_init(struct ata_host *, struct device *, | |||
926 | extern int ata_scsi_detect(struct scsi_host_template *sht); | 932 | extern int ata_scsi_detect(struct scsi_host_template *sht); |
927 | extern int ata_scsi_ioctl(struct scsi_device *dev, int cmd, void __user *arg); | 933 | extern int ata_scsi_ioctl(struct scsi_device *dev, int cmd, void __user *arg); |
928 | extern int ata_scsi_queuecmd(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *)); | 934 | extern int ata_scsi_queuecmd(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *)); |
935 | extern int ata_sas_scsi_ioctl(struct ata_port *ap, struct scsi_device *dev, | ||
936 | int cmd, void __user *arg); | ||
929 | extern void ata_sas_port_destroy(struct ata_port *); | 937 | extern void ata_sas_port_destroy(struct ata_port *); |
930 | extern struct ata_port *ata_sas_port_alloc(struct ata_host *, | 938 | extern struct ata_port *ata_sas_port_alloc(struct ata_host *, |
931 | struct ata_port_info *, struct Scsi_Host *); | 939 | struct ata_port_info *, struct Scsi_Host *); |
diff --git a/include/linux/loop.h b/include/linux/loop.h index 46169a7b559b..6ffd6db5bb0d 100644 --- a/include/linux/loop.h +++ b/include/linux/loop.h | |||
@@ -80,7 +80,7 @@ enum { | |||
80 | }; | 80 | }; |
81 | 81 | ||
82 | #include <asm/posix_types.h> /* for __kernel_old_dev_t */ | 82 | #include <asm/posix_types.h> /* for __kernel_old_dev_t */ |
83 | #include <asm/types.h> /* for __u64 */ | 83 | #include <linux/types.h> /* for __u64 */ |
84 | 84 | ||
85 | /* Backwards compatibility version */ | 85 | /* Backwards compatibility version */ |
86 | struct loop_info { | 86 | struct loop_info { |
diff --git a/include/linux/mISDNhw.h b/include/linux/mISDNhw.h index e794dfb87504..97ffdc1d3442 100644 --- a/include/linux/mISDNhw.h +++ b/include/linux/mISDNhw.h | |||
@@ -57,20 +57,21 @@ | |||
57 | #define FLG_L2DATA 14 /* channel use L2 DATA primitivs */ | 57 | #define FLG_L2DATA 14 /* channel use L2 DATA primitivs */ |
58 | #define FLG_ORIGIN 15 /* channel is on origin site */ | 58 | #define FLG_ORIGIN 15 /* channel is on origin site */ |
59 | /* channel specific stuff */ | 59 | /* channel specific stuff */ |
60 | #define FLG_FILLEMPTY 16 /* fill fifo on first frame (empty) */ | ||
60 | /* arcofi specific */ | 61 | /* arcofi specific */ |
61 | #define FLG_ARCOFI_TIMER 16 | 62 | #define FLG_ARCOFI_TIMER 17 |
62 | #define FLG_ARCOFI_ERROR 17 | 63 | #define FLG_ARCOFI_ERROR 18 |
63 | /* isar specific */ | 64 | /* isar specific */ |
64 | #define FLG_INITIALIZED 16 | 65 | #define FLG_INITIALIZED 17 |
65 | #define FLG_DLEETX 17 | 66 | #define FLG_DLEETX 18 |
66 | #define FLG_LASTDLE 18 | 67 | #define FLG_LASTDLE 19 |
67 | #define FLG_FIRST 19 | 68 | #define FLG_FIRST 20 |
68 | #define FLG_LASTDATA 20 | 69 | #define FLG_LASTDATA 21 |
69 | #define FLG_NMD_DATA 21 | 70 | #define FLG_NMD_DATA 22 |
70 | #define FLG_FTI_RUN 22 | 71 | #define FLG_FTI_RUN 23 |
71 | #define FLG_LL_OK 23 | 72 | #define FLG_LL_OK 24 |
72 | #define FLG_LL_CONN 24 | 73 | #define FLG_LL_CONN 25 |
73 | #define FLG_DTMFSEND 25 | 74 | #define FLG_DTMFSEND 26 |
74 | 75 | ||
75 | /* workq events */ | 76 | /* workq events */ |
76 | #define FLG_RECVQUEUE 30 | 77 | #define FLG_RECVQUEUE 30 |
@@ -183,6 +184,7 @@ extern void queue_ch_frame(struct mISDNchannel *, u_int, | |||
183 | extern int dchannel_senddata(struct dchannel *, struct sk_buff *); | 184 | extern int dchannel_senddata(struct dchannel *, struct sk_buff *); |
184 | extern int bchannel_senddata(struct bchannel *, struct sk_buff *); | 185 | extern int bchannel_senddata(struct bchannel *, struct sk_buff *); |
185 | extern void recv_Dchannel(struct dchannel *); | 186 | extern void recv_Dchannel(struct dchannel *); |
187 | extern void recv_Echannel(struct dchannel *, struct dchannel *); | ||
186 | extern void recv_Bchannel(struct bchannel *); | 188 | extern void recv_Bchannel(struct bchannel *); |
187 | extern void recv_Dchannel_skb(struct dchannel *, struct sk_buff *); | 189 | extern void recv_Dchannel_skb(struct dchannel *, struct sk_buff *); |
188 | extern void recv_Bchannel_skb(struct bchannel *, struct sk_buff *); | 190 | extern void recv_Bchannel_skb(struct bchannel *, struct sk_buff *); |
diff --git a/include/linux/mISDNif.h b/include/linux/mISDNif.h index 8f2d60da04e7..5da3d95b27f1 100644 --- a/include/linux/mISDNif.h +++ b/include/linux/mISDNif.h | |||
@@ -36,8 +36,8 @@ | |||
36 | * - should be incremented on every checkin | 36 | * - should be incremented on every checkin |
37 | */ | 37 | */ |
38 | #define MISDN_MAJOR_VERSION 1 | 38 | #define MISDN_MAJOR_VERSION 1 |
39 | #define MISDN_MINOR_VERSION 0 | 39 | #define MISDN_MINOR_VERSION 1 |
40 | #define MISDN_RELEASE 19 | 40 | #define MISDN_RELEASE 20 |
41 | 41 | ||
42 | /* primitives for information exchange | 42 | /* primitives for information exchange |
43 | * generell format | 43 | * generell format |
@@ -80,6 +80,7 @@ | |||
80 | #define PH_DEACTIVATE_IND 0x0202 | 80 | #define PH_DEACTIVATE_IND 0x0202 |
81 | #define PH_DEACTIVATE_CNF 0x4202 | 81 | #define PH_DEACTIVATE_CNF 0x4202 |
82 | #define PH_DATA_IND 0x2002 | 82 | #define PH_DATA_IND 0x2002 |
83 | #define PH_DATA_E_IND 0x3002 | ||
83 | #define MPH_ACTIVATE_IND 0x0502 | 84 | #define MPH_ACTIVATE_IND 0x0502 |
84 | #define MPH_DEACTIVATE_IND 0x0602 | 85 | #define MPH_DEACTIVATE_IND 0x0602 |
85 | #define MPH_INFORMATION_IND 0x0702 | 86 | #define MPH_INFORMATION_IND 0x0702 |
@@ -199,6 +200,18 @@ | |||
199 | #define ISDN_P_NT_S0 0x02 | 200 | #define ISDN_P_NT_S0 0x02 |
200 | #define ISDN_P_TE_E1 0x03 | 201 | #define ISDN_P_TE_E1 0x03 |
201 | #define ISDN_P_NT_E1 0x04 | 202 | #define ISDN_P_NT_E1 0x04 |
203 | #define ISDN_P_TE_UP0 0x05 | ||
204 | #define ISDN_P_NT_UP0 0x06 | ||
205 | |||
206 | #define IS_ISDN_P_TE(p) ((p == ISDN_P_TE_S0) || (p == ISDN_P_TE_E1) || \ | ||
207 | (p == ISDN_P_TE_UP0) || (p == ISDN_P_LAPD_TE)) | ||
208 | #define IS_ISDN_P_NT(p) ((p == ISDN_P_NT_S0) || (p == ISDN_P_NT_E1) || \ | ||
209 | (p == ISDN_P_NT_UP0) || (p == ISDN_P_LAPD_NT)) | ||
210 | #define IS_ISDN_P_S0(p) ((p == ISDN_P_TE_S0) || (p == ISDN_P_NT_S0)) | ||
211 | #define IS_ISDN_P_E1(p) ((p == ISDN_P_TE_E1) || (p == ISDN_P_NT_E1)) | ||
212 | #define IS_ISDN_P_UP0(p) ((p == ISDN_P_TE_UP0) || (p == ISDN_P_NT_UP0)) | ||
213 | |||
214 | |||
202 | #define ISDN_P_LAPD_TE 0x10 | 215 | #define ISDN_P_LAPD_TE 0x10 |
203 | #define ISDN_P_LAPD_NT 0x11 | 216 | #define ISDN_P_LAPD_NT 0x11 |
204 | 217 | ||
@@ -255,16 +268,6 @@ struct sockaddr_mISDN { | |||
255 | unsigned char tei; | 268 | unsigned char tei; |
256 | }; | 269 | }; |
257 | 270 | ||
258 | /* timer device ioctl */ | ||
259 | #define IMADDTIMER _IOR('I', 64, int) | ||
260 | #define IMDELTIMER _IOR('I', 65, int) | ||
261 | /* socket ioctls */ | ||
262 | #define IMGETVERSION _IOR('I', 66, int) | ||
263 | #define IMGETCOUNT _IOR('I', 67, int) | ||
264 | #define IMGETDEVINFO _IOR('I', 68, int) | ||
265 | #define IMCTRLREQ _IOR('I', 69, int) | ||
266 | #define IMCLEAR_L2 _IOR('I', 70, int) | ||
267 | |||
268 | struct mISDNversion { | 271 | struct mISDNversion { |
269 | unsigned char major; | 272 | unsigned char major; |
270 | unsigned char minor; | 273 | unsigned char minor; |
@@ -281,6 +284,40 @@ struct mISDN_devinfo { | |||
281 | char name[MISDN_MAX_IDLEN]; | 284 | char name[MISDN_MAX_IDLEN]; |
282 | }; | 285 | }; |
283 | 286 | ||
287 | struct mISDN_devrename { | ||
288 | u_int id; | ||
289 | char name[MISDN_MAX_IDLEN]; /* new name */ | ||
290 | }; | ||
291 | |||
292 | /* MPH_INFORMATION_REQ payload */ | ||
293 | struct ph_info_ch { | ||
294 | __u32 protocol; | ||
295 | __u64 Flags; | ||
296 | }; | ||
297 | |||
298 | struct ph_info_dch { | ||
299 | struct ph_info_ch ch; | ||
300 | __u16 state; | ||
301 | __u16 num_bch; | ||
302 | }; | ||
303 | |||
304 | struct ph_info { | ||
305 | struct ph_info_dch dch; | ||
306 | struct ph_info_ch bch[]; | ||
307 | }; | ||
308 | |||
309 | /* timer device ioctl */ | ||
310 | #define IMADDTIMER _IOR('I', 64, int) | ||
311 | #define IMDELTIMER _IOR('I', 65, int) | ||
312 | |||
313 | /* socket ioctls */ | ||
314 | #define IMGETVERSION _IOR('I', 66, int) | ||
315 | #define IMGETCOUNT _IOR('I', 67, int) | ||
316 | #define IMGETDEVINFO _IOR('I', 68, int) | ||
317 | #define IMCTRLREQ _IOR('I', 69, int) | ||
318 | #define IMCLEAR_L2 _IOR('I', 70, int) | ||
319 | #define IMSETDEVNAME _IOR('I', 71, struct mISDN_devrename) | ||
320 | |||
284 | static inline int | 321 | static inline int |
285 | test_channelmap(u_int nr, u_char *map) | 322 | test_channelmap(u_int nr, u_char *map) |
286 | { | 323 | { |
@@ -312,6 +349,8 @@ clear_channelmap(u_int nr, u_char *map) | |||
312 | #define MISDN_CTRL_SETPEER 0x0040 | 349 | #define MISDN_CTRL_SETPEER 0x0040 |
313 | #define MISDN_CTRL_UNSETPEER 0x0080 | 350 | #define MISDN_CTRL_UNSETPEER 0x0080 |
314 | #define MISDN_CTRL_RX_OFF 0x0100 | 351 | #define MISDN_CTRL_RX_OFF 0x0100 |
352 | #define MISDN_CTRL_FILL_EMPTY 0x0200 | ||
353 | #define MISDN_CTRL_GETPEER 0x0400 | ||
315 | #define MISDN_CTRL_HW_FEATURES_OP 0x2000 | 354 | #define MISDN_CTRL_HW_FEATURES_OP 0x2000 |
316 | #define MISDN_CTRL_HW_FEATURES 0x2001 | 355 | #define MISDN_CTRL_HW_FEATURES 0x2001 |
317 | #define MISDN_CTRL_HFC_OP 0x4000 | 356 | #define MISDN_CTRL_HFC_OP 0x4000 |
@@ -362,6 +401,7 @@ struct mISDN_ctrl_req { | |||
362 | #define DEBUG_L2_TEI 0x00100000 | 401 | #define DEBUG_L2_TEI 0x00100000 |
363 | #define DEBUG_L2_TEIFSM 0x00200000 | 402 | #define DEBUG_L2_TEIFSM 0x00200000 |
364 | #define DEBUG_TIMER 0x01000000 | 403 | #define DEBUG_TIMER 0x01000000 |
404 | #define DEBUG_CLOCK 0x02000000 | ||
365 | 405 | ||
366 | #define mISDN_HEAD_P(s) ((struct mISDNhead *)&s->cb[0]) | 406 | #define mISDN_HEAD_P(s) ((struct mISDNhead *)&s->cb[0]) |
367 | #define mISDN_HEAD_PRIM(s) (((struct mISDNhead *)&s->cb[0])->prim) | 407 | #define mISDN_HEAD_PRIM(s) (((struct mISDNhead *)&s->cb[0])->prim) |
@@ -375,6 +415,7 @@ struct mISDN_ctrl_req { | |||
375 | struct mISDNchannel; | 415 | struct mISDNchannel; |
376 | struct mISDNdevice; | 416 | struct mISDNdevice; |
377 | struct mISDNstack; | 417 | struct mISDNstack; |
418 | struct mISDNclock; | ||
378 | 419 | ||
379 | struct channel_req { | 420 | struct channel_req { |
380 | u_int protocol; | 421 | u_int protocol; |
@@ -423,7 +464,6 @@ struct mISDN_sock { | |||
423 | struct mISDNdevice { | 464 | struct mISDNdevice { |
424 | struct mISDNchannel D; | 465 | struct mISDNchannel D; |
425 | u_int id; | 466 | u_int id; |
426 | char name[MISDN_MAX_IDLEN]; | ||
427 | u_int Dprotocols; | 467 | u_int Dprotocols; |
428 | u_int Bprotocols; | 468 | u_int Bprotocols; |
429 | u_int nrbchan; | 469 | u_int nrbchan; |
@@ -452,6 +492,16 @@ struct mISDNstack { | |||
452 | #endif | 492 | #endif |
453 | }; | 493 | }; |
454 | 494 | ||
495 | typedef int (clockctl_func_t)(void *, int); | ||
496 | |||
497 | struct mISDNclock { | ||
498 | struct list_head list; | ||
499 | char name[64]; | ||
500 | int pri; | ||
501 | clockctl_func_t *ctl; | ||
502 | void *priv; | ||
503 | }; | ||
504 | |||
455 | /* global alloc/queue functions */ | 505 | /* global alloc/queue functions */ |
456 | 506 | ||
457 | static inline struct sk_buff * | 507 | static inline struct sk_buff * |
@@ -498,12 +548,26 @@ _queue_data(struct mISDNchannel *ch, u_int prim, | |||
498 | 548 | ||
499 | /* global register/unregister functions */ | 549 | /* global register/unregister functions */ |
500 | 550 | ||
501 | extern int mISDN_register_device(struct mISDNdevice *, char *name); | 551 | extern int mISDN_register_device(struct mISDNdevice *, |
552 | struct device *parent, char *name); | ||
502 | extern void mISDN_unregister_device(struct mISDNdevice *); | 553 | extern void mISDN_unregister_device(struct mISDNdevice *); |
503 | extern int mISDN_register_Bprotocol(struct Bprotocol *); | 554 | extern int mISDN_register_Bprotocol(struct Bprotocol *); |
504 | extern void mISDN_unregister_Bprotocol(struct Bprotocol *); | 555 | extern void mISDN_unregister_Bprotocol(struct Bprotocol *); |
556 | extern struct mISDNclock *mISDN_register_clock(char *, int, clockctl_func_t *, | ||
557 | void *); | ||
558 | extern void mISDN_unregister_clock(struct mISDNclock *); | ||
559 | |||
560 | static inline struct mISDNdevice *dev_to_mISDN(struct device *dev) | ||
561 | { | ||
562 | if (dev) | ||
563 | return dev_get_drvdata(dev); | ||
564 | else | ||
565 | return NULL; | ||
566 | } | ||
505 | 567 | ||
506 | extern void set_channel_address(struct mISDNchannel *, u_int, u_int); | 568 | extern void set_channel_address(struct mISDNchannel *, u_int, u_int); |
569 | extern void mISDN_clock_update(struct mISDNclock *, int, struct timeval *); | ||
570 | extern unsigned short mISDN_clock_get(void); | ||
507 | 571 | ||
508 | #endif /* __KERNEL__ */ | 572 | #endif /* __KERNEL__ */ |
509 | #endif /* mISDNIF_H */ | 573 | #endif /* mISDNIF_H */ |
diff --git a/include/linux/magic.h b/include/linux/magic.h index 439f6f3cb0c4..0b4df7eba852 100644 --- a/include/linux/magic.h +++ b/include/linux/magic.h | |||
@@ -10,11 +10,13 @@ | |||
10 | #define SYSFS_MAGIC 0x62656572 | 10 | #define SYSFS_MAGIC 0x62656572 |
11 | #define SECURITYFS_MAGIC 0x73636673 | 11 | #define SECURITYFS_MAGIC 0x73636673 |
12 | #define TMPFS_MAGIC 0x01021994 | 12 | #define TMPFS_MAGIC 0x01021994 |
13 | #define SQUASHFS_MAGIC 0x73717368 | ||
13 | #define EFS_SUPER_MAGIC 0x414A53 | 14 | #define EFS_SUPER_MAGIC 0x414A53 |
14 | #define EXT2_SUPER_MAGIC 0xEF53 | 15 | #define EXT2_SUPER_MAGIC 0xEF53 |
15 | #define EXT3_SUPER_MAGIC 0xEF53 | 16 | #define EXT3_SUPER_MAGIC 0xEF53 |
16 | #define XENFS_SUPER_MAGIC 0xabba1974 | 17 | #define XENFS_SUPER_MAGIC 0xabba1974 |
17 | #define EXT4_SUPER_MAGIC 0xEF53 | 18 | #define EXT4_SUPER_MAGIC 0xEF53 |
19 | #define BTRFS_SUPER_MAGIC 0x9123683E | ||
18 | #define HPFS_SUPER_MAGIC 0xf995e849 | 20 | #define HPFS_SUPER_MAGIC 0xf995e849 |
19 | #define ISOFS_SUPER_MAGIC 0x9660 | 21 | #define ISOFS_SUPER_MAGIC 0x9660 |
20 | #define JFFS2_SUPER_MAGIC 0x72b6 | 22 | #define JFFS2_SUPER_MAGIC 0x72b6 |
diff --git a/include/linux/matroxfb.h b/include/linux/matroxfb.h index ae5b09493062..404f678e734b 100644 --- a/include/linux/matroxfb.h +++ b/include/linux/matroxfb.h | |||
@@ -2,7 +2,7 @@ | |||
2 | #define __LINUX_MATROXFB_H__ | 2 | #define __LINUX_MATROXFB_H__ |
3 | 3 | ||
4 | #include <asm/ioctl.h> | 4 | #include <asm/ioctl.h> |
5 | #include <asm/types.h> | 5 | #include <linux/types.h> |
6 | #include <linux/videodev2.h> | 6 | #include <linux/videodev2.h> |
7 | 7 | ||
8 | struct matroxioc_output_mode { | 8 | struct matroxioc_output_mode { |
diff --git a/include/linux/memstick.h b/include/linux/memstick.h index d0c37e682234..690c35a9d4cc 100644 --- a/include/linux/memstick.h +++ b/include/linux/memstick.h | |||
@@ -100,8 +100,8 @@ struct mspro_param_register { | |||
100 | #define MEMSTICK_SYS_PAR8 0x40 | 100 | #define MEMSTICK_SYS_PAR8 0x40 |
101 | #define MEMSTICK_SYS_SERIAL 0x80 | 101 | #define MEMSTICK_SYS_SERIAL 0x80 |
102 | 102 | ||
103 | unsigned short data_count; | 103 | __be16 data_count; |
104 | unsigned int data_address; | 104 | __be32 data_address; |
105 | unsigned char tpc_param; | 105 | unsigned char tpc_param; |
106 | } __attribute__((packed)); | 106 | } __attribute__((packed)); |
107 | 107 | ||
diff --git a/include/linux/mfd/pcf50633/adc.h b/include/linux/mfd/pcf50633/adc.h new file mode 100644 index 000000000000..56669b4183ad --- /dev/null +++ b/include/linux/mfd/pcf50633/adc.h | |||
@@ -0,0 +1,72 @@ | |||
1 | /* | ||
2 | * adc.h -- Driver for NXP PCF50633 ADC | ||
3 | * | ||
4 | * (C) 2006-2008 by Openmoko, Inc. | ||
5 | * All rights reserved. | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify it | ||
8 | * under the terms of the GNU General Public License as published by the | ||
9 | * Free Software Foundation; either version 2 of the License, or (at your | ||
10 | * option) any later version. | ||
11 | */ | ||
12 | |||
13 | #ifndef __LINUX_MFD_PCF50633_ADC_H | ||
14 | #define __LINUX_MFD_PCF50633_ADC_H | ||
15 | |||
16 | #include <linux/mfd/pcf50633/core.h> | ||
17 | #include <linux/platform_device.h> | ||
18 | |||
19 | /* ADC Registers */ | ||
20 | #define PCF50633_REG_ADCC3 0x52 | ||
21 | #define PCF50633_REG_ADCC2 0x53 | ||
22 | #define PCF50633_REG_ADCC1 0x54 | ||
23 | #define PCF50633_REG_ADCS1 0x55 | ||
24 | #define PCF50633_REG_ADCS2 0x56 | ||
25 | #define PCF50633_REG_ADCS3 0x57 | ||
26 | |||
27 | #define PCF50633_ADCC1_ADCSTART 0x01 | ||
28 | #define PCF50633_ADCC1_RES_10BIT 0x02 | ||
29 | #define PCF50633_ADCC1_AVERAGE_NO 0x00 | ||
30 | #define PCF50633_ADCC1_AVERAGE_4 0x04 | ||
31 | #define PCF50633_ADCC1_AVERAGE_8 0x08 | ||
32 | #define PCF50633_ADCC1_AVERAGE_16 0x0c | ||
33 | #define PCF50633_ADCC1_MUX_BATSNS_RES 0x00 | ||
34 | #define PCF50633_ADCC1_MUX_BATSNS_SUBTR 0x10 | ||
35 | #define PCF50633_ADCC1_MUX_ADCIN2_RES 0x20 | ||
36 | #define PCF50633_ADCC1_MUX_ADCIN2_SUBTR 0x30 | ||
37 | #define PCF50633_ADCC1_MUX_BATTEMP 0x60 | ||
38 | #define PCF50633_ADCC1_MUX_ADCIN1 0x70 | ||
39 | #define PCF50633_ADCC1_AVERAGE_MASK 0x0c | ||
40 | #define PCF50633_ADCC1_ADCMUX_MASK 0xf0 | ||
41 | |||
42 | #define PCF50633_ADCC2_RATIO_NONE 0x00 | ||
43 | #define PCF50633_ADCC2_RATIO_BATTEMP 0x01 | ||
44 | #define PCF50633_ADCC2_RATIO_ADCIN1 0x02 | ||
45 | #define PCF50633_ADCC2_RATIO_BOTH 0x03 | ||
46 | #define PCF50633_ADCC2_RATIOSETTL_100US 0x04 | ||
47 | |||
48 | #define PCF50633_ADCC3_ACCSW_EN 0x01 | ||
49 | #define PCF50633_ADCC3_NTCSW_EN 0x04 | ||
50 | #define PCF50633_ADCC3_RES_DIV_TWO 0x10 | ||
51 | #define PCF50633_ADCC3_RES_DIV_THREE 0x00 | ||
52 | |||
53 | #define PCF50633_ADCS3_REF_NTCSW 0x00 | ||
54 | #define PCF50633_ADCS3_REF_ACCSW 0x10 | ||
55 | #define PCF50633_ADCS3_REF_2V0 0x20 | ||
56 | #define PCF50633_ADCS3_REF_VISA 0x30 | ||
57 | #define PCF50633_ADCS3_REF_2V0_2 0x70 | ||
58 | #define PCF50633_ADCS3_ADCRDY 0x80 | ||
59 | |||
60 | #define PCF50633_ADCS3_ADCDAT1L_MASK 0x03 | ||
61 | #define PCF50633_ADCS3_ADCDAT2L_MASK 0x0c | ||
62 | #define PCF50633_ADCS3_ADCDAT2L_SHIFT 2 | ||
63 | #define PCF50633_ASCS3_REF_MASK 0x70 | ||
64 | |||
65 | extern int | ||
66 | pcf50633_adc_async_read(struct pcf50633 *pcf, int mux, int avg, | ||
67 | void (*callback)(struct pcf50633 *, void *, int), | ||
68 | void *callback_param); | ||
69 | extern int | ||
70 | pcf50633_adc_sync_read(struct pcf50633 *pcf, int mux, int avg); | ||
71 | |||
72 | #endif /* __LINUX_PCF50633_ADC_H */ | ||
diff --git a/include/linux/mfd/pcf50633/core.h b/include/linux/mfd/pcf50633/core.h new file mode 100644 index 000000000000..4455b212d75a --- /dev/null +++ b/include/linux/mfd/pcf50633/core.h | |||
@@ -0,0 +1,218 @@ | |||
1 | /* | ||
2 | * core.h -- Core driver for NXP PCF50633 | ||
3 | * | ||
4 | * (C) 2006-2008 by Openmoko, Inc. | ||
5 | * All rights reserved. | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify it | ||
8 | * under the terms of the GNU General Public License as published by the | ||
9 | * Free Software Foundation; either version 2 of the License, or (at your | ||
10 | * option) any later version. | ||
11 | */ | ||
12 | |||
13 | #ifndef __LINUX_MFD_PCF50633_CORE_H | ||
14 | #define __LINUX_MFD_PCF50633_CORE_H | ||
15 | |||
16 | #include <linux/i2c.h> | ||
17 | #include <linux/workqueue.h> | ||
18 | #include <linux/regulator/driver.h> | ||
19 | #include <linux/regulator/machine.h> | ||
20 | #include <linux/power_supply.h> | ||
21 | |||
22 | struct pcf50633; | ||
23 | |||
24 | #define PCF50633_NUM_REGULATORS 11 | ||
25 | |||
26 | struct pcf50633_platform_data { | ||
27 | struct regulator_init_data reg_init_data[PCF50633_NUM_REGULATORS]; | ||
28 | |||
29 | char **batteries; | ||
30 | int num_batteries; | ||
31 | |||
32 | /* Callbacks */ | ||
33 | void (*probe_done)(struct pcf50633 *); | ||
34 | void (*mbc_event_callback)(struct pcf50633 *, int); | ||
35 | void (*regulator_registered)(struct pcf50633 *, int); | ||
36 | void (*force_shutdown)(struct pcf50633 *); | ||
37 | |||
38 | u8 resumers[5]; | ||
39 | }; | ||
40 | |||
41 | struct pcf50633_subdev_pdata { | ||
42 | struct pcf50633 *pcf; | ||
43 | }; | ||
44 | |||
45 | struct pcf50633_irq { | ||
46 | void (*handler) (int, void *); | ||
47 | void *data; | ||
48 | }; | ||
49 | |||
50 | int pcf50633_register_irq(struct pcf50633 *pcf, int irq, | ||
51 | void (*handler) (int, void *), void *data); | ||
52 | int pcf50633_free_irq(struct pcf50633 *pcf, int irq); | ||
53 | |||
54 | int pcf50633_irq_mask(struct pcf50633 *pcf, int irq); | ||
55 | int pcf50633_irq_unmask(struct pcf50633 *pcf, int irq); | ||
56 | int pcf50633_irq_mask_get(struct pcf50633 *pcf, int irq); | ||
57 | |||
58 | int pcf50633_read_block(struct pcf50633 *, u8 reg, | ||
59 | int nr_regs, u8 *data); | ||
60 | int pcf50633_write_block(struct pcf50633 *pcf, u8 reg, | ||
61 | int nr_regs, u8 *data); | ||
62 | u8 pcf50633_reg_read(struct pcf50633 *, u8 reg); | ||
63 | int pcf50633_reg_write(struct pcf50633 *pcf, u8 reg, u8 val); | ||
64 | |||
65 | int pcf50633_reg_set_bit_mask(struct pcf50633 *pcf, u8 reg, u8 mask, u8 val); | ||
66 | int pcf50633_reg_clear_bits(struct pcf50633 *pcf, u8 reg, u8 bits); | ||
67 | |||
68 | /* Interrupt registers */ | ||
69 | |||
70 | #define PCF50633_REG_INT1 0x02 | ||
71 | #define PCF50633_REG_INT2 0x03 | ||
72 | #define PCF50633_REG_INT3 0x04 | ||
73 | #define PCF50633_REG_INT4 0x05 | ||
74 | #define PCF50633_REG_INT5 0x06 | ||
75 | |||
76 | #define PCF50633_REG_INT1M 0x07 | ||
77 | #define PCF50633_REG_INT2M 0x08 | ||
78 | #define PCF50633_REG_INT3M 0x09 | ||
79 | #define PCF50633_REG_INT4M 0x0a | ||
80 | #define PCF50633_REG_INT5M 0x0b | ||
81 | |||
82 | enum { | ||
83 | /* Chip IRQs */ | ||
84 | PCF50633_IRQ_ADPINS, | ||
85 | PCF50633_IRQ_ADPREM, | ||
86 | PCF50633_IRQ_USBINS, | ||
87 | PCF50633_IRQ_USBREM, | ||
88 | PCF50633_IRQ_RESERVED1, | ||
89 | PCF50633_IRQ_RESERVED2, | ||
90 | PCF50633_IRQ_ALARM, | ||
91 | PCF50633_IRQ_SECOND, | ||
92 | PCF50633_IRQ_ONKEYR, | ||
93 | PCF50633_IRQ_ONKEYF, | ||
94 | PCF50633_IRQ_EXTON1R, | ||
95 | PCF50633_IRQ_EXTON1F, | ||
96 | PCF50633_IRQ_EXTON2R, | ||
97 | PCF50633_IRQ_EXTON2F, | ||
98 | PCF50633_IRQ_EXTON3R, | ||
99 | PCF50633_IRQ_EXTON3F, | ||
100 | PCF50633_IRQ_BATFULL, | ||
101 | PCF50633_IRQ_CHGHALT, | ||
102 | PCF50633_IRQ_THLIMON, | ||
103 | PCF50633_IRQ_THLIMOFF, | ||
104 | PCF50633_IRQ_USBLIMON, | ||
105 | PCF50633_IRQ_USBLIMOFF, | ||
106 | PCF50633_IRQ_ADCRDY, | ||
107 | PCF50633_IRQ_ONKEY1S, | ||
108 | PCF50633_IRQ_LOWSYS, | ||
109 | PCF50633_IRQ_LOWBAT, | ||
110 | PCF50633_IRQ_HIGHTMP, | ||
111 | PCF50633_IRQ_AUTOPWRFAIL, | ||
112 | PCF50633_IRQ_DWN1PWRFAIL, | ||
113 | PCF50633_IRQ_DWN2PWRFAIL, | ||
114 | PCF50633_IRQ_LEDPWRFAIL, | ||
115 | PCF50633_IRQ_LEDOVP, | ||
116 | PCF50633_IRQ_LDO1PWRFAIL, | ||
117 | PCF50633_IRQ_LDO2PWRFAIL, | ||
118 | PCF50633_IRQ_LDO3PWRFAIL, | ||
119 | PCF50633_IRQ_LDO4PWRFAIL, | ||
120 | PCF50633_IRQ_LDO5PWRFAIL, | ||
121 | PCF50633_IRQ_LDO6PWRFAIL, | ||
122 | PCF50633_IRQ_HCLDOPWRFAIL, | ||
123 | PCF50633_IRQ_HCLDOOVL, | ||
124 | |||
125 | /* Always last */ | ||
126 | PCF50633_NUM_IRQ, | ||
127 | }; | ||
128 | |||
129 | struct pcf50633 { | ||
130 | struct device *dev; | ||
131 | struct i2c_client *i2c_client; | ||
132 | |||
133 | struct pcf50633_platform_data *pdata; | ||
134 | int irq; | ||
135 | struct pcf50633_irq irq_handler[PCF50633_NUM_IRQ]; | ||
136 | struct work_struct irq_work; | ||
137 | struct mutex lock; | ||
138 | |||
139 | u8 mask_regs[5]; | ||
140 | |||
141 | u8 suspend_irq_masks[5]; | ||
142 | u8 resume_reason[5]; | ||
143 | int is_suspended; | ||
144 | |||
145 | int onkey1s_held; | ||
146 | |||
147 | struct platform_device *rtc_pdev; | ||
148 | struct platform_device *mbc_pdev; | ||
149 | struct platform_device *adc_pdev; | ||
150 | struct platform_device *input_pdev; | ||
151 | struct platform_device *regulator_pdev[PCF50633_NUM_REGULATORS]; | ||
152 | }; | ||
153 | |||
154 | enum pcf50633_reg_int1 { | ||
155 | PCF50633_INT1_ADPINS = 0x01, /* Adapter inserted */ | ||
156 | PCF50633_INT1_ADPREM = 0x02, /* Adapter removed */ | ||
157 | PCF50633_INT1_USBINS = 0x04, /* USB inserted */ | ||
158 | PCF50633_INT1_USBREM = 0x08, /* USB removed */ | ||
159 | /* reserved */ | ||
160 | PCF50633_INT1_ALARM = 0x40, /* RTC alarm time is reached */ | ||
161 | PCF50633_INT1_SECOND = 0x80, /* RTC periodic second interrupt */ | ||
162 | }; | ||
163 | |||
164 | enum pcf50633_reg_int2 { | ||
165 | PCF50633_INT2_ONKEYR = 0x01, /* ONKEY rising edge */ | ||
166 | PCF50633_INT2_ONKEYF = 0x02, /* ONKEY falling edge */ | ||
167 | PCF50633_INT2_EXTON1R = 0x04, /* EXTON1 rising edge */ | ||
168 | PCF50633_INT2_EXTON1F = 0x08, /* EXTON1 falling edge */ | ||
169 | PCF50633_INT2_EXTON2R = 0x10, /* EXTON2 rising edge */ | ||
170 | PCF50633_INT2_EXTON2F = 0x20, /* EXTON2 falling edge */ | ||
171 | PCF50633_INT2_EXTON3R = 0x40, /* EXTON3 rising edge */ | ||
172 | PCF50633_INT2_EXTON3F = 0x80, /* EXTON3 falling edge */ | ||
173 | }; | ||
174 | |||
175 | enum pcf50633_reg_int3 { | ||
176 | PCF50633_INT3_BATFULL = 0x01, /* Battery full */ | ||
177 | PCF50633_INT3_CHGHALT = 0x02, /* Charger halt */ | ||
178 | PCF50633_INT3_THLIMON = 0x04, | ||
179 | PCF50633_INT3_THLIMOFF = 0x08, | ||
180 | PCF50633_INT3_USBLIMON = 0x10, | ||
181 | PCF50633_INT3_USBLIMOFF = 0x20, | ||
182 | PCF50633_INT3_ADCRDY = 0x40, /* ADC result ready */ | ||
183 | PCF50633_INT3_ONKEY1S = 0x80, /* ONKEY pressed 1 second */ | ||
184 | }; | ||
185 | |||
186 | enum pcf50633_reg_int4 { | ||
187 | PCF50633_INT4_LOWSYS = 0x01, | ||
188 | PCF50633_INT4_LOWBAT = 0x02, | ||
189 | PCF50633_INT4_HIGHTMP = 0x04, | ||
190 | PCF50633_INT4_AUTOPWRFAIL = 0x08, | ||
191 | PCF50633_INT4_DWN1PWRFAIL = 0x10, | ||
192 | PCF50633_INT4_DWN2PWRFAIL = 0x20, | ||
193 | PCF50633_INT4_LEDPWRFAIL = 0x40, | ||
194 | PCF50633_INT4_LEDOVP = 0x80, | ||
195 | }; | ||
196 | |||
197 | enum pcf50633_reg_int5 { | ||
198 | PCF50633_INT5_LDO1PWRFAIL = 0x01, | ||
199 | PCF50633_INT5_LDO2PWRFAIL = 0x02, | ||
200 | PCF50633_INT5_LDO3PWRFAIL = 0x04, | ||
201 | PCF50633_INT5_LDO4PWRFAIL = 0x08, | ||
202 | PCF50633_INT5_LDO5PWRFAIL = 0x10, | ||
203 | PCF50633_INT5_LDO6PWRFAIL = 0x20, | ||
204 | PCF50633_INT5_HCLDOPWRFAIL = 0x40, | ||
205 | PCF50633_INT5_HCLDOOVL = 0x80, | ||
206 | }; | ||
207 | |||
208 | /* misc. registers */ | ||
209 | #define PCF50633_REG_OOCSHDWN 0x0c | ||
210 | |||
211 | /* LED registers */ | ||
212 | #define PCF50633_REG_LEDOUT 0x28 | ||
213 | #define PCF50633_REG_LEDENA 0x29 | ||
214 | #define PCF50633_REG_LEDCTL 0x2a | ||
215 | #define PCF50633_REG_LEDDIM 0x2b | ||
216 | |||
217 | #endif | ||
218 | |||
diff --git a/include/linux/mfd/pcf50633/gpio.h b/include/linux/mfd/pcf50633/gpio.h new file mode 100644 index 000000000000..a42b845efc54 --- /dev/null +++ b/include/linux/mfd/pcf50633/gpio.h | |||
@@ -0,0 +1,52 @@ | |||
1 | /* | ||
2 | * gpio.h -- GPIO driver for NXP PCF50633 | ||
3 | * | ||
4 | * (C) 2006-2008 by Openmoko, Inc. | ||
5 | * All rights reserved. | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify it | ||
8 | * under the terms of the GNU General Public License as published by the | ||
9 | * Free Software Foundation; either version 2 of the License, or (at your | ||
10 | * option) any later version. | ||
11 | */ | ||
12 | |||
13 | #ifndef __LINUX_MFD_PCF50633_GPIO_H | ||
14 | #define __LINUX_MFD_PCF50633_GPIO_H | ||
15 | |||
16 | #include <linux/mfd/pcf50633/core.h> | ||
17 | |||
18 | #define PCF50633_GPIO1 1 | ||
19 | #define PCF50633_GPIO2 2 | ||
20 | #define PCF50633_GPIO3 3 | ||
21 | #define PCF50633_GPO 4 | ||
22 | |||
23 | #define PCF50633_REG_GPIO1CFG 0x14 | ||
24 | #define PCF50633_REG_GPIO2CFG 0x15 | ||
25 | #define PCF50633_REG_GPIO3CFG 0x16 | ||
26 | #define PCF50633_REG_GPOCFG 0x17 | ||
27 | |||
28 | #define PCF50633_GPOCFG_GPOSEL_MASK 0x07 | ||
29 | |||
30 | enum pcf50633_reg_gpocfg { | ||
31 | PCF50633_GPOCFG_GPOSEL_0 = 0x00, | ||
32 | PCF50633_GPOCFG_GPOSEL_LED_NFET = 0x01, | ||
33 | PCF50633_GPOCFG_GPOSEL_SYSxOK = 0x02, | ||
34 | PCF50633_GPOCFG_GPOSEL_CLK32K = 0x03, | ||
35 | PCF50633_GPOCFG_GPOSEL_ADAPUSB = 0x04, | ||
36 | PCF50633_GPOCFG_GPOSEL_USBxOK = 0x05, | ||
37 | PCF50633_GPOCFG_GPOSEL_ACTPH4 = 0x06, | ||
38 | PCF50633_GPOCFG_GPOSEL_1 = 0x07, | ||
39 | PCF50633_GPOCFG_GPOSEL_INVERSE = 0x08, | ||
40 | }; | ||
41 | |||
42 | int pcf50633_gpio_set(struct pcf50633 *pcf, int gpio, u8 val); | ||
43 | u8 pcf50633_gpio_get(struct pcf50633 *pcf, int gpio); | ||
44 | |||
45 | int pcf50633_gpio_invert_set(struct pcf50633 *, int gpio, int invert); | ||
46 | int pcf50633_gpio_invert_get(struct pcf50633 *pcf, int gpio); | ||
47 | |||
48 | int pcf50633_gpio_power_supply_set(struct pcf50633 *, | ||
49 | int gpio, int regulator, int on); | ||
50 | #endif /* __LINUX_MFD_PCF50633_GPIO_H */ | ||
51 | |||
52 | |||
diff --git a/include/linux/mfd/pcf50633/mbc.h b/include/linux/mfd/pcf50633/mbc.h new file mode 100644 index 000000000000..6e17619b773a --- /dev/null +++ b/include/linux/mfd/pcf50633/mbc.h | |||
@@ -0,0 +1,134 @@ | |||
1 | /* | ||
2 | * mbc.h -- Driver for NXP PCF50633 Main Battery Charger | ||
3 | * | ||
4 | * (C) 2006-2008 by Openmoko, Inc. | ||
5 | * All rights reserved. | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify it | ||
8 | * under the terms of the GNU General Public License as published by the | ||
9 | * Free Software Foundation; either version 2 of the License, or (at your | ||
10 | * option) any later version. | ||
11 | */ | ||
12 | |||
13 | #ifndef __LINUX_MFD_PCF50633_MBC_H | ||
14 | #define __LINUX_MFD_PCF50633_MBC_H | ||
15 | |||
16 | #include <linux/mfd/pcf50633/core.h> | ||
17 | #include <linux/platform_device.h> | ||
18 | |||
19 | #define PCF50633_REG_MBCC1 0x43 | ||
20 | #define PCF50633_REG_MBCC2 0x44 | ||
21 | #define PCF50633_REG_MBCC3 0x45 | ||
22 | #define PCF50633_REG_MBCC4 0x46 | ||
23 | #define PCF50633_REG_MBCC5 0x47 | ||
24 | #define PCF50633_REG_MBCC6 0x48 | ||
25 | #define PCF50633_REG_MBCC7 0x49 | ||
26 | #define PCF50633_REG_MBCC8 0x4a | ||
27 | #define PCF50633_REG_MBCS1 0x4b | ||
28 | #define PCF50633_REG_MBCS2 0x4c | ||
29 | #define PCF50633_REG_MBCS3 0x4d | ||
30 | |||
31 | enum pcf50633_reg_mbcc1 { | ||
32 | PCF50633_MBCC1_CHGENA = 0x01, /* Charger enable */ | ||
33 | PCF50633_MBCC1_AUTOSTOP = 0x02, | ||
34 | PCF50633_MBCC1_AUTORES = 0x04, /* automatic resume */ | ||
35 | PCF50633_MBCC1_RESUME = 0x08, /* explicit resume cmd */ | ||
36 | PCF50633_MBCC1_RESTART = 0x10, /* restart charging */ | ||
37 | PCF50633_MBCC1_PREWDTIME_60M = 0x20, /* max. precharging time */ | ||
38 | PCF50633_MBCC1_WDTIME_1H = 0x00, | ||
39 | PCF50633_MBCC1_WDTIME_2H = 0x40, | ||
40 | PCF50633_MBCC1_WDTIME_4H = 0x80, | ||
41 | PCF50633_MBCC1_WDTIME_6H = 0xc0, | ||
42 | }; | ||
43 | #define PCF50633_MBCC1_WDTIME_MASK 0xc0 | ||
44 | |||
45 | enum pcf50633_reg_mbcc2 { | ||
46 | PCF50633_MBCC2_VBATCOND_2V7 = 0x00, | ||
47 | PCF50633_MBCC2_VBATCOND_2V85 = 0x01, | ||
48 | PCF50633_MBCC2_VBATCOND_3V0 = 0x02, | ||
49 | PCF50633_MBCC2_VBATCOND_3V15 = 0x03, | ||
50 | PCF50633_MBCC2_VMAX_4V = 0x00, | ||
51 | PCF50633_MBCC2_VMAX_4V20 = 0x28, | ||
52 | PCF50633_MBCC2_VRESDEBTIME_64S = 0x80, /* debounce time (32/64sec) */ | ||
53 | }; | ||
54 | |||
55 | enum pcf50633_reg_mbcc7 { | ||
56 | PCF50633_MBCC7_USB_100mA = 0x00, | ||
57 | PCF50633_MBCC7_USB_500mA = 0x01, | ||
58 | PCF50633_MBCC7_USB_1000mA = 0x02, | ||
59 | PCF50633_MBCC7_USB_SUSPEND = 0x03, | ||
60 | PCF50633_MBCC7_BATTEMP_EN = 0x04, | ||
61 | PCF50633_MBCC7_BATSYSIMAX_1A6 = 0x00, | ||
62 | PCF50633_MBCC7_BATSYSIMAX_1A8 = 0x40, | ||
63 | PCF50633_MBCC7_BATSYSIMAX_2A0 = 0x80, | ||
64 | PCF50633_MBCC7_BATSYSIMAX_2A2 = 0xc0, | ||
65 | }; | ||
66 | #define PCF50633_MBCC7_USB_MASK 0x03 | ||
67 | |||
68 | enum pcf50633_reg_mbcc8 { | ||
69 | PCF50633_MBCC8_USBENASUS = 0x10, | ||
70 | }; | ||
71 | |||
72 | enum pcf50633_reg_mbcs1 { | ||
73 | PCF50633_MBCS1_USBPRES = 0x01, | ||
74 | PCF50633_MBCS1_USBOK = 0x02, | ||
75 | PCF50633_MBCS1_ADAPTPRES = 0x04, | ||
76 | PCF50633_MBCS1_ADAPTOK = 0x08, | ||
77 | PCF50633_MBCS1_TBAT_OK = 0x00, | ||
78 | PCF50633_MBCS1_TBAT_ABOVE = 0x10, | ||
79 | PCF50633_MBCS1_TBAT_BELOW = 0x20, | ||
80 | PCF50633_MBCS1_TBAT_UNDEF = 0x30, | ||
81 | PCF50633_MBCS1_PREWDTEXP = 0x40, | ||
82 | PCF50633_MBCS1_WDTEXP = 0x80, | ||
83 | }; | ||
84 | |||
85 | enum pcf50633_reg_mbcs2_mbcmod { | ||
86 | PCF50633_MBCS2_MBC_PLAY = 0x00, | ||
87 | PCF50633_MBCS2_MBC_USB_PRE = 0x01, | ||
88 | PCF50633_MBCS2_MBC_USB_PRE_WAIT = 0x02, | ||
89 | PCF50633_MBCS2_MBC_USB_FAST = 0x03, | ||
90 | PCF50633_MBCS2_MBC_USB_FAST_WAIT = 0x04, | ||
91 | PCF50633_MBCS2_MBC_USB_SUSPEND = 0x05, | ||
92 | PCF50633_MBCS2_MBC_ADP_PRE = 0x06, | ||
93 | PCF50633_MBCS2_MBC_ADP_PRE_WAIT = 0x07, | ||
94 | PCF50633_MBCS2_MBC_ADP_FAST = 0x08, | ||
95 | PCF50633_MBCS2_MBC_ADP_FAST_WAIT = 0x09, | ||
96 | PCF50633_MBCS2_MBC_BAT_FULL = 0x0a, | ||
97 | PCF50633_MBCS2_MBC_HALT = 0x0b, | ||
98 | }; | ||
99 | #define PCF50633_MBCS2_MBC_MASK 0x0f | ||
100 | enum pcf50633_reg_mbcs2_chgstat { | ||
101 | PCF50633_MBCS2_CHGS_NONE = 0x00, | ||
102 | PCF50633_MBCS2_CHGS_ADAPTER = 0x10, | ||
103 | PCF50633_MBCS2_CHGS_USB = 0x20, | ||
104 | PCF50633_MBCS2_CHGS_BOTH = 0x30, | ||
105 | }; | ||
106 | #define PCF50633_MBCS2_RESSTAT_AUTO 0x40 | ||
107 | |||
108 | enum pcf50633_reg_mbcs3 { | ||
109 | PCF50633_MBCS3_USBLIM_PLAY = 0x01, | ||
110 | PCF50633_MBCS3_USBLIM_CGH = 0x02, | ||
111 | PCF50633_MBCS3_TLIM_PLAY = 0x04, | ||
112 | PCF50633_MBCS3_TLIM_CHG = 0x08, | ||
113 | PCF50633_MBCS3_ILIM = 0x10, /* 1: Ibat > Icutoff */ | ||
114 | PCF50633_MBCS3_VLIM = 0x20, /* 1: Vbat == Vmax */ | ||
115 | PCF50633_MBCS3_VBATSTAT = 0x40, /* 1: Vbat > Vbatcond */ | ||
116 | PCF50633_MBCS3_VRES = 0x80, /* 1: Vbat > Vth(RES) */ | ||
117 | }; | ||
118 | |||
119 | #define PCF50633_MBCC2_VBATCOND_MASK 0x03 | ||
120 | #define PCF50633_MBCC2_VMAX_MASK 0x3c | ||
121 | |||
122 | /* Charger status */ | ||
123 | #define PCF50633_MBC_USB_ONLINE 0x01 | ||
124 | #define PCF50633_MBC_USB_ACTIVE 0x02 | ||
125 | #define PCF50633_MBC_ADAPTER_ONLINE 0x04 | ||
126 | #define PCF50633_MBC_ADAPTER_ACTIVE 0x08 | ||
127 | |||
128 | int pcf50633_mbc_usb_curlim_set(struct pcf50633 *pcf, int ma); | ||
129 | |||
130 | int pcf50633_mbc_get_status(struct pcf50633 *); | ||
131 | void pcf50633_mbc_set_status(struct pcf50633 *, int what, int status); | ||
132 | |||
133 | #endif | ||
134 | |||
diff --git a/include/linux/mfd/pcf50633/pmic.h b/include/linux/mfd/pcf50633/pmic.h new file mode 100644 index 000000000000..2d3dbe53b235 --- /dev/null +++ b/include/linux/mfd/pcf50633/pmic.h | |||
@@ -0,0 +1,67 @@ | |||
1 | #ifndef __LINUX_MFD_PCF50633_PMIC_H | ||
2 | #define __LINUX_MFD_PCF50633_PMIC_H | ||
3 | |||
4 | #include <linux/mfd/pcf50633/core.h> | ||
5 | #include <linux/platform_device.h> | ||
6 | |||
7 | #define PCF50633_REG_AUTOOUT 0x1a | ||
8 | #define PCF50633_REG_AUTOENA 0x1b | ||
9 | #define PCF50633_REG_AUTOCTL 0x1c | ||
10 | #define PCF50633_REG_AUTOMXC 0x1d | ||
11 | #define PCF50633_REG_DOWN1OUT 0x1e | ||
12 | #define PCF50633_REG_DOWN1ENA 0x1f | ||
13 | #define PCF50633_REG_DOWN1CTL 0x20 | ||
14 | #define PCF50633_REG_DOWN1MXC 0x21 | ||
15 | #define PCF50633_REG_DOWN2OUT 0x22 | ||
16 | #define PCF50633_REG_DOWN2ENA 0x23 | ||
17 | #define PCF50633_REG_DOWN2CTL 0x24 | ||
18 | #define PCF50633_REG_DOWN2MXC 0x25 | ||
19 | #define PCF50633_REG_MEMLDOOUT 0x26 | ||
20 | #define PCF50633_REG_MEMLDOENA 0x27 | ||
21 | #define PCF50633_REG_LDO1OUT 0x2d | ||
22 | #define PCF50633_REG_LDO1ENA 0x2e | ||
23 | #define PCF50633_REG_LDO2OUT 0x2f | ||
24 | #define PCF50633_REG_LDO2ENA 0x30 | ||
25 | #define PCF50633_REG_LDO3OUT 0x31 | ||
26 | #define PCF50633_REG_LDO3ENA 0x32 | ||
27 | #define PCF50633_REG_LDO4OUT 0x33 | ||
28 | #define PCF50633_REG_LDO4ENA 0x34 | ||
29 | #define PCF50633_REG_LDO5OUT 0x35 | ||
30 | #define PCF50633_REG_LDO5ENA 0x36 | ||
31 | #define PCF50633_REG_LDO6OUT 0x37 | ||
32 | #define PCF50633_REG_LDO6ENA 0x38 | ||
33 | #define PCF50633_REG_HCLDOOUT 0x39 | ||
34 | #define PCF50633_REG_HCLDOENA 0x3a | ||
35 | #define PCF50633_REG_HCLDOOVL 0x40 | ||
36 | |||
37 | enum pcf50633_regulator_enable { | ||
38 | PCF50633_REGULATOR_ON = 0x01, | ||
39 | PCF50633_REGULATOR_ON_GPIO1 = 0x02, | ||
40 | PCF50633_REGULATOR_ON_GPIO2 = 0x04, | ||
41 | PCF50633_REGULATOR_ON_GPIO3 = 0x08, | ||
42 | }; | ||
43 | #define PCF50633_REGULATOR_ON_MASK 0x0f | ||
44 | |||
45 | enum pcf50633_regulator_phase { | ||
46 | PCF50633_REGULATOR_ACTPH1 = 0x00, | ||
47 | PCF50633_REGULATOR_ACTPH2 = 0x10, | ||
48 | PCF50633_REGULATOR_ACTPH3 = 0x20, | ||
49 | PCF50633_REGULATOR_ACTPH4 = 0x30, | ||
50 | }; | ||
51 | #define PCF50633_REGULATOR_ACTPH_MASK 0x30 | ||
52 | |||
53 | enum pcf50633_regulator_id { | ||
54 | PCF50633_REGULATOR_AUTO, | ||
55 | PCF50633_REGULATOR_DOWN1, | ||
56 | PCF50633_REGULATOR_DOWN2, | ||
57 | PCF50633_REGULATOR_LDO1, | ||
58 | PCF50633_REGULATOR_LDO2, | ||
59 | PCF50633_REGULATOR_LDO3, | ||
60 | PCF50633_REGULATOR_LDO4, | ||
61 | PCF50633_REGULATOR_LDO5, | ||
62 | PCF50633_REGULATOR_LDO6, | ||
63 | PCF50633_REGULATOR_HCLDO, | ||
64 | PCF50633_REGULATOR_MEMLDO, | ||
65 | }; | ||
66 | #endif | ||
67 | |||
diff --git a/include/linux/mfd/wm8350/pmic.h b/include/linux/mfd/wm8350/pmic.h index 96acbfc8aa12..be3264e286e0 100644 --- a/include/linux/mfd/wm8350/pmic.h +++ b/include/linux/mfd/wm8350/pmic.h | |||
@@ -13,6 +13,10 @@ | |||
13 | #ifndef __LINUX_MFD_WM8350_PMIC_H | 13 | #ifndef __LINUX_MFD_WM8350_PMIC_H |
14 | #define __LINUX_MFD_WM8350_PMIC_H | 14 | #define __LINUX_MFD_WM8350_PMIC_H |
15 | 15 | ||
16 | #include <linux/platform_device.h> | ||
17 | #include <linux/leds.h> | ||
18 | #include <linux/regulator/machine.h> | ||
19 | |||
16 | /* | 20 | /* |
17 | * Register values. | 21 | * Register values. |
18 | */ | 22 | */ |
@@ -700,6 +704,33 @@ struct wm8350; | |||
700 | struct platform_device; | 704 | struct platform_device; |
701 | struct regulator_init_data; | 705 | struct regulator_init_data; |
702 | 706 | ||
707 | /* | ||
708 | * WM8350 LED platform data | ||
709 | */ | ||
710 | struct wm8350_led_platform_data { | ||
711 | const char *name; | ||
712 | const char *default_trigger; | ||
713 | int max_uA; | ||
714 | }; | ||
715 | |||
716 | struct wm8350_led { | ||
717 | struct platform_device *pdev; | ||
718 | struct mutex mutex; | ||
719 | struct work_struct work; | ||
720 | spinlock_t value_lock; | ||
721 | enum led_brightness value; | ||
722 | struct led_classdev cdev; | ||
723 | int max_uA_index; | ||
724 | int enabled; | ||
725 | |||
726 | struct regulator *isink; | ||
727 | struct regulator_consumer_supply isink_consumer; | ||
728 | struct regulator_init_data isink_init; | ||
729 | struct regulator *dcdc; | ||
730 | struct regulator_consumer_supply dcdc_consumer; | ||
731 | struct regulator_init_data dcdc_init; | ||
732 | }; | ||
733 | |||
703 | struct wm8350_pmic { | 734 | struct wm8350_pmic { |
704 | /* Number of regulators of each type on this device */ | 735 | /* Number of regulators of each type on this device */ |
705 | int max_dcdc; | 736 | int max_dcdc; |
@@ -717,10 +748,15 @@ struct wm8350_pmic { | |||
717 | 748 | ||
718 | /* regulator devices */ | 749 | /* regulator devices */ |
719 | struct platform_device *pdev[NUM_WM8350_REGULATORS]; | 750 | struct platform_device *pdev[NUM_WM8350_REGULATORS]; |
751 | |||
752 | /* LED devices */ | ||
753 | struct wm8350_led led[2]; | ||
720 | }; | 754 | }; |
721 | 755 | ||
722 | int wm8350_register_regulator(struct wm8350 *wm8350, int reg, | 756 | int wm8350_register_regulator(struct wm8350 *wm8350, int reg, |
723 | struct regulator_init_data *initdata); | 757 | struct regulator_init_data *initdata); |
758 | int wm8350_register_led(struct wm8350 *wm8350, int lednum, int dcdc, int isink, | ||
759 | struct wm8350_led_platform_data *pdata); | ||
724 | 760 | ||
725 | /* | 761 | /* |
726 | * Additional DCDC control not supported via regulator API | 762 | * Additional DCDC control not supported via regulator API |
diff --git a/include/linux/minix_fs.h b/include/linux/minix_fs.h index 0e39745f5111..13fe09e0576a 100644 --- a/include/linux/minix_fs.h +++ b/include/linux/minix_fs.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef _LINUX_MINIX_FS_H | 1 | #ifndef _LINUX_MINIX_FS_H |
2 | #define _LINUX_MINIX_FS_H | 2 | #define _LINUX_MINIX_FS_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
4 | #include <linux/magic.h> | 5 | #include <linux/magic.h> |
5 | 6 | ||
6 | /* | 7 | /* |
diff --git a/include/linux/mm.h b/include/linux/mm.h index 4a3d28c86443..e8ddc98b8405 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h | |||
@@ -56,19 +56,9 @@ extern unsigned long mmap_min_addr; | |||
56 | 56 | ||
57 | extern struct kmem_cache *vm_area_cachep; | 57 | extern struct kmem_cache *vm_area_cachep; |
58 | 58 | ||
59 | /* | ||
60 | * This struct defines the per-mm list of VMAs for uClinux. If CONFIG_MMU is | ||
61 | * disabled, then there's a single shared list of VMAs maintained by the | ||
62 | * system, and mm's subscribe to these individually | ||
63 | */ | ||
64 | struct vm_list_struct { | ||
65 | struct vm_list_struct *next; | ||
66 | struct vm_area_struct *vma; | ||
67 | }; | ||
68 | |||
69 | #ifndef CONFIG_MMU | 59 | #ifndef CONFIG_MMU |
70 | extern struct rb_root nommu_vma_tree; | 60 | extern struct rb_root nommu_region_tree; |
71 | extern struct rw_semaphore nommu_vma_sem; | 61 | extern struct rw_semaphore nommu_region_sem; |
72 | 62 | ||
73 | extern unsigned int kobjsize(const void *objp); | 63 | extern unsigned int kobjsize(const void *objp); |
74 | #endif | 64 | #endif |
@@ -270,7 +260,6 @@ static inline int put_page_testzero(struct page *page) | |||
270 | */ | 260 | */ |
271 | static inline int get_page_unless_zero(struct page *page) | 261 | static inline int get_page_unless_zero(struct page *page) |
272 | { | 262 | { |
273 | VM_BUG_ON(PageTail(page)); | ||
274 | return atomic_inc_not_zero(&page->_count); | 263 | return atomic_inc_not_zero(&page->_count); |
275 | } | 264 | } |
276 | 265 | ||
@@ -1061,6 +1050,7 @@ extern void memmap_init_zone(unsigned long, int, unsigned long, | |||
1061 | unsigned long, enum memmap_context); | 1050 | unsigned long, enum memmap_context); |
1062 | extern void setup_per_zone_pages_min(void); | 1051 | extern void setup_per_zone_pages_min(void); |
1063 | extern void mem_init(void); | 1052 | extern void mem_init(void); |
1053 | extern void __init mmap_init(void); | ||
1064 | extern void show_mem(void); | 1054 | extern void show_mem(void); |
1065 | extern void si_meminfo(struct sysinfo * val); | 1055 | extern void si_meminfo(struct sysinfo * val); |
1066 | extern void si_meminfo_node(struct sysinfo *val, int nid); | 1056 | extern void si_meminfo_node(struct sysinfo *val, int nid); |
@@ -1072,6 +1062,9 @@ extern void setup_per_cpu_pageset(void); | |||
1072 | static inline void setup_per_cpu_pageset(void) {} | 1062 | static inline void setup_per_cpu_pageset(void) {} |
1073 | #endif | 1063 | #endif |
1074 | 1064 | ||
1065 | /* nommu.c */ | ||
1066 | extern atomic_t mmap_pages_allocated; | ||
1067 | |||
1075 | /* prio_tree.c */ | 1068 | /* prio_tree.c */ |
1076 | void vma_prio_tree_add(struct vm_area_struct *, struct vm_area_struct *old); | 1069 | void vma_prio_tree_add(struct vm_area_struct *, struct vm_area_struct *old); |
1077 | void vma_prio_tree_insert(struct vm_area_struct *, struct prio_tree_root *); | 1070 | void vma_prio_tree_insert(struct vm_area_struct *, struct prio_tree_root *); |
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index 9cfc9b627fdd..92915e81443f 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h | |||
@@ -97,6 +97,23 @@ struct page { | |||
97 | }; | 97 | }; |
98 | 98 | ||
99 | /* | 99 | /* |
100 | * A region containing a mapping of a non-memory backed file under NOMMU | ||
101 | * conditions. These are held in a global tree and are pinned by the VMAs that | ||
102 | * map parts of them. | ||
103 | */ | ||
104 | struct vm_region { | ||
105 | struct rb_node vm_rb; /* link in global region tree */ | ||
106 | unsigned long vm_flags; /* VMA vm_flags */ | ||
107 | unsigned long vm_start; /* start address of region */ | ||
108 | unsigned long vm_end; /* region initialised to here */ | ||
109 | unsigned long vm_top; /* region allocated to here */ | ||
110 | unsigned long vm_pgoff; /* the offset in vm_file corresponding to vm_start */ | ||
111 | struct file *vm_file; /* the backing file or NULL */ | ||
112 | |||
113 | atomic_t vm_usage; /* region usage count */ | ||
114 | }; | ||
115 | |||
116 | /* | ||
100 | * This struct defines a memory VMM memory area. There is one of these | 117 | * This struct defines a memory VMM memory area. There is one of these |
101 | * per VM-area/task. A VM area is any part of the process virtual memory | 118 | * per VM-area/task. A VM area is any part of the process virtual memory |
102 | * space that has a special rule for the page-fault handlers (ie a shared | 119 | * space that has a special rule for the page-fault handlers (ie a shared |
@@ -152,7 +169,7 @@ struct vm_area_struct { | |||
152 | unsigned long vm_truncate_count;/* truncate_count or restart_addr */ | 169 | unsigned long vm_truncate_count;/* truncate_count or restart_addr */ |
153 | 170 | ||
154 | #ifndef CONFIG_MMU | 171 | #ifndef CONFIG_MMU |
155 | atomic_t vm_usage; /* refcount (VMAs shared if !MMU) */ | 172 | struct vm_region *vm_region; /* NOMMU mapping region */ |
156 | #endif | 173 | #endif |
157 | #ifdef CONFIG_NUMA | 174 | #ifdef CONFIG_NUMA |
158 | struct mempolicy *vm_policy; /* NUMA policy for the VMA */ | 175 | struct mempolicy *vm_policy; /* NUMA policy for the VMA */ |
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/msdos_fs.h b/include/linux/msdos_fs.h index e0a9b207920d..ce38f1caa5e1 100644 --- a/include/linux/msdos_fs.h +++ b/include/linux/msdos_fs.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef _LINUX_MSDOS_FS_H | 1 | #ifndef _LINUX_MSDOS_FS_H |
2 | #define _LINUX_MSDOS_FS_H | 2 | #define _LINUX_MSDOS_FS_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
4 | #include <linux/magic.h> | 5 | #include <linux/magic.h> |
5 | #include <asm/byteorder.h> | 6 | #include <asm/byteorder.h> |
6 | 7 | ||
diff --git a/include/linux/mtd/cfi.h b/include/linux/mtd/cfi.h index 00e2b575021f..88d3d8fbf9f2 100644 --- a/include/linux/mtd/cfi.h +++ b/include/linux/mtd/cfi.h | |||
@@ -520,6 +520,7 @@ struct cfi_fixup { | |||
520 | 520 | ||
521 | #define CFI_MFR_AMD 0x0001 | 521 | #define CFI_MFR_AMD 0x0001 |
522 | #define CFI_MFR_ATMEL 0x001F | 522 | #define CFI_MFR_ATMEL 0x001F |
523 | #define CFI_MFR_SAMSUNG 0x00EC | ||
523 | #define CFI_MFR_ST 0x0020 /* STMicroelectronics */ | 524 | #define CFI_MFR_ST 0x0020 /* STMicroelectronics */ |
524 | 525 | ||
525 | void cfi_fixup(struct mtd_info *mtd, struct cfi_fixup* fixups); | 526 | void cfi_fixup(struct mtd_info *mtd, struct cfi_fixup* fixups); |
diff --git a/include/linux/mtd/ftl.h b/include/linux/mtd/ftl.h index 0be442f881dd..0555f7a0b9ed 100644 --- a/include/linux/mtd/ftl.h +++ b/include/linux/mtd/ftl.h | |||
@@ -32,25 +32,25 @@ | |||
32 | #define _LINUX_FTL_H | 32 | #define _LINUX_FTL_H |
33 | 33 | ||
34 | typedef struct erase_unit_header_t { | 34 | typedef struct erase_unit_header_t { |
35 | u_int8_t LinkTargetTuple[5]; | 35 | uint8_t LinkTargetTuple[5]; |
36 | u_int8_t DataOrgTuple[10]; | 36 | uint8_t DataOrgTuple[10]; |
37 | u_int8_t NumTransferUnits; | 37 | uint8_t NumTransferUnits; |
38 | u_int32_t EraseCount; | 38 | uint32_t EraseCount; |
39 | u_int16_t LogicalEUN; | 39 | uint16_t LogicalEUN; |
40 | u_int8_t BlockSize; | 40 | uint8_t BlockSize; |
41 | u_int8_t EraseUnitSize; | 41 | uint8_t EraseUnitSize; |
42 | u_int16_t FirstPhysicalEUN; | 42 | uint16_t FirstPhysicalEUN; |
43 | u_int16_t NumEraseUnits; | 43 | uint16_t NumEraseUnits; |
44 | u_int32_t FormattedSize; | 44 | uint32_t FormattedSize; |
45 | u_int32_t FirstVMAddress; | 45 | uint32_t FirstVMAddress; |
46 | u_int16_t NumVMPages; | 46 | uint16_t NumVMPages; |
47 | u_int8_t Flags; | 47 | uint8_t Flags; |
48 | u_int8_t Code; | 48 | uint8_t Code; |
49 | u_int32_t SerialNumber; | 49 | uint32_t SerialNumber; |
50 | u_int32_t AltEUHOffset; | 50 | uint32_t AltEUHOffset; |
51 | u_int32_t BAMOffset; | 51 | uint32_t BAMOffset; |
52 | u_int8_t Reserved[12]; | 52 | uint8_t Reserved[12]; |
53 | u_int8_t EndTuple[2]; | 53 | uint8_t EndTuple[2]; |
54 | } erase_unit_header_t; | 54 | } erase_unit_header_t; |
55 | 55 | ||
56 | /* Flags in erase_unit_header_t */ | 56 | /* Flags in erase_unit_header_t */ |
diff --git a/include/linux/mtd/map.h b/include/linux/mtd/map.h index aa30244492c6..b981b8772217 100644 --- a/include/linux/mtd/map.h +++ b/include/linux/mtd/map.h | |||
@@ -223,6 +223,7 @@ struct map_info { | |||
223 | must leave it enabled. */ | 223 | must leave it enabled. */ |
224 | void (*set_vpp)(struct map_info *, int); | 224 | void (*set_vpp)(struct map_info *, int); |
225 | 225 | ||
226 | unsigned long pfow_base; | ||
226 | unsigned long map_priv_1; | 227 | unsigned long map_priv_1; |
227 | unsigned long map_priv_2; | 228 | unsigned long map_priv_2; |
228 | void *fldrv_priv; | 229 | void *fldrv_priv; |
diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h index 64433eb411d7..3aa5d77c2cdb 100644 --- a/include/linux/mtd/mtd.h +++ b/include/linux/mtd/mtd.h | |||
@@ -15,6 +15,8 @@ | |||
15 | #include <linux/mtd/compatmac.h> | 15 | #include <linux/mtd/compatmac.h> |
16 | #include <mtd/mtd-abi.h> | 16 | #include <mtd/mtd-abi.h> |
17 | 17 | ||
18 | #include <asm/div64.h> | ||
19 | |||
18 | #define MTD_CHAR_MAJOR 90 | 20 | #define MTD_CHAR_MAJOR 90 |
19 | #define MTD_BLOCK_MAJOR 31 | 21 | #define MTD_BLOCK_MAJOR 31 |
20 | #define MAX_MTD_DEVICES 32 | 22 | #define MAX_MTD_DEVICES 32 |
@@ -25,20 +27,20 @@ | |||
25 | #define MTD_ERASE_DONE 0x08 | 27 | #define MTD_ERASE_DONE 0x08 |
26 | #define MTD_ERASE_FAILED 0x10 | 28 | #define MTD_ERASE_FAILED 0x10 |
27 | 29 | ||
28 | #define MTD_FAIL_ADDR_UNKNOWN 0xffffffff | 30 | #define MTD_FAIL_ADDR_UNKNOWN -1LL |
29 | 31 | ||
30 | /* If the erase fails, fail_addr might indicate exactly which block failed. If | 32 | /* If the erase fails, fail_addr might indicate exactly which block failed. If |
31 | fail_addr = MTD_FAIL_ADDR_UNKNOWN, the failure was not at the device level or was not | 33 | fail_addr = MTD_FAIL_ADDR_UNKNOWN, the failure was not at the device level or was not |
32 | specific to any particular block. */ | 34 | specific to any particular block. */ |
33 | struct erase_info { | 35 | struct erase_info { |
34 | struct mtd_info *mtd; | 36 | struct mtd_info *mtd; |
35 | u_int32_t addr; | 37 | uint64_t addr; |
36 | u_int32_t len; | 38 | uint64_t len; |
37 | u_int32_t fail_addr; | 39 | uint64_t fail_addr; |
38 | u_long time; | 40 | u_long time; |
39 | u_long retries; | 41 | u_long retries; |
40 | u_int dev; | 42 | unsigned dev; |
41 | u_int cell; | 43 | unsigned cell; |
42 | void (*callback) (struct erase_info *self); | 44 | void (*callback) (struct erase_info *self); |
43 | u_long priv; | 45 | u_long priv; |
44 | u_char state; | 46 | u_char state; |
@@ -46,9 +48,9 @@ struct erase_info { | |||
46 | }; | 48 | }; |
47 | 49 | ||
48 | struct mtd_erase_region_info { | 50 | struct mtd_erase_region_info { |
49 | u_int32_t offset; /* At which this region starts, from the beginning of the MTD */ | 51 | uint64_t offset; /* At which this region starts, from the beginning of the MTD */ |
50 | u_int32_t erasesize; /* For this region */ | 52 | uint32_t erasesize; /* For this region */ |
51 | u_int32_t numblocks; /* Number of blocks of erasesize in this region */ | 53 | uint32_t numblocks; /* Number of blocks of erasesize in this region */ |
52 | unsigned long *lockmap; /* If keeping bitmap of locks */ | 54 | unsigned long *lockmap; /* If keeping bitmap of locks */ |
53 | }; | 55 | }; |
54 | 56 | ||
@@ -100,14 +102,14 @@ struct mtd_oob_ops { | |||
100 | 102 | ||
101 | struct mtd_info { | 103 | struct mtd_info { |
102 | u_char type; | 104 | u_char type; |
103 | u_int32_t flags; | 105 | uint32_t flags; |
104 | u_int32_t size; // Total size of the MTD | 106 | uint64_t size; // Total size of the MTD |
105 | 107 | ||
106 | /* "Major" erase size for the device. Naïve users may take this | 108 | /* "Major" erase size for the device. Naïve users may take this |
107 | * to be the only erase size available, or may use the more detailed | 109 | * to be the only erase size available, or may use the more detailed |
108 | * information below if they desire | 110 | * information below if they desire |
109 | */ | 111 | */ |
110 | u_int32_t erasesize; | 112 | uint32_t erasesize; |
111 | /* Minimal writable flash unit size. In case of NOR flash it is 1 (even | 113 | /* Minimal writable flash unit size. In case of NOR flash it is 1 (even |
112 | * though individual bits can be cleared), in case of NAND flash it is | 114 | * though individual bits can be cleared), in case of NAND flash it is |
113 | * one NAND page (or half, or one-fourths of it), in case of ECC-ed NOR | 115 | * one NAND page (or half, or one-fourths of it), in case of ECC-ed NOR |
@@ -115,10 +117,20 @@ struct mtd_info { | |||
115 | * Any driver registering a struct mtd_info must ensure a writesize of | 117 | * Any driver registering a struct mtd_info must ensure a writesize of |
116 | * 1 or larger. | 118 | * 1 or larger. |
117 | */ | 119 | */ |
118 | u_int32_t writesize; | 120 | uint32_t writesize; |
121 | |||
122 | uint32_t oobsize; // Amount of OOB data per block (e.g. 16) | ||
123 | uint32_t oobavail; // Available OOB bytes per block | ||
119 | 124 | ||
120 | u_int32_t oobsize; // Amount of OOB data per block (e.g. 16) | 125 | /* |
121 | u_int32_t oobavail; // Available OOB bytes per block | 126 | * If erasesize is a power of 2 then the shift is stored in |
127 | * erasesize_shift otherwise erasesize_shift is zero. Ditto writesize. | ||
128 | */ | ||
129 | unsigned int erasesize_shift; | ||
130 | unsigned int writesize_shift; | ||
131 | /* Masks based on erasesize_shift and writesize_shift */ | ||
132 | unsigned int erasesize_mask; | ||
133 | unsigned int writesize_mask; | ||
122 | 134 | ||
123 | // Kernel-only stuff starts here. | 135 | // Kernel-only stuff starts here. |
124 | const char *name; | 136 | const char *name; |
@@ -190,8 +202,8 @@ struct mtd_info { | |||
190 | void (*sync) (struct mtd_info *mtd); | 202 | void (*sync) (struct mtd_info *mtd); |
191 | 203 | ||
192 | /* Chip-supported device locking */ | 204 | /* Chip-supported device locking */ |
193 | int (*lock) (struct mtd_info *mtd, loff_t ofs, size_t len); | 205 | int (*lock) (struct mtd_info *mtd, loff_t ofs, uint64_t len); |
194 | int (*unlock) (struct mtd_info *mtd, loff_t ofs, size_t len); | 206 | int (*unlock) (struct mtd_info *mtd, loff_t ofs, uint64_t len); |
195 | 207 | ||
196 | /* Power Management functions */ | 208 | /* Power Management functions */ |
197 | int (*suspend) (struct mtd_info *mtd); | 209 | int (*suspend) (struct mtd_info *mtd); |
@@ -221,6 +233,35 @@ struct mtd_info { | |||
221 | void (*put_device) (struct mtd_info *mtd); | 233 | void (*put_device) (struct mtd_info *mtd); |
222 | }; | 234 | }; |
223 | 235 | ||
236 | static inline uint32_t mtd_div_by_eb(uint64_t sz, struct mtd_info *mtd) | ||
237 | { | ||
238 | if (mtd->erasesize_shift) | ||
239 | return sz >> mtd->erasesize_shift; | ||
240 | do_div(sz, mtd->erasesize); | ||
241 | return sz; | ||
242 | } | ||
243 | |||
244 | static inline uint32_t mtd_mod_by_eb(uint64_t sz, struct mtd_info *mtd) | ||
245 | { | ||
246 | if (mtd->erasesize_shift) | ||
247 | return sz & mtd->erasesize_mask; | ||
248 | return do_div(sz, mtd->erasesize); | ||
249 | } | ||
250 | |||
251 | static inline uint32_t mtd_div_by_ws(uint64_t sz, struct mtd_info *mtd) | ||
252 | { | ||
253 | if (mtd->writesize_shift) | ||
254 | return sz >> mtd->writesize_shift; | ||
255 | do_div(sz, mtd->writesize); | ||
256 | return sz; | ||
257 | } | ||
258 | |||
259 | static inline uint32_t mtd_mod_by_ws(uint64_t sz, struct mtd_info *mtd) | ||
260 | { | ||
261 | if (mtd->writesize_shift) | ||
262 | return sz & mtd->writesize_mask; | ||
263 | return do_div(sz, mtd->writesize); | ||
264 | } | ||
224 | 265 | ||
225 | /* Kernel-side ioctl definitions */ | 266 | /* Kernel-side ioctl definitions */ |
226 | 267 | ||
diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h index 733d3f3b4eb8..db5b63da2a7e 100644 --- a/include/linux/mtd/nand.h +++ b/include/linux/mtd/nand.h | |||
@@ -335,17 +335,12 @@ struct nand_buffers { | |||
335 | * @erase_cmd: [INTERN] erase command write function, selectable due to AND support | 335 | * @erase_cmd: [INTERN] erase command write function, selectable due to AND support |
336 | * @scan_bbt: [REPLACEABLE] function to scan bad block table | 336 | * @scan_bbt: [REPLACEABLE] function to scan bad block table |
337 | * @chip_delay: [BOARDSPECIFIC] chip dependent delay for transfering data from array to read regs (tR) | 337 | * @chip_delay: [BOARDSPECIFIC] chip dependent delay for transfering data from array to read regs (tR) |
338 | * @wq: [INTERN] wait queue to sleep on if a NAND operation is in progress | ||
339 | * @state: [INTERN] the current state of the NAND device | 338 | * @state: [INTERN] the current state of the NAND device |
340 | * @oob_poi: poison value buffer | 339 | * @oob_poi: poison value buffer |
341 | * @page_shift: [INTERN] number of address bits in a page (column address bits) | 340 | * @page_shift: [INTERN] number of address bits in a page (column address bits) |
342 | * @phys_erase_shift: [INTERN] number of address bits in a physical eraseblock | 341 | * @phys_erase_shift: [INTERN] number of address bits in a physical eraseblock |
343 | * @bbt_erase_shift: [INTERN] number of address bits in a bbt entry | 342 | * @bbt_erase_shift: [INTERN] number of address bits in a bbt entry |
344 | * @chip_shift: [INTERN] number of address bits in one chip | 343 | * @chip_shift: [INTERN] number of address bits in one chip |
345 | * @datbuf: [INTERN] internal buffer for one page + oob | ||
346 | * @oobbuf: [INTERN] oob buffer for one eraseblock | ||
347 | * @oobdirty: [INTERN] indicates that oob_buf must be reinitialized | ||
348 | * @data_poi: [INTERN] pointer to a data buffer | ||
349 | * @options: [BOARDSPECIFIC] various chip options. They can partly be set to inform nand_scan about | 344 | * @options: [BOARDSPECIFIC] various chip options. They can partly be set to inform nand_scan about |
350 | * special functionality. See the defines for further explanation | 345 | * special functionality. See the defines for further explanation |
351 | * @badblockpos: [INTERN] position of the bad block marker in the oob area | 346 | * @badblockpos: [INTERN] position of the bad block marker in the oob area |
@@ -399,7 +394,7 @@ struct nand_chip { | |||
399 | int bbt_erase_shift; | 394 | int bbt_erase_shift; |
400 | int chip_shift; | 395 | int chip_shift; |
401 | int numchips; | 396 | int numchips; |
402 | unsigned long chipsize; | 397 | uint64_t chipsize; |
403 | int pagemask; | 398 | int pagemask; |
404 | int pagebuf; | 399 | int pagebuf; |
405 | int subpagesize; | 400 | int subpagesize; |
diff --git a/include/linux/mtd/partitions.h b/include/linux/mtd/partitions.h index c92b4d439609..a45dd831b3f8 100644 --- a/include/linux/mtd/partitions.h +++ b/include/linux/mtd/partitions.h | |||
@@ -36,9 +36,9 @@ | |||
36 | 36 | ||
37 | struct mtd_partition { | 37 | struct mtd_partition { |
38 | char *name; /* identifier string */ | 38 | char *name; /* identifier string */ |
39 | u_int32_t size; /* partition size */ | 39 | uint64_t size; /* partition size */ |
40 | u_int32_t offset; /* offset within the master MTD space */ | 40 | uint64_t offset; /* offset within the master MTD space */ |
41 | u_int32_t mask_flags; /* master MTD flags to mask out for this partition */ | 41 | uint32_t mask_flags; /* master MTD flags to mask out for this partition */ |
42 | struct nand_ecclayout *ecclayout; /* out of band layout for this partition (NAND only)*/ | 42 | struct nand_ecclayout *ecclayout; /* out of band layout for this partition (NAND only)*/ |
43 | struct mtd_info **mtdp; /* pointer to store the MTD object */ | 43 | struct mtd_info **mtdp; /* pointer to store the MTD object */ |
44 | }; | 44 | }; |
diff --git a/include/linux/mtd/pfow.h b/include/linux/mtd/pfow.h new file mode 100644 index 000000000000..b730d4f84655 --- /dev/null +++ b/include/linux/mtd/pfow.h | |||
@@ -0,0 +1,159 @@ | |||
1 | /* Primary function overlay window definitions | ||
2 | * and service functions used by LPDDR chips | ||
3 | */ | ||
4 | #ifndef __LINUX_MTD_PFOW_H | ||
5 | #define __LINUX_MTD_PFOW_H | ||
6 | |||
7 | #include <linux/mtd/qinfo.h> | ||
8 | |||
9 | /* PFOW registers addressing */ | ||
10 | /* Address of symbol "P" */ | ||
11 | #define PFOW_QUERY_STRING_P 0x0000 | ||
12 | /* Address of symbol "F" */ | ||
13 | #define PFOW_QUERY_STRING_F 0x0002 | ||
14 | /* Address of symbol "O" */ | ||
15 | #define PFOW_QUERY_STRING_O 0x0004 | ||
16 | /* Address of symbol "W" */ | ||
17 | #define PFOW_QUERY_STRING_W 0x0006 | ||
18 | /* Identification info for LPDDR chip */ | ||
19 | #define PFOW_MANUFACTURER_ID 0x0020 | ||
20 | #define PFOW_DEVICE_ID 0x0022 | ||
21 | /* Address in PFOW where prog buffer can can be found */ | ||
22 | #define PFOW_PROGRAM_BUFFER_OFFSET 0x0040 | ||
23 | /* Size of program buffer in words */ | ||
24 | #define PFOW_PROGRAM_BUFFER_SIZE 0x0042 | ||
25 | /* Address command code register */ | ||
26 | #define PFOW_COMMAND_CODE 0x0080 | ||
27 | /* command data register */ | ||
28 | #define PFOW_COMMAND_DATA 0x0084 | ||
29 | /* command address register lower address bits */ | ||
30 | #define PFOW_COMMAND_ADDRESS_L 0x0088 | ||
31 | /* command address register upper address bits */ | ||
32 | #define PFOW_COMMAND_ADDRESS_H 0x008a | ||
33 | /* number of bytes to be proggrammed lower address bits */ | ||
34 | #define PFOW_DATA_COUNT_L 0x0090 | ||
35 | /* number of bytes to be proggrammed higher address bits */ | ||
36 | #define PFOW_DATA_COUNT_H 0x0092 | ||
37 | /* command execution register, the only possible value is 0x01 */ | ||
38 | #define PFOW_COMMAND_EXECUTE 0x00c0 | ||
39 | /* 0x01 should be written at this address to clear buffer */ | ||
40 | #define PFOW_CLEAR_PROGRAM_BUFFER 0x00c4 | ||
41 | /* device program/erase suspend register */ | ||
42 | #define PFOW_PROGRAM_ERASE_SUSPEND 0x00c8 | ||
43 | /* device status register */ | ||
44 | #define PFOW_DSR 0x00cc | ||
45 | |||
46 | /* LPDDR memory device command codes */ | ||
47 | /* They are possible values of PFOW command code register */ | ||
48 | #define LPDDR_WORD_PROGRAM 0x0041 | ||
49 | #define LPDDR_BUFF_PROGRAM 0x00E9 | ||
50 | #define LPDDR_BLOCK_ERASE 0x0020 | ||
51 | #define LPDDR_LOCK_BLOCK 0x0061 | ||
52 | #define LPDDR_UNLOCK_BLOCK 0x0062 | ||
53 | #define LPDDR_READ_BLOCK_LOCK_STATUS 0x0065 | ||
54 | #define LPDDR_INFO_QUERY 0x0098 | ||
55 | #define LPDDR_READ_OTP 0x0097 | ||
56 | #define LPDDR_PROG_OTP 0x00C0 | ||
57 | #define LPDDR_RESUME 0x00D0 | ||
58 | |||
59 | /* Defines possible value of PFOW command execution register */ | ||
60 | #define LPDDR_START_EXECUTION 0x0001 | ||
61 | |||
62 | /* Defines possible value of PFOW program/erase suspend register */ | ||
63 | #define LPDDR_SUSPEND 0x0001 | ||
64 | |||
65 | /* Possible values of PFOW device status register */ | ||
66 | /* access R - read; RC read & clearable */ | ||
67 | #define DSR_DPS (1<<1) /* RC; device protect status | ||
68 | * 0 - not protected 1 - locked */ | ||
69 | #define DSR_PSS (1<<2) /* R; program suspend status; | ||
70 | * 0-prog in progress/completed, | ||
71 | * 1- prog suspended */ | ||
72 | #define DSR_VPPS (1<<3) /* RC; 0-Vpp OK, * 1-Vpp low */ | ||
73 | #define DSR_PROGRAM_STATUS (1<<4) /* RC; 0-successful, 1-error */ | ||
74 | #define DSR_ERASE_STATUS (1<<5) /* RC; erase or blank check status; | ||
75 | * 0-success erase/blank check, | ||
76 | * 1 blank check error */ | ||
77 | #define DSR_ESS (1<<6) /* R; erase suspend status; | ||
78 | * 0-erase in progress/complete, | ||
79 | * 1 erase suspended */ | ||
80 | #define DSR_READY_STATUS (1<<7) /* R; Device status | ||
81 | * 0-busy, | ||
82 | * 1-ready */ | ||
83 | #define DSR_RPS (0x3<<8) /* RC; region program status | ||
84 | * 00 - Success, | ||
85 | * 01-re-program attempt in region with | ||
86 | * object mode data, | ||
87 | * 10-object mode program w attempt in | ||
88 | * region with control mode data | ||
89 | * 11-attempt to program invalid half | ||
90 | * with 0x41 command */ | ||
91 | #define DSR_AOS (1<<12) /* RC; 1- AO related failure */ | ||
92 | #define DSR_AVAILABLE (1<<15) /* R; Device availbility | ||
93 | * 1 - Device available | ||
94 | * 0 - not available */ | ||
95 | |||
96 | /* The superset of all possible error bits in DSR */ | ||
97 | #define DSR_ERR 0x133A | ||
98 | |||
99 | static inline void send_pfow_command(struct map_info *map, | ||
100 | unsigned long cmd_code, unsigned long adr, | ||
101 | unsigned long len, map_word *datum) | ||
102 | { | ||
103 | int bits_per_chip = map_bankwidth(map) * 8; | ||
104 | int chipnum; | ||
105 | struct lpddr_private *lpddr = map->fldrv_priv; | ||
106 | chipnum = adr >> lpddr->chipshift; | ||
107 | |||
108 | map_write(map, CMD(cmd_code), map->pfow_base + PFOW_COMMAND_CODE); | ||
109 | map_write(map, CMD(adr & ((1<<bits_per_chip) - 1)), | ||
110 | map->pfow_base + PFOW_COMMAND_ADDRESS_L); | ||
111 | map_write(map, CMD(adr>>bits_per_chip), | ||
112 | map->pfow_base + PFOW_COMMAND_ADDRESS_H); | ||
113 | if (len) { | ||
114 | map_write(map, CMD(len & ((1<<bits_per_chip) - 1)), | ||
115 | map->pfow_base + PFOW_DATA_COUNT_L); | ||
116 | map_write(map, CMD(len>>bits_per_chip), | ||
117 | map->pfow_base + PFOW_DATA_COUNT_H); | ||
118 | } | ||
119 | if (datum) | ||
120 | map_write(map, *datum, map->pfow_base + PFOW_COMMAND_DATA); | ||
121 | |||
122 | /* Command execution start */ | ||
123 | map_write(map, CMD(LPDDR_START_EXECUTION), | ||
124 | map->pfow_base + PFOW_COMMAND_EXECUTE); | ||
125 | } | ||
126 | |||
127 | static inline void print_drs_error(unsigned dsr) | ||
128 | { | ||
129 | int prog_status = (dsr & DSR_RPS) >> 8; | ||
130 | |||
131 | if (!(dsr & DSR_AVAILABLE)) | ||
132 | printk(KERN_NOTICE"DSR.15: (0) Device not Available\n"); | ||
133 | if (prog_status & 0x03) | ||
134 | printk(KERN_NOTICE"DSR.9,8: (11) Attempt to program invalid " | ||
135 | "half with 41h command\n"); | ||
136 | else if (prog_status & 0x02) | ||
137 | printk(KERN_NOTICE"DSR.9,8: (10) Object Mode Program attempt " | ||
138 | "in region with Control Mode data\n"); | ||
139 | else if (prog_status & 0x01) | ||
140 | printk(KERN_NOTICE"DSR.9,8: (01) Program attempt in region " | ||
141 | "with Object Mode data\n"); | ||
142 | if (!(dsr & DSR_READY_STATUS)) | ||
143 | printk(KERN_NOTICE"DSR.7: (0) Device is Busy\n"); | ||
144 | if (dsr & DSR_ESS) | ||
145 | printk(KERN_NOTICE"DSR.6: (1) Erase Suspended\n"); | ||
146 | if (dsr & DSR_ERASE_STATUS) | ||
147 | printk(KERN_NOTICE"DSR.5: (1) Erase/Blank check error\n"); | ||
148 | if (dsr & DSR_PROGRAM_STATUS) | ||
149 | printk(KERN_NOTICE"DSR.4: (1) Program Error\n"); | ||
150 | if (dsr & DSR_VPPS) | ||
151 | printk(KERN_NOTICE"DSR.3: (1) Vpp low detect, operation " | ||
152 | "aborted\n"); | ||
153 | if (dsr & DSR_PSS) | ||
154 | printk(KERN_NOTICE"DSR.2: (1) Program suspended\n"); | ||
155 | if (dsr & DSR_DPS) | ||
156 | printk(KERN_NOTICE"DSR.1: (1) Aborted Erase/Program attempt " | ||
157 | "on locked block\n"); | ||
158 | } | ||
159 | #endif /* __LINUX_MTD_PFOW_H */ | ||
diff --git a/include/linux/mtd/physmap.h b/include/linux/mtd/physmap.h index c8e63a5ee72e..76f7cabf07d3 100644 --- a/include/linux/mtd/physmap.h +++ b/include/linux/mtd/physmap.h | |||
@@ -24,6 +24,7 @@ struct physmap_flash_data { | |||
24 | unsigned int width; | 24 | unsigned int width; |
25 | void (*set_vpp)(struct map_info *, int); | 25 | void (*set_vpp)(struct map_info *, int); |
26 | unsigned int nr_parts; | 26 | unsigned int nr_parts; |
27 | unsigned int pfow_base; | ||
27 | struct mtd_partition *parts; | 28 | struct mtd_partition *parts; |
28 | }; | 29 | }; |
29 | 30 | ||
diff --git a/include/linux/mtd/qinfo.h b/include/linux/mtd/qinfo.h new file mode 100644 index 000000000000..7b3d487d8b3f --- /dev/null +++ b/include/linux/mtd/qinfo.h | |||
@@ -0,0 +1,91 @@ | |||
1 | #ifndef __LINUX_MTD_QINFO_H | ||
2 | #define __LINUX_MTD_QINFO_H | ||
3 | |||
4 | #include <linux/mtd/map.h> | ||
5 | #include <linux/wait.h> | ||
6 | #include <linux/spinlock.h> | ||
7 | #include <linux/delay.h> | ||
8 | #include <linux/mtd/mtd.h> | ||
9 | #include <linux/mtd/flashchip.h> | ||
10 | #include <linux/mtd/partitions.h> | ||
11 | |||
12 | /* lpddr_private describes lpddr flash chip in memory map | ||
13 | * @ManufactId - Chip Manufacture ID | ||
14 | * @DevId - Chip Device ID | ||
15 | * @qinfo - pointer to qinfo records describing the chip | ||
16 | * @numchips - number of chips including virual RWW partitions | ||
17 | * @chipshift - Chip/partiton size 2^chipshift | ||
18 | * @chips - per-chip data structure | ||
19 | */ | ||
20 | struct lpddr_private { | ||
21 | uint16_t ManufactId; | ||
22 | uint16_t DevId; | ||
23 | struct qinfo_chip *qinfo; | ||
24 | int numchips; | ||
25 | unsigned long chipshift; | ||
26 | struct flchip chips[0]; | ||
27 | }; | ||
28 | |||
29 | /* qinfo_query_info structure contains request information for | ||
30 | * each qinfo record | ||
31 | * @major - major number of qinfo record | ||
32 | * @major - minor number of qinfo record | ||
33 | * @id_str - descriptive string to access the record | ||
34 | * @desc - detailed description for the qinfo record | ||
35 | */ | ||
36 | struct qinfo_query_info { | ||
37 | uint8_t major; | ||
38 | uint8_t minor; | ||
39 | char *id_str; | ||
40 | char *desc; | ||
41 | }; | ||
42 | |||
43 | /* | ||
44 | * qinfo_chip structure contains necessary qinfo records data | ||
45 | * @DevSizeShift - Device size 2^n bytes | ||
46 | * @BufSizeShift - Program buffer size 2^n bytes | ||
47 | * @TotalBlocksNum - Total number of blocks | ||
48 | * @UniformBlockSizeShift - Uniform block size 2^UniformBlockSizeShift bytes | ||
49 | * @HWPartsNum - Number of hardware partitions | ||
50 | * @SuspEraseSupp - Suspend erase supported | ||
51 | * @SingleWordProgTime - Single word program 2^SingleWordProgTime u-sec | ||
52 | * @ProgBufferTime - Program buffer write 2^ProgBufferTime u-sec | ||
53 | * @BlockEraseTime - Block erase 2^BlockEraseTime m-sec | ||
54 | */ | ||
55 | struct qinfo_chip { | ||
56 | /* General device info */ | ||
57 | uint16_t DevSizeShift; | ||
58 | uint16_t BufSizeShift; | ||
59 | /* Erase block information */ | ||
60 | uint16_t TotalBlocksNum; | ||
61 | uint16_t UniformBlockSizeShift; | ||
62 | /* Partition information */ | ||
63 | uint16_t HWPartsNum; | ||
64 | /* Optional features */ | ||
65 | uint16_t SuspEraseSupp; | ||
66 | /* Operation typical time */ | ||
67 | uint16_t SingleWordProgTime; | ||
68 | uint16_t ProgBufferTime; | ||
69 | uint16_t BlockEraseTime; | ||
70 | }; | ||
71 | |||
72 | /* defines for fixup usage */ | ||
73 | #define LPDDR_MFR_ANY 0xffff | ||
74 | #define LPDDR_ID_ANY 0xffff | ||
75 | #define NUMONYX_MFGR_ID 0x0089 | ||
76 | #define R18_DEVICE_ID_1G 0x893c | ||
77 | |||
78 | static inline map_word lpddr_build_cmd(u_long cmd, struct map_info *map) | ||
79 | { | ||
80 | map_word val = { {0} }; | ||
81 | val.x[0] = cmd; | ||
82 | return val; | ||
83 | } | ||
84 | |||
85 | #define CMD(x) lpddr_build_cmd(x, map) | ||
86 | #define CMDVAL(cmd) cmd.x[0] | ||
87 | |||
88 | struct mtd_info *lpddr_cmdset(struct map_info *); | ||
89 | |||
90 | #endif | ||
91 | |||
diff --git a/include/linux/mtd/sharpsl.h b/include/linux/mtd/sharpsl.h new file mode 100644 index 000000000000..25f4d2a845c1 --- /dev/null +++ b/include/linux/mtd/sharpsl.h | |||
@@ -0,0 +1,20 @@ | |||
1 | /* | ||
2 | * SharpSL NAND support | ||
3 | * | ||
4 | * Copyright (C) 2008 Dmitry Baryshkov | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | #include <linux/mtd/nand.h> | ||
12 | #include <linux/mtd/nand_ecc.h> | ||
13 | #include <linux/mtd/partitions.h> | ||
14 | |||
15 | struct sharpsl_nand_platform_data { | ||
16 | struct nand_bbt_descr *badblock_pattern; | ||
17 | struct nand_ecclayout *ecc_layout; | ||
18 | struct mtd_partition *partitions; | ||
19 | unsigned int nr_partitions; | ||
20 | }; | ||
diff --git a/include/linux/neighbour.h b/include/linux/neighbour.h index bd3bbf668cdb..8730d5dae1bc 100644 --- a/include/linux/neighbour.h +++ b/include/linux/neighbour.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef __LINUX_NEIGHBOUR_H | 1 | #ifndef __LINUX_NEIGHBOUR_H |
2 | #define __LINUX_NEIGHBOUR_H | 2 | #define __LINUX_NEIGHBOUR_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
4 | #include <linux/netlink.h> | 5 | #include <linux/netlink.h> |
5 | 6 | ||
6 | struct ndmsg | 7 | struct ndmsg |
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 114091be8872..ec54785d34f9 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -467,7 +467,7 @@ struct netdev_queue { | |||
467 | * This function is called when network device transistions to the down | 467 | * This function is called when network device transistions to the down |
468 | * state. | 468 | * state. |
469 | * | 469 | * |
470 | * int (*ndo_hard_start_xmit)(struct sk_buff *skb, struct net_device *dev); | 470 | * int (*ndo_start_xmit)(struct sk_buff *skb, struct net_device *dev); |
471 | * Called when a packet needs to be transmitted. | 471 | * Called when a packet needs to be transmitted. |
472 | * Must return NETDEV_TX_OK , NETDEV_TX_BUSY, or NETDEV_TX_LOCKED, | 472 | * Must return NETDEV_TX_OK , NETDEV_TX_BUSY, or NETDEV_TX_LOCKED, |
473 | * Required can not be NULL. | 473 | * Required can not be NULL. |
@@ -795,6 +795,7 @@ struct net_device | |||
795 | NETREG_UNREGISTERING, /* called unregister_netdevice */ | 795 | NETREG_UNREGISTERING, /* called unregister_netdevice */ |
796 | NETREG_UNREGISTERED, /* completed unregister todo */ | 796 | NETREG_UNREGISTERED, /* completed unregister todo */ |
797 | NETREG_RELEASED, /* called free_netdev */ | 797 | NETREG_RELEASED, /* called free_netdev */ |
798 | NETREG_DUMMY, /* dummy device for NAPI poll */ | ||
798 | } reg_state; | 799 | } reg_state; |
799 | 800 | ||
800 | /* Called from unregister, can be used to call free_netdev */ | 801 | /* Called from unregister, can be used to call free_netdev */ |
@@ -1077,6 +1078,8 @@ extern void free_netdev(struct net_device *dev); | |||
1077 | extern void synchronize_net(void); | 1078 | extern void synchronize_net(void); |
1078 | extern int register_netdevice_notifier(struct notifier_block *nb); | 1079 | extern int register_netdevice_notifier(struct notifier_block *nb); |
1079 | extern int unregister_netdevice_notifier(struct notifier_block *nb); | 1080 | extern int unregister_netdevice_notifier(struct notifier_block *nb); |
1081 | extern int init_dummy_netdev(struct net_device *dev); | ||
1082 | |||
1080 | extern int call_netdevice_notifiers(unsigned long val, struct net_device *dev); | 1083 | extern int call_netdevice_notifiers(unsigned long val, struct net_device *dev); |
1081 | extern struct net_device *dev_get_by_index(struct net *net, int ifindex); | 1084 | extern struct net_device *dev_get_by_index(struct net *net, int ifindex); |
1082 | extern struct net_device *__dev_get_by_index(struct net *net, int ifindex); | 1085 | extern struct net_device *__dev_get_by_index(struct net *net, int ifindex); |
@@ -1125,9 +1128,6 @@ struct softnet_data | |||
1125 | struct sk_buff *completion_queue; | 1128 | struct sk_buff *completion_queue; |
1126 | 1129 | ||
1127 | struct napi_struct backlog; | 1130 | struct napi_struct backlog; |
1128 | #ifdef CONFIG_NET_DMA | ||
1129 | struct dma_chan *net_dma; | ||
1130 | #endif | ||
1131 | }; | 1131 | }; |
1132 | 1132 | ||
1133 | DECLARE_PER_CPU(struct softnet_data,softnet_data); | 1133 | DECLARE_PER_CPU(struct softnet_data,softnet_data); |
diff --git a/include/linux/netfilter/x_tables.h b/include/linux/netfilter/x_tables.h index e52ce475d19f..c7ee8744d26b 100644 --- a/include/linux/netfilter/x_tables.h +++ b/include/linux/netfilter/x_tables.h | |||
@@ -270,6 +270,7 @@ struct xt_match | |||
270 | struct list_head list; | 270 | struct list_head list; |
271 | 271 | ||
272 | const char name[XT_FUNCTION_MAXNAMELEN-1]; | 272 | const char name[XT_FUNCTION_MAXNAMELEN-1]; |
273 | u_int8_t revision; | ||
273 | 274 | ||
274 | /* Return true or false: return FALSE and set *hotdrop = 1 to | 275 | /* Return true or false: return FALSE and set *hotdrop = 1 to |
275 | force immediate packet drop. */ | 276 | force immediate packet drop. */ |
@@ -302,7 +303,6 @@ struct xt_match | |||
302 | unsigned short proto; | 303 | unsigned short proto; |
303 | 304 | ||
304 | unsigned short family; | 305 | unsigned short family; |
305 | u_int8_t revision; | ||
306 | }; | 306 | }; |
307 | 307 | ||
308 | /* Registration hooks for targets. */ | 308 | /* Registration hooks for targets. */ |
diff --git a/include/linux/netfilter/xt_conntrack.h b/include/linux/netfilter/xt_conntrack.h index f3fd83e46bab..8f5345275393 100644 --- a/include/linux/netfilter/xt_conntrack.h +++ b/include/linux/netfilter/xt_conntrack.h | |||
@@ -5,6 +5,7 @@ | |||
5 | #ifndef _XT_CONNTRACK_H | 5 | #ifndef _XT_CONNTRACK_H |
6 | #define _XT_CONNTRACK_H | 6 | #define _XT_CONNTRACK_H |
7 | 7 | ||
8 | #include <linux/types.h> | ||
8 | #include <linux/netfilter/nf_conntrack_tuple_common.h> | 9 | #include <linux/netfilter/nf_conntrack_tuple_common.h> |
9 | 10 | ||
10 | #define XT_CONNTRACK_STATE_BIT(ctinfo) (1 << ((ctinfo)%IP_CT_IS_REPLY+1)) | 11 | #define XT_CONNTRACK_STATE_BIT(ctinfo) (1 << ((ctinfo)%IP_CT_IS_REPLY+1)) |
diff --git a/include/linux/nfs_idmap.h b/include/linux/nfs_idmap.h index 15a9f3b7289a..91a1c24e0cbf 100644 --- a/include/linux/nfs_idmap.h +++ b/include/linux/nfs_idmap.h | |||
@@ -37,6 +37,8 @@ | |||
37 | #ifndef NFS_IDMAP_H | 37 | #ifndef NFS_IDMAP_H |
38 | #define NFS_IDMAP_H | 38 | #define NFS_IDMAP_H |
39 | 39 | ||
40 | #include <linux/types.h> | ||
41 | |||
40 | /* XXX from bits/utmp.h */ | 42 | /* XXX from bits/utmp.h */ |
41 | #define IDMAP_NAMESZ 128 | 43 | #define IDMAP_NAMESZ 128 |
42 | 44 | ||
diff --git a/include/linux/nfsd/export.h b/include/linux/nfsd/export.h index 5431512b2757..bcd0201589f8 100644 --- a/include/linux/nfsd/export.h +++ b/include/linux/nfsd/export.h | |||
@@ -10,9 +10,8 @@ | |||
10 | #ifndef NFSD_EXPORT_H | 10 | #ifndef NFSD_EXPORT_H |
11 | #define NFSD_EXPORT_H | 11 | #define NFSD_EXPORT_H |
12 | 12 | ||
13 | #include <asm/types.h> | ||
14 | #ifdef __KERNEL__ | ||
15 | # include <linux/types.h> | 13 | # include <linux/types.h> |
14 | #ifdef __KERNEL__ | ||
16 | # include <linux/in.h> | 15 | # include <linux/in.h> |
17 | #endif | 16 | #endif |
18 | 17 | ||
diff --git a/include/linux/nfsd/nfsfh.h b/include/linux/nfsd/nfsfh.h index b2e093870bc6..fa317f6c154b 100644 --- a/include/linux/nfsd/nfsfh.h +++ b/include/linux/nfsd/nfsfh.h | |||
@@ -14,9 +14,8 @@ | |||
14 | #ifndef _LINUX_NFSD_FH_H | 14 | #ifndef _LINUX_NFSD_FH_H |
15 | #define _LINUX_NFSD_FH_H | 15 | #define _LINUX_NFSD_FH_H |
16 | 16 | ||
17 | #include <asm/types.h> | ||
18 | #ifdef __KERNEL__ | ||
19 | # include <linux/types.h> | 17 | # include <linux/types.h> |
18 | #ifdef __KERNEL__ | ||
20 | # include <linux/string.h> | 19 | # include <linux/string.h> |
21 | # include <linux/fs.h> | 20 | # include <linux/fs.h> |
22 | #endif | 21 | #endif |
diff --git a/include/linux/nfsd/syscall.h b/include/linux/nfsd/syscall.h index 4e439765b705..7a3b565b898f 100644 --- a/include/linux/nfsd/syscall.h +++ b/include/linux/nfsd/syscall.h | |||
@@ -9,9 +9,8 @@ | |||
9 | #ifndef NFSD_SYSCALL_H | 9 | #ifndef NFSD_SYSCALL_H |
10 | #define NFSD_SYSCALL_H | 10 | #define NFSD_SYSCALL_H |
11 | 11 | ||
12 | #include <asm/types.h> | ||
13 | #ifdef __KERNEL__ | ||
14 | # include <linux/types.h> | 12 | # include <linux/types.h> |
13 | #ifdef __KERNEL__ | ||
15 | # include <linux/in.h> | 14 | # include <linux/in.h> |
16 | #endif | 15 | #endif |
17 | #include <linux/posix_types.h> | 16 | #include <linux/posix_types.h> |
diff --git a/include/linux/nubus.h b/include/linux/nubus.h index c4355076d1a5..7382af374731 100644 --- a/include/linux/nubus.h +++ b/include/linux/nubus.h | |||
@@ -12,6 +12,7 @@ | |||
12 | #ifndef LINUX_NUBUS_H | 12 | #ifndef LINUX_NUBUS_H |
13 | #define LINUX_NUBUS_H | 13 | #define LINUX_NUBUS_H |
14 | 14 | ||
15 | #include <linux/types.h> | ||
15 | #ifdef __KERNEL__ | 16 | #ifdef __KERNEL__ |
16 | #include <asm/nubus.h> | 17 | #include <asm/nubus.h> |
17 | #endif | 18 | #endif |
diff --git a/include/linux/of_i2c.h b/include/linux/of_i2c.h index bd2a870ec296..34974b5a76f7 100644 --- a/include/linux/of_i2c.h +++ b/include/linux/of_i2c.h | |||
@@ -17,4 +17,7 @@ | |||
17 | void of_register_i2c_devices(struct i2c_adapter *adap, | 17 | void of_register_i2c_devices(struct i2c_adapter *adap, |
18 | struct device_node *adap_node); | 18 | struct device_node *adap_node); |
19 | 19 | ||
20 | /* must call put_device() when done with returned i2c_client device */ | ||
21 | struct i2c_client *of_find_i2c_device_by_node(struct device_node *node); | ||
22 | |||
20 | #endif /* __LINUX_OF_I2C_H */ | 23 | #endif /* __LINUX_OF_I2C_H */ |
diff --git a/include/linux/oprofile.h b/include/linux/oprofile.h index 1ce9fe572e51..1d9518bc4c58 100644 --- a/include/linux/oprofile.h +++ b/include/linux/oprofile.h | |||
@@ -164,4 +164,22 @@ void oprofile_put_buff(unsigned long *buf, unsigned int start, | |||
164 | unsigned long oprofile_get_cpu_buffer_size(void); | 164 | unsigned long oprofile_get_cpu_buffer_size(void); |
165 | void oprofile_cpu_buffer_inc_smpl_lost(void); | 165 | void oprofile_cpu_buffer_inc_smpl_lost(void); |
166 | 166 | ||
167 | /* cpu buffer functions */ | ||
168 | |||
169 | struct op_sample; | ||
170 | |||
171 | struct op_entry { | ||
172 | struct ring_buffer_event *event; | ||
173 | struct op_sample *sample; | ||
174 | unsigned long irq_flags; | ||
175 | unsigned long size; | ||
176 | unsigned long *data; | ||
177 | }; | ||
178 | |||
179 | void oprofile_write_reserve(struct op_entry *entry, | ||
180 | struct pt_regs * const regs, | ||
181 | unsigned long pc, int code, int size); | ||
182 | int oprofile_add_data(struct op_entry *entry, unsigned long val); | ||
183 | int oprofile_write_commit(struct op_entry *entry); | ||
184 | |||
167 | #endif /* OPROFILE_H */ | 185 | #endif /* OPROFILE_H */ |
diff --git a/include/linux/pci.h b/include/linux/pci.h index 80f8b8b65fde..48890cf3f96e 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
@@ -117,6 +117,10 @@ typedef int __bitwise pci_power_t; | |||
117 | #define PCI_UNKNOWN ((pci_power_t __force) 5) | 117 | #define PCI_UNKNOWN ((pci_power_t __force) 5) |
118 | #define PCI_POWER_ERROR ((pci_power_t __force) -1) | 118 | #define PCI_POWER_ERROR ((pci_power_t __force) -1) |
119 | 119 | ||
120 | #define PCI_PM_D2_DELAY 200 | ||
121 | #define PCI_PM_D3_WAIT 10 | ||
122 | #define PCI_PM_BUS_WAIT 50 | ||
123 | |||
120 | /** The pci_channel state describes connectivity between the CPU and | 124 | /** The pci_channel state describes connectivity between the CPU and |
121 | * the pci device. If some PCI bus between here and the pci device | 125 | * the pci device. If some PCI bus between here and the pci device |
122 | * has crashed or locked up, this info is reflected here. | 126 | * has crashed or locked up, this info is reflected here. |
@@ -252,6 +256,7 @@ struct pci_dev { | |||
252 | unsigned int ari_enabled:1; /* ARI forwarding */ | 256 | unsigned int ari_enabled:1; /* ARI forwarding */ |
253 | unsigned int is_managed:1; | 257 | unsigned int is_managed:1; |
254 | unsigned int is_pcie:1; | 258 | unsigned int is_pcie:1; |
259 | unsigned int state_saved:1; | ||
255 | pci_dev_flags_t dev_flags; | 260 | pci_dev_flags_t dev_flags; |
256 | atomic_t enable_cnt; /* pci_enable_device has been called */ | 261 | atomic_t enable_cnt; /* pci_enable_device has been called */ |
257 | 262 | ||
diff --git a/include/linux/pci_hotplug.h b/include/linux/pci_hotplug.h index f7cc204fab07..20998746518e 100644 --- a/include/linux/pci_hotplug.h +++ b/include/linux/pci_hotplug.h | |||
@@ -223,7 +223,6 @@ struct hotplug_params { | |||
223 | #ifdef CONFIG_ACPI | 223 | #ifdef CONFIG_ACPI |
224 | #include <acpi/acpi.h> | 224 | #include <acpi/acpi.h> |
225 | #include <acpi/acpi_bus.h> | 225 | #include <acpi/acpi_bus.h> |
226 | #include <acpi/actypes.h> | ||
227 | extern acpi_status acpi_get_hp_params_from_firmware(struct pci_bus *bus, | 226 | extern acpi_status acpi_get_hp_params_from_firmware(struct pci_bus *bus, |
228 | struct hotplug_params *hpp); | 227 | struct hotplug_params *hpp); |
229 | int acpi_get_hp_hw_control_from_firmware(struct pci_dev *dev, u32 flags); | 228 | int acpi_get_hp_hw_control_from_firmware(struct pci_dev *dev, u32 flags); |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index d543365518ab..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 |
@@ -2174,6 +2178,7 @@ | |||
2174 | #define PCI_DEVICE_ID_RDC_R6040 0x6040 | 2178 | #define PCI_DEVICE_ID_RDC_R6040 0x6040 |
2175 | #define PCI_DEVICE_ID_RDC_R6060 0x6060 | 2179 | #define PCI_DEVICE_ID_RDC_R6060 0x6060 |
2176 | #define PCI_DEVICE_ID_RDC_R6061 0x6061 | 2180 | #define PCI_DEVICE_ID_RDC_R6061 0x6061 |
2181 | #define PCI_DEVICE_ID_RDC_D1010 0x1010 | ||
2177 | 2182 | ||
2178 | #define PCI_VENDOR_ID_LENOVO 0x17aa | 2183 | #define PCI_VENDOR_ID_LENOVO 0x17aa |
2179 | 2184 | ||
diff --git a/include/linux/phantom.h b/include/linux/phantom.h index 02268c54c250..94dd6645c60a 100644 --- a/include/linux/phantom.h +++ b/include/linux/phantom.h | |||
@@ -10,7 +10,7 @@ | |||
10 | #ifndef __PHANTOM_H | 10 | #ifndef __PHANTOM_H |
11 | #define __PHANTOM_H | 11 | #define __PHANTOM_H |
12 | 12 | ||
13 | #include <asm/types.h> | 13 | #include <linux/types.h> |
14 | 14 | ||
15 | /* PHN_(G/S)ET_REG param */ | 15 | /* PHN_(G/S)ET_REG param */ |
16 | struct phm_reg { | 16 | struct phm_reg { |
diff --git a/include/linux/phonet.h b/include/linux/phonet.h index 4157faa857b6..ee5e3c9e2bca 100644 --- a/include/linux/phonet.h +++ b/include/linux/phonet.h | |||
@@ -23,6 +23,8 @@ | |||
23 | #ifndef LINUX_PHONET_H | 23 | #ifndef LINUX_PHONET_H |
24 | #define LINUX_PHONET_H | 24 | #define LINUX_PHONET_H |
25 | 25 | ||
26 | #include <linux/types.h> | ||
27 | |||
26 | /* Automatic protocol selection */ | 28 | /* Automatic protocol selection */ |
27 | #define PN_PROTO_TRANSPORT 0 | 29 | #define PN_PROTO_TRANSPORT 0 |
28 | /* Phonet datagram socket */ | 30 | /* Phonet datagram socket */ |
diff --git a/include/linux/pkt_cls.h b/include/linux/pkt_cls.h index e6aa8482ad7a..3c842edff388 100644 --- a/include/linux/pkt_cls.h +++ b/include/linux/pkt_cls.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef __LINUX_PKT_CLS_H | 1 | #ifndef __LINUX_PKT_CLS_H |
2 | #define __LINUX_PKT_CLS_H | 2 | #define __LINUX_PKT_CLS_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
4 | #include <linux/pkt_sched.h> | 5 | #include <linux/pkt_sched.h> |
5 | 6 | ||
6 | /* I think i could have done better macros ; for now this is stolen from | 7 | /* I think i could have done better macros ; for now this is stolen from |
diff --git a/include/linux/pkt_sched.h b/include/linux/pkt_sched.h index e3f133adba78..b2648e8e4987 100644 --- a/include/linux/pkt_sched.h +++ b/include/linux/pkt_sched.h | |||
@@ -1,6 +1,8 @@ | |||
1 | #ifndef __LINUX_PKT_SCHED_H | 1 | #ifndef __LINUX_PKT_SCHED_H |
2 | #define __LINUX_PKT_SCHED_H | 2 | #define __LINUX_PKT_SCHED_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
5 | |||
4 | /* Logical priority bands not depending on specific packet scheduler. | 6 | /* Logical priority bands not depending on specific packet scheduler. |
5 | Every scheduler will map them to real traffic classes, if it has | 7 | Every scheduler will map them to real traffic classes, if it has |
6 | no more precise mechanism to classify packets. | 8 | no more precise mechanism to classify packets. |
diff --git a/include/linux/ppp_defs.h b/include/linux/ppp_defs.h index 6e8adc77522c..1c866bda2018 100644 --- a/include/linux/ppp_defs.h +++ b/include/linux/ppp_defs.h | |||
@@ -25,6 +25,8 @@ | |||
25 | * OR MODIFICATIONS. | 25 | * OR MODIFICATIONS. |
26 | */ | 26 | */ |
27 | 27 | ||
28 | #include <linux/types.h> | ||
29 | |||
28 | /* | 30 | /* |
29 | * ==FILEVERSION 20000114== | 31 | * ==FILEVERSION 20000114== |
30 | * | 32 | * |
diff --git a/include/linux/quotaops.h b/include/linux/quotaops.h index 21b781a3350f..0b35b3a1be05 100644 --- a/include/linux/quotaops.h +++ b/include/linux/quotaops.h | |||
@@ -24,10 +24,8 @@ void sync_dquots(struct super_block *sb, int type); | |||
24 | 24 | ||
25 | int dquot_initialize(struct inode *inode, int type); | 25 | int dquot_initialize(struct inode *inode, int type); |
26 | int dquot_drop(struct inode *inode); | 26 | int dquot_drop(struct inode *inode); |
27 | int dquot_drop_locked(struct inode *inode); | ||
28 | struct dquot *dqget(struct super_block *sb, unsigned int id, int type); | 27 | struct dquot *dqget(struct super_block *sb, unsigned int id, int type); |
29 | void dqput(struct dquot *dquot); | 28 | void dqput(struct dquot *dquot); |
30 | int dquot_is_cached(struct super_block *sb, unsigned int id, int type); | ||
31 | int dquot_scan_active(struct super_block *sb, | 29 | int dquot_scan_active(struct super_block *sb, |
32 | int (*fn)(struct dquot *dquot, unsigned long priv), | 30 | int (*fn)(struct dquot *dquot, unsigned long priv), |
33 | unsigned long priv); | 31 | unsigned long priv); |
diff --git a/include/linux/radeonfb.h b/include/linux/radeonfb.h index 5bd8975ed78e..8c4bbdecc44f 100644 --- a/include/linux/radeonfb.h +++ b/include/linux/radeonfb.h | |||
@@ -2,7 +2,7 @@ | |||
2 | #define __LINUX_RADEONFB_H__ | 2 | #define __LINUX_RADEONFB_H__ |
3 | 3 | ||
4 | #include <asm/ioctl.h> | 4 | #include <asm/ioctl.h> |
5 | #include <asm/types.h> | 5 | #include <linux/types.h> |
6 | 6 | ||
7 | #define ATY_RADEON_LCD_ON 0x00000001 | 7 | #define ATY_RADEON_LCD_ON 0x00000001 |
8 | #define ATY_RADEON_CRT_ON 0x00000002 | 8 | #define ATY_RADEON_CRT_ON 0x00000002 |
diff --git a/include/linux/raid/md_p.h b/include/linux/raid/md_p.h index 9491026afe66..6ba830fa8538 100644 --- a/include/linux/raid/md_p.h +++ b/include/linux/raid/md_p.h | |||
@@ -15,6 +15,8 @@ | |||
15 | #ifndef _MD_P_H | 15 | #ifndef _MD_P_H |
16 | #define _MD_P_H | 16 | #define _MD_P_H |
17 | 17 | ||
18 | #include <linux/types.h> | ||
19 | |||
18 | /* | 20 | /* |
19 | * RAID superblock. | 21 | * RAID superblock. |
20 | * | 22 | * |
diff --git a/include/linux/random.h b/include/linux/random.h index 407ea3646f8f..25d02fe5c9b5 100644 --- a/include/linux/random.h +++ b/include/linux/random.h | |||
@@ -7,6 +7,7 @@ | |||
7 | #ifndef _LINUX_RANDOM_H | 7 | #ifndef _LINUX_RANDOM_H |
8 | #define _LINUX_RANDOM_H | 8 | #define _LINUX_RANDOM_H |
9 | 9 | ||
10 | #include <linux/types.h> | ||
10 | #include <linux/ioctl.h> | 11 | #include <linux/ioctl.h> |
11 | #include <linux/irqnr.h> | 12 | #include <linux/irqnr.h> |
12 | 13 | ||
diff --git a/include/linux/rbtree.h b/include/linux/rbtree.h index 344bc3495ddb..9c295411d01f 100644 --- a/include/linux/rbtree.h +++ b/include/linux/rbtree.h | |||
@@ -140,10 +140,10 @@ extern void rb_insert_color(struct rb_node *, struct rb_root *); | |||
140 | extern void rb_erase(struct rb_node *, struct rb_root *); | 140 | extern void rb_erase(struct rb_node *, struct rb_root *); |
141 | 141 | ||
142 | /* Find logical next and previous nodes in a tree */ | 142 | /* Find logical next and previous nodes in a tree */ |
143 | extern struct rb_node *rb_next(struct rb_node *); | 143 | extern struct rb_node *rb_next(const struct rb_node *); |
144 | extern struct rb_node *rb_prev(struct rb_node *); | 144 | extern struct rb_node *rb_prev(const struct rb_node *); |
145 | extern struct rb_node *rb_first(struct rb_root *); | 145 | extern struct rb_node *rb_first(const struct rb_root *); |
146 | extern struct rb_node *rb_last(struct rb_root *); | 146 | extern struct rb_node *rb_last(const struct rb_root *); |
147 | 147 | ||
148 | /* Fast replacement of a single node without remove/rebalance/add/rebalance */ | 148 | /* Fast replacement of a single node without remove/rebalance/add/rebalance */ |
149 | extern void rb_replace_node(struct rb_node *victim, struct rb_node *new, | 149 | extern void rb_replace_node(struct rb_node *victim, struct rb_node *new, |
diff --git a/include/linux/res_counter.h b/include/linux/res_counter.h index dede0a2cfc45..4c5bcf6ca7e8 100644 --- a/include/linux/res_counter.h +++ b/include/linux/res_counter.h | |||
@@ -9,7 +9,7 @@ | |||
9 | * | 9 | * |
10 | * Author: Pavel Emelianov <xemul@openvz.org> | 10 | * Author: Pavel Emelianov <xemul@openvz.org> |
11 | * | 11 | * |
12 | * See Documentation/controllers/resource_counter.txt for more | 12 | * See Documentation/cgroups/resource_counter.txt for more |
13 | * info about what this counter is. | 13 | * info about what this counter is. |
14 | */ | 14 | */ |
15 | 15 | ||
diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h index e88f7058b3a1..1e5f6730ff31 100644 --- a/include/linux/rtnetlink.h +++ b/include/linux/rtnetlink.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef __LINUX_RTNETLINK_H | 1 | #ifndef __LINUX_RTNETLINK_H |
2 | #define __LINUX_RTNETLINK_H | 2 | #define __LINUX_RTNETLINK_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
4 | #include <linux/netlink.h> | 5 | #include <linux/netlink.h> |
5 | #include <linux/if_link.h> | 6 | #include <linux/if_link.h> |
6 | #include <linux/if_addr.h> | 7 | #include <linux/if_addr.h> |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 4cae9b81a1f8..5a7c76388731 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -293,6 +293,9 @@ extern void sched_show_task(struct task_struct *p); | |||
293 | extern void softlockup_tick(void); | 293 | extern void softlockup_tick(void); |
294 | extern void touch_softlockup_watchdog(void); | 294 | extern void touch_softlockup_watchdog(void); |
295 | extern void touch_all_softlockup_watchdogs(void); | 295 | extern void touch_all_softlockup_watchdogs(void); |
296 | extern int proc_dosoftlockup_thresh(struct ctl_table *table, int write, | ||
297 | struct file *filp, void __user *buffer, | ||
298 | size_t *lenp, loff_t *ppos); | ||
296 | extern unsigned int softlockup_panic; | 299 | extern unsigned int softlockup_panic; |
297 | extern unsigned long sysctl_hung_task_check_count; | 300 | extern unsigned long sysctl_hung_task_check_count; |
298 | extern unsigned long sysctl_hung_task_timeout_secs; | 301 | extern unsigned long sysctl_hung_task_timeout_secs; |
@@ -450,6 +453,7 @@ struct task_cputime { | |||
450 | cputime_t utime; | 453 | cputime_t utime; |
451 | cputime_t stime; | 454 | cputime_t stime; |
452 | unsigned long long sum_exec_runtime; | 455 | unsigned long long sum_exec_runtime; |
456 | spinlock_t lock; | ||
453 | }; | 457 | }; |
454 | /* Alternate field names when used to cache expirations. */ | 458 | /* Alternate field names when used to cache expirations. */ |
455 | #define prof_exp stime | 459 | #define prof_exp stime |
@@ -465,7 +469,7 @@ struct task_cputime { | |||
465 | * used for thread group CPU clock calculations. | 469 | * used for thread group CPU clock calculations. |
466 | */ | 470 | */ |
467 | struct thread_group_cputime { | 471 | struct thread_group_cputime { |
468 | struct task_cputime *totals; | 472 | struct task_cputime totals; |
469 | }; | 473 | }; |
470 | 474 | ||
471 | /* | 475 | /* |
@@ -626,7 +630,6 @@ struct user_struct { | |||
626 | 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? */ |
627 | #endif | 631 | #endif |
628 | #ifdef CONFIG_EPOLL | 632 | #ifdef CONFIG_EPOLL |
629 | atomic_t epoll_devs; /* The number of epoll descriptors currently open */ | ||
630 | atomic_t epoll_watches; /* The number of file descriptors currently watched */ | 633 | atomic_t epoll_watches; /* The number of file descriptors currently watched */ |
631 | #endif | 634 | #endif |
632 | #ifdef CONFIG_POSIX_MQUEUE | 635 | #ifdef CONFIG_POSIX_MQUEUE |
@@ -2180,24 +2183,30 @@ static inline int spin_needbreak(spinlock_t *lock) | |||
2180 | * Thread group CPU time accounting. | 2183 | * Thread group CPU time accounting. |
2181 | */ | 2184 | */ |
2182 | 2185 | ||
2183 | extern int thread_group_cputime_alloc(struct task_struct *); | 2186 | static inline |
2184 | extern void thread_group_cputime(struct task_struct *, struct task_cputime *); | 2187 | void thread_group_cputime(struct task_struct *tsk, struct task_cputime *times) |
2185 | |||
2186 | static inline void thread_group_cputime_init(struct signal_struct *sig) | ||
2187 | { | 2188 | { |
2188 | sig->cputime.totals = NULL; | 2189 | struct task_cputime *totals = &tsk->signal->cputime.totals; |
2190 | unsigned long flags; | ||
2191 | |||
2192 | spin_lock_irqsave(&totals->lock, flags); | ||
2193 | *times = *totals; | ||
2194 | spin_unlock_irqrestore(&totals->lock, flags); | ||
2189 | } | 2195 | } |
2190 | 2196 | ||
2191 | static inline int thread_group_cputime_clone_thread(struct task_struct *curr) | 2197 | static inline void thread_group_cputime_init(struct signal_struct *sig) |
2192 | { | 2198 | { |
2193 | if (curr->signal->cputime.totals) | 2199 | sig->cputime.totals = (struct task_cputime){ |
2194 | return 0; | 2200 | .utime = cputime_zero, |
2195 | return thread_group_cputime_alloc(curr); | 2201 | .stime = cputime_zero, |
2202 | .sum_exec_runtime = 0, | ||
2203 | }; | ||
2204 | |||
2205 | spin_lock_init(&sig->cputime.totals.lock); | ||
2196 | } | 2206 | } |
2197 | 2207 | ||
2198 | static inline void thread_group_cputime_free(struct signal_struct *sig) | 2208 | static inline void thread_group_cputime_free(struct signal_struct *sig) |
2199 | { | 2209 | { |
2200 | free_percpu(sig->cputime.totals); | ||
2201 | } | 2210 | } |
2202 | 2211 | ||
2203 | /* | 2212 | /* |
diff --git a/include/linux/signalfd.h b/include/linux/signalfd.h index bef0c46d4713..b363b916c909 100644 --- a/include/linux/signalfd.h +++ b/include/linux/signalfd.h | |||
@@ -8,6 +8,7 @@ | |||
8 | #ifndef _LINUX_SIGNALFD_H | 8 | #ifndef _LINUX_SIGNALFD_H |
9 | #define _LINUX_SIGNALFD_H | 9 | #define _LINUX_SIGNALFD_H |
10 | 10 | ||
11 | #include <linux/types.h> | ||
11 | /* For O_CLOEXEC and O_NONBLOCK */ | 12 | /* For O_CLOEXEC and O_NONBLOCK */ |
12 | #include <linux/fcntl.h> | 13 | #include <linux/fcntl.h> |
13 | 14 | ||
diff --git a/include/linux/smp.h b/include/linux/smp.h index b82466968101..715196b09d67 100644 --- a/include/linux/smp.h +++ b/include/linux/smp.h | |||
@@ -24,6 +24,9 @@ struct call_single_data { | |||
24 | /* total number of cpus in this system (may exceed NR_CPUS) */ | 24 | /* total number of cpus in this system (may exceed NR_CPUS) */ |
25 | extern unsigned int total_cpus; | 25 | extern unsigned int total_cpus; |
26 | 26 | ||
27 | int smp_call_function_single(int cpuid, void (*func) (void *info), void *info, | ||
28 | int wait); | ||
29 | |||
27 | #ifdef CONFIG_SMP | 30 | #ifdef CONFIG_SMP |
28 | 31 | ||
29 | #include <linux/preempt.h> | 32 | #include <linux/preempt.h> |
@@ -79,8 +82,6 @@ smp_call_function_mask(cpumask_t mask, void(*func)(void *info), void *info, | |||
79 | return 0; | 82 | return 0; |
80 | } | 83 | } |
81 | 84 | ||
82 | int smp_call_function_single(int cpuid, void (*func) (void *info), void *info, | ||
83 | int wait); | ||
84 | void __smp_call_function_single(int cpuid, struct call_single_data *data); | 85 | void __smp_call_function_single(int cpuid, struct call_single_data *data); |
85 | 86 | ||
86 | /* | 87 | /* |
@@ -140,14 +141,6 @@ static inline int up_smp_call_function(void (*func)(void *), void *info) | |||
140 | static inline void smp_send_reschedule(int cpu) { } | 141 | static inline void smp_send_reschedule(int cpu) { } |
141 | #define num_booting_cpus() 1 | 142 | #define num_booting_cpus() 1 |
142 | #define smp_prepare_boot_cpu() do {} while (0) | 143 | #define smp_prepare_boot_cpu() do {} while (0) |
143 | #define smp_call_function_single(cpuid, func, info, wait) \ | ||
144 | ({ \ | ||
145 | WARN_ON(cpuid != 0); \ | ||
146 | local_irq_disable(); \ | ||
147 | (func)(info); \ | ||
148 | local_irq_enable(); \ | ||
149 | 0; \ | ||
150 | }) | ||
151 | #define smp_call_function_mask(mask, func, info, wait) \ | 144 | #define smp_call_function_mask(mask, func, info, wait) \ |
152 | (up_smp_call_function(func, info)) | 145 | (up_smp_call_function(func, info)) |
153 | #define smp_call_function_many(mask, func, info, wait) \ | 146 | #define smp_call_function_many(mask, func, info, wait) \ |
diff --git a/include/linux/sound.h b/include/linux/sound.h index 9e2a94feed6b..44dcf0570432 100644 --- a/include/linux/sound.h +++ b/include/linux/sound.h | |||
@@ -25,6 +25,7 @@ | |||
25 | #define SND_DEV_AMIDI 13 /* Like /dev/midi (obsolete) */ | 25 | #define SND_DEV_AMIDI 13 /* Like /dev/midi (obsolete) */ |
26 | #define SND_DEV_ADMMIDI 14 /* Like /dev/dmmidi (onsolete) */ | 26 | #define SND_DEV_ADMMIDI 14 /* Like /dev/dmmidi (onsolete) */ |
27 | 27 | ||
28 | #ifdef __KERNEL__ | ||
28 | /* | 29 | /* |
29 | * Sound core interface functions | 30 | * Sound core interface functions |
30 | */ | 31 | */ |
@@ -40,3 +41,4 @@ extern void unregister_sound_special(int unit); | |||
40 | extern void unregister_sound_mixer(int unit); | 41 | extern void unregister_sound_mixer(int unit); |
41 | extern void unregister_sound_midi(int unit); | 42 | extern void unregister_sound_midi(int unit); |
42 | extern void unregister_sound_dsp(int unit); | 43 | extern void unregister_sound_dsp(int unit); |
44 | #endif /* __KERNEL__ */ | ||
diff --git a/include/linux/spi/spidev.h b/include/linux/spi/spidev.h index c93ef9d42a01..95251ccd5a07 100644 --- a/include/linux/spi/spidev.h +++ b/include/linux/spi/spidev.h | |||
@@ -22,6 +22,7 @@ | |||
22 | #ifndef SPIDEV_H | 22 | #ifndef SPIDEV_H |
23 | #define SPIDEV_H | 23 | #define SPIDEV_H |
24 | 24 | ||
25 | #include <linux/types.h> | ||
25 | 26 | ||
26 | /* User space versions of kernel symbols for SPI clocking modes, | 27 | /* User space versions of kernel symbols for SPI clocking modes, |
27 | * matching <linux/spi/spi.h> | 28 | * matching <linux/spi/spi.h> |
diff --git a/include/linux/spi/tdo24m.h b/include/linux/spi/tdo24m.h new file mode 100644 index 000000000000..7572d4e1fe76 --- /dev/null +++ b/include/linux/spi/tdo24m.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifndef __TDO24M_H__ | ||
2 | #define __TDO24M_H__ | ||
3 | |||
4 | enum tdo24m_model { | ||
5 | TDO24M, | ||
6 | TDO35S, | ||
7 | }; | ||
8 | |||
9 | struct tdo24m_platform_data { | ||
10 | enum tdo24m_model model; | ||
11 | }; | ||
12 | |||
13 | #endif /* __TDO24M_H__ */ | ||
diff --git a/include/linux/suspend.h b/include/linux/suspend.h index 2ce8207686e2..c7d9bb1832ba 100644 --- a/include/linux/suspend.h +++ b/include/linux/suspend.h | |||
@@ -232,6 +232,12 @@ extern unsigned long get_safe_page(gfp_t gfp_mask); | |||
232 | 232 | ||
233 | extern void hibernation_set_ops(struct platform_hibernation_ops *ops); | 233 | extern void hibernation_set_ops(struct platform_hibernation_ops *ops); |
234 | extern int hibernate(void); | 234 | extern int hibernate(void); |
235 | extern int hibernate_nvs_register(unsigned long start, unsigned long size); | ||
236 | extern int hibernate_nvs_alloc(void); | ||
237 | extern void hibernate_nvs_free(void); | ||
238 | extern void hibernate_nvs_save(void); | ||
239 | extern void hibernate_nvs_restore(void); | ||
240 | extern bool system_entering_hibernation(void); | ||
235 | #else /* CONFIG_HIBERNATION */ | 241 | #else /* CONFIG_HIBERNATION */ |
236 | 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; } |
237 | static inline void swsusp_set_page_free(struct page *p) {} | 243 | static inline void swsusp_set_page_free(struct page *p) {} |
@@ -239,6 +245,15 @@ static inline void swsusp_unset_page_free(struct page *p) {} | |||
239 | 245 | ||
240 | static inline void hibernation_set_ops(struct platform_hibernation_ops *ops) {} | 246 | static inline void hibernation_set_ops(struct platform_hibernation_ops *ops) {} |
241 | static inline int hibernate(void) { return -ENOSYS; } | 247 | static inline int hibernate(void) { return -ENOSYS; } |
248 | static inline int hibernate_nvs_register(unsigned long a, unsigned long b) | ||
249 | { | ||
250 | return 0; | ||
251 | } | ||
252 | static inline int hibernate_nvs_alloc(void) { return 0; } | ||
253 | static inline void hibernate_nvs_free(void) {} | ||
254 | static inline void hibernate_nvs_save(void) {} | ||
255 | static inline void hibernate_nvs_restore(void) {} | ||
256 | static inline bool system_entering_hibernation(void) { return false; } | ||
242 | #endif /* CONFIG_HIBERNATION */ | 257 | #endif /* CONFIG_HIBERNATION */ |
243 | 258 | ||
244 | #ifdef CONFIG_PM_SLEEP | 259 | #ifdef CONFIG_PM_SLEEP |
diff --git a/include/linux/swab.h b/include/linux/swab.h index be5284d4a053..ea0c02fd5163 100644 --- a/include/linux/swab.h +++ b/include/linux/swab.h | |||
@@ -3,7 +3,7 @@ | |||
3 | 3 | ||
4 | #include <linux/types.h> | 4 | #include <linux/types.h> |
5 | #include <linux/compiler.h> | 5 | #include <linux/compiler.h> |
6 | #include <asm/byteorder.h> | 6 | #include <asm/swab.h> |
7 | 7 | ||
8 | /* | 8 | /* |
9 | * casts are necessary for constants, because we never know how for sure | 9 | * casts are necessary for constants, because we never know how for sure |
diff --git a/include/linux/synclink.h b/include/linux/synclink.h index c844a229acc9..99b8bdb17b2b 100644 --- a/include/linux/synclink.h +++ b/include/linux/synclink.h | |||
@@ -13,6 +13,8 @@ | |||
13 | #define _SYNCLINK_H_ | 13 | #define _SYNCLINK_H_ |
14 | #define SYNCLINK_H_VERSION 3.6 | 14 | #define SYNCLINK_H_VERSION 3.6 |
15 | 15 | ||
16 | #include <linux/types.h> | ||
17 | |||
16 | #define BIT0 0x0001 | 18 | #define BIT0 0x0001 |
17 | #define BIT1 0x0002 | 19 | #define BIT1 0x0002 |
18 | #define BIT2 0x0004 | 20 | #define BIT2 0x0004 |
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h index 18d0a243a7b3..0eda02ff2414 100644 --- a/include/linux/syscalls.h +++ b/include/linux/syscalls.h | |||
@@ -54,6 +54,7 @@ struct compat_stat; | |||
54 | struct compat_timeval; | 54 | struct compat_timeval; |
55 | struct robust_list_head; | 55 | struct robust_list_head; |
56 | struct getcpu_cache; | 56 | struct getcpu_cache; |
57 | struct old_linux_dirent; | ||
57 | 58 | ||
58 | #include <linux/types.h> | 59 | #include <linux/types.h> |
59 | #include <linux/aio_abi.h> | 60 | #include <linux/aio_abi.h> |
@@ -65,6 +66,79 @@ struct getcpu_cache; | |||
65 | #include <linux/quota.h> | 66 | #include <linux/quota.h> |
66 | #include <linux/key.h> | 67 | #include <linux/key.h> |
67 | 68 | ||
69 | #define __SC_DECL1(t1, a1) t1 a1 | ||
70 | #define __SC_DECL2(t2, a2, ...) t2 a2, __SC_DECL1(__VA_ARGS__) | ||
71 | #define __SC_DECL3(t3, a3, ...) t3 a3, __SC_DECL2(__VA_ARGS__) | ||
72 | #define __SC_DECL4(t4, a4, ...) t4 a4, __SC_DECL3(__VA_ARGS__) | ||
73 | #define __SC_DECL5(t5, a5, ...) t5 a5, __SC_DECL4(__VA_ARGS__) | ||
74 | #define __SC_DECL6(t6, a6, ...) t6 a6, __SC_DECL5(__VA_ARGS__) | ||
75 | |||
76 | #define __SC_LONG1(t1, a1) long a1 | ||
77 | #define __SC_LONG2(t2, a2, ...) long a2, __SC_LONG1(__VA_ARGS__) | ||
78 | #define __SC_LONG3(t3, a3, ...) long a3, __SC_LONG2(__VA_ARGS__) | ||
79 | #define __SC_LONG4(t4, a4, ...) long a4, __SC_LONG3(__VA_ARGS__) | ||
80 | #define __SC_LONG5(t5, a5, ...) long a5, __SC_LONG4(__VA_ARGS__) | ||
81 | #define __SC_LONG6(t6, a6, ...) long a6, __SC_LONG5(__VA_ARGS__) | ||
82 | |||
83 | #define __SC_CAST1(t1, a1) (t1) a1 | ||
84 | #define __SC_CAST2(t2, a2, ...) (t2) a2, __SC_CAST1(__VA_ARGS__) | ||
85 | #define __SC_CAST3(t3, a3, ...) (t3) a3, __SC_CAST2(__VA_ARGS__) | ||
86 | #define __SC_CAST4(t4, a4, ...) (t4) a4, __SC_CAST3(__VA_ARGS__) | ||
87 | #define __SC_CAST5(t5, a5, ...) (t5) a5, __SC_CAST4(__VA_ARGS__) | ||
88 | #define __SC_CAST6(t6, a6, ...) (t6) a6, __SC_CAST5(__VA_ARGS__) | ||
89 | |||
90 | #define __SC_TEST(type) BUILD_BUG_ON(sizeof(type) > sizeof(long)) | ||
91 | #define __SC_TEST1(t1, a1) __SC_TEST(t1) | ||
92 | #define __SC_TEST2(t2, a2, ...) __SC_TEST(t2); __SC_TEST1(__VA_ARGS__) | ||
93 | #define __SC_TEST3(t3, a3, ...) __SC_TEST(t3); __SC_TEST2(__VA_ARGS__) | ||
94 | #define __SC_TEST4(t4, a4, ...) __SC_TEST(t4); __SC_TEST3(__VA_ARGS__) | ||
95 | #define __SC_TEST5(t5, a5, ...) __SC_TEST(t5); __SC_TEST4(__VA_ARGS__) | ||
96 | #define __SC_TEST6(t6, a6, ...) __SC_TEST(t6); __SC_TEST5(__VA_ARGS__) | ||
97 | |||
98 | #define SYSCALL_DEFINE0(name) asmlinkage long sys_##name(void) | ||
99 | #define SYSCALL_DEFINE1(...) SYSCALL_DEFINEx(1, __VA_ARGS__) | ||
100 | #define SYSCALL_DEFINE2(...) SYSCALL_DEFINEx(2, __VA_ARGS__) | ||
101 | #define SYSCALL_DEFINE3(...) SYSCALL_DEFINEx(3, __VA_ARGS__) | ||
102 | #define SYSCALL_DEFINE4(...) SYSCALL_DEFINEx(4, __VA_ARGS__) | ||
103 | #define SYSCALL_DEFINE5(...) SYSCALL_DEFINEx(5, __VA_ARGS__) | ||
104 | #define SYSCALL_DEFINE6(...) SYSCALL_DEFINEx(6, __VA_ARGS__) | ||
105 | |||
106 | #ifdef CONFIG_PPC64 | ||
107 | #define SYSCALL_ALIAS(alias, name) \ | ||
108 | asm ("\t.globl " #alias "\n\t.set " #alias ", " #name "\n" \ | ||
109 | "\t.globl ." #alias "\n\t.set ." #alias ", ." #name) | ||
110 | #else | ||
111 | #ifdef CONFIG_ALPHA | ||
112 | #define SYSCALL_ALIAS(alias, name) \ | ||
113 | asm ( #alias " = " #name "\n\t.globl " #alias) | ||
114 | #else | ||
115 | #define SYSCALL_ALIAS(alias, name) \ | ||
116 | asm ("\t.globl " #alias "\n\t.set " #alias ", " #name) | ||
117 | #endif | ||
118 | #endif | ||
119 | |||
120 | #ifdef CONFIG_HAVE_SYSCALL_WRAPPERS | ||
121 | |||
122 | #define SYSCALL_DEFINE(name) static inline long SYSC_##name | ||
123 | #define SYSCALL_DEFINEx(x, name, ...) \ | ||
124 | asmlinkage long sys_##name(__SC_DECL##x(__VA_ARGS__)); \ | ||
125 | static inline long SYSC_##name(__SC_DECL##x(__VA_ARGS__)); \ | ||
126 | asmlinkage long SyS_##name(__SC_LONG##x(__VA_ARGS__)) \ | ||
127 | { \ | ||
128 | __SC_TEST##x(__VA_ARGS__); \ | ||
129 | return (long) SYSC_##name(__SC_CAST##x(__VA_ARGS__)); \ | ||
130 | } \ | ||
131 | SYSCALL_ALIAS(sys_##name, SyS_##name); \ | ||
132 | static inline long SYSC_##name(__SC_DECL##x(__VA_ARGS__)) | ||
133 | |||
134 | #else /* CONFIG_HAVE_SYSCALL_WRAPPERS */ | ||
135 | |||
136 | #define SYSCALL_DEFINE(name) asmlinkage long sys_##name | ||
137 | #define SYSCALL_DEFINEx(x, name, ...) \ | ||
138 | asmlinkage long sys_##name(__SC_DECL##x(__VA_ARGS__)) | ||
139 | |||
140 | #endif /* CONFIG_HAVE_SYSCALL_WRAPPERS */ | ||
141 | |||
68 | asmlinkage long sys_time(time_t __user *tloc); | 142 | asmlinkage long sys_time(time_t __user *tloc); |
69 | asmlinkage long sys_stime(time_t __user *tptr); | 143 | asmlinkage long sys_stime(time_t __user *tptr); |
70 | asmlinkage long sys_gettimeofday(struct timeval __user *tv, | 144 | asmlinkage long sys_gettimeofday(struct timeval __user *tv, |
@@ -77,7 +151,7 @@ asmlinkage long sys_times(struct tms __user *tbuf); | |||
77 | 151 | ||
78 | asmlinkage long sys_gettid(void); | 152 | asmlinkage long sys_gettid(void); |
79 | asmlinkage long sys_nanosleep(struct timespec __user *rqtp, struct timespec __user *rmtp); | 153 | asmlinkage long sys_nanosleep(struct timespec __user *rqtp, struct timespec __user *rmtp); |
80 | asmlinkage unsigned long sys_alarm(unsigned int seconds); | 154 | asmlinkage long sys_alarm(unsigned int seconds); |
81 | asmlinkage long sys_getpid(void); | 155 | asmlinkage long sys_getpid(void); |
82 | asmlinkage long sys_getppid(void); | 156 | asmlinkage long sys_getppid(void); |
83 | asmlinkage long sys_getuid(void); | 157 | asmlinkage long sys_getuid(void); |
@@ -166,7 +240,7 @@ asmlinkage long sys_kexec_load(unsigned long entry, unsigned long nr_segments, | |||
166 | unsigned long flags); | 240 | unsigned long flags); |
167 | 241 | ||
168 | asmlinkage long sys_exit(int error_code); | 242 | asmlinkage long sys_exit(int error_code); |
169 | asmlinkage void sys_exit_group(int error_code); | 243 | asmlinkage long sys_exit_group(int error_code); |
170 | asmlinkage long sys_wait4(pid_t pid, int __user *stat_addr, | 244 | asmlinkage long sys_wait4(pid_t pid, int __user *stat_addr, |
171 | int options, struct rusage __user *ru); | 245 | int options, struct rusage __user *ru); |
172 | asmlinkage long sys_waitid(int which, pid_t pid, | 246 | asmlinkage long sys_waitid(int which, pid_t pid, |
@@ -196,7 +270,7 @@ asmlinkage long sys_tkill(int pid, int sig); | |||
196 | asmlinkage long sys_rt_sigqueueinfo(int pid, int sig, siginfo_t __user *uinfo); | 270 | asmlinkage long sys_rt_sigqueueinfo(int pid, int sig, siginfo_t __user *uinfo); |
197 | asmlinkage long sys_sgetmask(void); | 271 | asmlinkage long sys_sgetmask(void); |
198 | asmlinkage long sys_ssetmask(int newmask); | 272 | asmlinkage long sys_ssetmask(int newmask); |
199 | asmlinkage unsigned long sys_signal(int sig, __sighandler_t handler); | 273 | asmlinkage long sys_signal(int sig, __sighandler_t handler); |
200 | asmlinkage long sys_pause(void); | 274 | asmlinkage long sys_pause(void); |
201 | 275 | ||
202 | asmlinkage long sys_sync(void); | 276 | asmlinkage long sys_sync(void); |
@@ -246,29 +320,29 @@ asmlinkage long sys_lsetxattr(const char __user *path, const char __user *name, | |||
246 | const void __user *value, size_t size, int flags); | 320 | const void __user *value, size_t size, int flags); |
247 | asmlinkage long sys_fsetxattr(int fd, const char __user *name, | 321 | asmlinkage long sys_fsetxattr(int fd, const char __user *name, |
248 | const void __user *value, size_t size, int flags); | 322 | const void __user *value, size_t size, int flags); |
249 | asmlinkage ssize_t sys_getxattr(const char __user *path, const char __user *name, | 323 | asmlinkage long sys_getxattr(const char __user *path, const char __user *name, |
250 | void __user *value, size_t size); | 324 | void __user *value, size_t size); |
251 | asmlinkage ssize_t sys_lgetxattr(const char __user *path, const char __user *name, | 325 | asmlinkage long sys_lgetxattr(const char __user *path, const char __user *name, |
252 | void __user *value, size_t size); | 326 | void __user *value, size_t size); |
253 | asmlinkage ssize_t sys_fgetxattr(int fd, const char __user *name, | 327 | asmlinkage long sys_fgetxattr(int fd, const char __user *name, |
254 | void __user *value, size_t size); | 328 | void __user *value, size_t size); |
255 | asmlinkage ssize_t sys_listxattr(const char __user *path, char __user *list, | 329 | asmlinkage long sys_listxattr(const char __user *path, char __user *list, |
256 | size_t size); | 330 | size_t size); |
257 | asmlinkage ssize_t sys_llistxattr(const char __user *path, char __user *list, | 331 | asmlinkage long sys_llistxattr(const char __user *path, char __user *list, |
258 | size_t size); | 332 | size_t size); |
259 | asmlinkage ssize_t sys_flistxattr(int fd, char __user *list, size_t size); | 333 | asmlinkage long sys_flistxattr(int fd, char __user *list, size_t size); |
260 | asmlinkage long sys_removexattr(const char __user *path, | 334 | asmlinkage long sys_removexattr(const char __user *path, |
261 | const char __user *name); | 335 | const char __user *name); |
262 | asmlinkage long sys_lremovexattr(const char __user *path, | 336 | asmlinkage long sys_lremovexattr(const char __user *path, |
263 | const char __user *name); | 337 | const char __user *name); |
264 | asmlinkage long sys_fremovexattr(int fd, const char __user *name); | 338 | asmlinkage long sys_fremovexattr(int fd, const char __user *name); |
265 | 339 | ||
266 | asmlinkage unsigned long sys_brk(unsigned long brk); | 340 | asmlinkage long sys_brk(unsigned long brk); |
267 | asmlinkage long sys_mprotect(unsigned long start, size_t len, | 341 | asmlinkage long sys_mprotect(unsigned long start, size_t len, |
268 | unsigned long prot); | 342 | unsigned long prot); |
269 | asmlinkage unsigned long sys_mremap(unsigned long addr, | 343 | asmlinkage long sys_mremap(unsigned long addr, |
270 | unsigned long old_len, unsigned long new_len, | 344 | unsigned long old_len, unsigned long new_len, |
271 | unsigned long flags, unsigned long new_addr); | 345 | unsigned long flags, unsigned long new_addr); |
272 | asmlinkage long sys_remap_file_pages(unsigned long start, unsigned long size, | 346 | asmlinkage long sys_remap_file_pages(unsigned long start, unsigned long size, |
273 | unsigned long prot, unsigned long pgoff, | 347 | unsigned long prot, unsigned long pgoff, |
274 | unsigned long flags); | 348 | unsigned long flags); |
@@ -321,10 +395,10 @@ asmlinkage long sys_io_submit(aio_context_t, long, | |||
321 | struct iocb __user * __user *); | 395 | struct iocb __user * __user *); |
322 | asmlinkage long sys_io_cancel(aio_context_t ctx_id, struct iocb __user *iocb, | 396 | asmlinkage long sys_io_cancel(aio_context_t ctx_id, struct iocb __user *iocb, |
323 | struct io_event __user *result); | 397 | struct io_event __user *result); |
324 | asmlinkage ssize_t sys_sendfile(int out_fd, int in_fd, | 398 | asmlinkage long sys_sendfile(int out_fd, int in_fd, |
325 | off_t __user *offset, size_t count); | 399 | off_t __user *offset, size_t count); |
326 | asmlinkage ssize_t sys_sendfile64(int out_fd, int in_fd, | 400 | asmlinkage long sys_sendfile64(int out_fd, int in_fd, |
327 | loff_t __user *offset, size_t count); | 401 | loff_t __user *offset, size_t count); |
328 | asmlinkage long sys_readlink(const char __user *path, | 402 | asmlinkage long sys_readlink(const char __user *path, |
329 | char __user *buf, int bufsiz); | 403 | char __user *buf, int bufsiz); |
330 | asmlinkage long sys_creat(const char __user *pathname, int mode); | 404 | asmlinkage long sys_creat(const char __user *pathname, int mode); |
@@ -368,26 +442,25 @@ asmlinkage long sys_utime(char __user *filename, | |||
368 | struct utimbuf __user *times); | 442 | struct utimbuf __user *times); |
369 | asmlinkage long sys_utimes(char __user *filename, | 443 | asmlinkage long sys_utimes(char __user *filename, |
370 | struct timeval __user *utimes); | 444 | struct timeval __user *utimes); |
371 | asmlinkage off_t sys_lseek(unsigned int fd, off_t offset, | 445 | asmlinkage long sys_lseek(unsigned int fd, off_t offset, |
372 | unsigned int origin); | 446 | unsigned int origin); |
373 | asmlinkage long sys_llseek(unsigned int fd, unsigned long offset_high, | 447 | asmlinkage long sys_llseek(unsigned int fd, unsigned long offset_high, |
374 | unsigned long offset_low, loff_t __user *result, | 448 | unsigned long offset_low, loff_t __user *result, |
375 | unsigned int origin); | 449 | unsigned int origin); |
376 | asmlinkage ssize_t sys_read(unsigned int fd, char __user *buf, | 450 | asmlinkage long sys_read(unsigned int fd, char __user *buf, size_t count); |
377 | size_t count); | 451 | asmlinkage long sys_readahead(int fd, loff_t offset, size_t count); |
378 | asmlinkage ssize_t sys_readahead(int fd, loff_t offset, size_t count); | 452 | asmlinkage long sys_readv(unsigned long fd, |
379 | asmlinkage ssize_t sys_readv(unsigned long fd, | 453 | const struct iovec __user *vec, |
380 | const struct iovec __user *vec, | 454 | unsigned long vlen); |
381 | unsigned long vlen); | 455 | asmlinkage long sys_write(unsigned int fd, const char __user *buf, |
382 | asmlinkage ssize_t sys_write(unsigned int fd, const char __user *buf, | 456 | size_t count); |
383 | size_t count); | 457 | asmlinkage long sys_writev(unsigned long fd, |
384 | asmlinkage ssize_t sys_writev(unsigned long fd, | 458 | const struct iovec __user *vec, |
385 | const struct iovec __user *vec, | 459 | unsigned long vlen); |
386 | unsigned long vlen); | 460 | asmlinkage long sys_pread64(unsigned int fd, char __user *buf, |
387 | asmlinkage ssize_t sys_pread64(unsigned int fd, char __user *buf, | 461 | size_t count, loff_t pos); |
388 | size_t count, loff_t pos); | 462 | asmlinkage long sys_pwrite64(unsigned int fd, const char __user *buf, |
389 | asmlinkage ssize_t sys_pwrite64(unsigned int fd, const char __user *buf, | 463 | size_t count, loff_t pos); |
390 | size_t count, loff_t pos); | ||
391 | asmlinkage long sys_getcwd(char __user *buf, unsigned long size); | 464 | asmlinkage long sys_getcwd(char __user *buf, unsigned long size); |
392 | asmlinkage long sys_mkdir(const char __user *pathname, int mode); | 465 | asmlinkage long sys_mkdir(const char __user *pathname, int mode); |
393 | asmlinkage long sys_chdir(const char __user *filename); | 466 | asmlinkage long sys_chdir(const char __user *filename); |
@@ -476,7 +549,7 @@ asmlinkage long sys_shmctl(int shmid, int cmd, struct shmid_ds __user *buf); | |||
476 | asmlinkage long sys_mq_open(const char __user *name, int oflag, mode_t mode, struct mq_attr __user *attr); | 549 | asmlinkage long sys_mq_open(const char __user *name, int oflag, mode_t mode, struct mq_attr __user *attr); |
477 | asmlinkage long sys_mq_unlink(const char __user *name); | 550 | asmlinkage long sys_mq_unlink(const char __user *name); |
478 | asmlinkage long sys_mq_timedsend(mqd_t mqdes, const char __user *msg_ptr, size_t msg_len, unsigned int msg_prio, const struct timespec __user *abs_timeout); | 551 | asmlinkage long sys_mq_timedsend(mqd_t mqdes, const char __user *msg_ptr, size_t msg_len, unsigned int msg_prio, const struct timespec __user *abs_timeout); |
479 | asmlinkage ssize_t sys_mq_timedreceive(mqd_t mqdes, char __user *msg_ptr, size_t msg_len, unsigned int __user *msg_prio, const struct timespec __user *abs_timeout); | 552 | asmlinkage long sys_mq_timedreceive(mqd_t mqdes, char __user *msg_ptr, size_t msg_len, unsigned int __user *msg_prio, const struct timespec __user *abs_timeout); |
480 | asmlinkage long sys_mq_notify(mqd_t mqdes, const struct sigevent __user *notification); | 553 | asmlinkage long sys_mq_notify(mqd_t mqdes, const struct sigevent __user *notification); |
481 | asmlinkage long sys_mq_getsetattr(mqd_t mqdes, const struct mq_attr __user *mqstat, struct mq_attr __user *omqstat); | 554 | asmlinkage long sys_mq_getsetattr(mqd_t mqdes, const struct mq_attr __user *mqstat, struct mq_attr __user *omqstat); |
482 | 555 | ||
@@ -530,11 +603,6 @@ asmlinkage long sys_move_pages(pid_t pid, unsigned long nr_pages, | |||
530 | const int __user *nodes, | 603 | const int __user *nodes, |
531 | int __user *status, | 604 | int __user *status, |
532 | int flags); | 605 | int flags); |
533 | asmlinkage long compat_sys_move_pages(pid_t pid, unsigned long nr_page, | ||
534 | __u32 __user *pages, | ||
535 | const int __user *nodes, | ||
536 | int __user *status, | ||
537 | int flags); | ||
538 | asmlinkage long sys_mbind(unsigned long start, unsigned long len, | 606 | asmlinkage long sys_mbind(unsigned long start, unsigned long len, |
539 | unsigned long mode, | 607 | unsigned long mode, |
540 | unsigned long __user *nmask, | 608 | unsigned long __user *nmask, |
@@ -583,13 +651,6 @@ asmlinkage long sys_readlinkat(int dfd, const char __user *path, char __user *bu | |||
583 | int bufsiz); | 651 | int bufsiz); |
584 | asmlinkage long sys_utimensat(int dfd, char __user *filename, | 652 | asmlinkage long sys_utimensat(int dfd, char __user *filename, |
585 | struct timespec __user *utimes, int flags); | 653 | struct timespec __user *utimes, int flags); |
586 | asmlinkage long compat_sys_futimesat(unsigned int dfd, char __user *filename, | ||
587 | struct compat_timeval __user *t); | ||
588 | asmlinkage long compat_sys_newfstatat(unsigned int dfd, char __user * filename, | ||
589 | struct compat_stat __user *statbuf, | ||
590 | int flag); | ||
591 | asmlinkage long compat_sys_openat(unsigned int dfd, const char __user *filename, | ||
592 | int flags, int mode); | ||
593 | asmlinkage long sys_unshare(unsigned long unshare_flags); | 654 | asmlinkage long sys_unshare(unsigned long unshare_flags); |
594 | 655 | ||
595 | asmlinkage long sys_splice(int fd_in, loff_t __user *off_in, | 656 | asmlinkage long sys_splice(int fd_in, loff_t __user *off_in, |
@@ -621,6 +682,15 @@ asmlinkage long sys_timerfd_gettime(int ufd, struct itimerspec __user *otmr); | |||
621 | asmlinkage long sys_eventfd(unsigned int count); | 682 | asmlinkage long sys_eventfd(unsigned int count); |
622 | asmlinkage long sys_eventfd2(unsigned int count, int flags); | 683 | asmlinkage long sys_eventfd2(unsigned int count, int flags); |
623 | asmlinkage long sys_fallocate(int fd, int mode, loff_t offset, loff_t len); | 684 | asmlinkage long sys_fallocate(int fd, int mode, loff_t offset, loff_t len); |
685 | asmlinkage long sys_old_readdir(unsigned int, struct old_linux_dirent __user *, unsigned int); | ||
686 | asmlinkage long sys_pselect6(int, fd_set __user *, fd_set __user *, | ||
687 | fd_set __user *, struct timespec __user *, | ||
688 | void __user *); | ||
689 | asmlinkage long sys_ppoll(struct pollfd __user *, unsigned int, | ||
690 | struct timespec __user *, const sigset_t __user *, | ||
691 | size_t); | ||
692 | asmlinkage long sys_pipe2(int __user *, int); | ||
693 | asmlinkage long sys_pipe(int __user *); | ||
624 | 694 | ||
625 | int kernel_execve(const char *filename, char *const argv[], char *const envp[]); | 695 | int kernel_execve(const char *filename, char *const argv[], char *const envp[]); |
626 | 696 | ||
diff --git a/include/linux/taskstats.h b/include/linux/taskstats.h index 18269e956a71..341dddb55090 100644 --- a/include/linux/taskstats.h +++ b/include/linux/taskstats.h | |||
@@ -16,6 +16,8 @@ | |||
16 | #ifndef _LINUX_TASKSTATS_H | 16 | #ifndef _LINUX_TASKSTATS_H |
17 | #define _LINUX_TASKSTATS_H | 17 | #define _LINUX_TASKSTATS_H |
18 | 18 | ||
19 | #include <linux/types.h> | ||
20 | |||
19 | /* Format for per-task data returned to userland when | 21 | /* Format for per-task data returned to userland when |
20 | * - a task exits | 22 | * - a task exits |
21 | * - listener requests stats for a task | 23 | * - listener requests stats for a task |
diff --git a/include/linux/tc_act/tc_gact.h b/include/linux/tc_act/tc_gact.h index 23a03eb630db..e895c0a39629 100644 --- a/include/linux/tc_act/tc_gact.h +++ b/include/linux/tc_act/tc_gact.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef __LINUX_TC_GACT_H | 1 | #ifndef __LINUX_TC_GACT_H |
2 | #define __LINUX_TC_GACT_H | 2 | #define __LINUX_TC_GACT_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
4 | #include <linux/pkt_cls.h> | 5 | #include <linux/pkt_cls.h> |
5 | 6 | ||
6 | #define TCA_ACT_GACT 5 | 7 | #define TCA_ACT_GACT 5 |
diff --git a/include/linux/tc_act/tc_mirred.h b/include/linux/tc_act/tc_mirred.h index 71d63409d568..0a99ab60d610 100644 --- a/include/linux/tc_act/tc_mirred.h +++ b/include/linux/tc_act/tc_mirred.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef __LINUX_TC_MIR_H | 1 | #ifndef __LINUX_TC_MIR_H |
2 | #define __LINUX_TC_MIR_H | 2 | #define __LINUX_TC_MIR_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
4 | #include <linux/pkt_cls.h> | 5 | #include <linux/pkt_cls.h> |
5 | 6 | ||
6 | #define TCA_ACT_MIRRED 8 | 7 | #define TCA_ACT_MIRRED 8 |
diff --git a/include/linux/tc_act/tc_pedit.h b/include/linux/tc_act/tc_pedit.h index 83e56e32e8e0..54ce9064115a 100644 --- a/include/linux/tc_act/tc_pedit.h +++ b/include/linux/tc_act/tc_pedit.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef __LINUX_TC_PED_H | 1 | #ifndef __LINUX_TC_PED_H |
2 | #define __LINUX_TC_PED_H | 2 | #define __LINUX_TC_PED_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
4 | #include <linux/pkt_cls.h> | 5 | #include <linux/pkt_cls.h> |
5 | 6 | ||
6 | #define TCA_ACT_PEDIT 7 | 7 | #define TCA_ACT_PEDIT 7 |
diff --git a/include/linux/tc_ematch/tc_em_cmp.h b/include/linux/tc_ematch/tc_em_cmp.h index c7f4d43618fd..38e7f7b25ec2 100644 --- a/include/linux/tc_ematch/tc_em_cmp.h +++ b/include/linux/tc_ematch/tc_em_cmp.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef __LINUX_TC_EM_CMP_H | 1 | #ifndef __LINUX_TC_EM_CMP_H |
2 | #define __LINUX_TC_EM_CMP_H | 2 | #define __LINUX_TC_EM_CMP_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
4 | #include <linux/pkt_cls.h> | 5 | #include <linux/pkt_cls.h> |
5 | 6 | ||
6 | struct tcf_em_cmp | 7 | struct tcf_em_cmp |
diff --git a/include/linux/tc_ematch/tc_em_meta.h b/include/linux/tc_ematch/tc_em_meta.h index c50d2ba5caf0..dcfb733fa1f6 100644 --- a/include/linux/tc_ematch/tc_em_meta.h +++ b/include/linux/tc_ematch/tc_em_meta.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef __LINUX_TC_EM_META_H | 1 | #ifndef __LINUX_TC_EM_META_H |
2 | #define __LINUX_TC_EM_META_H | 2 | #define __LINUX_TC_EM_META_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
4 | #include <linux/pkt_cls.h> | 5 | #include <linux/pkt_cls.h> |
5 | 6 | ||
6 | enum | 7 | enum |
diff --git a/include/linux/tc_ematch/tc_em_nbyte.h b/include/linux/tc_ematch/tc_em_nbyte.h index f19d1f58ec9d..9ed8c2e58488 100644 --- a/include/linux/tc_ematch/tc_em_nbyte.h +++ b/include/linux/tc_ematch/tc_em_nbyte.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef __LINUX_TC_EM_NBYTE_H | 1 | #ifndef __LINUX_TC_EM_NBYTE_H |
2 | #define __LINUX_TC_EM_NBYTE_H | 2 | #define __LINUX_TC_EM_NBYTE_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
4 | #include <linux/pkt_cls.h> | 5 | #include <linux/pkt_cls.h> |
5 | 6 | ||
6 | struct tcf_em_nbyte | 7 | struct tcf_em_nbyte |
diff --git a/include/linux/tc_ematch/tc_em_text.h b/include/linux/tc_ematch/tc_em_text.h index 7cd43e99c7f5..d12a73a225fc 100644 --- a/include/linux/tc_ematch/tc_em_text.h +++ b/include/linux/tc_ematch/tc_em_text.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef __LINUX_TC_EM_TEXT_H | 1 | #ifndef __LINUX_TC_EM_TEXT_H |
2 | #define __LINUX_TC_EM_TEXT_H | 2 | #define __LINUX_TC_EM_TEXT_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
4 | #include <linux/pkt_cls.h> | 5 | #include <linux/pkt_cls.h> |
5 | 6 | ||
6 | #define TC_EM_TEXT_ALGOSIZ 16 | 7 | #define TC_EM_TEXT_ALGOSIZ 16 |
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 |
diff --git a/include/linux/usb/cdc.h b/include/linux/usb/cdc.h index 18a729343ffa..3c86ed25a04c 100644 --- a/include/linux/usb/cdc.h +++ b/include/linux/usb/cdc.h | |||
@@ -9,6 +9,8 @@ | |||
9 | #ifndef __LINUX_USB_CDC_H | 9 | #ifndef __LINUX_USB_CDC_H |
10 | #define __LINUX_USB_CDC_H | 10 | #define __LINUX_USB_CDC_H |
11 | 11 | ||
12 | #include <linux/types.h> | ||
13 | |||
12 | #define USB_CDC_SUBCLASS_ACM 0x02 | 14 | #define USB_CDC_SUBCLASS_ACM 0x02 |
13 | #define USB_CDC_SUBCLASS_ETHERNET 0x06 | 15 | #define USB_CDC_SUBCLASS_ETHERNET 0x06 |
14 | #define USB_CDC_SUBCLASS_WHCM 0x08 | 16 | #define USB_CDC_SUBCLASS_WHCM 0x08 |
diff --git a/include/linux/usb/gadgetfs.h b/include/linux/usb/gadgetfs.h index ea45f265ec05..612102e4d75e 100644 --- a/include/linux/usb/gadgetfs.h +++ b/include/linux/usb/gadgetfs.h | |||
@@ -18,7 +18,7 @@ | |||
18 | #ifndef __LINUX_USB_GADGETFS_H | 18 | #ifndef __LINUX_USB_GADGETFS_H |
19 | #define __LINUX_USB_GADGETFS_H | 19 | #define __LINUX_USB_GADGETFS_H |
20 | 20 | ||
21 | #include <asm/types.h> | 21 | #include <linux/types.h> |
22 | #include <asm/ioctl.h> | 22 | #include <asm/ioctl.h> |
23 | 23 | ||
24 | #include <linux/usb/ch9.h> | 24 | #include <linux/usb/ch9.h> |
diff --git a/include/linux/usb/usbnet.h b/include/linux/usb/usbnet.h index ba09fe88adda..7d3822243074 100644 --- a/include/linux/usb/usbnet.h +++ b/include/linux/usb/usbnet.h | |||
@@ -197,7 +197,9 @@ extern int usbnet_nway_reset(struct net_device *net); | |||
197 | #define devdbg(usbnet, fmt, arg...) \ | 197 | #define devdbg(usbnet, fmt, arg...) \ |
198 | printk(KERN_DEBUG "%s: " fmt "\n" , (usbnet)->net->name , ## arg) | 198 | printk(KERN_DEBUG "%s: " fmt "\n" , (usbnet)->net->name , ## arg) |
199 | #else | 199 | #else |
200 | #define devdbg(usbnet, fmt, arg...) do {} while(0) | 200 | #define devdbg(usbnet, fmt, arg...) \ |
201 | ({ if (0) printk(KERN_DEBUG "%s: " fmt "\n" , (usbnet)->net->name , \ | ||
202 | ## arg); 0; }) | ||
201 | #endif | 203 | #endif |
202 | 204 | ||
203 | #define deverr(usbnet, fmt, arg...) \ | 205 | #define deverr(usbnet, fmt, arg...) \ |
diff --git a/include/linux/video_decoder.h b/include/linux/video_decoder.h index 121e26da2c18..e26c0c86a6ea 100644 --- a/include/linux/video_decoder.h +++ b/include/linux/video_decoder.h | |||
@@ -1,6 +1,8 @@ | |||
1 | #ifndef _LINUX_VIDEO_DECODER_H | 1 | #ifndef _LINUX_VIDEO_DECODER_H |
2 | #define _LINUX_VIDEO_DECODER_H | 2 | #define _LINUX_VIDEO_DECODER_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
5 | |||
4 | #define HAVE_VIDEO_DECODER 1 | 6 | #define HAVE_VIDEO_DECODER 1 |
5 | 7 | ||
6 | struct video_decoder_capability { /* this name is too long */ | 8 | struct video_decoder_capability { /* this name is too long */ |
diff --git a/include/linux/video_encoder.h b/include/linux/video_encoder.h index 4b0e6907a7b4..b7b6423bbb8a 100644 --- a/include/linux/video_encoder.h +++ b/include/linux/video_encoder.h | |||
@@ -1,6 +1,8 @@ | |||
1 | #ifndef _LINUX_VIDEO_ENCODER_H | 1 | #ifndef _LINUX_VIDEO_ENCODER_H |
2 | #define _LINUX_VIDEO_ENCODER_H | 2 | #define _LINUX_VIDEO_ENCODER_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
5 | |||
4 | struct video_encoder_capability { /* this name is too long */ | 6 | struct video_encoder_capability { /* this name is too long */ |
5 | __u32 flags; | 7 | __u32 flags; |
6 | #define VIDEO_ENCODER_PAL 1 /* can encode PAL signal */ | 8 | #define VIDEO_ENCODER_PAL 1 /* can encode PAL signal */ |
diff --git a/include/linux/videodev.h b/include/linux/videodev.h index 15a653d41132..837f392fbe97 100644 --- a/include/linux/videodev.h +++ b/include/linux/videodev.h | |||
@@ -12,6 +12,7 @@ | |||
12 | #ifndef __LINUX_VIDEODEV_H | 12 | #ifndef __LINUX_VIDEODEV_H |
13 | #define __LINUX_VIDEODEV_H | 13 | #define __LINUX_VIDEODEV_H |
14 | 14 | ||
15 | #include <linux/types.h> | ||
15 | #include <linux/ioctl.h> | 16 | #include <linux/ioctl.h> |
16 | #include <linux/videodev2.h> | 17 | #include <linux/videodev2.h> |
17 | 18 | ||
diff --git a/include/linux/virtio_blk.h b/include/linux/virtio_blk.h index c1aef85243bf..94c56d29869d 100644 --- a/include/linux/virtio_blk.h +++ b/include/linux/virtio_blk.h | |||
@@ -2,6 +2,7 @@ | |||
2 | #define _LINUX_VIRTIO_BLK_H | 2 | #define _LINUX_VIRTIO_BLK_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/types.h> | ||
5 | #include <linux/virtio_config.h> | 6 | #include <linux/virtio_config.h> |
6 | 7 | ||
7 | /* The ID for virtio_block */ | 8 | /* The ID for virtio_block */ |
diff --git a/include/linux/virtio_console.h b/include/linux/virtio_console.h index 7615ffcdd555..dc161115ae35 100644 --- a/include/linux/virtio_console.h +++ b/include/linux/virtio_console.h | |||
@@ -1,5 +1,6 @@ | |||
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/virtio_config.h> | 4 | #include <linux/virtio_config.h> |
4 | /* This header, excluding the #ifdef __KERNEL__ part, is BSD licensed so | 5 | /* This header, excluding the #ifdef __KERNEL__ part, is BSD licensed so |
5 | * anyone can use the definitions to implement compatible drivers/servers. */ | 6 | * 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 5cdd0aa8bde9..3efa86c3ecb3 100644 --- a/include/linux/virtio_net.h +++ b/include/linux/virtio_net.h | |||
@@ -2,6 +2,7 @@ | |||
2 | #define _LINUX_VIRTIO_NET_H | 2 | #define _LINUX_VIRTIO_NET_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/types.h> | ||
5 | #include <linux/virtio_config.h> | 6 | #include <linux/virtio_config.h> |
6 | 7 | ||
7 | /* The ID for virtio_net */ | 8 | /* The ID for virtio_net */ |
diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h index b36291130f22..3cd51e579ab1 100644 --- a/include/linux/workqueue.h +++ b/include/linux/workqueue.h | |||
@@ -118,12 +118,24 @@ struct execute_work { | |||
118 | init_timer(&(_work)->timer); \ | 118 | init_timer(&(_work)->timer); \ |
119 | } while (0) | 119 | } while (0) |
120 | 120 | ||
121 | #define INIT_DELAYED_WORK_ON_STACK(_work, _func) \ | ||
122 | do { \ | ||
123 | INIT_WORK(&(_work)->work, (_func)); \ | ||
124 | init_timer_on_stack(&(_work)->timer); \ | ||
125 | } while (0) | ||
126 | |||
121 | #define INIT_DELAYED_WORK_DEFERRABLE(_work, _func) \ | 127 | #define INIT_DELAYED_WORK_DEFERRABLE(_work, _func) \ |
122 | do { \ | 128 | do { \ |
123 | INIT_WORK(&(_work)->work, (_func)); \ | 129 | INIT_WORK(&(_work)->work, (_func)); \ |
124 | init_timer_deferrable(&(_work)->timer); \ | 130 | init_timer_deferrable(&(_work)->timer); \ |
125 | } while (0) | 131 | } while (0) |
126 | 132 | ||
133 | #define INIT_DELAYED_WORK_ON_STACK(_work, _func) \ | ||
134 | do { \ | ||
135 | INIT_WORK(&(_work)->work, (_func)); \ | ||
136 | init_timer_on_stack(&(_work)->timer); \ | ||
137 | } while (0) | ||
138 | |||
127 | /** | 139 | /** |
128 | * work_pending - Find out whether a work item is currently pending | 140 | * work_pending - Find out whether a work item is currently pending |
129 | * @work: The work item in question | 141 | * @work: The work item in question |