diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-07-21 04:22:45 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-07-21 04:22:45 -0400 |
commit | 14764b01a5576ce23a9d0c95a027049206a19cef (patch) | |
tree | fa7f4e3b9b62598076baf7d312dd37d6c91b0d56 /include/linux | |
parent | fc4978b796e5e52ab3a709495a968199afe0a108 (diff) | |
parent | 5ccd4302a20bfe56eb72a5e27ad0be046fc820a5 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/nico/orion into devel-stable
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/agp_backend.h | 1 | ||||
-rw-r--r-- | include/linux/backing-dev.h | 6 | ||||
-rw-r--r-- | include/linux/cgroup.h | 20 | ||||
-rw-r--r-- | include/linux/compiler-gcc.h | 10 | ||||
-rw-r--r-- | include/linux/compiler-gcc4.h | 4 | ||||
-rw-r--r-- | include/linux/drbd.h | 2 | ||||
-rw-r--r-- | include/linux/dynamic_debug.h | 4 | ||||
-rw-r--r-- | include/linux/ethtool.h | 2 | ||||
-rw-r--r-- | include/linux/fb.h | 4 | ||||
-rw-r--r-- | include/linux/fs.h | 13 | ||||
-rw-r--r-- | include/linux/i8042.h | 12 | ||||
-rw-r--r-- | include/linux/list.h | 15 | ||||
-rw-r--r-- | include/linux/lmb.h | 89 | ||||
-rw-r--r-- | include/linux/marvell_phy.h | 20 | ||||
-rw-r--r-- | include/linux/memblock.h | 89 | ||||
-rw-r--r-- | include/linux/mv643xx_eth.h | 5 | ||||
-rw-r--r-- | include/linux/net.h | 3 | ||||
-rw-r--r-- | include/linux/netdevice.h | 5 | ||||
-rw-r--r-- | include/linux/pci_ids.h | 1 | ||||
-rw-r--r-- | include/linux/rbtree.h | 13 | ||||
-rw-r--r-- | include/linux/sched.h | 2 | ||||
-rw-r--r-- | include/linux/suspend.h | 26 | ||||
-rw-r--r-- | include/linux/syscalls.h | 6 | ||||
-rw-r--r-- | include/linux/tracepoint.h | 1 | ||||
-rw-r--r-- | include/linux/writeback.h | 7 |
25 files changed, 220 insertions, 140 deletions
diff --git a/include/linux/agp_backend.h b/include/linux/agp_backend.h index 9101ed64f803..09ea4a1e9505 100644 --- a/include/linux/agp_backend.h +++ b/include/linux/agp_backend.h | |||
@@ -79,7 +79,6 @@ struct agp_memory { | |||
79 | u32 physical; | 79 | u32 physical; |
80 | bool is_bound; | 80 | bool is_bound; |
81 | bool is_flushed; | 81 | bool is_flushed; |
82 | bool vmalloc_flag; | ||
83 | /* list of agp_memory mapped to the aperture */ | 82 | /* list of agp_memory mapped to the aperture */ |
84 | struct list_head mapped_list; | 83 | struct list_head mapped_list; |
85 | /* DMA-mapped addresses */ | 84 | /* DMA-mapped addresses */ |
diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h index aee5f6ce166e..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 | ||
@@ -105,8 +103,8 @@ int bdi_register(struct backing_dev_info *bdi, struct device *parent, | |||
105 | int bdi_register_dev(struct backing_dev_info *bdi, dev_t dev); | 103 | int bdi_register_dev(struct backing_dev_info *bdi, dev_t dev); |
106 | void bdi_unregister(struct backing_dev_info *bdi); | 104 | void bdi_unregister(struct backing_dev_info *bdi); |
107 | int bdi_setup_and_register(struct backing_dev_info *, char *, unsigned int); | 105 | int bdi_setup_and_register(struct backing_dev_info *, char *, unsigned int); |
108 | void bdi_start_writeback(struct backing_dev_info *bdi, struct super_block *sb, | 106 | void bdi_start_writeback(struct backing_dev_info *bdi, long nr_pages); |
109 | long nr_pages); | 107 | void bdi_start_background_writeback(struct backing_dev_info *bdi); |
110 | int bdi_writeback_task(struct bdi_writeback *wb); | 108 | int bdi_writeback_task(struct bdi_writeback *wb); |
111 | int bdi_has_dirty_io(struct backing_dev_info *bdi); | 109 | int bdi_has_dirty_io(struct backing_dev_info *bdi); |
112 | void bdi_arm_supers_timer(void); | 110 | void bdi_arm_supers_timer(void); |
diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h index 0c621604baa1..e3d00fdb858d 100644 --- a/include/linux/cgroup.h +++ b/include/linux/cgroup.h | |||
@@ -525,13 +525,21 @@ static inline struct cgroup_subsys_state *cgroup_subsys_state( | |||
525 | return cgrp->subsys[subsys_id]; | 525 | return cgrp->subsys[subsys_id]; |
526 | } | 526 | } |
527 | 527 | ||
528 | static inline struct cgroup_subsys_state *task_subsys_state( | 528 | /* |
529 | struct task_struct *task, int subsys_id) | 529 | * function to get the cgroup_subsys_state which allows for extra |
530 | * rcu_dereference_check() conditions, such as locks used during the | ||
531 | * cgroup_subsys::attach() methods. | ||
532 | */ | ||
533 | #define task_subsys_state_check(task, subsys_id, __c) \ | ||
534 | rcu_dereference_check(task->cgroups->subsys[subsys_id], \ | ||
535 | rcu_read_lock_held() || \ | ||
536 | lockdep_is_held(&task->alloc_lock) || \ | ||
537 | cgroup_lock_is_held() || (__c)) | ||
538 | |||
539 | static inline struct cgroup_subsys_state * | ||
540 | task_subsys_state(struct task_struct *task, int subsys_id) | ||
530 | { | 541 | { |
531 | return rcu_dereference_check(task->cgroups->subsys[subsys_id], | 542 | return task_subsys_state_check(task, subsys_id, false); |
532 | rcu_read_lock_held() || | ||
533 | lockdep_is_held(&task->alloc_lock) || | ||
534 | cgroup_lock_is_held()); | ||
535 | } | 543 | } |
536 | 544 | ||
537 | static inline struct cgroup* task_cgroup(struct task_struct *task, | 545 | static inline struct cgroup* task_cgroup(struct task_struct *task, |
diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h index 73dcf804bc94..0da5b187f124 100644 --- a/include/linux/compiler-gcc.h +++ b/include/linux/compiler-gcc.h | |||
@@ -58,8 +58,12 @@ | |||
58 | * naked functions because then mcount is called without stack and frame pointer | 58 | * naked functions because then mcount is called without stack and frame pointer |
59 | * being set up and there is no chance to restore the lr register to the value | 59 | * being set up and there is no chance to restore the lr register to the value |
60 | * before mcount was called. | 60 | * before mcount was called. |
61 | * | ||
62 | * The asm() bodies of naked functions often depend on standard calling conventions, | ||
63 | * therefore they must be noinline and noclone. GCC 4.[56] currently fail to enforce | ||
64 | * this, so we must do so ourselves. See GCC PR44290. | ||
61 | */ | 65 | */ |
62 | #define __naked __attribute__((naked)) notrace | 66 | #define __naked __attribute__((naked)) noinline __noclone notrace |
63 | 67 | ||
64 | #define __noreturn __attribute__((noreturn)) | 68 | #define __noreturn __attribute__((noreturn)) |
65 | 69 | ||
@@ -85,3 +89,7 @@ | |||
85 | #define _gcc_header(x) __gcc_header(linux/compiler-gcc##x.h) | 89 | #define _gcc_header(x) __gcc_header(linux/compiler-gcc##x.h) |
86 | #define gcc_header(x) _gcc_header(x) | 90 | #define gcc_header(x) _gcc_header(x) |
87 | #include gcc_header(__GNUC__) | 91 | #include gcc_header(__GNUC__) |
92 | |||
93 | #if !defined(__noclone) | ||
94 | #define __noclone /* not needed */ | ||
95 | #endif | ||
diff --git a/include/linux/compiler-gcc4.h b/include/linux/compiler-gcc4.h index 94dea3ffbfa1..fcfa5b9a4317 100644 --- a/include/linux/compiler-gcc4.h +++ b/include/linux/compiler-gcc4.h | |||
@@ -48,6 +48,10 @@ | |||
48 | * unreleased. Really, we need to have autoconf for the kernel. | 48 | * unreleased. Really, we need to have autoconf for the kernel. |
49 | */ | 49 | */ |
50 | #define unreachable() __builtin_unreachable() | 50 | #define unreachable() __builtin_unreachable() |
51 | |||
52 | /* Mark a function definition as prohibited from being cloned. */ | ||
53 | #define __noclone __attribute__((__noclone__)) | ||
54 | |||
51 | #endif | 55 | #endif |
52 | 56 | ||
53 | #endif | 57 | #endif |
diff --git a/include/linux/drbd.h b/include/linux/drbd.h index 30da4ae48972..b8d2516668aa 100644 --- a/include/linux/drbd.h +++ b/include/linux/drbd.h | |||
@@ -53,7 +53,7 @@ | |||
53 | 53 | ||
54 | 54 | ||
55 | extern const char *drbd_buildtag(void); | 55 | extern const char *drbd_buildtag(void); |
56 | #define REL_VERSION "8.3.8rc2" | 56 | #define REL_VERSION "8.3.8" |
57 | #define API_VERSION 88 | 57 | #define API_VERSION 88 |
58 | #define PRO_VERSION_MIN 86 | 58 | #define PRO_VERSION_MIN 86 |
59 | #define PRO_VERSION_MAX 94 | 59 | #define PRO_VERSION_MAX 94 |
diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h index b3cd4de9432b..52c0da4bdd18 100644 --- a/include/linux/dynamic_debug.h +++ b/include/linux/dynamic_debug.h | |||
@@ -40,7 +40,7 @@ int ddebug_add_module(struct _ddebug *tab, unsigned int n, | |||
40 | const char *modname); | 40 | const char *modname); |
41 | 41 | ||
42 | #if defined(CONFIG_DYNAMIC_DEBUG) | 42 | #if defined(CONFIG_DYNAMIC_DEBUG) |
43 | extern int ddebug_remove_module(char *mod_name); | 43 | extern int ddebug_remove_module(const char *mod_name); |
44 | 44 | ||
45 | #define __dynamic_dbg_enabled(dd) ({ \ | 45 | #define __dynamic_dbg_enabled(dd) ({ \ |
46 | int __ret = 0; \ | 46 | int __ret = 0; \ |
@@ -73,7 +73,7 @@ extern int ddebug_remove_module(char *mod_name); | |||
73 | 73 | ||
74 | #else | 74 | #else |
75 | 75 | ||
76 | static inline int ddebug_remove_module(char *mod) | 76 | static inline int ddebug_remove_module(const char *mod) |
77 | { | 77 | { |
78 | return 0; | 78 | return 0; |
79 | } | 79 | } |
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 907ace3a64c8..8e5a9dfb76bf 100644 --- a/include/linux/fb.h +++ b/include/linux/fb.h | |||
@@ -786,8 +786,6 @@ struct fb_tile_ops { | |||
786 | #define FBINFO_MISC_USEREVENT 0x10000 /* event request | 786 | #define FBINFO_MISC_USEREVENT 0x10000 /* event request |
787 | from userspace */ | 787 | from userspace */ |
788 | #define FBINFO_MISC_TILEBLITTING 0x20000 /* use tile blitting */ | 788 | #define FBINFO_MISC_TILEBLITTING 0x20000 /* use tile blitting */ |
789 | #define FBINFO_MISC_FIRMWARE 0x40000 /* a replaceable firmware | ||
790 | inited framebuffer */ | ||
791 | 789 | ||
792 | /* A driver may set this flag to indicate that it does want a set_par to be | 790 | /* A driver may set this flag to indicate that it does want a set_par to be |
793 | * called every time when fbcon_switch is executed. The advantage is that with | 791 | * called every time when fbcon_switch is executed. The advantage is that with |
@@ -801,6 +799,8 @@ struct fb_tile_ops { | |||
801 | */ | 799 | */ |
802 | #define FBINFO_MISC_ALWAYS_SETPAR 0x40000 | 800 | #define FBINFO_MISC_ALWAYS_SETPAR 0x40000 |
803 | 801 | ||
802 | /* where the fb is a firmware driver, and can be replaced with a proper one */ | ||
803 | #define FBINFO_MISC_FIRMWARE 0x80000 | ||
804 | /* | 804 | /* |
805 | * Host and GPU endianness differ. | 805 | * Host and GPU endianness differ. |
806 | */ | 806 | */ |
diff --git a/include/linux/fs.h b/include/linux/fs.h index 471e1ff5079a..68ca1b0491af 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -1783,6 +1783,19 @@ extern int get_sb_pseudo(struct file_system_type *, char *, | |||
1783 | struct vfsmount *mnt); | 1783 | struct vfsmount *mnt); |
1784 | extern void simple_set_mnt(struct vfsmount *mnt, struct super_block *sb); | 1784 | extern void simple_set_mnt(struct vfsmount *mnt, struct super_block *sb); |
1785 | 1785 | ||
1786 | static inline void sb_mark_dirty(struct super_block *sb) | ||
1787 | { | ||
1788 | sb->s_dirt = 1; | ||
1789 | } | ||
1790 | static inline void sb_mark_clean(struct super_block *sb) | ||
1791 | { | ||
1792 | sb->s_dirt = 0; | ||
1793 | } | ||
1794 | static inline int sb_is_dirty(struct super_block *sb) | ||
1795 | { | ||
1796 | return sb->s_dirt; | ||
1797 | } | ||
1798 | |||
1786 | /* Alas, no aliases. Too much hassle with bringing module.h everywhere */ | 1799 | /* Alas, no aliases. Too much hassle with bringing module.h everywhere */ |
1787 | #define fops_get(fops) \ | 1800 | #define fops_get(fops) \ |
1788 | (((fops) && try_module_get((fops)->owner) ? (fops) : NULL)) | 1801 | (((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/list.h b/include/linux/list.h index 8392884a2977..5d57a3a1fa1b 100644 --- a/include/linux/list.h +++ b/include/linux/list.h | |||
@@ -544,6 +544,21 @@ static inline void list_splice_tail_init(struct list_head *list, | |||
544 | &pos->member != (head); \ | 544 | &pos->member != (head); \ |
545 | pos = n, n = list_entry(n->member.prev, typeof(*n), member)) | 545 | pos = n, n = list_entry(n->member.prev, typeof(*n), member)) |
546 | 546 | ||
547 | /** | ||
548 | * list_safe_reset_next - reset a stale list_for_each_entry_safe loop | ||
549 | * @pos: the loop cursor used in the list_for_each_entry_safe loop | ||
550 | * @n: temporary storage used in list_for_each_entry_safe | ||
551 | * @member: the name of the list_struct within the struct. | ||
552 | * | ||
553 | * list_safe_reset_next is not safe to use in general if the list may be | ||
554 | * modified concurrently (eg. the lock is dropped in the loop body). An | ||
555 | * exception to this is if the cursor element (pos) is pinned in the list, | ||
556 | * and list_safe_reset_next is called after re-taking the lock and before | ||
557 | * completing the current iteration of the loop body. | ||
558 | */ | ||
559 | #define list_safe_reset_next(pos, n, member) \ | ||
560 | n = list_entry(pos->member.next, typeof(*pos), member) | ||
561 | |||
547 | /* | 562 | /* |
548 | * Double linked lists with a single pointer list head. | 563 | * Double linked lists with a single pointer list head. |
549 | * Mostly useful for hash tables where the two pointer list head is | 564 | * Mostly useful for hash tables where the two pointer list head is |
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/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/pci_ids.h b/include/linux/pci_ids.h index 4eb467910a45..3bedcc149c84 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -1261,6 +1261,7 @@ | |||
1261 | #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP77_IDE 0x0759 | 1261 | #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP77_IDE 0x0759 |
1262 | #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP73_SMBUS 0x07D8 | 1262 | #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP73_SMBUS 0x07D8 |
1263 | #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP79_SMBUS 0x0AA2 | 1263 | #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP79_SMBUS 0x0AA2 |
1264 | #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP89_SATA 0x0D85 | ||
1264 | 1265 | ||
1265 | #define PCI_VENDOR_ID_IMS 0x10e0 | 1266 | #define PCI_VENDOR_ID_IMS 0x10e0 |
1266 | #define PCI_DEVICE_ID_IMS_TT128 0x9128 | 1267 | #define PCI_DEVICE_ID_IMS_TT128 0x9128 |
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/sched.h b/include/linux/sched.h index f118809c953f..747fcaedddb7 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -139,7 +139,7 @@ extern int nr_processes(void); | |||
139 | extern unsigned long nr_running(void); | 139 | extern unsigned long nr_running(void); |
140 | extern unsigned long nr_uninterruptible(void); | 140 | extern unsigned long nr_uninterruptible(void); |
141 | extern unsigned long nr_iowait(void); | 141 | extern unsigned long nr_iowait(void); |
142 | extern unsigned long nr_iowait_cpu(void); | 142 | extern unsigned long nr_iowait_cpu(int cpu); |
143 | extern unsigned long this_cpu_load(void); | 143 | extern unsigned long this_cpu_load(void); |
144 | 144 | ||
145 | 145 | ||
diff --git a/include/linux/suspend.h b/include/linux/suspend.h index 5e781d824e6d..bc7d6bb4cd8e 100644 --- a/include/linux/suspend.h +++ b/include/linux/suspend.h | |||
@@ -256,22 +256,22 @@ static inline int hibernate(void) { return -ENOSYS; } | |||
256 | static inline bool system_entering_hibernation(void) { return false; } | 256 | static inline bool system_entering_hibernation(void) { return false; } |
257 | #endif /* CONFIG_HIBERNATION */ | 257 | #endif /* CONFIG_HIBERNATION */ |
258 | 258 | ||
259 | #ifdef CONFIG_HIBERNATION_NVS | 259 | #ifdef CONFIG_SUSPEND_NVS |
260 | extern int hibernate_nvs_register(unsigned long start, unsigned long size); | 260 | extern int suspend_nvs_register(unsigned long start, unsigned long size); |
261 | extern int hibernate_nvs_alloc(void); | 261 | extern int suspend_nvs_alloc(void); |
262 | extern void hibernate_nvs_free(void); | 262 | extern void suspend_nvs_free(void); |
263 | extern void hibernate_nvs_save(void); | 263 | extern void suspend_nvs_save(void); |
264 | extern void hibernate_nvs_restore(void); | 264 | extern void suspend_nvs_restore(void); |
265 | #else /* CONFIG_HIBERNATION_NVS */ | 265 | #else /* CONFIG_SUSPEND_NVS */ |
266 | static inline int hibernate_nvs_register(unsigned long a, unsigned long b) | 266 | static inline int suspend_nvs_register(unsigned long a, unsigned long b) |
267 | { | 267 | { |
268 | return 0; | 268 | return 0; |
269 | } | 269 | } |
270 | static inline int hibernate_nvs_alloc(void) { return 0; } | 270 | static inline int suspend_nvs_alloc(void) { return 0; } |
271 | static inline void hibernate_nvs_free(void) {} | 271 | static inline void suspend_nvs_free(void) {} |
272 | static inline void hibernate_nvs_save(void) {} | 272 | static inline void suspend_nvs_save(void) {} |
273 | static inline void hibernate_nvs_restore(void) {} | 273 | static inline void suspend_nvs_restore(void) {} |
274 | #endif /* CONFIG_HIBERNATION_NVS */ | 274 | #endif /* CONFIG_SUSPEND_NVS */ |
275 | 275 | ||
276 | #ifdef CONFIG_PM_SLEEP | 276 | #ifdef CONFIG_PM_SLEEP |
277 | void save_processor_state(void); | 277 | void save_processor_state(void); |
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/tracepoint.h b/include/linux/tracepoint.h index 9a59d1f98cd4..103d1b61aacb 100644 --- a/include/linux/tracepoint.h +++ b/include/linux/tracepoint.h | |||
@@ -14,6 +14,7 @@ | |||
14 | * See the file COPYING for more details. | 14 | * See the file COPYING for more details. |
15 | */ | 15 | */ |
16 | 16 | ||
17 | #include <linux/errno.h> | ||
17 | #include <linux/types.h> | 18 | #include <linux/types.h> |
18 | #include <linux/rcupdate.h> | 19 | #include <linux/rcupdate.h> |
19 | 20 | ||
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 | ||