diff options
| author | Paul Mundt <lethal@linux-sh.org> | 2010-08-03 22:56:17 -0400 |
|---|---|---|
| committer | Paul Mundt <lethal@linux-sh.org> | 2010-08-03 22:56:17 -0400 |
| commit | 701ec7a7b04a62c74ab1b83b59a3fd35c0ba5fdb (patch) | |
| tree | c07aa954f48ec45c422641052d46008697a4a6b1 /include | |
| parent | 285eba57db7bd7d7c3c5929fb8621fdcaaea1b00 (diff) | |
| parent | 3a09b1be53d23df780a0cd0e4087a05e2ca4a00c (diff) | |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Conflicts:
arch/arm/configs/ap4evb_defconfig
arch/arm/configs/g3evm_defconfig
arch/arm/configs/g4evm_defconfig
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'include')
42 files changed, 427 insertions, 168 deletions
diff --git a/include/acpi/processor.h b/include/acpi/processor.h index da565a48240e..a68ca8a11a53 100644 --- a/include/acpi/processor.h +++ b/include/acpi/processor.h | |||
| @@ -48,7 +48,7 @@ struct acpi_power_register { | |||
| 48 | u8 space_id; | 48 | u8 space_id; |
| 49 | u8 bit_width; | 49 | u8 bit_width; |
| 50 | u8 bit_offset; | 50 | u8 bit_offset; |
| 51 | u8 reserved; | 51 | u8 access_size; |
| 52 | u64 address; | 52 | u64 address; |
| 53 | } __attribute__ ((packed)); | 53 | } __attribute__ ((packed)); |
| 54 | 54 | ||
| @@ -63,6 +63,7 @@ struct acpi_processor_cx { | |||
| 63 | u32 power; | 63 | u32 power; |
| 64 | u32 usage; | 64 | u32 usage; |
| 65 | u64 time; | 65 | u64 time; |
| 66 | u8 bm_sts_skip; | ||
| 66 | char desc[ACPI_CX_DESC_LEN]; | 67 | char desc[ACPI_CX_DESC_LEN]; |
| 67 | }; | 68 | }; |
| 68 | 69 | ||
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index 48c5299cbf26..030a954ed292 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h | |||
| @@ -63,6 +63,12 @@ | |||
| 63 | /* Align . to a 8 byte boundary equals to maximum function alignment. */ | 63 | /* Align . to a 8 byte boundary equals to maximum function alignment. */ |
| 64 | #define ALIGN_FUNCTION() . = ALIGN(8) | 64 | #define ALIGN_FUNCTION() . = ALIGN(8) |
| 65 | 65 | ||
| 66 | /* | ||
| 67 | * Align to a 32 byte boundary equal to the | ||
| 68 | * alignment gcc 4.5 uses for a struct | ||
| 69 | */ | ||
| 70 | #define STRUCT_ALIGN() . = ALIGN(32) | ||
| 71 | |||
| 66 | /* The actual configuration determine if the init/exit sections | 72 | /* The actual configuration determine if the init/exit sections |
| 67 | * are handled as text/data or they can be discarded (which | 73 | * are handled as text/data or they can be discarded (which |
| 68 | * often happens at runtime) | 74 | * often happens at runtime) |
| @@ -166,7 +172,11 @@ | |||
| 166 | LIKELY_PROFILE() \ | 172 | LIKELY_PROFILE() \ |
| 167 | BRANCH_PROFILE() \ | 173 | BRANCH_PROFILE() \ |
| 168 | TRACE_PRINTKS() \ | 174 | TRACE_PRINTKS() \ |
| 175 | \ | ||
| 176 | STRUCT_ALIGN(); \ | ||
| 169 | FTRACE_EVENTS() \ | 177 | FTRACE_EVENTS() \ |
| 178 | \ | ||
| 179 | STRUCT_ALIGN(); \ | ||
| 170 | TRACE_SYSCALLS() | 180 | TRACE_SYSCALLS() |
| 171 | 181 | ||
| 172 | /* | 182 | /* |
| @@ -435,7 +445,7 @@ | |||
| 435 | */ | 445 | */ |
| 436 | #define INIT_TASK_DATA_SECTION(align) \ | 446 | #define INIT_TASK_DATA_SECTION(align) \ |
| 437 | . = ALIGN(align); \ | 447 | . = ALIGN(align); \ |
| 438 | .data..init_task : { \ | 448 | .data..init_task : AT(ADDR(.data..init_task) - LOAD_OFFSET) { \ |
| 439 | INIT_TASK_DATA(align) \ | 449 | INIT_TASK_DATA(align) \ |
| 440 | } | 450 | } |
| 441 | 451 | ||
diff --git a/include/drm/ttm/ttm_page_alloc.h b/include/drm/ttm/ttm_page_alloc.h index 8bb4de567b2c..116821448c38 100644 --- a/include/drm/ttm/ttm_page_alloc.h +++ b/include/drm/ttm/ttm_page_alloc.h | |||
| @@ -56,10 +56,6 @@ void ttm_put_pages(struct list_head *pages, | |||
| 56 | enum ttm_caching_state cstate); | 56 | enum ttm_caching_state cstate); |
| 57 | /** | 57 | /** |
| 58 | * Initialize pool allocator. | 58 | * Initialize pool allocator. |
| 59 | * | ||
| 60 | * Pool allocator is internaly reference counted so it can be initialized | ||
| 61 | * multiple times but ttm_page_alloc_fini has to be called same number of | ||
| 62 | * times. | ||
| 63 | */ | 59 | */ |
| 64 | int ttm_page_alloc_init(struct ttm_mem_global *glob, unsigned max_pages); | 60 | int ttm_page_alloc_init(struct ttm_mem_global *glob, unsigned max_pages); |
| 65 | /** | 61 | /** |
diff --git a/include/linux/acpi.h b/include/linux/acpi.h index 224a38c960d4..ccf94dc5acdf 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h | |||
| @@ -253,7 +253,7 @@ int acpi_resources_are_enforced(void); | |||
| 253 | #ifdef CONFIG_PM_SLEEP | 253 | #ifdef CONFIG_PM_SLEEP |
| 254 | void __init acpi_no_s4_hw_signature(void); | 254 | void __init acpi_no_s4_hw_signature(void); |
| 255 | void __init acpi_old_suspend_ordering(void); | 255 | void __init acpi_old_suspend_ordering(void); |
| 256 | void __init acpi_s4_no_nvs(void); | 256 | void __init acpi_nvs_nosave(void); |
| 257 | #endif /* CONFIG_PM_SLEEP */ | 257 | #endif /* CONFIG_PM_SLEEP */ |
| 258 | 258 | ||
| 259 | struct acpi_osc_context { | 259 | struct acpi_osc_context { |
diff --git a/include/linux/amba/bus.h b/include/linux/amba/bus.h index 8b1038607831..b0c174012436 100644 --- a/include/linux/amba/bus.h +++ b/include/linux/amba/bus.h | |||
| @@ -14,14 +14,19 @@ | |||
| 14 | #ifndef ASMARM_AMBA_H | 14 | #ifndef ASMARM_AMBA_H |
| 15 | #define ASMARM_AMBA_H | 15 | #define ASMARM_AMBA_H |
| 16 | 16 | ||
| 17 | #include <linux/clk.h> | ||
| 17 | #include <linux/device.h> | 18 | #include <linux/device.h> |
| 19 | #include <linux/err.h> | ||
| 18 | #include <linux/resource.h> | 20 | #include <linux/resource.h> |
| 19 | 21 | ||
| 20 | #define AMBA_NR_IRQS 2 | 22 | #define AMBA_NR_IRQS 2 |
| 21 | 23 | ||
| 24 | struct clk; | ||
| 25 | |||
| 22 | struct amba_device { | 26 | struct amba_device { |
| 23 | struct device dev; | 27 | struct device dev; |
| 24 | struct resource res; | 28 | struct resource res; |
| 29 | struct clk *pclk; | ||
| 25 | u64 dma_mask; | 30 | u64 dma_mask; |
| 26 | unsigned int periphid; | 31 | unsigned int periphid; |
| 27 | unsigned int irq[AMBA_NR_IRQS]; | 32 | unsigned int irq[AMBA_NR_IRQS]; |
| @@ -59,6 +64,12 @@ struct amba_device *amba_find_device(const char *, struct device *, unsigned int | |||
| 59 | int amba_request_regions(struct amba_device *, const char *); | 64 | int amba_request_regions(struct amba_device *, const char *); |
| 60 | void amba_release_regions(struct amba_device *); | 65 | void amba_release_regions(struct amba_device *); |
| 61 | 66 | ||
| 67 | #define amba_pclk_enable(d) \ | ||
| 68 | (IS_ERR((d)->pclk) ? 0 : clk_enable((d)->pclk)) | ||
| 69 | |||
| 70 | #define amba_pclk_disable(d) \ | ||
| 71 | do { if (!IS_ERR((d)->pclk)) clk_disable((d)->pclk); } while (0) | ||
| 72 | |||
| 62 | #define amba_config(d) (((d)->periphid >> 24) & 0xff) | 73 | #define amba_config(d) (((d)->periphid >> 24) & 0xff) |
| 63 | #define amba_rev(d) (((d)->periphid >> 20) & 0x0f) | 74 | #define amba_rev(d) (((d)->periphid >> 20) & 0x0f) |
| 64 | #define amba_manf(d) (((d)->periphid >> 12) & 0xff) | 75 | #define amba_manf(d) (((d)->periphid >> 12) & 0xff) |
diff --git a/include/linux/amba/mmci.h b/include/linux/amba/mmci.h index 7e466fe72025..ca84ce70d5d5 100644 --- a/include/linux/amba/mmci.h +++ b/include/linux/amba/mmci.h | |||
| @@ -15,9 +15,10 @@ | |||
| 15 | * @ocr_mask: available voltages on the 4 pins from the block, this | 15 | * @ocr_mask: available voltages on the 4 pins from the block, this |
| 16 | * is ignored if a regulator is used, see the MMC_VDD_* masks in | 16 | * is ignored if a regulator is used, see the MMC_VDD_* masks in |
| 17 | * mmc/host.h | 17 | * mmc/host.h |
| 18 | * @translate_vdd: a callback function to translate a MMC_VDD_* | 18 | * @vdd_handler: a callback function to translate a MMC_VDD_* |
| 19 | * mask into a value to be binary or:ed and written into the | 19 | * mask into a value to be binary (or set some other custom bits |
| 20 | * MMCIPWR register of the block | 20 | * in MMCIPWR) or:ed and written into the MMCIPWR register of the |
| 21 | * block. May also control external power based on the power_mode. | ||
| 21 | * @status: if no GPIO read function was given to the block in | 22 | * @status: if no GPIO read function was given to the block in |
| 22 | * gpio_wp (below) this function will be called to determine | 23 | * gpio_wp (below) this function will be called to determine |
| 23 | * whether a card is present in the MMC slot or not | 24 | * whether a card is present in the MMC slot or not |
| @@ -29,7 +30,8 @@ | |||
| 29 | struct mmci_platform_data { | 30 | struct mmci_platform_data { |
| 30 | unsigned int f_max; | 31 | unsigned int f_max; |
| 31 | unsigned int ocr_mask; | 32 | unsigned int ocr_mask; |
| 32 | u32 (*translate_vdd)(struct device *, unsigned int); | 33 | u32 (*vdd_handler)(struct device *, unsigned int vdd, |
| 34 | unsigned char power_mode); | ||
| 33 | unsigned int (*status)(struct device *); | 35 | unsigned int (*status)(struct device *); |
| 34 | int gpio_wp; | 36 | int gpio_wp; |
| 35 | int gpio_cd; | 37 | int gpio_cd; |
diff --git a/include/linux/amba/serial.h b/include/linux/amba/serial.h index 5a5a7fd62490..e1b634b635f2 100644 --- a/include/linux/amba/serial.h +++ b/include/linux/amba/serial.h | |||
| @@ -38,10 +38,12 @@ | |||
| 38 | #define UART01x_FR 0x18 /* Flag register (Read only). */ | 38 | #define UART01x_FR 0x18 /* Flag register (Read only). */ |
| 39 | #define UART010_IIR 0x1C /* Interrupt indentification register (Read). */ | 39 | #define UART010_IIR 0x1C /* Interrupt indentification register (Read). */ |
| 40 | #define UART010_ICR 0x1C /* Interrupt clear register (Write). */ | 40 | #define UART010_ICR 0x1C /* Interrupt clear register (Write). */ |
| 41 | #define ST_UART011_LCRH_RX 0x1C /* Rx line control register. */ | ||
| 41 | #define UART01x_ILPR 0x20 /* IrDA low power counter register. */ | 42 | #define UART01x_ILPR 0x20 /* IrDA low power counter register. */ |
| 42 | #define UART011_IBRD 0x24 /* Integer baud rate divisor register. */ | 43 | #define UART011_IBRD 0x24 /* Integer baud rate divisor register. */ |
| 43 | #define UART011_FBRD 0x28 /* Fractional baud rate divisor register. */ | 44 | #define UART011_FBRD 0x28 /* Fractional baud rate divisor register. */ |
| 44 | #define UART011_LCRH 0x2c /* Line control register. */ | 45 | #define UART011_LCRH 0x2c /* Line control register. */ |
| 46 | #define ST_UART011_LCRH_TX 0x2c /* Tx Line control register. */ | ||
| 45 | #define UART011_CR 0x30 /* Control register. */ | 47 | #define UART011_CR 0x30 /* Control register. */ |
| 46 | #define UART011_IFLS 0x34 /* Interrupt fifo level select. */ | 48 | #define UART011_IFLS 0x34 /* Interrupt fifo level select. */ |
| 47 | #define UART011_IMSC 0x38 /* Interrupt mask. */ | 49 | #define UART011_IMSC 0x38 /* Interrupt mask. */ |
| @@ -84,6 +86,7 @@ | |||
| 84 | #define UART010_CR_TIE 0x0020 | 86 | #define UART010_CR_TIE 0x0020 |
| 85 | #define UART010_CR_RIE 0x0010 | 87 | #define UART010_CR_RIE 0x0010 |
| 86 | #define UART010_CR_MSIE 0x0008 | 88 | #define UART010_CR_MSIE 0x0008 |
| 89 | #define ST_UART011_CR_OVSFACT 0x0008 /* Oversampling factor */ | ||
| 87 | #define UART01x_CR_IIRLP 0x0004 /* SIR low power mode */ | 90 | #define UART01x_CR_IIRLP 0x0004 /* SIR low power mode */ |
| 88 | #define UART01x_CR_SIREN 0x0002 /* SIR enable */ | 91 | #define UART01x_CR_SIREN 0x0002 /* SIR enable */ |
| 89 | #define UART01x_CR_UARTEN 0x0001 /* UART enable */ | 92 | #define UART01x_CR_UARTEN 0x0001 /* UART enable */ |
diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h index 9ae2889096b6..e9aec0d099df 100644 --- a/include/linux/backing-dev.h +++ b/include/linux/backing-dev.h | |||
| @@ -82,8 +82,6 @@ struct backing_dev_info { | |||
| 82 | struct bdi_writeback wb; /* default writeback info for this bdi */ | 82 | struct bdi_writeback wb; /* default writeback info for this bdi */ |
| 83 | spinlock_t wb_lock; /* protects update side of wb_list */ | 83 | spinlock_t wb_lock; /* protects update side of wb_list */ |
| 84 | struct list_head wb_list; /* the flusher threads hanging off this bdi */ | 84 | struct list_head wb_list; /* the flusher threads hanging off this bdi */ |
| 85 | unsigned long wb_mask; /* bitmask of registered tasks */ | ||
| 86 | unsigned int wb_cnt; /* number of registered tasks */ | ||
| 87 | 85 | ||
| 88 | struct list_head work_list; | 86 | struct list_head work_list; |
| 89 | 87 | ||
diff --git a/include/linux/cred.h b/include/linux/cred.h index 75c0fa881308..4d2c39573f36 100644 --- a/include/linux/cred.h +++ b/include/linux/cred.h | |||
| @@ -153,6 +153,7 @@ struct cred { | |||
| 153 | extern void __put_cred(struct cred *); | 153 | extern void __put_cred(struct cred *); |
| 154 | extern void exit_creds(struct task_struct *); | 154 | extern void exit_creds(struct task_struct *); |
| 155 | extern int copy_creds(struct task_struct *, unsigned long); | 155 | extern int copy_creds(struct task_struct *, unsigned long); |
| 156 | extern const struct cred *get_task_cred(struct task_struct *); | ||
| 156 | extern struct cred *cred_alloc_blank(void); | 157 | extern struct cred *cred_alloc_blank(void); |
| 157 | extern struct cred *prepare_creds(void); | 158 | extern struct cred *prepare_creds(void); |
| 158 | extern struct cred *prepare_exec_creds(void); | 159 | extern struct cred *prepare_exec_creds(void); |
| @@ -273,33 +274,18 @@ static inline void put_cred(const struct cred *_cred) | |||
| 273 | * @task: The task to query | 274 | * @task: The task to query |
| 274 | * | 275 | * |
| 275 | * Access the objective credentials of a task. The caller must hold the RCU | 276 | * Access the objective credentials of a task. The caller must hold the RCU |
| 276 | * readlock. | 277 | * readlock or the task must be dead and unable to change its own credentials. |
| 277 | * | 278 | * |
| 278 | * The caller must make sure task doesn't go away, either by holding a ref on | 279 | * The result of this function should not be passed directly to get_cred(); |
| 279 | * task or by holding tasklist_lock to prevent it from being unlinked. | 280 | * rather get_task_cred() should be used instead. |
| 280 | */ | 281 | */ |
| 281 | #define __task_cred(task) \ | 282 | #define __task_cred(task) \ |
| 282 | ((const struct cred *)(rcu_dereference_check((task)->real_cred, rcu_read_lock_held() || lockdep_tasklist_lock_is_held()))) | 283 | ({ \ |
| 283 | 284 | const struct task_struct *__t = (task); \ | |
| 284 | /** | 285 | rcu_dereference_check(__t->real_cred, \ |
| 285 | * get_task_cred - Get another task's objective credentials | 286 | rcu_read_lock_held() || \ |
| 286 | * @task: The task to query | 287 | task_is_dead(__t)); \ |
| 287 | * | 288 | }) |
| 288 | * Get the objective credentials of a task, pinning them so that they can't go | ||
| 289 | * away. Accessing a task's credentials directly is not permitted. | ||
| 290 | * | ||
| 291 | * The caller must make sure task doesn't go away, either by holding a ref on | ||
| 292 | * task or by holding tasklist_lock to prevent it from being unlinked. | ||
| 293 | */ | ||
| 294 | #define get_task_cred(task) \ | ||
| 295 | ({ \ | ||
| 296 | struct cred *__cred; \ | ||
| 297 | rcu_read_lock(); \ | ||
| 298 | __cred = (struct cred *) __task_cred((task)); \ | ||
| 299 | get_cred(__cred); \ | ||
| 300 | rcu_read_unlock(); \ | ||
| 301 | __cred; \ | ||
| 302 | }) | ||
| 303 | 289 | ||
| 304 | /** | 290 | /** |
| 305 | * get_current_cred - Get the current task's subjective credentials | 291 | * get_current_cred - Get the current task's subjective credentials |
diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h index 276b40a16835..b4207ca3ad52 100644 --- a/include/linux/ethtool.h +++ b/include/linux/ethtool.h | |||
| @@ -379,6 +379,8 @@ struct ethtool_rxnfc { | |||
| 379 | __u32 flow_type; | 379 | __u32 flow_type; |
| 380 | /* The rx flow hash value or the rule DB size */ | 380 | /* The rx flow hash value or the rule DB size */ |
| 381 | __u64 data; | 381 | __u64 data; |
| 382 | /* The following fields are not valid and must not be used for | ||
| 383 | * the ETHTOOL_{G,X}RXFH commands. */ | ||
| 382 | struct ethtool_rx_flow_spec fs; | 384 | struct ethtool_rx_flow_spec fs; |
| 383 | __u32 rule_cnt; | 385 | __u32 rule_cnt; |
| 384 | __u32 rule_locs[0]; | 386 | __u32 rule_locs[0]; |
diff --git a/include/linux/fb.h b/include/linux/fb.h index 8e5a9dfb76bf..e7445df44d6c 100644 --- a/include/linux/fb.h +++ b/include/linux/fb.h | |||
| @@ -873,6 +873,8 @@ struct fb_info { | |||
| 873 | static inline struct apertures_struct *alloc_apertures(unsigned int max_num) { | 873 | static inline struct apertures_struct *alloc_apertures(unsigned int max_num) { |
| 874 | struct apertures_struct *a = kzalloc(sizeof(struct apertures_struct) | 874 | struct apertures_struct *a = kzalloc(sizeof(struct apertures_struct) |
| 875 | + max_num * sizeof(struct aperture), GFP_KERNEL); | 875 | + max_num * sizeof(struct aperture), GFP_KERNEL); |
| 876 | if (!a) | ||
| 877 | return NULL; | ||
| 876 | a->count = max_num; | 878 | a->count = max_num; |
| 877 | return a; | 879 | return a; |
| 878 | } | 880 | } |
diff --git a/include/linux/fdtable.h b/include/linux/fdtable.h index 013dc529e95f..d147461bc271 100644 --- a/include/linux/fdtable.h +++ b/include/linux/fdtable.h | |||
| @@ -61,7 +61,8 @@ struct files_struct { | |||
| 61 | (rcu_dereference_check((fdtfd), \ | 61 | (rcu_dereference_check((fdtfd), \ |
| 62 | rcu_read_lock_held() || \ | 62 | rcu_read_lock_held() || \ |
| 63 | lockdep_is_held(&(files)->file_lock) || \ | 63 | lockdep_is_held(&(files)->file_lock) || \ |
| 64 | atomic_read(&(files)->count) == 1)) | 64 | atomic_read(&(files)->count) == 1 || \ |
| 65 | rcu_my_thread_group_empty())) | ||
| 65 | 66 | ||
| 66 | #define files_fdtable(files) \ | 67 | #define files_fdtable(files) \ |
| 67 | (rcu_dereference_check_fdtable((files), (files)->fdt)) | 68 | (rcu_dereference_check_fdtable((files), (files)->fdt)) |
diff --git a/include/linux/fs.h b/include/linux/fs.h index 471e1ff5079a..f91affb7d530 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
| @@ -415,7 +415,8 @@ struct buffer_head; | |||
| 415 | typedef int (get_block_t)(struct inode *inode, sector_t iblock, | 415 | typedef int (get_block_t)(struct inode *inode, sector_t iblock, |
| 416 | struct buffer_head *bh_result, int create); | 416 | struct buffer_head *bh_result, int create); |
| 417 | typedef void (dio_iodone_t)(struct kiocb *iocb, loff_t offset, | 417 | typedef void (dio_iodone_t)(struct kiocb *iocb, loff_t offset, |
| 418 | ssize_t bytes, void *private); | 418 | ssize_t bytes, void *private, int ret, |
| 419 | bool is_async); | ||
| 419 | 420 | ||
| 420 | /* | 421 | /* |
| 421 | * Attribute flags. These should be or-ed together to figure out what | 422 | * Attribute flags. These should be or-ed together to figure out what |
| @@ -1783,6 +1784,19 @@ extern int get_sb_pseudo(struct file_system_type *, char *, | |||
| 1783 | struct vfsmount *mnt); | 1784 | struct vfsmount *mnt); |
| 1784 | extern void simple_set_mnt(struct vfsmount *mnt, struct super_block *sb); | 1785 | extern void simple_set_mnt(struct vfsmount *mnt, struct super_block *sb); |
| 1785 | 1786 | ||
| 1787 | static inline void sb_mark_dirty(struct super_block *sb) | ||
| 1788 | { | ||
| 1789 | sb->s_dirt = 1; | ||
| 1790 | } | ||
| 1791 | static inline void sb_mark_clean(struct super_block *sb) | ||
| 1792 | { | ||
| 1793 | sb->s_dirt = 0; | ||
| 1794 | } | ||
| 1795 | static inline int sb_is_dirty(struct super_block *sb) | ||
| 1796 | { | ||
| 1797 | return sb->s_dirt; | ||
| 1798 | } | ||
| 1799 | |||
| 1786 | /* Alas, no aliases. Too much hassle with bringing module.h everywhere */ | 1800 | /* Alas, no aliases. Too much hassle with bringing module.h everywhere */ |
| 1787 | #define fops_get(fops) \ | 1801 | #define fops_get(fops) \ |
| 1788 | (((fops) && try_module_get((fops)->owner) ? (fops) : NULL)) | 1802 | (((fops) && try_module_get((fops)->owner) ? (fops) : NULL)) |
diff --git a/include/linux/i8042.h b/include/linux/i8042.h index 9bf6870ee5f4..a986ff588944 100644 --- a/include/linux/i8042.h +++ b/include/linux/i8042.h | |||
| @@ -46,31 +46,31 @@ int i8042_remove_filter(bool (*filter)(unsigned char data, unsigned char str, | |||
| 46 | 46 | ||
| 47 | #else | 47 | #else |
| 48 | 48 | ||
| 49 | void i8042_lock_chip(void) | 49 | static inline void i8042_lock_chip(void) |
| 50 | { | 50 | { |
| 51 | } | 51 | } |
| 52 | 52 | ||
| 53 | void i8042_unlock_chip(void) | 53 | static inline void i8042_unlock_chip(void) |
| 54 | { | 54 | { |
| 55 | } | 55 | } |
| 56 | 56 | ||
| 57 | int i8042_command(unsigned char *param, int command) | 57 | static inline int i8042_command(unsigned char *param, int command) |
| 58 | { | 58 | { |
| 59 | return -ENODEV; | 59 | return -ENODEV; |
| 60 | } | 60 | } |
| 61 | 61 | ||
| 62 | bool i8042_check_port_owner(const struct serio *serio) | 62 | static inline bool i8042_check_port_owner(const struct serio *serio) |
| 63 | { | 63 | { |
| 64 | return false; | 64 | return false; |
| 65 | } | 65 | } |
| 66 | 66 | ||
| 67 | int i8042_install_filter(bool (*filter)(unsigned char data, unsigned char str, | 67 | static inline int i8042_install_filter(bool (*filter)(unsigned char data, unsigned char str, |
| 68 | struct serio *serio)) | 68 | struct serio *serio)) |
| 69 | { | 69 | { |
| 70 | return -ENODEV; | 70 | return -ENODEV; |
| 71 | } | 71 | } |
| 72 | 72 | ||
| 73 | int i8042_remove_filter(bool (*filter)(unsigned char data, unsigned char str, | 73 | static inline int i8042_remove_filter(bool (*filter)(unsigned char data, unsigned char str, |
| 74 | struct serio *serio)) | 74 | struct serio *serio)) |
| 75 | { | 75 | { |
| 76 | return -ENODEV; | 76 | return -ENODEV; |
diff --git a/include/linux/if_macvlan.h b/include/linux/if_macvlan.h index 9ea047aca795..1ffaeffeff74 100644 --- a/include/linux/if_macvlan.h +++ b/include/linux/if_macvlan.h | |||
| @@ -67,6 +67,8 @@ static inline void macvlan_count_rx(const struct macvlan_dev *vlan, | |||
| 67 | } | 67 | } |
| 68 | } | 68 | } |
| 69 | 69 | ||
| 70 | extern void macvlan_common_setup(struct net_device *dev); | ||
| 71 | |||
| 70 | extern int macvlan_common_newlink(struct net *src_net, struct net_device *dev, | 72 | extern int macvlan_common_newlink(struct net *src_net, struct net_device *dev, |
| 71 | struct nlattr *tb[], struct nlattr *data[], | 73 | struct nlattr *tb[], struct nlattr *data[], |
| 72 | int (*receive)(struct sk_buff *skb), | 74 | int (*receive)(struct sk_buff *skb), |
diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h index a4d2e9f7088a..adf832dec3f3 100644 --- a/include/linux/jbd2.h +++ b/include/linux/jbd2.h | |||
| @@ -1026,11 +1026,12 @@ void __jbd2_journal_insert_checkpoint(struct journal_head *, transaction_t *); | |||
| 1026 | 1026 | ||
| 1027 | struct jbd2_buffer_trigger_type { | 1027 | struct jbd2_buffer_trigger_type { |
| 1028 | /* | 1028 | /* |
| 1029 | * Fired just before a buffer is written to the journal. | 1029 | * Fired a the moment data to write to the journal are known to be |
| 1030 | * mapped_data is a mapped buffer that is the frozen data for | 1030 | * stable - so either at the moment b_frozen_data is created or just |
| 1031 | * commit. | 1031 | * before a buffer is written to the journal. mapped_data is a mapped |
| 1032 | * buffer that is the frozen data for commit. | ||
| 1032 | */ | 1033 | */ |
| 1033 | void (*t_commit)(struct jbd2_buffer_trigger_type *type, | 1034 | void (*t_frozen)(struct jbd2_buffer_trigger_type *type, |
| 1034 | struct buffer_head *bh, void *mapped_data, | 1035 | struct buffer_head *bh, void *mapped_data, |
| 1035 | size_t size); | 1036 | size_t size); |
| 1036 | 1037 | ||
| @@ -1042,7 +1043,7 @@ struct jbd2_buffer_trigger_type { | |||
| 1042 | struct buffer_head *bh); | 1043 | struct buffer_head *bh); |
| 1043 | }; | 1044 | }; |
| 1044 | 1045 | ||
| 1045 | extern void jbd2_buffer_commit_trigger(struct journal_head *jh, | 1046 | extern void jbd2_buffer_frozen_trigger(struct journal_head *jh, |
| 1046 | void *mapped_data, | 1047 | void *mapped_data, |
| 1047 | struct jbd2_buffer_trigger_type *triggers); | 1048 | struct jbd2_buffer_trigger_type *triggers); |
| 1048 | extern void jbd2_buffer_abort_trigger(struct journal_head *jh, | 1049 | extern void jbd2_buffer_abort_trigger(struct journal_head *jh, |
diff --git a/include/linux/lmb.h b/include/linux/lmb.h deleted file mode 100644 index f3d14333ebed..000000000000 --- a/include/linux/lmb.h +++ /dev/null | |||
| @@ -1,89 +0,0 @@ | |||
| 1 | #ifndef _LINUX_LMB_H | ||
| 2 | #define _LINUX_LMB_H | ||
| 3 | #ifdef __KERNEL__ | ||
| 4 | |||
| 5 | /* | ||
| 6 | * Logical memory blocks. | ||
| 7 | * | ||
| 8 | * Copyright (C) 2001 Peter Bergner, IBM Corp. | ||
| 9 | * | ||
| 10 | * This program is free software; you can redistribute it and/or | ||
| 11 | * modify it under the terms of the GNU General Public License | ||
| 12 | * as published by the Free Software Foundation; either version | ||
| 13 | * 2 of the License, or (at your option) any later version. | ||
| 14 | */ | ||
| 15 | |||
| 16 | #include <linux/init.h> | ||
| 17 | #include <linux/mm.h> | ||
| 18 | |||
| 19 | #define MAX_LMB_REGIONS 128 | ||
| 20 | |||
| 21 | struct lmb_property { | ||
| 22 | u64 base; | ||
| 23 | u64 size; | ||
| 24 | }; | ||
| 25 | |||
| 26 | struct lmb_region { | ||
| 27 | unsigned long cnt; | ||
| 28 | u64 size; | ||
| 29 | struct lmb_property region[MAX_LMB_REGIONS+1]; | ||
| 30 | }; | ||
| 31 | |||
| 32 | struct lmb { | ||
| 33 | unsigned long debug; | ||
| 34 | u64 rmo_size; | ||
| 35 | struct lmb_region memory; | ||
| 36 | struct lmb_region reserved; | ||
| 37 | }; | ||
| 38 | |||
| 39 | extern struct lmb lmb; | ||
| 40 | |||
| 41 | extern void __init lmb_init(void); | ||
| 42 | extern void __init lmb_analyze(void); | ||
| 43 | extern long lmb_add(u64 base, u64 size); | ||
| 44 | extern long lmb_remove(u64 base, u64 size); | ||
| 45 | extern long __init lmb_free(u64 base, u64 size); | ||
| 46 | extern long __init lmb_reserve(u64 base, u64 size); | ||
| 47 | extern u64 __init lmb_alloc_nid(u64 size, u64 align, int nid, | ||
| 48 | u64 (*nid_range)(u64, u64, int *)); | ||
| 49 | extern u64 __init lmb_alloc(u64 size, u64 align); | ||
| 50 | extern u64 __init lmb_alloc_base(u64 size, | ||
| 51 | u64, u64 max_addr); | ||
| 52 | extern u64 __init __lmb_alloc_base(u64 size, | ||
| 53 | u64 align, u64 max_addr); | ||
| 54 | extern u64 __init lmb_phys_mem_size(void); | ||
| 55 | extern u64 lmb_end_of_DRAM(void); | ||
| 56 | extern void __init lmb_enforce_memory_limit(u64 memory_limit); | ||
| 57 | extern int __init lmb_is_reserved(u64 addr); | ||
| 58 | extern int lmb_is_region_reserved(u64 base, u64 size); | ||
| 59 | extern int lmb_find(struct lmb_property *res); | ||
| 60 | |||
| 61 | extern void lmb_dump_all(void); | ||
| 62 | |||
| 63 | static inline u64 | ||
| 64 | lmb_size_bytes(struct lmb_region *type, unsigned long region_nr) | ||
| 65 | { | ||
| 66 | return type->region[region_nr].size; | ||
| 67 | } | ||
| 68 | static inline u64 | ||
| 69 | lmb_size_pages(struct lmb_region *type, unsigned long region_nr) | ||
| 70 | { | ||
| 71 | return lmb_size_bytes(type, region_nr) >> PAGE_SHIFT; | ||
| 72 | } | ||
| 73 | static inline u64 | ||
| 74 | lmb_start_pfn(struct lmb_region *type, unsigned long region_nr) | ||
| 75 | { | ||
| 76 | return type->region[region_nr].base >> PAGE_SHIFT; | ||
| 77 | } | ||
| 78 | static inline u64 | ||
| 79 | lmb_end_pfn(struct lmb_region *type, unsigned long region_nr) | ||
| 80 | { | ||
| 81 | return lmb_start_pfn(type, region_nr) + | ||
| 82 | lmb_size_pages(type, region_nr); | ||
| 83 | } | ||
| 84 | |||
| 85 | #include <asm/lmb.h> | ||
| 86 | |||
| 87 | #endif /* __KERNEL__ */ | ||
| 88 | |||
| 89 | #endif /* _LINUX_LMB_H */ | ||
diff --git a/include/linux/marvell_phy.h b/include/linux/marvell_phy.h new file mode 100644 index 000000000000..2ed4fb8bbd51 --- /dev/null +++ b/include/linux/marvell_phy.h | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | #ifndef _MARVELL_PHY_H | ||
| 2 | #define _MARVELL_PHY_H | ||
| 3 | |||
| 4 | /* Mask used for ID comparisons */ | ||
| 5 | #define MARVELL_PHY_ID_MASK 0xfffffff0 | ||
| 6 | |||
| 7 | /* Known PHY IDs */ | ||
| 8 | #define MARVELL_PHY_ID_88E1101 0x01410c60 | ||
| 9 | #define MARVELL_PHY_ID_88E1112 0x01410c90 | ||
| 10 | #define MARVELL_PHY_ID_88E1111 0x01410cc0 | ||
| 11 | #define MARVELL_PHY_ID_88E1118 0x01410e10 | ||
| 12 | #define MARVELL_PHY_ID_88E1121R 0x01410cb0 | ||
| 13 | #define MARVELL_PHY_ID_88E1145 0x01410cd0 | ||
| 14 | #define MARVELL_PHY_ID_88E1240 0x01410e30 | ||
| 15 | |||
| 16 | /* struct phy_device dev_flags definitions */ | ||
| 17 | #define MARVELL_PHY_M1145_FLAGS_RESISTANCE 0x00000001 | ||
| 18 | #define MARVELL_PHY_M1118_DNS323_LEDS 0x00000002 | ||
| 19 | |||
| 20 | #endif /* _MARVELL_PHY_H */ | ||
diff --git a/include/linux/memblock.h b/include/linux/memblock.h new file mode 100644 index 000000000000..a59faf2b5edd --- /dev/null +++ b/include/linux/memblock.h | |||
| @@ -0,0 +1,89 @@ | |||
| 1 | #ifndef _LINUX_MEMBLOCK_H | ||
| 2 | #define _LINUX_MEMBLOCK_H | ||
| 3 | #ifdef __KERNEL__ | ||
| 4 | |||
| 5 | /* | ||
| 6 | * Logical memory blocks. | ||
| 7 | * | ||
| 8 | * Copyright (C) 2001 Peter Bergner, IBM Corp. | ||
| 9 | * | ||
| 10 | * This program is free software; you can redistribute it and/or | ||
| 11 | * modify it under the terms of the GNU General Public License | ||
| 12 | * as published by the Free Software Foundation; either version | ||
| 13 | * 2 of the License, or (at your option) any later version. | ||
| 14 | */ | ||
| 15 | |||
| 16 | #include <linux/init.h> | ||
| 17 | #include <linux/mm.h> | ||
| 18 | |||
| 19 | #define MAX_MEMBLOCK_REGIONS 128 | ||
| 20 | |||
| 21 | struct memblock_property { | ||
| 22 | u64 base; | ||
| 23 | u64 size; | ||
| 24 | }; | ||
| 25 | |||
| 26 | struct memblock_region { | ||
| 27 | unsigned long cnt; | ||
| 28 | u64 size; | ||
| 29 | struct memblock_property region[MAX_MEMBLOCK_REGIONS+1]; | ||
| 30 | }; | ||
| 31 | |||
| 32 | struct memblock { | ||
| 33 | unsigned long debug; | ||
| 34 | u64 rmo_size; | ||
| 35 | struct memblock_region memory; | ||
| 36 | struct memblock_region reserved; | ||
| 37 | }; | ||
| 38 | |||
| 39 | extern struct memblock memblock; | ||
| 40 | |||
| 41 | extern void __init memblock_init(void); | ||
| 42 | extern void __init memblock_analyze(void); | ||
| 43 | extern long memblock_add(u64 base, u64 size); | ||
| 44 | extern long memblock_remove(u64 base, u64 size); | ||
| 45 | extern long __init memblock_free(u64 base, u64 size); | ||
| 46 | extern long __init memblock_reserve(u64 base, u64 size); | ||
| 47 | extern u64 __init memblock_alloc_nid(u64 size, u64 align, int nid, | ||
| 48 | u64 (*nid_range)(u64, u64, int *)); | ||
| 49 | extern u64 __init memblock_alloc(u64 size, u64 align); | ||
| 50 | extern u64 __init memblock_alloc_base(u64 size, | ||
| 51 | u64, u64 max_addr); | ||
| 52 | extern u64 __init __memblock_alloc_base(u64 size, | ||
| 53 | u64 align, u64 max_addr); | ||
| 54 | extern u64 __init memblock_phys_mem_size(void); | ||
| 55 | extern u64 memblock_end_of_DRAM(void); | ||
| 56 | extern void __init memblock_enforce_memory_limit(u64 memory_limit); | ||
| 57 | extern int __init memblock_is_reserved(u64 addr); | ||
| 58 | extern int memblock_is_region_reserved(u64 base, u64 size); | ||
| 59 | extern int memblock_find(struct memblock_property *res); | ||
| 60 | |||
| 61 | extern void memblock_dump_all(void); | ||
| 62 | |||
| 63 | static inline u64 | ||
| 64 | memblock_size_bytes(struct memblock_region *type, unsigned long region_nr) | ||
| 65 | { | ||
| 66 | return type->region[region_nr].size; | ||
| 67 | } | ||
| 68 | static inline u64 | ||
| 69 | memblock_size_pages(struct memblock_region *type, unsigned long region_nr) | ||
| 70 | { | ||
| 71 | return memblock_size_bytes(type, region_nr) >> PAGE_SHIFT; | ||
| 72 | } | ||
| 73 | static inline u64 | ||
| 74 | memblock_start_pfn(struct memblock_region *type, unsigned long region_nr) | ||
| 75 | { | ||
| 76 | return type->region[region_nr].base >> PAGE_SHIFT; | ||
| 77 | } | ||
| 78 | static inline u64 | ||
| 79 | memblock_end_pfn(struct memblock_region *type, unsigned long region_nr) | ||
| 80 | { | ||
| 81 | return memblock_start_pfn(type, region_nr) + | ||
| 82 | memblock_size_pages(type, region_nr); | ||
| 83 | } | ||
| 84 | |||
| 85 | #include <asm/memblock.h> | ||
| 86 | |||
| 87 | #endif /* __KERNEL__ */ | ||
| 88 | |||
| 89 | #endif /* _LINUX_MEMBLOCK_H */ | ||
diff --git a/include/linux/mm.h b/include/linux/mm.h index b969efb03787..a2b48041b910 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h | |||
| @@ -999,7 +999,7 @@ static inline void sync_mm_rss(struct task_struct *task, struct mm_struct *mm) | |||
| 999 | * querying the cache size, so a fastpath for that case is appropriate. | 999 | * querying the cache size, so a fastpath for that case is appropriate. |
| 1000 | */ | 1000 | */ |
| 1001 | struct shrinker { | 1001 | struct shrinker { |
| 1002 | int (*shrink)(int nr_to_scan, gfp_t gfp_mask); | 1002 | int (*shrink)(struct shrinker *, int nr_to_scan, gfp_t gfp_mask); |
| 1003 | int seeks; /* seeks to recreate an obj */ | 1003 | int seeks; /* seeks to recreate an obj */ |
| 1004 | 1004 | ||
| 1005 | /* These are for internal use */ | 1005 | /* These are for internal use */ |
diff --git a/include/linux/mv643xx_eth.h b/include/linux/mv643xx_eth.h index cbbbe9bfecad..30b0c4e78f91 100644 --- a/include/linux/mv643xx_eth.h +++ b/include/linux/mv643xx_eth.h | |||
| @@ -19,6 +19,11 @@ struct mv643xx_eth_shared_platform_data { | |||
| 19 | struct mbus_dram_target_info *dram; | 19 | struct mbus_dram_target_info *dram; |
| 20 | struct platform_device *shared_smi; | 20 | struct platform_device *shared_smi; |
| 21 | unsigned int t_clk; | 21 | unsigned int t_clk; |
| 22 | /* | ||
| 23 | * Max packet size for Tx IP/Layer 4 checksum, when set to 0, default | ||
| 24 | * limit of 9KiB will be used. | ||
| 25 | */ | ||
| 26 | int tx_csum_limit; | ||
| 22 | }; | 27 | }; |
| 23 | 28 | ||
| 24 | #define MV643XX_ETH_PHY_ADDR_DEFAULT 0 | 29 | #define MV643XX_ETH_PHY_ADDR_DEFAULT 0 |
diff --git a/include/linux/net.h b/include/linux/net.h index 2b4deeeb8646..dee0b11a8759 100644 --- a/include/linux/net.h +++ b/include/linux/net.h | |||
| @@ -129,10 +129,9 @@ struct socket_wq { | |||
| 129 | * @type: socket type (%SOCK_STREAM, etc) | 129 | * @type: socket type (%SOCK_STREAM, etc) |
| 130 | * @flags: socket flags (%SOCK_ASYNC_NOSPACE, etc) | 130 | * @flags: socket flags (%SOCK_ASYNC_NOSPACE, etc) |
| 131 | * @ops: protocol specific socket operations | 131 | * @ops: protocol specific socket operations |
| 132 | * @fasync_list: Asynchronous wake up list | ||
| 133 | * @file: File back pointer for gc | 132 | * @file: File back pointer for gc |
| 134 | * @sk: internal networking protocol agnostic socket representation | 133 | * @sk: internal networking protocol agnostic socket representation |
| 135 | * @wait: wait queue for several uses | 134 | * @wq: wait queue for several uses |
| 136 | */ | 135 | */ |
| 137 | struct socket { | 136 | struct socket { |
| 138 | socket_state state; | 137 | socket_state state; |
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 40291f375024..b21e4054c12c 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
| @@ -1656,6 +1656,9 @@ static inline int netif_is_multiqueue(const struct net_device *dev) | |||
| 1656 | return (dev->num_tx_queues > 1); | 1656 | return (dev->num_tx_queues > 1); |
| 1657 | } | 1657 | } |
| 1658 | 1658 | ||
| 1659 | extern void netif_set_real_num_tx_queues(struct net_device *dev, | ||
| 1660 | unsigned int txq); | ||
| 1661 | |||
| 1659 | /* Use this variant when it is known for sure that it | 1662 | /* Use this variant when it is known for sure that it |
| 1660 | * is executing from hardware interrupt context or with hardware interrupts | 1663 | * is executing from hardware interrupt context or with hardware interrupts |
| 1661 | * disabled. | 1664 | * disabled. |
| @@ -2329,7 +2332,7 @@ do { \ | |||
| 2329 | #endif | 2332 | #endif |
| 2330 | 2333 | ||
| 2331 | #if defined(VERBOSE_DEBUG) | 2334 | #if defined(VERBOSE_DEBUG) |
| 2332 | #define netif_vdbg netdev_dbg | 2335 | #define netif_vdbg netif_dbg |
| 2333 | #else | 2336 | #else |
| 2334 | #define netif_vdbg(priv, type, dev, format, args...) \ | 2337 | #define netif_vdbg(priv, type, dev, format, args...) \ |
| 2335 | ({ \ | 2338 | ({ \ |
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index 77c2ae53431c..bad4d121b16e 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h | |||
| @@ -493,8 +493,15 @@ extern int nfs_wb_all(struct inode *inode); | |||
| 493 | extern int nfs_wb_page(struct inode *inode, struct page* page); | 493 | extern int nfs_wb_page(struct inode *inode, struct page* page); |
| 494 | extern int nfs_wb_page_cancel(struct inode *inode, struct page* page); | 494 | extern int nfs_wb_page_cancel(struct inode *inode, struct page* page); |
| 495 | #if defined(CONFIG_NFS_V3) || defined(CONFIG_NFS_V4) | 495 | #if defined(CONFIG_NFS_V3) || defined(CONFIG_NFS_V4) |
| 496 | extern int nfs_commit_inode(struct inode *, int); | ||
| 496 | extern struct nfs_write_data *nfs_commitdata_alloc(void); | 497 | extern struct nfs_write_data *nfs_commitdata_alloc(void); |
| 497 | extern void nfs_commit_free(struct nfs_write_data *wdata); | 498 | extern void nfs_commit_free(struct nfs_write_data *wdata); |
| 499 | #else | ||
| 500 | static inline int | ||
| 501 | nfs_commit_inode(struct inode *inode, int how) | ||
| 502 | { | ||
| 503 | return 0; | ||
| 504 | } | ||
| 498 | #endif | 505 | #endif |
| 499 | 506 | ||
| 500 | static inline int | 507 | static inline int |
diff --git a/include/linux/omapfb.h b/include/linux/omapfb.h index 9bdd91486b49..7e4cd616bcb5 100644 --- a/include/linux/omapfb.h +++ b/include/linux/omapfb.h | |||
| @@ -253,7 +253,7 @@ struct omapfb_platform_data { | |||
| 253 | /* in arch/arm/plat-omap/fb.c */ | 253 | /* in arch/arm/plat-omap/fb.c */ |
| 254 | extern void omapfb_set_platform_data(struct omapfb_platform_data *data); | 254 | extern void omapfb_set_platform_data(struct omapfb_platform_data *data); |
| 255 | extern void omapfb_set_ctrl_platform_data(void *pdata); | 255 | extern void omapfb_set_ctrl_platform_data(void *pdata); |
| 256 | extern void omapfb_reserve_sdram(void); | 256 | extern void omapfb_reserve_sdram_memblock(void); |
| 257 | 257 | ||
| 258 | #endif | 258 | #endif |
| 259 | 259 | ||
diff --git a/include/linux/pci.h b/include/linux/pci.h index 7cb00845f150..f26fda76b87f 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
| @@ -288,6 +288,7 @@ struct pci_dev { | |||
| 288 | */ | 288 | */ |
| 289 | unsigned int irq; | 289 | unsigned int irq; |
| 290 | struct resource resource[DEVICE_COUNT_RESOURCE]; /* I/O and memory regions + expansion ROMs */ | 290 | struct resource resource[DEVICE_COUNT_RESOURCE]; /* I/O and memory regions + expansion ROMs */ |
| 291 | resource_size_t fw_addr[DEVICE_COUNT_RESOURCE]; /* FW-assigned addr */ | ||
| 291 | 292 | ||
| 292 | /* These fields are used by common fixups */ | 293 | /* These fields are used by common fixups */ |
| 293 | unsigned int transparent:1; /* Transparent PCI bridge */ | 294 | unsigned int transparent:1; /* Transparent PCI bridge */ |
diff --git a/include/linux/rbtree.h b/include/linux/rbtree.h index fe1872e5b37e..7066acb2c530 100644 --- a/include/linux/rbtree.h +++ b/include/linux/rbtree.h | |||
| @@ -110,7 +110,6 @@ struct rb_node | |||
| 110 | struct rb_root | 110 | struct rb_root |
| 111 | { | 111 | { |
| 112 | struct rb_node *rb_node; | 112 | struct rb_node *rb_node; |
| 113 | void (*augment_cb)(struct rb_node *node); | ||
| 114 | }; | 113 | }; |
| 115 | 114 | ||
| 116 | 115 | ||
| @@ -130,9 +129,7 @@ static inline void rb_set_color(struct rb_node *rb, int color) | |||
| 130 | rb->rb_parent_color = (rb->rb_parent_color & ~1) | color; | 129 | rb->rb_parent_color = (rb->rb_parent_color & ~1) | color; |
| 131 | } | 130 | } |
| 132 | 131 | ||
| 133 | #define RB_ROOT (struct rb_root) { NULL, NULL, } | 132 | #define RB_ROOT (struct rb_root) { NULL, } |
| 134 | #define RB_AUGMENT_ROOT(x) (struct rb_root) { NULL, x} | ||
| 135 | |||
| 136 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | 133 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) |
| 137 | 134 | ||
| 138 | #define RB_EMPTY_ROOT(root) ((root)->rb_node == NULL) | 135 | #define RB_EMPTY_ROOT(root) ((root)->rb_node == NULL) |
| @@ -142,6 +139,14 @@ static inline void rb_set_color(struct rb_node *rb, int color) | |||
| 142 | extern void rb_insert_color(struct rb_node *, struct rb_root *); | 139 | extern void rb_insert_color(struct rb_node *, struct rb_root *); |
| 143 | extern void rb_erase(struct rb_node *, struct rb_root *); | 140 | extern void rb_erase(struct rb_node *, struct rb_root *); |
| 144 | 141 | ||
| 142 | typedef void (*rb_augment_f)(struct rb_node *node, void *data); | ||
| 143 | |||
| 144 | extern void rb_augment_insert(struct rb_node *node, | ||
| 145 | rb_augment_f func, void *data); | ||
| 146 | extern struct rb_node *rb_augment_erase_begin(struct rb_node *node); | ||
| 147 | extern void rb_augment_erase_end(struct rb_node *node, | ||
| 148 | rb_augment_f func, void *data); | ||
| 149 | |||
| 145 | /* Find logical next and previous nodes in a tree */ | 150 | /* Find logical next and previous nodes in a tree */ |
| 146 | extern struct rb_node *rb_next(const struct rb_node *); | 151 | extern struct rb_node *rb_next(const struct rb_node *); |
| 147 | extern struct rb_node *rb_prev(const struct rb_node *); | 152 | extern struct rb_node *rb_prev(const struct rb_node *); |
diff --git a/include/linux/regulator/tps6507x.h b/include/linux/regulator/tps6507x.h new file mode 100644 index 000000000000..4892f591bab1 --- /dev/null +++ b/include/linux/regulator/tps6507x.h | |||
| @@ -0,0 +1,32 @@ | |||
| 1 | /* | ||
| 2 | * tps6507x.h -- Voltage regulation for the Texas Instruments TPS6507X | ||
| 3 | * | ||
| 4 | * Copyright (C) 2010 Texas Instruments, Inc. | ||
| 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 | * This program is distributed in the hope that it will be useful, | ||
| 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 13 | * GNU General Public License for more details. | ||
| 14 | * | ||
| 15 | * You should have received a copy of the GNU General Public License | ||
| 16 | * along with this program; if not, write to the Free Software | ||
| 17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| 18 | */ | ||
| 19 | |||
| 20 | #ifndef REGULATOR_TPS6507X | ||
| 21 | #define REGULATOR_TPS6507X | ||
| 22 | |||
| 23 | /** | ||
| 24 | * tps6507x_reg_platform_data - platform data for tps6507x | ||
| 25 | * @defdcdc_default: Defines whether DCDC high or the low register controls | ||
| 26 | * output voltage by default. Valid for DCDC2 and DCDC3 outputs only. | ||
| 27 | */ | ||
| 28 | struct tps6507x_reg_platform_data { | ||
| 29 | bool defdcdc_default; | ||
| 30 | }; | ||
| 31 | |||
| 32 | #endif | ||
diff --git a/include/linux/sched.h b/include/linux/sched.h index 747fcaedddb7..0478888c6899 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
| @@ -214,6 +214,7 @@ extern char ___assert_task_state[1 - 2*!!( | |||
| 214 | 214 | ||
| 215 | #define task_is_traced(task) ((task->state & __TASK_TRACED) != 0) | 215 | #define task_is_traced(task) ((task->state & __TASK_TRACED) != 0) |
| 216 | #define task_is_stopped(task) ((task->state & __TASK_STOPPED) != 0) | 216 | #define task_is_stopped(task) ((task->state & __TASK_STOPPED) != 0) |
| 217 | #define task_is_dead(task) ((task)->exit_state != 0) | ||
| 217 | #define task_is_stopped_or_traced(task) \ | 218 | #define task_is_stopped_or_traced(task) \ |
| 218 | ((task->state & (__TASK_STOPPED | __TASK_TRACED)) != 0) | 219 | ((task->state & (__TASK_STOPPED | __TASK_TRACED)) != 0) |
| 219 | #define task_contributes_to_load(task) \ | 220 | #define task_contributes_to_load(task) \ |
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h index 7f614ce274a9..13ebb5413a79 100644 --- a/include/linux/syscalls.h +++ b/include/linux/syscalls.h | |||
| @@ -124,7 +124,8 @@ extern struct trace_event_functions enter_syscall_print_funcs; | |||
| 124 | extern struct trace_event_functions exit_syscall_print_funcs; | 124 | extern struct trace_event_functions exit_syscall_print_funcs; |
| 125 | 125 | ||
| 126 | #define SYSCALL_TRACE_ENTER_EVENT(sname) \ | 126 | #define SYSCALL_TRACE_ENTER_EVENT(sname) \ |
| 127 | static struct syscall_metadata __syscall_meta_##sname; \ | 127 | static struct syscall_metadata \ |
| 128 | __attribute__((__aligned__(4))) __syscall_meta_##sname; \ | ||
| 128 | static struct ftrace_event_call \ | 129 | static struct ftrace_event_call \ |
| 129 | __attribute__((__aligned__(4))) event_enter_##sname; \ | 130 | __attribute__((__aligned__(4))) event_enter_##sname; \ |
| 130 | static struct ftrace_event_call __used \ | 131 | static struct ftrace_event_call __used \ |
| @@ -138,7 +139,8 @@ extern struct trace_event_functions exit_syscall_print_funcs; | |||
| 138 | } | 139 | } |
| 139 | 140 | ||
| 140 | #define SYSCALL_TRACE_EXIT_EVENT(sname) \ | 141 | #define SYSCALL_TRACE_EXIT_EVENT(sname) \ |
| 141 | static struct syscall_metadata __syscall_meta_##sname; \ | 142 | static struct syscall_metadata \ |
| 143 | __attribute__((__aligned__(4))) __syscall_meta_##sname; \ | ||
| 142 | static struct ftrace_event_call \ | 144 | static struct ftrace_event_call \ |
| 143 | __attribute__((__aligned__(4))) event_exit_##sname; \ | 145 | __attribute__((__aligned__(4))) event_exit_##sname; \ |
| 144 | static struct ftrace_event_call __used \ | 146 | static struct ftrace_event_call __used \ |
diff --git a/include/linux/sysrq.h b/include/linux/sysrq.h index 4496322e28dd..609e8ca5f534 100644 --- a/include/linux/sysrq.h +++ b/include/linux/sysrq.h | |||
| @@ -45,6 +45,7 @@ struct sysrq_key_op { | |||
| 45 | */ | 45 | */ |
| 46 | 46 | ||
| 47 | void handle_sysrq(int key, struct tty_struct *tty); | 47 | void handle_sysrq(int key, struct tty_struct *tty); |
| 48 | void __handle_sysrq(int key, struct tty_struct *tty, int check_mask); | ||
| 48 | int register_sysrq_key(int key, struct sysrq_key_op *op); | 49 | int register_sysrq_key(int key, struct sysrq_key_op *op); |
| 49 | int unregister_sysrq_key(int key, struct sysrq_key_op *op); | 50 | int unregister_sysrq_key(int key, struct sysrq_key_op *op); |
| 50 | struct sysrq_key_op *__sysrq_get_key_op(int key); | 51 | struct sysrq_key_op *__sysrq_get_key_op(int key); |
diff --git a/include/linux/vgaarb.h b/include/linux/vgaarb.h index c9a975976995..814f294d4cd0 100644 --- a/include/linux/vgaarb.h +++ b/include/linux/vgaarb.h | |||
| @@ -29,6 +29,7 @@ | |||
| 29 | */ | 29 | */ |
| 30 | 30 | ||
| 31 | #ifndef LINUX_VGA_H | 31 | #ifndef LINUX_VGA_H |
| 32 | #define LINUX_VGA_H | ||
| 32 | 33 | ||
| 33 | #include <asm/vga.h> | 34 | #include <asm/vga.h> |
| 34 | 35 | ||
diff --git a/include/linux/virtio_9p.h b/include/linux/virtio_9p.h index 5cf11765146b..395c38a47adb 100644 --- a/include/linux/virtio_9p.h +++ b/include/linux/virtio_9p.h | |||
| @@ -4,6 +4,7 @@ | |||
| 4 | * compatible drivers/servers. */ | 4 | * compatible drivers/servers. */ |
| 5 | #include <linux/virtio_ids.h> | 5 | #include <linux/virtio_ids.h> |
| 6 | #include <linux/virtio_config.h> | 6 | #include <linux/virtio_config.h> |
| 7 | #include <linux/types.h> | ||
| 7 | 8 | ||
| 8 | /* The feature bitmap for virtio 9P */ | 9 | /* The feature bitmap for virtio 9P */ |
| 9 | 10 | ||
diff --git a/include/linux/writeback.h b/include/linux/writeback.h index d63ef8f9609f..c24eca71e80c 100644 --- a/include/linux/writeback.h +++ b/include/linux/writeback.h | |||
| @@ -27,10 +27,6 @@ enum writeback_sync_modes { | |||
| 27 | * in a manner such that unspecified fields are set to zero. | 27 | * in a manner such that unspecified fields are set to zero. |
| 28 | */ | 28 | */ |
| 29 | struct writeback_control { | 29 | struct writeback_control { |
| 30 | struct backing_dev_info *bdi; /* If !NULL, only write back this | ||
| 31 | queue */ | ||
| 32 | struct super_block *sb; /* if !NULL, only write inodes from | ||
| 33 | this super_block */ | ||
| 34 | enum writeback_sync_modes sync_mode; | 30 | enum writeback_sync_modes sync_mode; |
| 35 | unsigned long *older_than_this; /* If !NULL, only write back inodes | 31 | unsigned long *older_than_this; /* If !NULL, only write back inodes |
| 36 | older than this */ | 32 | older than this */ |
| @@ -66,7 +62,8 @@ int inode_wait(void *); | |||
| 66 | void writeback_inodes_sb(struct super_block *); | 62 | void writeback_inodes_sb(struct super_block *); |
| 67 | int writeback_inodes_sb_if_idle(struct super_block *); | 63 | int writeback_inodes_sb_if_idle(struct super_block *); |
| 68 | void sync_inodes_sb(struct super_block *); | 64 | void sync_inodes_sb(struct super_block *); |
| 69 | void writeback_inodes_wbc(struct writeback_control *wbc); | 65 | void writeback_inodes_wb(struct bdi_writeback *wb, |
| 66 | struct writeback_control *wbc); | ||
| 70 | long wb_do_writeback(struct bdi_writeback *wb, int force_wait); | 67 | long wb_do_writeback(struct bdi_writeback *wb, int force_wait); |
| 71 | void wakeup_flusher_threads(long nr_pages); | 68 | void wakeup_flusher_threads(long nr_pages); |
| 72 | 69 | ||
diff --git a/include/math-emu/op-common.h b/include/math-emu/op-common.h index fd882261225e..9696a5e2c437 100644 --- a/include/math-emu/op-common.h +++ b/include/math-emu/op-common.h | |||
| @@ -799,7 +799,7 @@ do { \ | |||
| 799 | X##_e -= (_FP_W_TYPE_SIZE - rsize); \ | 799 | X##_e -= (_FP_W_TYPE_SIZE - rsize); \ |
| 800 | X##_e = rsize - X##_e - 1; \ | 800 | X##_e = rsize - X##_e - 1; \ |
| 801 | \ | 801 | \ |
| 802 | if (_FP_FRACBITS_##fs < rsize && _FP_WFRACBITS_##fs < X##_e) \ | 802 | if (_FP_FRACBITS_##fs < rsize && _FP_WFRACBITS_##fs <= X##_e) \ |
| 803 | __FP_FRAC_SRS_1(ur_, (X##_e - _FP_WFRACBITS_##fs + 1), rsize);\ | 803 | __FP_FRAC_SRS_1(ur_, (X##_e - _FP_WFRACBITS_##fs + 1), rsize);\ |
| 804 | _FP_FRAC_DISASSEMBLE_##wc(X, ur_, rsize); \ | 804 | _FP_FRAC_DISASSEMBLE_##wc(X, ur_, rsize); \ |
| 805 | if ((_FP_WFRACBITS_##fs - X##_e - 1) > 0) \ | 805 | if ((_FP_WFRACBITS_##fs - X##_e - 1) > 0) \ |
diff --git a/include/media/tuner.h b/include/media/tuner.h index 5505c5360ca3..51811eac46f1 100644 --- a/include/media/tuner.h +++ b/include/media/tuner.h | |||
| @@ -130,6 +130,7 @@ | |||
| 130 | #define TUNER_PHILIPS_CU1216L 82 | 130 | #define TUNER_PHILIPS_CU1216L 82 |
| 131 | #define TUNER_NXP_TDA18271 83 | 131 | #define TUNER_NXP_TDA18271 83 |
| 132 | #define TUNER_SONY_BTF_PXN01Z 84 | 132 | #define TUNER_SONY_BTF_PXN01Z 84 |
| 133 | #define TUNER_PHILIPS_FQ1236_MK5 85 /* NTSC, TDA9885, no FM radio */ | ||
| 133 | 134 | ||
| 134 | /* tv card specific */ | 135 | /* tv card specific */ |
| 135 | #define TDA9887_PRESENT (1<<0) | 136 | #define TDA9887_PRESENT (1<<0) |
diff --git a/include/net/9p/9p.h b/include/net/9p/9p.h index 156c26bb8bd7..a8de812ccbc8 100644 --- a/include/net/9p/9p.h +++ b/include/net/9p/9p.h | |||
| @@ -88,8 +88,16 @@ do { \ | |||
| 88 | * enum p9_msg_t - 9P message types | 88 | * enum p9_msg_t - 9P message types |
| 89 | * @P9_TSTATFS: file system status request | 89 | * @P9_TSTATFS: file system status request |
| 90 | * @P9_RSTATFS: file system status response | 90 | * @P9_RSTATFS: file system status response |
| 91 | * @P9_TSYMLINK: make symlink request | ||
| 92 | * @P9_RSYMLINK: make symlink response | ||
| 93 | * @P9_TMKNOD: create a special file object request | ||
| 94 | * @P9_RMKNOD: create a special file object response | ||
| 95 | * @P9_TLCREATE: prepare a handle for I/O on an new file for 9P2000.L | ||
| 96 | * @P9_RLCREATE: response with file access information for 9P2000.L | ||
| 91 | * @P9_TRENAME: rename request | 97 | * @P9_TRENAME: rename request |
| 92 | * @P9_RRENAME: rename response | 98 | * @P9_RRENAME: rename response |
| 99 | * @P9_TMKDIR: create a directory request | ||
| 100 | * @P9_RMKDIR: create a directory response | ||
| 93 | * @P9_TVERSION: version handshake request | 101 | * @P9_TVERSION: version handshake request |
| 94 | * @P9_RVERSION: version handshake response | 102 | * @P9_RVERSION: version handshake response |
| 95 | * @P9_TAUTH: request to establish authentication channel | 103 | * @P9_TAUTH: request to establish authentication channel |
| @@ -131,8 +139,30 @@ do { \ | |||
| 131 | enum p9_msg_t { | 139 | enum p9_msg_t { |
| 132 | P9_TSTATFS = 8, | 140 | P9_TSTATFS = 8, |
| 133 | P9_RSTATFS, | 141 | P9_RSTATFS, |
| 142 | P9_TLOPEN = 12, | ||
| 143 | P9_RLOPEN, | ||
| 144 | P9_TLCREATE = 14, | ||
| 145 | P9_RLCREATE, | ||
| 146 | P9_TSYMLINK = 16, | ||
| 147 | P9_RSYMLINK, | ||
| 148 | P9_TMKNOD = 18, | ||
| 149 | P9_RMKNOD, | ||
| 134 | P9_TRENAME = 20, | 150 | P9_TRENAME = 20, |
| 135 | P9_RRENAME, | 151 | P9_RRENAME, |
| 152 | P9_TGETATTR = 24, | ||
| 153 | P9_RGETATTR, | ||
| 154 | P9_TSETATTR = 26, | ||
| 155 | P9_RSETATTR, | ||
| 156 | P9_TXATTRWALK = 30, | ||
| 157 | P9_RXATTRWALK, | ||
| 158 | P9_TXATTRCREATE = 32, | ||
| 159 | P9_RXATTRCREATE, | ||
| 160 | P9_TREADDIR = 40, | ||
| 161 | P9_RREADDIR, | ||
| 162 | P9_TLINK = 70, | ||
| 163 | P9_RLINK, | ||
| 164 | P9_TMKDIR = 72, | ||
| 165 | P9_RMKDIR, | ||
| 136 | P9_TVERSION = 100, | 166 | P9_TVERSION = 100, |
| 137 | P9_RVERSION, | 167 | P9_RVERSION, |
| 138 | P9_TAUTH = 102, | 168 | P9_TAUTH = 102, |
| @@ -275,6 +305,9 @@ enum p9_qid_t { | |||
| 275 | /* ample room for Twrite/Rread header */ | 305 | /* ample room for Twrite/Rread header */ |
| 276 | #define P9_IOHDRSZ 24 | 306 | #define P9_IOHDRSZ 24 |
| 277 | 307 | ||
| 308 | /* Room for readdir header */ | ||
| 309 | #define P9_READDIRHDRSZ 24 | ||
| 310 | |||
| 278 | /** | 311 | /** |
| 279 | * struct p9_str - length prefixed string type | 312 | * struct p9_str - length prefixed string type |
| 280 | * @len: length of the string | 313 | * @len: length of the string |
| @@ -357,6 +390,74 @@ struct p9_wstat { | |||
| 357 | u32 n_muid; /* 9p2000.u extensions */ | 390 | u32 n_muid; /* 9p2000.u extensions */ |
| 358 | }; | 391 | }; |
| 359 | 392 | ||
| 393 | struct p9_stat_dotl { | ||
| 394 | u64 st_result_mask; | ||
| 395 | struct p9_qid qid; | ||
| 396 | u32 st_mode; | ||
| 397 | u32 st_uid; | ||
| 398 | u32 st_gid; | ||
| 399 | u64 st_nlink; | ||
| 400 | u64 st_rdev; | ||
| 401 | u64 st_size; | ||
| 402 | u64 st_blksize; | ||
| 403 | u64 st_blocks; | ||
| 404 | u64 st_atime_sec; | ||
| 405 | u64 st_atime_nsec; | ||
| 406 | u64 st_mtime_sec; | ||
| 407 | u64 st_mtime_nsec; | ||
| 408 | u64 st_ctime_sec; | ||
| 409 | u64 st_ctime_nsec; | ||
| 410 | u64 st_btime_sec; | ||
| 411 | u64 st_btime_nsec; | ||
| 412 | u64 st_gen; | ||
| 413 | u64 st_data_version; | ||
| 414 | }; | ||
| 415 | |||
| 416 | #define P9_STATS_MODE 0x00000001ULL | ||
| 417 | #define P9_STATS_NLINK 0x00000002ULL | ||
| 418 | #define P9_STATS_UID 0x00000004ULL | ||
| 419 | #define P9_STATS_GID 0x00000008ULL | ||
| 420 | #define P9_STATS_RDEV 0x00000010ULL | ||
| 421 | #define P9_STATS_ATIME 0x00000020ULL | ||
| 422 | #define P9_STATS_MTIME 0x00000040ULL | ||
| 423 | #define P9_STATS_CTIME 0x00000080ULL | ||
| 424 | #define P9_STATS_INO 0x00000100ULL | ||
| 425 | #define P9_STATS_SIZE 0x00000200ULL | ||
| 426 | #define P9_STATS_BLOCKS 0x00000400ULL | ||
| 427 | |||
| 428 | #define P9_STATS_BTIME 0x00000800ULL | ||
| 429 | #define P9_STATS_GEN 0x00001000ULL | ||
| 430 | #define P9_STATS_DATA_VERSION 0x00002000ULL | ||
| 431 | |||
| 432 | #define P9_STATS_BASIC 0x000007ffULL /* Mask for fields up to BLOCKS */ | ||
| 433 | #define P9_STATS_ALL 0x00003fffULL /* Mask for All fields above */ | ||
| 434 | |||
| 435 | /** | ||
| 436 | * struct p9_iattr_dotl - P9 inode attribute for setattr | ||
| 437 | * @valid: bitfield specifying which fields are valid | ||
| 438 | * same as in struct iattr | ||
| 439 | * @mode: File permission bits | ||
| 440 | * @uid: user id of owner | ||
| 441 | * @gid: group id | ||
| 442 | * @size: File size | ||
| 443 | * @atime_sec: Last access time, seconds | ||
| 444 | * @atime_nsec: Last access time, nanoseconds | ||
| 445 | * @mtime_sec: Last modification time, seconds | ||
| 446 | * @mtime_nsec: Last modification time, nanoseconds | ||
| 447 | */ | ||
| 448 | |||
| 449 | struct p9_iattr_dotl { | ||
| 450 | u32 valid; | ||
| 451 | u32 mode; | ||
| 452 | u32 uid; | ||
| 453 | u32 gid; | ||
| 454 | u64 size; | ||
| 455 | u64 atime_sec; | ||
| 456 | u64 atime_nsec; | ||
| 457 | u64 mtime_sec; | ||
| 458 | u64 mtime_nsec; | ||
| 459 | }; | ||
| 460 | |||
| 360 | /* Structures for Protocol Operations */ | 461 | /* Structures for Protocol Operations */ |
| 361 | struct p9_tstatfs { | 462 | struct p9_tstatfs { |
| 362 | u32 fid; | 463 | u32 fid; |
| @@ -485,6 +586,18 @@ struct p9_rwrite { | |||
| 485 | u32 count; | 586 | u32 count; |
| 486 | }; | 587 | }; |
| 487 | 588 | ||
| 589 | struct p9_treaddir { | ||
| 590 | u32 fid; | ||
| 591 | u64 offset; | ||
| 592 | u32 count; | ||
| 593 | }; | ||
| 594 | |||
| 595 | struct p9_rreaddir { | ||
| 596 | u32 count; | ||
| 597 | u8 *data; | ||
| 598 | }; | ||
| 599 | |||
| 600 | |||
| 488 | struct p9_tclunk { | 601 | struct p9_tclunk { |
| 489 | u32 fid; | 602 | u32 fid; |
| 490 | }; | 603 | }; |
diff --git a/include/net/9p/client.h b/include/net/9p/client.h index 7dd3ed85c782..d1aa2cfb30f0 100644 --- a/include/net/9p/client.h +++ b/include/net/9p/client.h | |||
| @@ -195,6 +195,21 @@ struct p9_fid { | |||
| 195 | struct list_head dlist; /* list of all fids attached to a dentry */ | 195 | struct list_head dlist; /* list of all fids attached to a dentry */ |
| 196 | }; | 196 | }; |
| 197 | 197 | ||
| 198 | /** | ||
| 199 | * struct p9_dirent - directory entry structure | ||
| 200 | * @qid: The p9 server qid for this dirent | ||
| 201 | * @d_off: offset to the next dirent | ||
| 202 | * @d_type: type of file | ||
| 203 | * @d_name: file name | ||
| 204 | */ | ||
| 205 | |||
| 206 | struct p9_dirent { | ||
| 207 | struct p9_qid qid; | ||
| 208 | u64 d_off; | ||
| 209 | unsigned char d_type; | ||
| 210 | char d_name[256]; | ||
| 211 | }; | ||
| 212 | |||
| 198 | int p9_client_statfs(struct p9_fid *fid, struct p9_rstatfs *sb); | 213 | int p9_client_statfs(struct p9_fid *fid, struct p9_rstatfs *sb); |
| 199 | int p9_client_rename(struct p9_fid *fid, struct p9_fid *newdirfid, char *name); | 214 | int p9_client_rename(struct p9_fid *fid, struct p9_fid *newdirfid, char *name); |
| 200 | int p9_client_version(struct p9_client *); | 215 | int p9_client_version(struct p9_client *); |
| @@ -211,15 +226,31 @@ struct p9_fid *p9_client_walk(struct p9_fid *oldfid, int nwname, char **wnames, | |||
| 211 | int p9_client_open(struct p9_fid *fid, int mode); | 226 | int p9_client_open(struct p9_fid *fid, int mode); |
| 212 | int p9_client_fcreate(struct p9_fid *fid, char *name, u32 perm, int mode, | 227 | int p9_client_fcreate(struct p9_fid *fid, char *name, u32 perm, int mode, |
| 213 | char *extension); | 228 | char *extension); |
| 229 | int p9_client_link(struct p9_fid *fid, struct p9_fid *oldfid, char *newname); | ||
| 230 | int p9_client_symlink(struct p9_fid *fid, char *name, char *symname, gid_t gid, | ||
| 231 | struct p9_qid *qid); | ||
| 232 | int p9_client_create_dotl(struct p9_fid *ofid, char *name, u32 flags, u32 mode, | ||
| 233 | gid_t gid, struct p9_qid *qid); | ||
| 214 | int p9_client_clunk(struct p9_fid *fid); | 234 | int p9_client_clunk(struct p9_fid *fid); |
| 215 | int p9_client_remove(struct p9_fid *fid); | 235 | int p9_client_remove(struct p9_fid *fid); |
| 216 | int p9_client_read(struct p9_fid *fid, char *data, char __user *udata, | 236 | int p9_client_read(struct p9_fid *fid, char *data, char __user *udata, |
| 217 | u64 offset, u32 count); | 237 | u64 offset, u32 count); |
| 218 | int p9_client_write(struct p9_fid *fid, char *data, const char __user *udata, | 238 | int p9_client_write(struct p9_fid *fid, char *data, const char __user *udata, |
| 219 | u64 offset, u32 count); | 239 | u64 offset, u32 count); |
| 240 | int p9_client_readdir(struct p9_fid *fid, char *data, u32 count, u64 offset); | ||
| 241 | int p9dirent_read(char *buf, int len, struct p9_dirent *dirent, | ||
| 242 | int proto_version); | ||
| 220 | struct p9_wstat *p9_client_stat(struct p9_fid *fid); | 243 | struct p9_wstat *p9_client_stat(struct p9_fid *fid); |
| 221 | int p9_client_wstat(struct p9_fid *fid, struct p9_wstat *wst); | 244 | int p9_client_wstat(struct p9_fid *fid, struct p9_wstat *wst); |
| 245 | int p9_client_setattr(struct p9_fid *fid, struct p9_iattr_dotl *attr); | ||
| 246 | |||
| 247 | struct p9_stat_dotl *p9_client_getattr_dotl(struct p9_fid *fid, | ||
| 248 | u64 request_mask); | ||
| 222 | 249 | ||
| 250 | int p9_client_mknod_dotl(struct p9_fid *oldfid, char *name, int mode, | ||
| 251 | dev_t rdev, gid_t gid, struct p9_qid *); | ||
| 252 | int p9_client_mkdir_dotl(struct p9_fid *fid, char *name, int mode, | ||
| 253 | gid_t gid, struct p9_qid *); | ||
| 223 | struct p9_req_t *p9_tag_lookup(struct p9_client *, u16); | 254 | struct p9_req_t *p9_tag_lookup(struct p9_client *, u16); |
| 224 | void p9_client_cb(struct p9_client *c, struct p9_req_t *req); | 255 | void p9_client_cb(struct p9_client *c, struct p9_req_t *req); |
| 225 | 256 | ||
| @@ -229,5 +260,7 @@ void p9stat_free(struct p9_wstat *); | |||
| 229 | 260 | ||
| 230 | int p9_is_proto_dotu(struct p9_client *clnt); | 261 | int p9_is_proto_dotu(struct p9_client *clnt); |
| 231 | int p9_is_proto_dotl(struct p9_client *clnt); | 262 | int p9_is_proto_dotl(struct p9_client *clnt); |
| 263 | struct p9_fid *p9_client_xattrwalk(struct p9_fid *, const char *, u64 *); | ||
| 264 | int p9_client_xattrcreate(struct p9_fid *, const char *, u64, int); | ||
| 232 | 265 | ||
| 233 | #endif /* NET_9P_CLIENT_H */ | 266 | #endif /* NET_9P_CLIENT_H */ |
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h index 03ca5d826757..433604bb3fe8 100644 --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h | |||
| @@ -313,12 +313,24 @@ extern void qdisc_calculate_pkt_len(struct sk_buff *skb, | |||
| 313 | extern void tcf_destroy(struct tcf_proto *tp); | 313 | extern void tcf_destroy(struct tcf_proto *tp); |
| 314 | extern void tcf_destroy_chain(struct tcf_proto **fl); | 314 | extern void tcf_destroy_chain(struct tcf_proto **fl); |
| 315 | 315 | ||
| 316 | /* Reset all TX qdiscs of a device. */ | 316 | /* Reset all TX qdiscs greater then index of a device. */ |
| 317 | static inline void qdisc_reset_all_tx_gt(struct net_device *dev, unsigned int i) | ||
| 318 | { | ||
| 319 | struct Qdisc *qdisc; | ||
| 320 | |||
| 321 | for (; i < dev->num_tx_queues; i++) { | ||
| 322 | qdisc = netdev_get_tx_queue(dev, i)->qdisc; | ||
| 323 | if (qdisc) { | ||
| 324 | spin_lock_bh(qdisc_lock(qdisc)); | ||
| 325 | qdisc_reset(qdisc); | ||
| 326 | spin_unlock_bh(qdisc_lock(qdisc)); | ||
| 327 | } | ||
| 328 | } | ||
| 329 | } | ||
| 330 | |||
| 317 | static inline void qdisc_reset_all_tx(struct net_device *dev) | 331 | static inline void qdisc_reset_all_tx(struct net_device *dev) |
| 318 | { | 332 | { |
| 319 | unsigned int i; | 333 | qdisc_reset_all_tx_gt(dev, 0); |
| 320 | for (i = 0; i < dev->num_tx_queues; i++) | ||
| 321 | qdisc_reset(netdev_get_tx_queue(dev, i)->qdisc); | ||
| 322 | } | 334 | } |
| 323 | 335 | ||
| 324 | /* Are all TX queues of the device empty? */ | 336 | /* Are all TX queues of the device empty? */ |
diff --git a/include/net/sock.h b/include/net/sock.h index 731150d52799..0a691ea7654a 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
| @@ -1224,12 +1224,7 @@ static inline void sk_tx_queue_clear(struct sock *sk) | |||
| 1224 | 1224 | ||
| 1225 | static inline int sk_tx_queue_get(const struct sock *sk) | 1225 | static inline int sk_tx_queue_get(const struct sock *sk) |
| 1226 | { | 1226 | { |
| 1227 | return sk->sk_tx_queue_mapping; | 1227 | return sk ? sk->sk_tx_queue_mapping : -1; |
| 1228 | } | ||
| 1229 | |||
| 1230 | static inline bool sk_tx_queue_recorded(const struct sock *sk) | ||
| 1231 | { | ||
| 1232 | return (sk && sk->sk_tx_queue_mapping >= 0); | ||
| 1233 | } | 1228 | } |
| 1234 | 1229 | ||
| 1235 | static inline void sk_set_socket(struct sock *sk, struct socket *sock) | 1230 | static inline void sk_set_socket(struct sock *sk, struct socket *sock) |
diff --git a/include/net/tc_act/tc_mirred.h b/include/net/tc_act/tc_mirred.h index ceac661cdfd5..cfe2943690ff 100644 --- a/include/net/tc_act/tc_mirred.h +++ b/include/net/tc_act/tc_mirred.h | |||
| @@ -9,6 +9,7 @@ struct tcf_mirred { | |||
| 9 | int tcfm_ifindex; | 9 | int tcfm_ifindex; |
| 10 | int tcfm_ok_push; | 10 | int tcfm_ok_push; |
| 11 | struct net_device *tcfm_dev; | 11 | struct net_device *tcfm_dev; |
| 12 | struct list_head tcfm_list; | ||
| 12 | }; | 13 | }; |
| 13 | #define to_mirred(pc) \ | 14 | #define to_mirred(pc) \ |
| 14 | container_of(pc, struct tcf_mirred, common) | 15 | container_of(pc, struct tcf_mirred, common) |
diff --git a/include/net/xfrm.h b/include/net/xfrm.h index 1913af67c43d..fc8f36dd0f5c 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h | |||
| @@ -1586,7 +1586,7 @@ static inline struct xfrm_state *xfrm_input_state(struct sk_buff *skb) | |||
| 1586 | static inline int xfrm_mark_get(struct nlattr **attrs, struct xfrm_mark *m) | 1586 | static inline int xfrm_mark_get(struct nlattr **attrs, struct xfrm_mark *m) |
| 1587 | { | 1587 | { |
| 1588 | if (attrs[XFRMA_MARK]) | 1588 | if (attrs[XFRMA_MARK]) |
| 1589 | memcpy(m, nla_data(attrs[XFRMA_MARK]), sizeof(m)); | 1589 | memcpy(m, nla_data(attrs[XFRMA_MARK]), sizeof(struct xfrm_mark)); |
| 1590 | else | 1590 | else |
| 1591 | m->v = m->m = 0; | 1591 | m->v = m->m = 0; |
| 1592 | 1592 | ||
