diff options
author | Marek Vasut <marex@denx.de> | 2016-01-14 04:17:12 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-01-18 11:47:04 +0000 |
commit | 5abb69126ce1c0ebcde16271fa5c732e5a1c946d (patch) | |
tree | cf20e8477af0dbe34a8799852cacc906638a498a | |
parent | e9280d13a88701500ffdcb9ba51abeb5c322ca0d (diff) | |
download | poky-5abb69126ce1c0ebcde16271fa5c732e5a1c946d.tar.gz |
u-boot: Update to 2016.01 release
Upgrade U-Boot to latest version and drop upstreamed patches.
(From OE-Core rev: fd0a8923638217dfa0a61ee63f2013229429808c)
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Ross Burton <ross.burton@intel.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-bsp/u-boot/u-boot-fw-utils_2016.01.bb (renamed from meta/recipes-bsp/u-boot/u-boot-fw-utils_2015.10.bb) | 6 | ||||
-rw-r--r-- | meta/recipes-bsp/u-boot/u-boot-mkimage_2016.01.bb (renamed from meta/recipes-bsp/u-boot/u-boot-mkimage_2015.10.bb) | 6 | ||||
-rw-r--r-- | meta/recipes-bsp/u-boot/u-boot/0001-powerpc-cpu-u-boot-.lds-remove-_GLOBAL_OFFSET_TABLE_.patch | 185 | ||||
-rw-r--r-- | meta/recipes-bsp/u-boot/u-boot/0002-image.c-Fix-non-Android-booting-with-ramdisk-and-or-.patch | 36 | ||||
-rw-r--r-- | meta/recipes-bsp/u-boot/u-boot/0003-common-board_f-enable-setup_board_part1-for-MIPS.patch | 59 | ||||
-rw-r--r-- | meta/recipes-bsp/u-boot/u-boot/0004-MIPS-bootm-rework-and-fix-broken-bootm-code.patch | 254 | ||||
-rw-r--r-- | meta/recipes-bsp/u-boot/u-boot/0005-MIPS-bootm-use-CONFIG_IS_ENABLED-everywhere.patch | 93 | ||||
-rw-r--r-- | meta/recipes-bsp/u-boot/u-boot/0006-Replace-extern-inline-with-static-inline.patch | 1184 | ||||
-rw-r--r-- | meta/recipes-bsp/u-boot/u-boot_2015.10.bb | 19 | ||||
-rw-r--r-- | meta/recipes-bsp/u-boot/u-boot_2016.01.bb | 10 |
10 files changed, 16 insertions, 1836 deletions
diff --git a/meta/recipes-bsp/u-boot/u-boot-fw-utils_2015.10.bb b/meta/recipes-bsp/u-boot/u-boot-fw-utils_2016.01.bb index 93c06e18c4..30b7c7a980 100644 --- a/meta/recipes-bsp/u-boot/u-boot-fw-utils_2015.10.bb +++ b/meta/recipes-bsp/u-boot/u-boot-fw-utils_2016.01.bb | |||
@@ -4,12 +4,12 @@ LIC_FILES_CHKSUM = "file://Licenses/README;md5=0507cd7da8e7ad6d6701926ec9b84c95" | |||
4 | SECTION = "bootloader" | 4 | SECTION = "bootloader" |
5 | DEPENDS = "mtd-utils" | 5 | DEPENDS = "mtd-utils" |
6 | 6 | ||
7 | # This revision corresponds to the tag "v2015.10" | 7 | # This revision corresponds to the tag "v2016.01" |
8 | # We use the revision in order to avoid having to fetch it from the | 8 | # We use the revision in order to avoid having to fetch it from the |
9 | # repo during parse | 9 | # repo during parse |
10 | SRCREV = "5ec0003b19cbdf06ccd6941237cbc0d1c3468e2d" | 10 | SRCREV = "fa85e826c16b9ce1ad302a57e9c4b24db0d8b930" |
11 | 11 | ||
12 | PV = "v2015.10+git${SRCPV}" | 12 | PV = "v2016.01+git${SRCPV}" |
13 | 13 | ||
14 | SRC_URI = "git://git.denx.de/u-boot.git;branch=master" | 14 | SRC_URI = "git://git.denx.de/u-boot.git;branch=master" |
15 | 15 | ||
diff --git a/meta/recipes-bsp/u-boot/u-boot-mkimage_2015.10.bb b/meta/recipes-bsp/u-boot/u-boot-mkimage_2016.01.bb index 301b6e2bec..5d163a8af4 100644 --- a/meta/recipes-bsp/u-boot/u-boot-mkimage_2015.10.bb +++ b/meta/recipes-bsp/u-boot/u-boot-mkimage_2016.01.bb | |||
@@ -5,12 +5,12 @@ SECTION = "bootloader" | |||
5 | 5 | ||
6 | DEPENDS = "openssl" | 6 | DEPENDS = "openssl" |
7 | 7 | ||
8 | # This revision corresponds to the tag "v2015.10" | 8 | # This revision corresponds to the tag "v2016.01" |
9 | # We use the revision in order to avoid having to fetch it from the | 9 | # We use the revision in order to avoid having to fetch it from the |
10 | # repo during parse | 10 | # repo during parse |
11 | SRCREV = "5ec0003b19cbdf06ccd6941237cbc0d1c3468e2d" | 11 | SRCREV = "fa85e826c16b9ce1ad302a57e9c4b24db0d8b930" |
12 | 12 | ||
13 | PV = "v2015.10+git${SRCPV}" | 13 | PV = "v2016.01+git${SRCPV}" |
14 | 14 | ||
15 | SRC_URI = "git://git.denx.de/u-boot.git;branch=master" | 15 | SRC_URI = "git://git.denx.de/u-boot.git;branch=master" |
16 | 16 | ||
diff --git a/meta/recipes-bsp/u-boot/u-boot/0001-powerpc-cpu-u-boot-.lds-remove-_GLOBAL_OFFSET_TABLE_.patch b/meta/recipes-bsp/u-boot/u-boot/0001-powerpc-cpu-u-boot-.lds-remove-_GLOBAL_OFFSET_TABLE_.patch deleted file mode 100644 index b709acf40a..0000000000 --- a/meta/recipes-bsp/u-boot/u-boot/0001-powerpc-cpu-u-boot-.lds-remove-_GLOBAL_OFFSET_TABLE_.patch +++ /dev/null | |||
@@ -1,185 +0,0 @@ | |||
1 | From 47092c85a2d3dea6fb3ffa59ae6fe737112db93e Mon Sep 17 00:00:00 2001 | ||
2 | From: Zhenhua Luo <zhenhua.luo@freescale.com> | ||
3 | Date: Mon, 9 Feb 2015 18:33:56 +0800 | ||
4 | Subject: [PATCH 1/6] powerpc/cpu/*/u-boot*.lds: remove _GLOBAL_OFFSET_TABLE_ | ||
5 | definition | ||
6 | Organization: O.S. Systems Software LTDA. | ||
7 | |||
8 | In binutils-2.25, the _GLOBAL_OFFSET_TABLE_ symbols defined by PROVIDE in | ||
9 | u-boot.lds overrides the linker built-in symbols | ||
10 | (https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=b893397a4b1316610f49819344817715e4305de9), | ||
11 | so the linker is treating _GLOBAL_OFFSET_TABLE_ as a definition into the .reloc section. | ||
12 | |||
13 | To align with the change of binutils-2.25, the _GLOBAL_OFFSET_TABLE_ symbol | ||
14 | should not be defined in sections, and the symbols in linker generated .got | ||
15 | section should be used(https://sourceware.org/ml/binutils/2008-09/msg00122.html). | ||
16 | |||
17 | Fixed the following build errors with binutils-2.25: | ||
18 | | powerpc-poky-linux-gnuspe-ld.bfd: _GLOBAL_OFFSET_TABLE_ not defined in linker created .got | ||
19 | |||
20 | Upstream-Status: Pending | ||
21 | |||
22 | Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com> | ||
23 | Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> | ||
24 | --- | ||
25 | arch/powerpc/cpu/mpc512x/u-boot.lds | 1 - | ||
26 | arch/powerpc/cpu/mpc5xx/u-boot.lds | 1 - | ||
27 | arch/powerpc/cpu/mpc5xxx/u-boot.lds | 1 - | ||
28 | arch/powerpc/cpu/mpc8260/u-boot.lds | 1 - | ||
29 | arch/powerpc/cpu/mpc83xx/u-boot-spl.lds | 1 - | ||
30 | arch/powerpc/cpu/mpc83xx/u-boot.lds | 1 - | ||
31 | arch/powerpc/cpu/mpc85xx/u-boot-nand.lds | 1 - | ||
32 | arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds | 1 - | ||
33 | arch/powerpc/cpu/mpc85xx/u-boot-spl.lds | 1 - | ||
34 | arch/powerpc/cpu/mpc85xx/u-boot.lds | 1 - | ||
35 | arch/powerpc/cpu/mpc86xx/u-boot.lds | 1 - | ||
36 | arch/powerpc/cpu/ppc4xx/u-boot.lds | 1 - | ||
37 | 12 files changed, 12 deletions(-) | ||
38 | |||
39 | diff --git a/arch/powerpc/cpu/mpc512x/u-boot.lds b/arch/powerpc/cpu/mpc512x/u-boot.lds | ||
40 | index 9658b21..b32f74e 100644 | ||
41 | --- a/arch/powerpc/cpu/mpc512x/u-boot.lds | ||
42 | +++ b/arch/powerpc/cpu/mpc512x/u-boot.lds | ||
43 | @@ -24,7 +24,6 @@ SECTIONS | ||
44 | _GOT2_TABLE_ = .; | ||
45 | KEEP(*(.got2)) | ||
46 | KEEP(*(.got)) | ||
47 | - PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4); | ||
48 | _FIXUP_TABLE_ = .; | ||
49 | KEEP(*(.fixup)) | ||
50 | *(.fixup) | ||
51 | diff --git a/arch/powerpc/cpu/mpc5xx/u-boot.lds b/arch/powerpc/cpu/mpc5xx/u-boot.lds | ||
52 | index 7198465..6a53571 100644 | ||
53 | --- a/arch/powerpc/cpu/mpc5xx/u-boot.lds | ||
54 | +++ b/arch/powerpc/cpu/mpc5xx/u-boot.lds | ||
55 | @@ -33,7 +33,6 @@ SECTIONS | ||
56 | _GOT2_TABLE_ = .; | ||
57 | KEEP(*(.got2)) | ||
58 | KEEP(*(.got)) | ||
59 | - PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4); | ||
60 | _FIXUP_TABLE_ = .; | ||
61 | KEEP(*(.fixup)) | ||
62 | } | ||
63 | diff --git a/arch/powerpc/cpu/mpc5xxx/u-boot.lds b/arch/powerpc/cpu/mpc5xxx/u-boot.lds | ||
64 | index cd9e23f..aa80d3d 100644 | ||
65 | --- a/arch/powerpc/cpu/mpc5xxx/u-boot.lds | ||
66 | +++ b/arch/powerpc/cpu/mpc5xxx/u-boot.lds | ||
67 | @@ -28,7 +28,6 @@ SECTIONS | ||
68 | _GOT2_TABLE_ = .; | ||
69 | KEEP(*(.got2)) | ||
70 | KEEP(*(.got)) | ||
71 | - PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4); | ||
72 | _FIXUP_TABLE_ = .; | ||
73 | KEEP(*(.fixup)) | ||
74 | } | ||
75 | diff --git a/arch/powerpc/cpu/mpc8260/u-boot.lds b/arch/powerpc/cpu/mpc8260/u-boot.lds | ||
76 | index 50cbf85..469fc29 100644 | ||
77 | --- a/arch/powerpc/cpu/mpc8260/u-boot.lds | ||
78 | +++ b/arch/powerpc/cpu/mpc8260/u-boot.lds | ||
79 | @@ -27,7 +27,6 @@ SECTIONS | ||
80 | _GOT2_TABLE_ = .; | ||
81 | KEEP(*(.got2)) | ||
82 | KEEP(*(.got)) | ||
83 | - PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4); | ||
84 | _FIXUP_TABLE_ = .; | ||
85 | KEEP(*(.fixup)) | ||
86 | } | ||
87 | diff --git a/arch/powerpc/cpu/mpc83xx/u-boot-spl.lds b/arch/powerpc/cpu/mpc83xx/u-boot-spl.lds | ||
88 | index 774772b..4101eaf 100644 | ||
89 | --- a/arch/powerpc/cpu/mpc83xx/u-boot-spl.lds | ||
90 | +++ b/arch/powerpc/cpu/mpc83xx/u-boot-spl.lds | ||
91 | @@ -24,7 +24,6 @@ SECTIONS | ||
92 | _GOT2_TABLE_ = .; | ||
93 | KEEP(*(.got2)) | ||
94 | KEEP(*(.got)) | ||
95 | - PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4); | ||
96 | } | ||
97 | __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1; | ||
98 | |||
99 | diff --git a/arch/powerpc/cpu/mpc83xx/u-boot.lds b/arch/powerpc/cpu/mpc83xx/u-boot.lds | ||
100 | index 3c177fa..dbd8bbe 100644 | ||
101 | --- a/arch/powerpc/cpu/mpc83xx/u-boot.lds | ||
102 | +++ b/arch/powerpc/cpu/mpc83xx/u-boot.lds | ||
103 | @@ -26,7 +26,6 @@ SECTIONS | ||
104 | _GOT2_TABLE_ = .; | ||
105 | KEEP(*(.got2)) | ||
106 | KEEP(*(.got)) | ||
107 | - PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4); | ||
108 | _FIXUP_TABLE_ = .; | ||
109 | KEEP(*(.fixup)) | ||
110 | } | ||
111 | diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds | ||
112 | index f933b21..0399f93 100644 | ||
113 | --- a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds | ||
114 | +++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds | ||
115 | @@ -44,7 +44,6 @@ SECTIONS | ||
116 | _GOT2_TABLE_ = .; | ||
117 | KEEP(*(.got2)) | ||
118 | KEEP(*(.got)) | ||
119 | - PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4); | ||
120 | _FIXUP_TABLE_ = .; | ||
121 | KEEP(*(.fixup)) | ||
122 | } | ||
123 | diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds | ||
124 | index b83c553..f044564 100644 | ||
125 | --- a/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds | ||
126 | +++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds | ||
127 | @@ -22,7 +22,6 @@ SECTIONS | ||
128 | _GOT2_TABLE_ = .; | ||
129 | KEEP(*(.got2)) | ||
130 | KEEP(*(.got)) | ||
131 | - PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4); | ||
132 | _FIXUP_TABLE_ = .; | ||
133 | KEEP(*(.fixup)) | ||
134 | } | ||
135 | diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds b/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds | ||
136 | index 5ae7b3e..889a4c2 100644 | ||
137 | --- a/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds | ||
138 | +++ b/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds | ||
139 | @@ -29,7 +29,6 @@ SECTIONS | ||
140 | _GOT2_TABLE_ = .; | ||
141 | KEEP(*(.got2)) | ||
142 | KEEP(*(.got)) | ||
143 | - PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4); | ||
144 | _FIXUP_TABLE_ = .; | ||
145 | KEEP(*(.fixup)) | ||
146 | } | ||
147 | diff --git a/arch/powerpc/cpu/mpc85xx/u-boot.lds b/arch/powerpc/cpu/mpc85xx/u-boot.lds | ||
148 | index 2cf0b25..f15eaf3 100644 | ||
149 | --- a/arch/powerpc/cpu/mpc85xx/u-boot.lds | ||
150 | +++ b/arch/powerpc/cpu/mpc85xx/u-boot.lds | ||
151 | @@ -50,7 +50,6 @@ SECTIONS | ||
152 | _GOT2_TABLE_ = .; | ||
153 | KEEP(*(.got2)) | ||
154 | KEEP(*(.got)) | ||
155 | - PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4); | ||
156 | _FIXUP_TABLE_ = .; | ||
157 | KEEP(*(.fixup)) | ||
158 | } | ||
159 | diff --git a/arch/powerpc/cpu/mpc86xx/u-boot.lds b/arch/powerpc/cpu/mpc86xx/u-boot.lds | ||
160 | index 58467c2..6c48f40 100644 | ||
161 | --- a/arch/powerpc/cpu/mpc86xx/u-boot.lds | ||
162 | +++ b/arch/powerpc/cpu/mpc86xx/u-boot.lds | ||
163 | @@ -32,7 +32,6 @@ SECTIONS | ||
164 | _GOT2_TABLE_ = .; | ||
165 | KEEP(*(.got2)) | ||
166 | KEEP(*(.got)) | ||
167 | - PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4); | ||
168 | _FIXUP_TABLE_ = .; | ||
169 | KEEP(*(.fixup)) | ||
170 | } | ||
171 | diff --git a/arch/powerpc/cpu/ppc4xx/u-boot.lds b/arch/powerpc/cpu/ppc4xx/u-boot.lds | ||
172 | index 1980508..55dd4e1 100644 | ||
173 | --- a/arch/powerpc/cpu/ppc4xx/u-boot.lds | ||
174 | +++ b/arch/powerpc/cpu/ppc4xx/u-boot.lds | ||
175 | @@ -46,7 +46,6 @@ SECTIONS | ||
176 | _GOT2_TABLE_ = .; | ||
177 | KEEP(*(.got2)) | ||
178 | KEEP(*(.got)) | ||
179 | - PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4); | ||
180 | _FIXUP_TABLE_ = .; | ||
181 | KEEP(*(.fixup)) | ||
182 | } | ||
183 | -- | ||
184 | 2.6.2 | ||
185 | |||
diff --git a/meta/recipes-bsp/u-boot/u-boot/0002-image.c-Fix-non-Android-booting-with-ramdisk-and-or-.patch b/meta/recipes-bsp/u-boot/u-boot/0002-image.c-Fix-non-Android-booting-with-ramdisk-and-or-.patch deleted file mode 100644 index 0d1a714f4c..0000000000 --- a/meta/recipes-bsp/u-boot/u-boot/0002-image.c-Fix-non-Android-booting-with-ramdisk-and-or-.patch +++ /dev/null | |||
@@ -1,36 +0,0 @@ | |||
1 | From 0a8c59720155c30f01d4cd1c53da3647a3f4decd Mon Sep 17 00:00:00 2001 | ||
2 | From: Tom Rini <trini@konsulko.com> | ||
3 | Date: Tue, 27 Oct 2015 19:04:40 -0400 | ||
4 | Subject: [PATCH 2/6] image.c: Fix non-Android booting with ramdisk and/or | ||
5 | device tree | ||
6 | Organization: O.S. Systems Software LTDA. | ||
7 | |||
8 | In 1fec3c5 I added a check that if we had an Android image we default to | ||
9 | trying the kernel address for a ramdisk. However when we don't have an | ||
10 | Android image buf is NULL and we oops here. Ensure that we have 'buf' | ||
11 | to check first. | ||
12 | |||
13 | Upstream-Status: Backport [2016.01] | ||
14 | |||
15 | Reported-by: elipe Balbi <balbi@ti.com> | ||
16 | Signed-off-by: Tom Rini <trini@konsulko.com> | ||
17 | --- | ||
18 | common/image.c | 2 +- | ||
19 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
20 | |||
21 | diff --git a/common/image.c b/common/image.c | ||
22 | index e607109..85c4f39 100644 | ||
23 | --- a/common/image.c | ||
24 | +++ b/common/image.c | ||
25 | @@ -913,7 +913,7 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images, | ||
26 | * Look for an Android boot image. | ||
27 | */ | ||
28 | buf = map_sysmem(images->os.start, 0); | ||
29 | - if (genimg_get_format(buf) == IMAGE_FORMAT_ANDROID) | ||
30 | + if (buf && genimg_get_format(buf) == IMAGE_FORMAT_ANDROID) | ||
31 | select = argv[0]; | ||
32 | #endif | ||
33 | |||
34 | -- | ||
35 | 2.6.2 | ||
36 | |||
diff --git a/meta/recipes-bsp/u-boot/u-boot/0003-common-board_f-enable-setup_board_part1-for-MIPS.patch b/meta/recipes-bsp/u-boot/u-boot/0003-common-board_f-enable-setup_board_part1-for-MIPS.patch deleted file mode 100644 index 45d20b8a4b..0000000000 --- a/meta/recipes-bsp/u-boot/u-boot/0003-common-board_f-enable-setup_board_part1-for-MIPS.patch +++ /dev/null | |||
@@ -1,59 +0,0 @@ | |||
1 | From e5ebba40a3b8a1405e48d49dc873ffe2fa1963a1 Mon Sep 17 00:00:00 2001 | ||
2 | From: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> | ||
3 | Date: Sun, 1 Nov 2015 17:36:13 +0100 | ||
4 | Subject: [PATCH 3/6] common/board_f: enable setup_board_part1() for MIPS | ||
5 | Organization: O.S. Systems Software LTDA. | ||
6 | |||
7 | The variables bd_t:bi_memstart and bd_t:bi_memsize have to be | ||
8 | initialized also on MIPS. Otherwise LMB and cmd_bdinfo do not | ||
9 | correctly work. This currently breaks the booting of FIT images | ||
10 | on MIPS. Enable the board_init_f hook setup_board_part1() | ||
11 | for MIPS to fix this. | ||
12 | |||
13 | Upstream-Status: Backport [2016.01] | ||
14 | |||
15 | Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> | ||
16 | Reviewed-by: Tom Rini <trini@konsulko.com> | ||
17 | Reviewed-by: Simon Glass <sjg@chromium.org> | ||
18 | --- | ||
19 | common/board_f.c | 8 ++++++-- | ||
20 | 1 file changed, 6 insertions(+), 2 deletions(-) | ||
21 | |||
22 | diff --git a/common/board_f.c b/common/board_f.c | ||
23 | index 613332e..33cc5c0 100644 | ||
24 | --- a/common/board_f.c | ||
25 | +++ b/common/board_f.c | ||
26 | @@ -551,7 +551,7 @@ static int display_new_sp(void) | ||
27 | return 0; | ||
28 | } | ||
29 | |||
30 | -#if defined(CONFIG_PPC) || defined(CONFIG_M68K) | ||
31 | +#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_MIPS) | ||
32 | static int setup_board_part1(void) | ||
33 | { | ||
34 | bd_t *bd = gd->bd; | ||
35 | @@ -580,7 +580,9 @@ static int setup_board_part1(void) | ||
36 | |||
37 | return 0; | ||
38 | } | ||
39 | +#endif | ||
40 | |||
41 | +#if defined(CONFIG_PPC) || defined(CONFIG_M68K) | ||
42 | static int setup_board_part2(void) | ||
43 | { | ||
44 | bd_t *bd = gd->bd; | ||
45 | @@ -933,8 +935,10 @@ static init_fnc_t init_sequence_f[] = { | ||
46 | reserve_stacks, | ||
47 | setup_dram_config, | ||
48 | show_dram_config, | ||
49 | -#if defined(CONFIG_PPC) || defined(CONFIG_M68K) | ||
50 | +#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_MIPS) | ||
51 | setup_board_part1, | ||
52 | +#endif | ||
53 | +#if defined(CONFIG_PPC) || defined(CONFIG_M68K) | ||
54 | INIT_FUNC_WATCHDOG_RESET | ||
55 | setup_board_part2, | ||
56 | #endif | ||
57 | -- | ||
58 | 2.6.2 | ||
59 | |||
diff --git a/meta/recipes-bsp/u-boot/u-boot/0004-MIPS-bootm-rework-and-fix-broken-bootm-code.patch b/meta/recipes-bsp/u-boot/u-boot/0004-MIPS-bootm-rework-and-fix-broken-bootm-code.patch deleted file mode 100644 index 5692c6056c..0000000000 --- a/meta/recipes-bsp/u-boot/u-boot/0004-MIPS-bootm-rework-and-fix-broken-bootm-code.patch +++ /dev/null | |||
@@ -1,254 +0,0 @@ | |||
1 | From da9d99765476b10fe0a75140a2d4c1f284ffc333 Mon Sep 17 00:00:00 2001 | ||
2 | From: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> | ||
3 | Date: Sun, 1 Nov 2015 17:36:14 +0100 | ||
4 | Subject: [PATCH 4/6] MIPS: bootm: rework and fix broken bootm code | ||
5 | Organization: O.S. Systems Software LTDA. | ||
6 | |||
7 | The move to 'generic board' as well as changes in the generic | ||
8 | bootm code broke the boot of FIT uImage's. Especially uImage's | ||
9 | with additional initramfs images or FDT's do not work anymore. | ||
10 | |||
11 | Refactor the bootm code to work again with the generic bootm code. | ||
12 | |||
13 | Always relocate ramdisk and FDT in step 'bootm prep' because the | ||
14 | generic bootm code does this only for legacy uImage's. | ||
15 | |||
16 | Move the step 'bootm cmdline' to 'bootm prep' because the Linux | ||
17 | kernel parameters rd_start and rd_size have to be initialized after | ||
18 | the relocation of the ramdisk. | ||
19 | |||
20 | Furthermore support the step 'bootm fake'. | ||
21 | |||
22 | Upstream-Status: Backport [2016.01] | ||
23 | |||
24 | Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> | ||
25 | Reviewed-by: Tom Rini <trini@konsulko.com> | ||
26 | Reviewed-by: Simon Glass <sjg@chromium.org> | ||
27 | --- | ||
28 | arch/mips/lib/bootm.c | 163 ++++++++++++++++++++++++-------------------------- | ||
29 | 1 file changed, 78 insertions(+), 85 deletions(-) | ||
30 | |||
31 | diff --git a/arch/mips/lib/bootm.c b/arch/mips/lib/bootm.c | ||
32 | index 9c647aa..a7eddd3 100644 | ||
33 | --- a/arch/mips/lib/bootm.c | ||
34 | +++ b/arch/mips/lib/bootm.c | ||
35 | @@ -21,18 +21,6 @@ DECLARE_GLOBAL_DATA_PTR; | ||
36 | #define mips_boot_malta 0 | ||
37 | #endif | ||
38 | |||
39 | -#if defined(CONFIG_MIPS_BOOT_CMDLINE_LEGACY) | ||
40 | -#define mips_boot_cmdline_legacy 1 | ||
41 | -#else | ||
42 | -#define mips_boot_cmdline_legacy 0 | ||
43 | -#endif | ||
44 | - | ||
45 | -#if defined(CONFIG_MIPS_BOOT_ENV_LEGACY) | ||
46 | -#define mips_boot_env_legacy 1 | ||
47 | -#else | ||
48 | -#define mips_boot_env_legacy 0 | ||
49 | -#endif | ||
50 | - | ||
51 | static int linux_argc; | ||
52 | static char **linux_argv; | ||
53 | static char *linux_argp; | ||
54 | @@ -62,50 +50,6 @@ void arch_lmb_reserve(struct lmb *lmb) | ||
55 | lmb_reserve(lmb, sp, CONFIG_SYS_SDRAM_BASE + gd->ram_size - sp); | ||
56 | } | ||
57 | |||
58 | -static int boot_setup_linux(bootm_headers_t *images) | ||
59 | -{ | ||
60 | - int ret; | ||
61 | - ulong rd_len; | ||
62 | - | ||
63 | - rd_len = images->rd_end - images->rd_start; | ||
64 | - ret = boot_ramdisk_high(&images->lmb, images->rd_start, | ||
65 | - rd_len, &images->initrd_start, &images->initrd_end); | ||
66 | - if (ret) | ||
67 | - return ret; | ||
68 | - | ||
69 | -#if defined(CONFIG_MIPS_BOOT_FDT) && defined(CONFIG_OF_LIBFDT) | ||
70 | - if (images->ft_len) { | ||
71 | - boot_fdt_add_mem_rsv_regions(&images->lmb, images->ft_addr); | ||
72 | - | ||
73 | - ret = boot_relocate_fdt(&images->lmb, &images->ft_addr, | ||
74 | - &images->ft_len); | ||
75 | - if (ret) | ||
76 | - return ret; | ||
77 | - } | ||
78 | -#endif | ||
79 | - | ||
80 | - return 0; | ||
81 | -} | ||
82 | - | ||
83 | -static void boot_setup_fdt(bootm_headers_t *images) | ||
84 | -{ | ||
85 | -#if defined(CONFIG_MIPS_BOOT_FDT) && defined(CONFIG_OF_LIBFDT) | ||
86 | - u64 mem_start = 0; | ||
87 | - u64 mem_size = gd->ram_size; | ||
88 | - | ||
89 | - debug("## setup FDT\n"); | ||
90 | - | ||
91 | - fdt_chosen(images->ft_addr); | ||
92 | - fdt_fixup_memory_banks(images->ft_addr, &mem_start, &mem_size, 1); | ||
93 | - fdt_fixup_ethernet(images->ft_addr); | ||
94 | - fdt_initrd(images->ft_addr, images->initrd_start, images->initrd_end); | ||
95 | - | ||
96 | -#if defined(CONFIG_OF_BOARD_SETUP) | ||
97 | - ft_board_setup(images->ft_addr, gd->bd); | ||
98 | -#endif | ||
99 | -#endif | ||
100 | -} | ||
101 | - | ||
102 | static void linux_cmdline_init(void) | ||
103 | { | ||
104 | linux_argc = 1; | ||
105 | @@ -197,18 +141,6 @@ static void linux_cmdline_append(bootm_headers_t *images) | ||
106 | } | ||
107 | } | ||
108 | |||
109 | -static void boot_cmdline_linux(bootm_headers_t *images) | ||
110 | -{ | ||
111 | - if (mips_boot_cmdline_legacy && !images->ft_len) { | ||
112 | - linux_cmdline_legacy(images); | ||
113 | - | ||
114 | - if (!mips_boot_env_legacy) | ||
115 | - linux_cmdline_append(images); | ||
116 | - | ||
117 | - linux_cmdline_dump(); | ||
118 | - } | ||
119 | -} | ||
120 | - | ||
121 | static void linux_env_init(void) | ||
122 | { | ||
123 | linux_env = (char **)(((ulong) linux_argp + 15) & ~15); | ||
124 | @@ -288,13 +220,81 @@ static void linux_env_legacy(bootm_headers_t *images) | ||
125 | } | ||
126 | } | ||
127 | |||
128 | +static int boot_reloc_ramdisk(bootm_headers_t *images) | ||
129 | +{ | ||
130 | + ulong rd_len = images->rd_end - images->rd_start; | ||
131 | + | ||
132 | + /* | ||
133 | + * In case of legacy uImage's, relocation of ramdisk is already done | ||
134 | + * by do_bootm_states() and should not repeated in 'bootm prep'. | ||
135 | + */ | ||
136 | + if (images->state & BOOTM_STATE_RAMDISK) { | ||
137 | + debug("## Ramdisk already relocated\n"); | ||
138 | + return 0; | ||
139 | + } | ||
140 | + | ||
141 | + return boot_ramdisk_high(&images->lmb, images->rd_start, | ||
142 | + rd_len, &images->initrd_start, &images->initrd_end); | ||
143 | +} | ||
144 | + | ||
145 | +static int boot_reloc_fdt(bootm_headers_t *images) | ||
146 | +{ | ||
147 | + /* | ||
148 | + * In case of legacy uImage's, relocation of FDT is already done | ||
149 | + * by do_bootm_states() and should not repeated in 'bootm prep'. | ||
150 | + */ | ||
151 | + if (images->state & BOOTM_STATE_FDT) { | ||
152 | + debug("## FDT already relocated\n"); | ||
153 | + return 0; | ||
154 | + } | ||
155 | + | ||
156 | +#if CONFIG_IS_ENABLED(MIPS_BOOT_FDT) && CONFIG_IS_ENABLED(OF_LIBFDT) | ||
157 | + boot_fdt_add_mem_rsv_regions(&images->lmb, images->ft_addr); | ||
158 | + return boot_relocate_fdt(&images->lmb, &images->ft_addr, | ||
159 | + &images->ft_len); | ||
160 | +#else | ||
161 | + return 0; | ||
162 | +#endif | ||
163 | +} | ||
164 | + | ||
165 | +int arch_fixup_memory_node(void *blob) | ||
166 | +{ | ||
167 | +#if CONFIG_IS_ENABLED(MIPS_BOOT_FDT) && CONFIG_IS_ENABLED(OF_LIBFDT) | ||
168 | + u64 mem_start = 0; | ||
169 | + u64 mem_size = gd->ram_size; | ||
170 | + | ||
171 | + return fdt_fixup_memory_banks(blob, &mem_start, &mem_size, 1); | ||
172 | +#else | ||
173 | + return 0; | ||
174 | +#endif | ||
175 | +} | ||
176 | + | ||
177 | +static int boot_setup_fdt(bootm_headers_t *images) | ||
178 | +{ | ||
179 | + return image_setup_libfdt(images, images->ft_addr, images->ft_len, | ||
180 | + &images->lmb); | ||
181 | +} | ||
182 | + | ||
183 | static void boot_prep_linux(bootm_headers_t *images) | ||
184 | { | ||
185 | - if (mips_boot_env_legacy && !images->ft_len) | ||
186 | - linux_env_legacy(images); | ||
187 | + boot_reloc_ramdisk(images); | ||
188 | |||
189 | - if (images->ft_len) | ||
190 | + if (CONFIG_IS_ENABLED(MIPS_BOOT_FDT) && images->ft_len) { | ||
191 | + boot_reloc_fdt(images); | ||
192 | boot_setup_fdt(images); | ||
193 | + } else { | ||
194 | + if (CONFIG_IS_ENABLED(CONFIG_MIPS_BOOT_ENV_LEGACY)) | ||
195 | + linux_env_legacy(images); | ||
196 | + | ||
197 | + if (CONFIG_IS_ENABLED(MIPS_BOOT_CMDLINE_LEGACY)) { | ||
198 | + linux_cmdline_legacy(images); | ||
199 | + | ||
200 | + if (!CONFIG_IS_ENABLED(CONFIG_MIPS_BOOT_ENV_LEGACY)) | ||
201 | + linux_cmdline_append(images); | ||
202 | + | ||
203 | + linux_cmdline_dump(); | ||
204 | + } | ||
205 | + } | ||
206 | } | ||
207 | |||
208 | static void boot_jump_linux(bootm_headers_t *images) | ||
209 | @@ -327,35 +327,28 @@ static void boot_jump_linux(bootm_headers_t *images) | ||
210 | int do_bootm_linux(int flag, int argc, char * const argv[], | ||
211 | bootm_headers_t *images) | ||
212 | { | ||
213 | - int ret; | ||
214 | - | ||
215 | /* No need for those on MIPS */ | ||
216 | if (flag & BOOTM_STATE_OS_BD_T) | ||
217 | return -1; | ||
218 | |||
219 | - if (flag & BOOTM_STATE_OS_CMDLINE) { | ||
220 | - boot_cmdline_linux(images); | ||
221 | + /* | ||
222 | + * Cmdline init has been moved to 'bootm prep' because it has to be | ||
223 | + * done after relocation of ramdisk to always pass correct values | ||
224 | + * for rd_start and rd_size to Linux kernel. | ||
225 | + */ | ||
226 | + if (flag & BOOTM_STATE_OS_CMDLINE) | ||
227 | return 0; | ||
228 | - } | ||
229 | |||
230 | if (flag & BOOTM_STATE_OS_PREP) { | ||
231 | boot_prep_linux(images); | ||
232 | return 0; | ||
233 | } | ||
234 | |||
235 | - if (flag & BOOTM_STATE_OS_GO) { | ||
236 | + if (flag & (BOOTM_STATE_OS_GO | BOOTM_STATE_OS_FAKE_GO)) { | ||
237 | boot_jump_linux(images); | ||
238 | return 0; | ||
239 | } | ||
240 | |||
241 | - ret = boot_setup_linux(images); | ||
242 | - if (ret) | ||
243 | - return ret; | ||
244 | - | ||
245 | - boot_cmdline_linux(images); | ||
246 | - boot_prep_linux(images); | ||
247 | - boot_jump_linux(images); | ||
248 | - | ||
249 | /* does not return */ | ||
250 | return 1; | ||
251 | } | ||
252 | -- | ||
253 | 2.6.2 | ||
254 | |||
diff --git a/meta/recipes-bsp/u-boot/u-boot/0005-MIPS-bootm-use-CONFIG_IS_ENABLED-everywhere.patch b/meta/recipes-bsp/u-boot/u-boot/0005-MIPS-bootm-use-CONFIG_IS_ENABLED-everywhere.patch deleted file mode 100644 index 210ca4dae7..0000000000 --- a/meta/recipes-bsp/u-boot/u-boot/0005-MIPS-bootm-use-CONFIG_IS_ENABLED-everywhere.patch +++ /dev/null | |||
@@ -1,93 +0,0 @@ | |||
1 | From ebaf1eda6f3b8a339837bc0dbcbb9002d751ab75 Mon Sep 17 00:00:00 2001 | ||
2 | From: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> | ||
3 | Date: Sun, 1 Nov 2015 17:36:15 +0100 | ||
4 | Subject: [PATCH 5/6] MIPS: bootm: use CONFIG_IS_ENABLED() everywhere | ||
5 | Organization: O.S. Systems Software LTDA. | ||
6 | |||
7 | Upstream-Status: Backport [2016.01] | ||
8 | |||
9 | Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> | ||
10 | Reviewed-by: Tom Rini <trini@konsulko.com> | ||
11 | --- | ||
12 | arch/mips/lib/bootm.c | 33 ++++++++++++++------------------- | ||
13 | 1 file changed, 14 insertions(+), 19 deletions(-) | ||
14 | |||
15 | diff --git a/arch/mips/lib/bootm.c b/arch/mips/lib/bootm.c | ||
16 | index a7eddd3..eed159c 100644 | ||
17 | --- a/arch/mips/lib/bootm.c | ||
18 | +++ b/arch/mips/lib/bootm.c | ||
19 | @@ -15,12 +15,6 @@ DECLARE_GLOBAL_DATA_PTR; | ||
20 | #define LINUX_MAX_ENVS 256 | ||
21 | #define LINUX_MAX_ARGS 256 | ||
22 | |||
23 | -#if defined(CONFIG_MALTA) | ||
24 | -#define mips_boot_malta 1 | ||
25 | -#else | ||
26 | -#define mips_boot_malta 0 | ||
27 | -#endif | ||
28 | - | ||
29 | static int linux_argc; | ||
30 | static char **linux_argv; | ||
31 | static char *linux_argp; | ||
32 | @@ -157,7 +151,7 @@ static void linux_env_set(const char *env_name, const char *env_val) | ||
33 | strcpy(linux_env_p, env_name); | ||
34 | linux_env_p += strlen(env_name); | ||
35 | |||
36 | - if (mips_boot_malta) { | ||
37 | + if (CONFIG_IS_ENABLED(MALTA)) { | ||
38 | linux_env_p++; | ||
39 | linux_env[++linux_env_idx] = linux_env_p; | ||
40 | } else { | ||
41 | @@ -178,14 +172,15 @@ static void linux_env_legacy(bootm_headers_t *images) | ||
42 | const char *cp; | ||
43 | ulong rd_start, rd_size; | ||
44 | |||
45 | -#ifdef CONFIG_MEMSIZE_IN_BYTES | ||
46 | - sprintf(env_buf, "%lu", (ulong)gd->ram_size); | ||
47 | - debug("## Giving linux memsize in bytes, %lu\n", (ulong)gd->ram_size); | ||
48 | -#else | ||
49 | - sprintf(env_buf, "%lu", (ulong)(gd->ram_size >> 20)); | ||
50 | - debug("## Giving linux memsize in MB, %lu\n", | ||
51 | - (ulong)(gd->ram_size >> 20)); | ||
52 | -#endif /* CONFIG_MEMSIZE_IN_BYTES */ | ||
53 | + if (CONFIG_IS_ENABLED(MEMSIZE_IN_BYTES)) { | ||
54 | + sprintf(env_buf, "%lu", (ulong)gd->ram_size); | ||
55 | + debug("## Giving linux memsize in bytes, %lu\n", | ||
56 | + (ulong)gd->ram_size); | ||
57 | + } else { | ||
58 | + sprintf(env_buf, "%lu", (ulong)(gd->ram_size >> 20)); | ||
59 | + debug("## Giving linux memsize in MB, %lu\n", | ||
60 | + (ulong)(gd->ram_size >> 20)); | ||
61 | + } | ||
62 | |||
63 | rd_start = UNCACHED_SDRAM(images->initrd_start); | ||
64 | rd_size = images->initrd_end - images->initrd_start; | ||
65 | @@ -214,7 +209,7 @@ static void linux_env_legacy(bootm_headers_t *images) | ||
66 | if (cp) | ||
67 | linux_env_set("eth1addr", cp); | ||
68 | |||
69 | - if (mips_boot_malta) { | ||
70 | + if (CONFIG_IS_ENABLED(MALTA)) { | ||
71 | sprintf(env_buf, "%un8r", gd->baudrate); | ||
72 | linux_env_set("modetty0", env_buf); | ||
73 | } | ||
74 | @@ -307,13 +302,13 @@ static void boot_jump_linux(bootm_headers_t *images) | ||
75 | |||
76 | bootstage_mark(BOOTSTAGE_ID_RUN_OS); | ||
77 | |||
78 | - if (mips_boot_malta) | ||
79 | + if (CONFIG_IS_ENABLED(MALTA)) | ||
80 | linux_extra = gd->ram_size; | ||
81 | |||
82 | -#ifdef CONFIG_BOOTSTAGE_FDT | ||
83 | +#if CONFIG_IS_ENABLED(BOOTSTAGE_FDT) | ||
84 | bootstage_fdt_add_report(); | ||
85 | #endif | ||
86 | -#ifdef CONFIG_BOOTSTAGE_REPORT | ||
87 | +#if CONFIG_IS_ENABLED(BOOTSTAGE_REPORT) | ||
88 | bootstage_report(); | ||
89 | #endif | ||
90 | |||
91 | -- | ||
92 | 2.6.2 | ||
93 | |||
diff --git a/meta/recipes-bsp/u-boot/u-boot/0006-Replace-extern-inline-with-static-inline.patch b/meta/recipes-bsp/u-boot/u-boot/0006-Replace-extern-inline-with-static-inline.patch deleted file mode 100644 index 52ef687cc6..0000000000 --- a/meta/recipes-bsp/u-boot/u-boot/0006-Replace-extern-inline-with-static-inline.patch +++ /dev/null | |||
@@ -1,1184 +0,0 @@ | |||
1 | From 69ce393f6ef57a8a0029df78dbdc9f9def2dbb8c Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?M=C3=A5ns=20Rullg=C3=A5rd?= <mans@mansr.com> | ||
3 | Date: Fri, 6 Nov 2015 12:44:01 +0000 | ||
4 | Subject: [PATCH 6/6] Replace "extern inline" with "static inline" | ||
5 | Organization: O.S. Systems Software LTDA. | ||
6 | |||
7 | A number of headers define functions as "extern inline" which is | ||
8 | causing problems with gcc5. The reason is that starting with | ||
9 | version 5.1, gcc defaults to the standard C99 semantics for the | ||
10 | inline keyword. | ||
11 | |||
12 | Under the traditional GNU inline semantics, an "extern inline" | ||
13 | function would never create an external definition, the same | ||
14 | as inline *without* extern in C99. In C99, and "extern inline" | ||
15 | definition is simply an external definition with an inline hint. | ||
16 | In short, the meanings of inline with and without extern are | ||
17 | swapped between GNU and C99. | ||
18 | |||
19 | The upshot is that all these definitions in header files create | ||
20 | an external definition wherever those headers are included, | ||
21 | resulting in multiple definition errors at link time. | ||
22 | |||
23 | Changing all these functions to "static inline" fixes the problem | ||
24 | since this works as desired in all gcc versions. Although the | ||
25 | semantics are slightly different (a static inline definition may | ||
26 | result in an actual function being emitted), it works as intended | ||
27 | in practice. | ||
28 | |||
29 | This patch also removes extern prototype declarations for the | ||
30 | changed functions where they existed. | ||
31 | |||
32 | Upstream-Status: Submitted [https://patchwork.ozlabs.org/patch/540952/] | ||
33 | |||
34 | Signed-off-by: Mans Rullgard <mans@mansr.com> | ||
35 | Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> | ||
36 | --- | ||
37 | arch/blackfin/include/asm/delay.h | 4 +-- | ||
38 | arch/m68k/include/asm/bitops.h | 5 ++-- | ||
39 | arch/m68k/include/asm/byteorder.h | 8 +++--- | ||
40 | arch/m68k/include/asm/io.h | 40 ++++++++++++++--------------- | ||
41 | arch/powerpc/include/asm/atomic.h | 8 +++--- | ||
42 | arch/powerpc/include/asm/bitops.h | 35 ++++++++++--------------- | ||
43 | arch/powerpc/include/asm/byteorder.h | 8 +++--- | ||
44 | arch/powerpc/include/asm/io.h | 20 +++++++-------- | ||
45 | arch/powerpc/include/asm/iopin_8260.h | 40 ++++++++++++++--------------- | ||
46 | arch/powerpc/include/asm/iopin_8xx.h | 48 +++++++++++++++++------------------ | ||
47 | arch/sparc/include/asm/irq.h | 4 +-- | ||
48 | arch/sparc/include/asm/psr.h | 6 ++--- | ||
49 | arch/sparc/include/asm/srmmu.h | 30 +++++++++++----------- | ||
50 | include/mpc8260.h | 2 +- | ||
51 | 14 files changed, 125 insertions(+), 133 deletions(-) | ||
52 | |||
53 | diff --git a/arch/blackfin/include/asm/delay.h b/arch/blackfin/include/asm/delay.h | ||
54 | index 97401a7..f146efd 100644 | ||
55 | --- a/arch/blackfin/include/asm/delay.h | ||
56 | +++ b/arch/blackfin/include/asm/delay.h | ||
57 | @@ -16,7 +16,7 @@ | ||
58 | * Delay routines, using a pre-computed "loops_per_second" value. | ||
59 | */ | ||
60 | |||
61 | -extern __inline__ void __delay(unsigned long loops) | ||
62 | +static __inline__ void __delay(unsigned long loops) | ||
63 | { | ||
64 | __asm__ __volatile__("1:\t%0 += -1;\n\t" | ||
65 | "cc = %0 == 0;\n\t" | ||
66 | @@ -31,7 +31,7 @@ extern __inline__ void __delay(unsigned long loops) | ||
67 | * first constant multiplications gets optimized away if the delay is | ||
68 | * a constant) | ||
69 | */ | ||
70 | -extern __inline__ void __udelay(unsigned long usecs) | ||
71 | +static __inline__ void __udelay(unsigned long usecs) | ||
72 | { | ||
73 | __delay(usecs); | ||
74 | } | ||
75 | diff --git a/arch/m68k/include/asm/bitops.h b/arch/m68k/include/asm/bitops.h | ||
76 | index f9c434b..6b79a0d 100644 | ||
77 | --- a/arch/m68k/include/asm/bitops.h | ||
78 | +++ b/arch/m68k/include/asm/bitops.h | ||
79 | @@ -10,21 +10,20 @@ | ||
80 | extern void set_bit(int nr, volatile void *addr); | ||
81 | extern void clear_bit(int nr, volatile void *addr); | ||
82 | extern void change_bit(int nr, volatile void *addr); | ||
83 | -extern int test_and_set_bit(int nr, volatile void *addr); | ||
84 | extern int test_and_clear_bit(int nr, volatile void *addr); | ||
85 | extern int test_and_change_bit(int nr, volatile void *addr); | ||
86 | |||
87 | #ifdef __KERNEL__ | ||
88 | |||
89 | |||
90 | -extern inline int test_bit(int nr, __const__ volatile void *addr) | ||
91 | +static inline int test_bit(int nr, __const__ volatile void *addr) | ||
92 | { | ||
93 | __const__ unsigned int *p = (__const__ unsigned int *) addr; | ||
94 | |||
95 | return (p[nr >> 5] & (1UL << (nr & 31))) != 0; | ||
96 | } | ||
97 | |||
98 | -extern inline int test_and_set_bit(int nr, volatile void *vaddr) | ||
99 | +static inline int test_and_set_bit(int nr, volatile void *vaddr) | ||
100 | { | ||
101 | char retval; | ||
102 | |||
103 | diff --git a/arch/m68k/include/asm/byteorder.h b/arch/m68k/include/asm/byteorder.h | ||
104 | index 908a99b..7244b75 100644 | ||
105 | --- a/arch/m68k/include/asm/byteorder.h | ||
106 | +++ b/arch/m68k/include/asm/byteorder.h | ||
107 | @@ -22,25 +22,25 @@ | ||
108 | (((__u32)(x) & (__u32)0x00ff0000UL) >> 8) | \ | ||
109 | (((__u32)(x)) >> 24) )) | ||
110 | |||
111 | -extern __inline__ unsigned ld_le16(const volatile unsigned short *addr) | ||
112 | +static __inline__ unsigned ld_le16(const volatile unsigned short *addr) | ||
113 | { | ||
114 | unsigned result = *addr; | ||
115 | return __sw16(result); | ||
116 | } | ||
117 | |||
118 | -extern __inline__ void st_le16(volatile unsigned short *addr, | ||
119 | +static __inline__ void st_le16(volatile unsigned short *addr, | ||
120 | const unsigned val) | ||
121 | { | ||
122 | *addr = __sw16(val); | ||
123 | } | ||
124 | |||
125 | -extern __inline__ unsigned ld_le32(const volatile unsigned *addr) | ||
126 | +static __inline__ unsigned ld_le32(const volatile unsigned *addr) | ||
127 | { | ||
128 | unsigned result = *addr; | ||
129 | return __sw32(result); | ||
130 | } | ||
131 | |||
132 | -extern __inline__ void st_le32(volatile unsigned *addr, const unsigned val) | ||
133 | +static __inline__ void st_le32(volatile unsigned *addr, const unsigned val) | ||
134 | { | ||
135 | *addr = __sw32(val); | ||
136 | } | ||
137 | diff --git a/arch/m68k/include/asm/io.h b/arch/m68k/include/asm/io.h | ||
138 | index 2d2a519..384308b 100644 | ||
139 | --- a/arch/m68k/include/asm/io.h | ||
140 | +++ b/arch/m68k/include/asm/io.h | ||
141 | @@ -67,28 +67,28 @@ | ||
142 | |||
143 | #define mb() __asm__ __volatile__ ("" : : : "memory") | ||
144 | |||
145 | -extern inline void _insb(volatile u8 * port, void *buf, int ns) | ||
146 | +static inline void _insb(volatile u8 * port, void *buf, int ns) | ||
147 | { | ||
148 | u8 *data = (u8 *) buf; | ||
149 | while (ns--) | ||
150 | *data++ = *port; | ||
151 | } | ||
152 | |||
153 | -extern inline void _outsb(volatile u8 * port, const void *buf, int ns) | ||
154 | +static inline void _outsb(volatile u8 * port, const void *buf, int ns) | ||
155 | { | ||
156 | u8 *data = (u8 *) buf; | ||
157 | while (ns--) | ||
158 | *port = *data++; | ||
159 | } | ||
160 | |||
161 | -extern inline void _insw(volatile u16 * port, void *buf, int ns) | ||
162 | +static inline void _insw(volatile u16 * port, void *buf, int ns) | ||
163 | { | ||
164 | u16 *data = (u16 *) buf; | ||
165 | while (ns--) | ||
166 | *data++ = __sw16(*port); | ||
167 | } | ||
168 | |||
169 | -extern inline void _outsw(volatile u16 * port, const void *buf, int ns) | ||
170 | +static inline void _outsw(volatile u16 * port, const void *buf, int ns) | ||
171 | { | ||
172 | u16 *data = (u16 *) buf; | ||
173 | while (ns--) { | ||
174 | @@ -97,14 +97,14 @@ extern inline void _outsw(volatile u16 * port, const void *buf, int ns) | ||
175 | } | ||
176 | } | ||
177 | |||
178 | -extern inline void _insl(volatile u32 * port, void *buf, int nl) | ||
179 | +static inline void _insl(volatile u32 * port, void *buf, int nl) | ||
180 | { | ||
181 | u32 *data = (u32 *) buf; | ||
182 | while (nl--) | ||
183 | *data++ = __sw32(*port); | ||
184 | } | ||
185 | |||
186 | -extern inline void _outsl(volatile u32 * port, const void *buf, int nl) | ||
187 | +static inline void _outsl(volatile u32 * port, const void *buf, int nl) | ||
188 | { | ||
189 | u32 *data = (u32 *) buf; | ||
190 | while (nl--) { | ||
191 | @@ -113,14 +113,14 @@ extern inline void _outsl(volatile u32 * port, const void *buf, int nl) | ||
192 | } | ||
193 | } | ||
194 | |||
195 | -extern inline void _insw_ns(volatile u16 * port, void *buf, int ns) | ||
196 | +static inline void _insw_ns(volatile u16 * port, void *buf, int ns) | ||
197 | { | ||
198 | u16 *data = (u16 *) buf; | ||
199 | while (ns--) | ||
200 | *data++ = *port; | ||
201 | } | ||
202 | |||
203 | -extern inline void _outsw_ns(volatile u16 * port, const void *buf, int ns) | ||
204 | +static inline void _outsw_ns(volatile u16 * port, const void *buf, int ns) | ||
205 | { | ||
206 | u16 *data = (u16 *) buf; | ||
207 | while (ns--) { | ||
208 | @@ -128,14 +128,14 @@ extern inline void _outsw_ns(volatile u16 * port, const void *buf, int ns) | ||
209 | } | ||
210 | } | ||
211 | |||
212 | -extern inline void _insl_ns(volatile u32 * port, void *buf, int nl) | ||
213 | +static inline void _insl_ns(volatile u32 * port, void *buf, int nl) | ||
214 | { | ||
215 | u32 *data = (u32 *) buf; | ||
216 | while (nl--) | ||
217 | *data++ = *port; | ||
218 | } | ||
219 | |||
220 | -extern inline void _outsl_ns(volatile u32 * port, const void *buf, int nl) | ||
221 | +static inline void _outsl_ns(volatile u32 * port, const void *buf, int nl) | ||
222 | { | ||
223 | u32 *data = (u32 *) buf; | ||
224 | while (nl--) { | ||
225 | @@ -159,52 +159,52 @@ extern inline void _outsl_ns(volatile u32 * port, const void *buf, int nl) | ||
226 | /* | ||
227 | * 8, 16 and 32 bit, big and little endian I/O operations, with barrier. | ||
228 | */ | ||
229 | -extern inline int in_8(volatile u8 * addr) | ||
230 | +static inline int in_8(volatile u8 * addr) | ||
231 | { | ||
232 | return (int)*addr; | ||
233 | } | ||
234 | |||
235 | -extern inline void out_8(volatile u8 * addr, int val) | ||
236 | +static inline void out_8(volatile u8 * addr, int val) | ||
237 | { | ||
238 | *addr = (u8) val; | ||
239 | } | ||
240 | |||
241 | -extern inline int in_le16(volatile u16 * addr) | ||
242 | +static inline int in_le16(volatile u16 * addr) | ||
243 | { | ||
244 | return __sw16(*addr); | ||
245 | } | ||
246 | |||
247 | -extern inline int in_be16(volatile u16 * addr) | ||
248 | +static inline int in_be16(volatile u16 * addr) | ||
249 | { | ||
250 | return (*addr & 0xFFFF); | ||
251 | } | ||
252 | |||
253 | -extern inline void out_le16(volatile u16 * addr, int val) | ||
254 | +static inline void out_le16(volatile u16 * addr, int val) | ||
255 | { | ||
256 | *addr = __sw16(val); | ||
257 | } | ||
258 | |||
259 | -extern inline void out_be16(volatile u16 * addr, int val) | ||
260 | +static inline void out_be16(volatile u16 * addr, int val) | ||
261 | { | ||
262 | *addr = (u16) val; | ||
263 | } | ||
264 | |||
265 | -extern inline unsigned in_le32(volatile u32 * addr) | ||
266 | +static inline unsigned in_le32(volatile u32 * addr) | ||
267 | { | ||
268 | return __sw32(*addr); | ||
269 | } | ||
270 | |||
271 | -extern inline unsigned in_be32(volatile u32 * addr) | ||
272 | +static inline unsigned in_be32(volatile u32 * addr) | ||
273 | { | ||
274 | return (*addr); | ||
275 | } | ||
276 | |||
277 | -extern inline void out_le32(volatile unsigned *addr, int val) | ||
278 | +static inline void out_le32(volatile unsigned *addr, int val) | ||
279 | { | ||
280 | *addr = __sw32(val); | ||
281 | } | ||
282 | |||
283 | -extern inline void out_be32(volatile unsigned *addr, int val) | ||
284 | +static inline void out_be32(volatile unsigned *addr, int val) | ||
285 | { | ||
286 | *addr = val; | ||
287 | } | ||
288 | diff --git a/arch/powerpc/include/asm/atomic.h b/arch/powerpc/include/asm/atomic.h | ||
289 | index 43a2bb2..87efcca 100644 | ||
290 | --- a/arch/powerpc/include/asm/atomic.h | ||
291 | +++ b/arch/powerpc/include/asm/atomic.h | ||
292 | @@ -19,7 +19,7 @@ typedef struct { int counter; } atomic_t; | ||
293 | extern void atomic_clear_mask(unsigned long mask, unsigned long *addr); | ||
294 | extern void atomic_set_mask(unsigned long mask, unsigned long *addr); | ||
295 | |||
296 | -extern __inline__ int atomic_add_return(int a, atomic_t *v) | ||
297 | +static __inline__ int atomic_add_return(int a, atomic_t *v) | ||
298 | { | ||
299 | int t; | ||
300 | |||
301 | @@ -35,7 +35,7 @@ extern __inline__ int atomic_add_return(int a, atomic_t *v) | ||
302 | return t; | ||
303 | } | ||
304 | |||
305 | -extern __inline__ int atomic_sub_return(int a, atomic_t *v) | ||
306 | +static __inline__ int atomic_sub_return(int a, atomic_t *v) | ||
307 | { | ||
308 | int t; | ||
309 | |||
310 | @@ -51,7 +51,7 @@ extern __inline__ int atomic_sub_return(int a, atomic_t *v) | ||
311 | return t; | ||
312 | } | ||
313 | |||
314 | -extern __inline__ int atomic_inc_return(atomic_t *v) | ||
315 | +static __inline__ int atomic_inc_return(atomic_t *v) | ||
316 | { | ||
317 | int t; | ||
318 | |||
319 | @@ -67,7 +67,7 @@ extern __inline__ int atomic_inc_return(atomic_t *v) | ||
320 | return t; | ||
321 | } | ||
322 | |||
323 | -extern __inline__ int atomic_dec_return(atomic_t *v) | ||
324 | +static __inline__ int atomic_dec_return(atomic_t *v) | ||
325 | { | ||
326 | int t; | ||
327 | |||
328 | diff --git a/arch/powerpc/include/asm/bitops.h b/arch/powerpc/include/asm/bitops.h | ||
329 | index a6bcf3c..986ca96 100644 | ||
330 | --- a/arch/powerpc/include/asm/bitops.h | ||
331 | +++ b/arch/powerpc/include/asm/bitops.h | ||
332 | @@ -7,13 +7,6 @@ | ||
333 | |||
334 | #include <asm/byteorder.h> | ||
335 | |||
336 | -extern void set_bit(int nr, volatile void *addr); | ||
337 | -extern void clear_bit(int nr, volatile void *addr); | ||
338 | -extern void change_bit(int nr, volatile void *addr); | ||
339 | -extern int test_and_set_bit(int nr, volatile void *addr); | ||
340 | -extern int test_and_clear_bit(int nr, volatile void *addr); | ||
341 | -extern int test_and_change_bit(int nr, volatile void *addr); | ||
342 | - | ||
343 | /* | ||
344 | * Arguably these bit operations don't imply any memory barrier or | ||
345 | * SMP ordering, but in fact a lot of drivers expect them to imply | ||
346 | @@ -34,7 +27,7 @@ extern int test_and_change_bit(int nr, volatile void *addr); | ||
347 | * These used to be if'd out here because using : "cc" as a constraint | ||
348 | * resulted in errors from egcs. Things may be OK with gcc-2.95. | ||
349 | */ | ||
350 | -extern __inline__ void set_bit(int nr, volatile void * addr) | ||
351 | +static __inline__ void set_bit(int nr, volatile void * addr) | ||
352 | { | ||
353 | unsigned long old; | ||
354 | unsigned long mask = 1 << (nr & 0x1f); | ||
355 | @@ -51,7 +44,7 @@ extern __inline__ void set_bit(int nr, volatile void * addr) | ||
356 | : "cc" ); | ||
357 | } | ||
358 | |||
359 | -extern __inline__ void clear_bit(int nr, volatile void *addr) | ||
360 | +static __inline__ void clear_bit(int nr, volatile void *addr) | ||
361 | { | ||
362 | unsigned long old; | ||
363 | unsigned long mask = 1 << (nr & 0x1f); | ||
364 | @@ -68,7 +61,7 @@ extern __inline__ void clear_bit(int nr, volatile void *addr) | ||
365 | : "cc"); | ||
366 | } | ||
367 | |||
368 | -extern __inline__ void change_bit(int nr, volatile void *addr) | ||
369 | +static __inline__ void change_bit(int nr, volatile void *addr) | ||
370 | { | ||
371 | unsigned long old; | ||
372 | unsigned long mask = 1 << (nr & 0x1f); | ||
373 | @@ -85,7 +78,7 @@ extern __inline__ void change_bit(int nr, volatile void *addr) | ||
374 | : "cc"); | ||
375 | } | ||
376 | |||
377 | -extern __inline__ int test_and_set_bit(int nr, volatile void *addr) | ||
378 | +static __inline__ int test_and_set_bit(int nr, volatile void *addr) | ||
379 | { | ||
380 | unsigned int old, t; | ||
381 | unsigned int mask = 1 << (nr & 0x1f); | ||
382 | @@ -104,7 +97,7 @@ extern __inline__ int test_and_set_bit(int nr, volatile void *addr) | ||
383 | return (old & mask) != 0; | ||
384 | } | ||
385 | |||
386 | -extern __inline__ int test_and_clear_bit(int nr, volatile void *addr) | ||
387 | +static __inline__ int test_and_clear_bit(int nr, volatile void *addr) | ||
388 | { | ||
389 | unsigned int old, t; | ||
390 | unsigned int mask = 1 << (nr & 0x1f); | ||
391 | @@ -123,7 +116,7 @@ extern __inline__ int test_and_clear_bit(int nr, volatile void *addr) | ||
392 | return (old & mask) != 0; | ||
393 | } | ||
394 | |||
395 | -extern __inline__ int test_and_change_bit(int nr, volatile void *addr) | ||
396 | +static __inline__ int test_and_change_bit(int nr, volatile void *addr) | ||
397 | { | ||
398 | unsigned int old, t; | ||
399 | unsigned int mask = 1 << (nr & 0x1f); | ||
400 | @@ -143,7 +136,7 @@ extern __inline__ int test_and_change_bit(int nr, volatile void *addr) | ||
401 | } | ||
402 | #endif /* __INLINE_BITOPS */ | ||
403 | |||
404 | -extern __inline__ int test_bit(int nr, __const__ volatile void *addr) | ||
405 | +static __inline__ int test_bit(int nr, __const__ volatile void *addr) | ||
406 | { | ||
407 | __const__ unsigned int *p = (__const__ unsigned int *) addr; | ||
408 | |||
409 | @@ -152,7 +145,7 @@ extern __inline__ int test_bit(int nr, __const__ volatile void *addr) | ||
410 | |||
411 | /* Return the bit position of the most significant 1 bit in a word */ | ||
412 | /* - the result is undefined when x == 0 */ | ||
413 | -extern __inline__ int __ilog2(unsigned int x) | ||
414 | +static __inline__ int __ilog2(unsigned int x) | ||
415 | { | ||
416 | int lz; | ||
417 | |||
418 | @@ -160,7 +153,7 @@ extern __inline__ int __ilog2(unsigned int x) | ||
419 | return 31 - lz; | ||
420 | } | ||
421 | |||
422 | -extern __inline__ int ffz(unsigned int x) | ||
423 | +static __inline__ int ffz(unsigned int x) | ||
424 | { | ||
425 | if ((x = ~x) == 0) | ||
426 | return 32; | ||
427 | @@ -226,7 +219,7 @@ static inline int ffs64(u64 x) | ||
428 | * the libc and compiler builtin ffs routines, therefore | ||
429 | * differs in spirit from the above ffz (man ffs). | ||
430 | */ | ||
431 | -extern __inline__ int ffs(int x) | ||
432 | +static __inline__ int ffs(int x) | ||
433 | { | ||
434 | return __ilog2(x & -x) + 1; | ||
435 | } | ||
436 | @@ -250,7 +243,7 @@ extern __inline__ int ffs(int x) | ||
437 | #define find_first_zero_bit(addr, size) \ | ||
438 | find_next_zero_bit((addr), (size), 0) | ||
439 | |||
440 | -extern __inline__ unsigned long find_next_zero_bit(void * addr, | ||
441 | +static __inline__ unsigned long find_next_zero_bit(void * addr, | ||
442 | unsigned long size, unsigned long offset) | ||
443 | { | ||
444 | unsigned int * p = ((unsigned int *) addr) + (offset >> 5); | ||
445 | @@ -298,7 +291,7 @@ found_middle: | ||
446 | #define ext2_clear_bit(nr, addr) test_and_clear_bit((nr) ^ 0x18, addr) | ||
447 | |||
448 | #else | ||
449 | -extern __inline__ int ext2_set_bit(int nr, void * addr) | ||
450 | +static __inline__ int ext2_set_bit(int nr, void * addr) | ||
451 | { | ||
452 | int mask; | ||
453 | unsigned char *ADDR = (unsigned char *) addr; | ||
454 | @@ -311,7 +304,7 @@ extern __inline__ int ext2_set_bit(int nr, void * addr) | ||
455 | return oldbit; | ||
456 | } | ||
457 | |||
458 | -extern __inline__ int ext2_clear_bit(int nr, void * addr) | ||
459 | +static __inline__ int ext2_clear_bit(int nr, void * addr) | ||
460 | { | ||
461 | int mask; | ||
462 | unsigned char *ADDR = (unsigned char *) addr; | ||
463 | @@ -325,7 +318,7 @@ extern __inline__ int ext2_clear_bit(int nr, void * addr) | ||
464 | } | ||
465 | #endif /* __KERNEL__ */ | ||
466 | |||
467 | -extern __inline__ int ext2_test_bit(int nr, __const__ void * addr) | ||
468 | +static __inline__ int ext2_test_bit(int nr, __const__ void * addr) | ||
469 | { | ||
470 | __const__ unsigned char *ADDR = (__const__ unsigned char *) addr; | ||
471 | |||
472 | diff --git a/arch/powerpc/include/asm/byteorder.h b/arch/powerpc/include/asm/byteorder.h | ||
473 | index 3f5bcf6..f731d18 100644 | ||
474 | --- a/arch/powerpc/include/asm/byteorder.h | ||
475 | +++ b/arch/powerpc/include/asm/byteorder.h | ||
476 | @@ -5,7 +5,7 @@ | ||
477 | |||
478 | #ifdef __GNUC__ | ||
479 | |||
480 | -extern __inline__ unsigned ld_le16(const volatile unsigned short *addr) | ||
481 | +static __inline__ unsigned ld_le16(const volatile unsigned short *addr) | ||
482 | { | ||
483 | unsigned val; | ||
484 | |||
485 | @@ -13,12 +13,12 @@ extern __inline__ unsigned ld_le16(const volatile unsigned short *addr) | ||
486 | return val; | ||
487 | } | ||
488 | |||
489 | -extern __inline__ void st_le16(volatile unsigned short *addr, const unsigned val) | ||
490 | +static __inline__ void st_le16(volatile unsigned short *addr, const unsigned val) | ||
491 | { | ||
492 | __asm__ __volatile__ ("sthbrx %1,0,%2" : "=m" (*addr) : "r" (val), "r" (addr)); | ||
493 | } | ||
494 | |||
495 | -extern __inline__ unsigned ld_le32(const volatile unsigned *addr) | ||
496 | +static __inline__ unsigned ld_le32(const volatile unsigned *addr) | ||
497 | { | ||
498 | unsigned val; | ||
499 | |||
500 | @@ -26,7 +26,7 @@ extern __inline__ unsigned ld_le32(const volatile unsigned *addr) | ||
501 | return val; | ||
502 | } | ||
503 | |||
504 | -extern __inline__ void st_le32(volatile unsigned *addr, const unsigned val) | ||
505 | +static __inline__ void st_le32(volatile unsigned *addr, const unsigned val) | ||
506 | { | ||
507 | __asm__ __volatile__ ("stwbrx %1,0,%2" : "=m" (*addr) : "r" (val), "r" (addr)); | ||
508 | } | ||
509 | diff --git a/arch/powerpc/include/asm/io.h b/arch/powerpc/include/asm/io.h | ||
510 | index a5257e9..a54fc46 100644 | ||
511 | --- a/arch/powerpc/include/asm/io.h | ||
512 | +++ b/arch/powerpc/include/asm/io.h | ||
513 | @@ -163,7 +163,7 @@ static inline void __raw_writel(unsigned int v, volatile void __iomem *addr) | ||
514 | * is actually performed (i.e. the data has come back) before we start | ||
515 | * executing any following instructions. | ||
516 | */ | ||
517 | -extern inline u8 in_8(const volatile unsigned char __iomem *addr) | ||
518 | +static inline u8 in_8(const volatile unsigned char __iomem *addr) | ||
519 | { | ||
520 | u8 ret; | ||
521 | |||
522 | @@ -174,7 +174,7 @@ extern inline u8 in_8(const volatile unsigned char __iomem *addr) | ||
523 | return ret; | ||
524 | } | ||
525 | |||
526 | -extern inline void out_8(volatile unsigned char __iomem *addr, u8 val) | ||
527 | +static inline void out_8(volatile unsigned char __iomem *addr, u8 val) | ||
528 | { | ||
529 | __asm__ __volatile__("sync;\n" | ||
530 | "stb%U0%X0 %1,%0;\n" | ||
531 | @@ -182,7 +182,7 @@ extern inline void out_8(volatile unsigned char __iomem *addr, u8 val) | ||
532 | : "r" (val)); | ||
533 | } | ||
534 | |||
535 | -extern inline u16 in_le16(const volatile unsigned short __iomem *addr) | ||
536 | +static inline u16 in_le16(const volatile unsigned short __iomem *addr) | ||
537 | { | ||
538 | u16 ret; | ||
539 | |||
540 | @@ -193,7 +193,7 @@ extern inline u16 in_le16(const volatile unsigned short __iomem *addr) | ||
541 | return ret; | ||
542 | } | ||
543 | |||
544 | -extern inline u16 in_be16(const volatile unsigned short __iomem *addr) | ||
545 | +static inline u16 in_be16(const volatile unsigned short __iomem *addr) | ||
546 | { | ||
547 | u16 ret; | ||
548 | |||
549 | @@ -203,18 +203,18 @@ extern inline u16 in_be16(const volatile unsigned short __iomem *addr) | ||
550 | return ret; | ||
551 | } | ||
552 | |||
553 | -extern inline void out_le16(volatile unsigned short __iomem *addr, u16 val) | ||
554 | +static inline void out_le16(volatile unsigned short __iomem *addr, u16 val) | ||
555 | { | ||
556 | __asm__ __volatile__("sync; sthbrx %1,0,%2" : "=m" (*addr) : | ||
557 | "r" (val), "r" (addr)); | ||
558 | } | ||
559 | |||
560 | -extern inline void out_be16(volatile unsigned short __iomem *addr, u16 val) | ||
561 | +static inline void out_be16(volatile unsigned short __iomem *addr, u16 val) | ||
562 | { | ||
563 | __asm__ __volatile__("sync; sth%U0%X0 %1,%0" : "=m" (*addr) : "r" (val)); | ||
564 | } | ||
565 | |||
566 | -extern inline u32 in_le32(const volatile unsigned __iomem *addr) | ||
567 | +static inline u32 in_le32(const volatile unsigned __iomem *addr) | ||
568 | { | ||
569 | u32 ret; | ||
570 | |||
571 | @@ -225,7 +225,7 @@ extern inline u32 in_le32(const volatile unsigned __iomem *addr) | ||
572 | return ret; | ||
573 | } | ||
574 | |||
575 | -extern inline u32 in_be32(const volatile unsigned __iomem *addr) | ||
576 | +static inline u32 in_be32(const volatile unsigned __iomem *addr) | ||
577 | { | ||
578 | u32 ret; | ||
579 | |||
580 | @@ -235,13 +235,13 @@ extern inline u32 in_be32(const volatile unsigned __iomem *addr) | ||
581 | return ret; | ||
582 | } | ||
583 | |||
584 | -extern inline void out_le32(volatile unsigned __iomem *addr, u32 val) | ||
585 | +static inline void out_le32(volatile unsigned __iomem *addr, u32 val) | ||
586 | { | ||
587 | __asm__ __volatile__("sync; stwbrx %1,0,%2" : "=m" (*addr) : | ||
588 | "r" (val), "r" (addr)); | ||
589 | } | ||
590 | |||
591 | -extern inline void out_be32(volatile unsigned __iomem *addr, u32 val) | ||
592 | +static inline void out_be32(volatile unsigned __iomem *addr, u32 val) | ||
593 | { | ||
594 | __asm__ __volatile__("sync; stw%U0%X0 %1,%0" : "=m" (*addr) : "r" (val)); | ||
595 | } | ||
596 | diff --git a/arch/powerpc/include/asm/iopin_8260.h b/arch/powerpc/include/asm/iopin_8260.h | ||
597 | index 619f3a8..617584d 100644 | ||
598 | --- a/arch/powerpc/include/asm/iopin_8260.h | ||
599 | +++ b/arch/powerpc/include/asm/iopin_8260.h | ||
600 | @@ -23,140 +23,140 @@ iopin_t; | ||
601 | #define IOPIN_PORTC 2 | ||
602 | #define IOPIN_PORTD 3 | ||
603 | |||
604 | -extern __inline__ void | ||
605 | +static __inline__ void | ||
606 | iopin_set_high(iopin_t *iopin) | ||
607 | { | ||
608 | volatile uint *datp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdata; | ||
609 | datp[iopin->port * 8] |= (1 << (31 - iopin->pin)); | ||
610 | } | ||
611 | |||
612 | -extern __inline__ void | ||
613 | +static __inline__ void | ||
614 | iopin_set_low(iopin_t *iopin) | ||
615 | { | ||
616 | volatile uint *datp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdata; | ||
617 | datp[iopin->port * 8] &= ~(1 << (31 - iopin->pin)); | ||
618 | } | ||
619 | |||
620 | -extern __inline__ uint | ||
621 | +static __inline__ uint | ||
622 | iopin_is_high(iopin_t *iopin) | ||
623 | { | ||
624 | volatile uint *datp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdata; | ||
625 | return (datp[iopin->port * 8] >> (31 - iopin->pin)) & 1; | ||
626 | } | ||
627 | |||
628 | -extern __inline__ uint | ||
629 | +static __inline__ uint | ||
630 | iopin_is_low(iopin_t *iopin) | ||
631 | { | ||
632 | volatile uint *datp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdata; | ||
633 | return ((datp[iopin->port * 8] >> (31 - iopin->pin)) & 1) ^ 1; | ||
634 | } | ||
635 | |||
636 | -extern __inline__ void | ||
637 | +static __inline__ void | ||
638 | iopin_set_out(iopin_t *iopin) | ||
639 | { | ||
640 | volatile uint *dirp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdira; | ||
641 | dirp[iopin->port * 8] |= (1 << (31 - iopin->pin)); | ||
642 | } | ||
643 | |||
644 | -extern __inline__ void | ||
645 | +static __inline__ void | ||
646 | iopin_set_in(iopin_t *iopin) | ||
647 | { | ||
648 | volatile uint *dirp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdira; | ||
649 | dirp[iopin->port * 8] &= ~(1 << (31 - iopin->pin)); | ||
650 | } | ||
651 | |||
652 | -extern __inline__ uint | ||
653 | +static __inline__ uint | ||
654 | iopin_is_out(iopin_t *iopin) | ||
655 | { | ||
656 | volatile uint *dirp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdira; | ||
657 | return (dirp[iopin->port * 8] >> (31 - iopin->pin)) & 1; | ||
658 | } | ||
659 | |||
660 | -extern __inline__ uint | ||
661 | +static __inline__ uint | ||
662 | iopin_is_in(iopin_t *iopin) | ||
663 | { | ||
664 | volatile uint *dirp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdira; | ||
665 | return ((dirp[iopin->port * 8] >> (31 - iopin->pin)) & 1) ^ 1; | ||
666 | } | ||
667 | |||
668 | -extern __inline__ void | ||
669 | +static __inline__ void | ||
670 | iopin_set_odr(iopin_t *iopin) | ||
671 | { | ||
672 | volatile uint *odrp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_podra; | ||
673 | odrp[iopin->port * 8] |= (1 << (31 - iopin->pin)); | ||
674 | } | ||
675 | |||
676 | -extern __inline__ void | ||
677 | +static __inline__ void | ||
678 | iopin_set_act(iopin_t *iopin) | ||
679 | { | ||
680 | volatile uint *odrp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_podra; | ||
681 | odrp[iopin->port * 8] &= ~(1 << (31 - iopin->pin)); | ||
682 | } | ||
683 | |||
684 | -extern __inline__ uint | ||
685 | +static __inline__ uint | ||
686 | iopin_is_odr(iopin_t *iopin) | ||
687 | { | ||
688 | volatile uint *odrp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_podra; | ||
689 | return (odrp[iopin->port * 8] >> (31 - iopin->pin)) & 1; | ||
690 | } | ||
691 | |||
692 | -extern __inline__ uint | ||
693 | +static __inline__ uint | ||
694 | iopin_is_act(iopin_t *iopin) | ||
695 | { | ||
696 | volatile uint *odrp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_podra; | ||
697 | return ((odrp[iopin->port * 8] >> (31 - iopin->pin)) & 1) ^ 1; | ||
698 | } | ||
699 | |||
700 | -extern __inline__ void | ||
701 | +static __inline__ void | ||
702 | iopin_set_ded(iopin_t *iopin) | ||
703 | { | ||
704 | volatile uint *parp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_ppara; | ||
705 | parp[iopin->port * 8] |= (1 << (31 - iopin->pin)); | ||
706 | } | ||
707 | |||
708 | -extern __inline__ void | ||
709 | +static __inline__ void | ||
710 | iopin_set_gen(iopin_t *iopin) | ||
711 | { | ||
712 | volatile uint *parp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_ppara; | ||
713 | parp[iopin->port * 8] &= ~(1 << (31 - iopin->pin)); | ||
714 | } | ||
715 | |||
716 | -extern __inline__ uint | ||
717 | +static __inline__ uint | ||
718 | iopin_is_ded(iopin_t *iopin) | ||
719 | { | ||
720 | volatile uint *parp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_ppara; | ||
721 | return (parp[iopin->port * 8] >> (31 - iopin->pin)) & 1; | ||
722 | } | ||
723 | |||
724 | -extern __inline__ uint | ||
725 | +static __inline__ uint | ||
726 | iopin_is_gen(iopin_t *iopin) | ||
727 | { | ||
728 | volatile uint *parp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_ppara; | ||
729 | return ((parp[iopin->port * 8] >> (31 - iopin->pin)) & 1) ^ 1; | ||
730 | } | ||
731 | |||
732 | -extern __inline__ void | ||
733 | +static __inline__ void | ||
734 | iopin_set_opt2(iopin_t *iopin) | ||
735 | { | ||
736 | volatile uint *sorp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_psora; | ||
737 | sorp[iopin->port * 8] |= (1 << (31 - iopin->pin)); | ||
738 | } | ||
739 | |||
740 | -extern __inline__ void | ||
741 | +static __inline__ void | ||
742 | iopin_set_opt1(iopin_t *iopin) | ||
743 | { | ||
744 | volatile uint *sorp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_psora; | ||
745 | sorp[iopin->port * 8] &= ~(1 << (31 - iopin->pin)); | ||
746 | } | ||
747 | |||
748 | -extern __inline__ uint | ||
749 | +static __inline__ uint | ||
750 | iopin_is_opt2(iopin_t *iopin) | ||
751 | { | ||
752 | volatile uint *sorp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_psora; | ||
753 | return (sorp[iopin->port * 8] >> (31 - iopin->pin)) & 1; | ||
754 | } | ||
755 | |||
756 | -extern __inline__ uint | ||
757 | +static __inline__ uint | ||
758 | iopin_is_opt1(iopin_t *iopin) | ||
759 | { | ||
760 | volatile uint *sorp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_psora; | ||
761 | diff --git a/arch/powerpc/include/asm/iopin_8xx.h b/arch/powerpc/include/asm/iopin_8xx.h | ||
762 | index 0123baf..8db0fa2 100644 | ||
763 | --- a/arch/powerpc/include/asm/iopin_8xx.h | ||
764 | +++ b/arch/powerpc/include/asm/iopin_8xx.h | ||
765 | @@ -26,7 +26,7 @@ typedef struct { | ||
766 | #define IOPIN_PORTC 2 | ||
767 | #define IOPIN_PORTD 3 | ||
768 | |||
769 | -extern __inline__ void | ||
770 | +static __inline__ void | ||
771 | iopin_set_high(iopin_t *iopin) | ||
772 | { | ||
773 | if (iopin->port == IOPIN_PORTA) { | ||
774 | @@ -44,7 +44,7 @@ iopin_set_high(iopin_t *iopin) | ||
775 | } | ||
776 | } | ||
777 | |||
778 | -extern __inline__ void | ||
779 | +static __inline__ void | ||
780 | iopin_set_low(iopin_t *iopin) | ||
781 | { | ||
782 | if (iopin->port == IOPIN_PORTA) { | ||
783 | @@ -62,7 +62,7 @@ iopin_set_low(iopin_t *iopin) | ||
784 | } | ||
785 | } | ||
786 | |||
787 | -extern __inline__ uint | ||
788 | +static __inline__ uint | ||
789 | iopin_is_high(iopin_t *iopin) | ||
790 | { | ||
791 | if (iopin->port == IOPIN_PORTA) { | ||
792 | @@ -81,7 +81,7 @@ iopin_is_high(iopin_t *iopin) | ||
793 | return 0; | ||
794 | } | ||
795 | |||
796 | -extern __inline__ uint | ||
797 | +static __inline__ uint | ||
798 | iopin_is_low(iopin_t *iopin) | ||
799 | { | ||
800 | if (iopin->port == IOPIN_PORTA) { | ||
801 | @@ -100,7 +100,7 @@ iopin_is_low(iopin_t *iopin) | ||
802 | return 0; | ||
803 | } | ||
804 | |||
805 | -extern __inline__ void | ||
806 | +static __inline__ void | ||
807 | iopin_set_out(iopin_t *iopin) | ||
808 | { | ||
809 | if (iopin->port == IOPIN_PORTA) { | ||
810 | @@ -118,7 +118,7 @@ iopin_set_out(iopin_t *iopin) | ||
811 | } | ||
812 | } | ||
813 | |||
814 | -extern __inline__ void | ||
815 | +static __inline__ void | ||
816 | iopin_set_in(iopin_t *iopin) | ||
817 | { | ||
818 | if (iopin->port == IOPIN_PORTA) { | ||
819 | @@ -136,7 +136,7 @@ iopin_set_in(iopin_t *iopin) | ||
820 | } | ||
821 | } | ||
822 | |||
823 | -extern __inline__ uint | ||
824 | +static __inline__ uint | ||
825 | iopin_is_out(iopin_t *iopin) | ||
826 | { | ||
827 | if (iopin->port == IOPIN_PORTA) { | ||
828 | @@ -155,7 +155,7 @@ iopin_is_out(iopin_t *iopin) | ||
829 | return 0; | ||
830 | } | ||
831 | |||
832 | -extern __inline__ uint | ||
833 | +static __inline__ uint | ||
834 | iopin_is_in(iopin_t *iopin) | ||
835 | { | ||
836 | if (iopin->port == IOPIN_PORTA) { | ||
837 | @@ -174,7 +174,7 @@ iopin_is_in(iopin_t *iopin) | ||
838 | return 0; | ||
839 | } | ||
840 | |||
841 | -extern __inline__ void | ||
842 | +static __inline__ void | ||
843 | iopin_set_odr(iopin_t *iopin) | ||
844 | { | ||
845 | if (iopin->port == IOPIN_PORTA) { | ||
846 | @@ -186,7 +186,7 @@ iopin_set_odr(iopin_t *iopin) | ||
847 | } | ||
848 | } | ||
849 | |||
850 | -extern __inline__ void | ||
851 | +static __inline__ void | ||
852 | iopin_set_act(iopin_t *iopin) | ||
853 | { | ||
854 | if (iopin->port == IOPIN_PORTA) { | ||
855 | @@ -198,7 +198,7 @@ iopin_set_act(iopin_t *iopin) | ||
856 | } | ||
857 | } | ||
858 | |||
859 | -extern __inline__ uint | ||
860 | +static __inline__ uint | ||
861 | iopin_is_odr(iopin_t *iopin) | ||
862 | { | ||
863 | if (iopin->port == IOPIN_PORTA) { | ||
864 | @@ -211,7 +211,7 @@ iopin_is_odr(iopin_t *iopin) | ||
865 | return 0; | ||
866 | } | ||
867 | |||
868 | -extern __inline__ uint | ||
869 | +static __inline__ uint | ||
870 | iopin_is_act(iopin_t *iopin) | ||
871 | { | ||
872 | if (iopin->port == IOPIN_PORTA) { | ||
873 | @@ -224,7 +224,7 @@ iopin_is_act(iopin_t *iopin) | ||
874 | return 0; | ||
875 | } | ||
876 | |||
877 | -extern __inline__ void | ||
878 | +static __inline__ void | ||
879 | iopin_set_ded(iopin_t *iopin) | ||
880 | { | ||
881 | if (iopin->port == IOPIN_PORTA) { | ||
882 | @@ -242,7 +242,7 @@ iopin_set_ded(iopin_t *iopin) | ||
883 | } | ||
884 | } | ||
885 | |||
886 | -extern __inline__ void | ||
887 | +static __inline__ void | ||
888 | iopin_set_gen(iopin_t *iopin) | ||
889 | { | ||
890 | if (iopin->port == IOPIN_PORTA) { | ||
891 | @@ -260,7 +260,7 @@ iopin_set_gen(iopin_t *iopin) | ||
892 | } | ||
893 | } | ||
894 | |||
895 | -extern __inline__ uint | ||
896 | +static __inline__ uint | ||
897 | iopin_is_ded(iopin_t *iopin) | ||
898 | { | ||
899 | if (iopin->port == IOPIN_PORTA) { | ||
900 | @@ -279,7 +279,7 @@ iopin_is_ded(iopin_t *iopin) | ||
901 | return 0; | ||
902 | } | ||
903 | |||
904 | -extern __inline__ uint | ||
905 | +static __inline__ uint | ||
906 | iopin_is_gen(iopin_t *iopin) | ||
907 | { | ||
908 | if (iopin->port == IOPIN_PORTA) { | ||
909 | @@ -298,7 +298,7 @@ iopin_is_gen(iopin_t *iopin) | ||
910 | return 0; | ||
911 | } | ||
912 | |||
913 | -extern __inline__ void | ||
914 | +static __inline__ void | ||
915 | iopin_set_opt2(iopin_t *iopin) | ||
916 | { | ||
917 | if (iopin->port == IOPIN_PORTC) { | ||
918 | @@ -307,7 +307,7 @@ iopin_set_opt2(iopin_t *iopin) | ||
919 | } | ||
920 | } | ||
921 | |||
922 | -extern __inline__ void | ||
923 | +static __inline__ void | ||
924 | iopin_set_opt1(iopin_t *iopin) | ||
925 | { | ||
926 | if (iopin->port == IOPIN_PORTC) { | ||
927 | @@ -316,7 +316,7 @@ iopin_set_opt1(iopin_t *iopin) | ||
928 | } | ||
929 | } | ||
930 | |||
931 | -extern __inline__ uint | ||
932 | +static __inline__ uint | ||
933 | iopin_is_opt2(iopin_t *iopin) | ||
934 | { | ||
935 | if (iopin->port == IOPIN_PORTC) { | ||
936 | @@ -326,7 +326,7 @@ iopin_is_opt2(iopin_t *iopin) | ||
937 | return 0; | ||
938 | } | ||
939 | |||
940 | -extern __inline__ uint | ||
941 | +static __inline__ uint | ||
942 | iopin_is_opt1(iopin_t *iopin) | ||
943 | { | ||
944 | if (iopin->port == IOPIN_PORTC) { | ||
945 | @@ -336,7 +336,7 @@ iopin_is_opt1(iopin_t *iopin) | ||
946 | return 0; | ||
947 | } | ||
948 | |||
949 | -extern __inline__ void | ||
950 | +static __inline__ void | ||
951 | iopin_set_falledge(iopin_t *iopin) | ||
952 | { | ||
953 | if (iopin->port == IOPIN_PORTC) { | ||
954 | @@ -345,7 +345,7 @@ iopin_set_falledge(iopin_t *iopin) | ||
955 | } | ||
956 | } | ||
957 | |||
958 | -extern __inline__ void | ||
959 | +static __inline__ void | ||
960 | iopin_set_anyedge(iopin_t *iopin) | ||
961 | { | ||
962 | if (iopin->port == IOPIN_PORTC) { | ||
963 | @@ -354,7 +354,7 @@ iopin_set_anyedge(iopin_t *iopin) | ||
964 | } | ||
965 | } | ||
966 | |||
967 | -extern __inline__ uint | ||
968 | +static __inline__ uint | ||
969 | iopin_is_falledge(iopin_t *iopin) | ||
970 | { | ||
971 | if (iopin->port == IOPIN_PORTC) { | ||
972 | @@ -364,7 +364,7 @@ iopin_is_falledge(iopin_t *iopin) | ||
973 | return 0; | ||
974 | } | ||
975 | |||
976 | -extern __inline__ uint | ||
977 | +static __inline__ uint | ||
978 | iopin_is_anyedge(iopin_t *iopin) | ||
979 | { | ||
980 | if (iopin->port == IOPIN_PORTC) { | ||
981 | diff --git a/arch/sparc/include/asm/irq.h b/arch/sparc/include/asm/irq.h | ||
982 | index bbe0204..2faf7a0 100644 | ||
983 | --- a/arch/sparc/include/asm/irq.h | ||
984 | +++ b/arch/sparc/include/asm/irq.h | ||
985 | @@ -12,7 +12,7 @@ | ||
986 | #include <asm/psr.h> | ||
987 | |||
988 | /* Set SPARC Processor Interrupt Level */ | ||
989 | -extern inline void set_pil(unsigned int level) | ||
990 | +static inline void set_pil(unsigned int level) | ||
991 | { | ||
992 | unsigned int psr = get_psr(); | ||
993 | |||
994 | @@ -20,7 +20,7 @@ extern inline void set_pil(unsigned int level) | ||
995 | } | ||
996 | |||
997 | /* Get SPARC Processor Interrupt Level */ | ||
998 | -extern inline unsigned int get_pil(void) | ||
999 | +static inline unsigned int get_pil(void) | ||
1000 | { | ||
1001 | unsigned int psr = get_psr(); | ||
1002 | return (psr & PSR_PIL) >> PSR_PIL_OFS; | ||
1003 | diff --git a/arch/sparc/include/asm/psr.h b/arch/sparc/include/asm/psr.h | ||
1004 | index 70af8e0..a91bdc9 100644 | ||
1005 | --- a/arch/sparc/include/asm/psr.h | ||
1006 | +++ b/arch/sparc/include/asm/psr.h | ||
1007 | @@ -42,7 +42,7 @@ | ||
1008 | |||
1009 | #ifndef __ASSEMBLY__ | ||
1010 | /* Get the %psr register. */ | ||
1011 | -extern __inline__ unsigned int get_psr(void) | ||
1012 | +static __inline__ unsigned int get_psr(void) | ||
1013 | { | ||
1014 | unsigned int psr; | ||
1015 | __asm__ __volatile__("rd %%psr, %0\n\t" | ||
1016 | @@ -53,7 +53,7 @@ extern __inline__ unsigned int get_psr(void) | ||
1017 | return psr; | ||
1018 | } | ||
1019 | |||
1020 | -extern __inline__ void put_psr(unsigned int new_psr) | ||
1021 | +static __inline__ void put_psr(unsigned int new_psr) | ||
1022 | { | ||
1023 | __asm__ __volatile__("wr %0, 0x0, %%psr\n\t" "nop\n\t" "nop\n\t" "nop\n\t": /* no outputs */ | ||
1024 | :"r"(new_psr) | ||
1025 | @@ -67,7 +67,7 @@ extern __inline__ void put_psr(unsigned int new_psr) | ||
1026 | |||
1027 | extern unsigned int fsr_storage; | ||
1028 | |||
1029 | -extern __inline__ unsigned int get_fsr(void) | ||
1030 | +static __inline__ unsigned int get_fsr(void) | ||
1031 | { | ||
1032 | unsigned int fsr = 0; | ||
1033 | |||
1034 | diff --git a/arch/sparc/include/asm/srmmu.h b/arch/sparc/include/asm/srmmu.h | ||
1035 | index 74b1554..8da2f67 100644 | ||
1036 | --- a/arch/sparc/include/asm/srmmu.h | ||
1037 | +++ b/arch/sparc/include/asm/srmmu.h | ||
1038 | @@ -148,7 +148,7 @@ extern void *srmmu_nocache_pool; | ||
1039 | #define __nocache_fix(VADDR) __va(__nocache_pa(VADDR)) | ||
1040 | |||
1041 | /* Accessing the MMU control register. */ | ||
1042 | -extern __inline__ unsigned int srmmu_get_mmureg(void) | ||
1043 | +static __inline__ unsigned int srmmu_get_mmureg(void) | ||
1044 | { | ||
1045 | unsigned int retval; | ||
1046 | __asm__ __volatile__("lda [%%g0] %1, %0\n\t": | ||
1047 | @@ -156,14 +156,14 @@ extern __inline__ unsigned int srmmu_get_mmureg(void) | ||
1048 | return retval; | ||
1049 | } | ||
1050 | |||
1051 | -extern __inline__ void srmmu_set_mmureg(unsigned long regval) | ||
1052 | +static __inline__ void srmmu_set_mmureg(unsigned long regval) | ||
1053 | { | ||
1054 | __asm__ __volatile__("sta %0, [%%g0] %1\n\t"::"r"(regval), | ||
1055 | "i"(ASI_M_MMUREGS):"memory"); | ||
1056 | |||
1057 | } | ||
1058 | |||
1059 | -extern __inline__ void srmmu_set_ctable_ptr(unsigned long paddr) | ||
1060 | +static __inline__ void srmmu_set_ctable_ptr(unsigned long paddr) | ||
1061 | { | ||
1062 | paddr = ((paddr >> 4) & SRMMU_CTX_PMASK); | ||
1063 | __asm__ __volatile__("sta %0, [%1] %2\n\t"::"r"(paddr), | ||
1064 | @@ -171,7 +171,7 @@ extern __inline__ void srmmu_set_ctable_ptr(unsigned long paddr) | ||
1065 | "i"(ASI_M_MMUREGS):"memory"); | ||
1066 | } | ||
1067 | |||
1068 | -extern __inline__ unsigned long srmmu_get_ctable_ptr(void) | ||
1069 | +static __inline__ unsigned long srmmu_get_ctable_ptr(void) | ||
1070 | { | ||
1071 | unsigned int retval; | ||
1072 | |||
1073 | @@ -181,13 +181,13 @@ extern __inline__ unsigned long srmmu_get_ctable_ptr(void) | ||
1074 | return (retval & SRMMU_CTX_PMASK) << 4; | ||
1075 | } | ||
1076 | |||
1077 | -extern __inline__ void srmmu_set_context(int context) | ||
1078 | +static __inline__ void srmmu_set_context(int context) | ||
1079 | { | ||
1080 | __asm__ __volatile__("sta %0, [%1] %2\n\t"::"r"(context), | ||
1081 | "r"(SRMMU_CTX_REG), "i"(ASI_M_MMUREGS):"memory"); | ||
1082 | } | ||
1083 | |||
1084 | -extern __inline__ int srmmu_get_context(void) | ||
1085 | +static __inline__ int srmmu_get_context(void) | ||
1086 | { | ||
1087 | register int retval; | ||
1088 | __asm__ __volatile__("lda [%1] %2, %0\n\t": | ||
1089 | @@ -196,7 +196,7 @@ extern __inline__ int srmmu_get_context(void) | ||
1090 | return retval; | ||
1091 | } | ||
1092 | |||
1093 | -extern __inline__ unsigned int srmmu_get_fstatus(void) | ||
1094 | +static __inline__ unsigned int srmmu_get_fstatus(void) | ||
1095 | { | ||
1096 | unsigned int retval; | ||
1097 | |||
1098 | @@ -206,7 +206,7 @@ extern __inline__ unsigned int srmmu_get_fstatus(void) | ||
1099 | return retval; | ||
1100 | } | ||
1101 | |||
1102 | -extern __inline__ unsigned int srmmu_get_faddr(void) | ||
1103 | +static __inline__ unsigned int srmmu_get_faddr(void) | ||
1104 | { | ||
1105 | unsigned int retval; | ||
1106 | |||
1107 | @@ -217,7 +217,7 @@ extern __inline__ unsigned int srmmu_get_faddr(void) | ||
1108 | } | ||
1109 | |||
1110 | /* This is guaranteed on all SRMMU's. */ | ||
1111 | -extern __inline__ void srmmu_flush_whole_tlb(void) | ||
1112 | +static __inline__ void srmmu_flush_whole_tlb(void) | ||
1113 | { | ||
1114 | __asm__ __volatile__("sta %%g0, [%0] %1\n\t"::"r"(0x400), /* Flush entire TLB!! */ | ||
1115 | "i"(ASI_M_FLUSH_PROBE):"memory"); | ||
1116 | @@ -225,14 +225,14 @@ extern __inline__ void srmmu_flush_whole_tlb(void) | ||
1117 | } | ||
1118 | |||
1119 | /* These flush types are not available on all chips... */ | ||
1120 | -extern __inline__ void srmmu_flush_tlb_ctx(void) | ||
1121 | +static __inline__ void srmmu_flush_tlb_ctx(void) | ||
1122 | { | ||
1123 | __asm__ __volatile__("sta %%g0, [%0] %1\n\t"::"r"(0x300), /* Flush TLB ctx.. */ | ||
1124 | "i"(ASI_M_FLUSH_PROBE):"memory"); | ||
1125 | |||
1126 | } | ||
1127 | |||
1128 | -extern __inline__ void srmmu_flush_tlb_region(unsigned long addr) | ||
1129 | +static __inline__ void srmmu_flush_tlb_region(unsigned long addr) | ||
1130 | { | ||
1131 | addr &= SRMMU_PGDIR_MASK; | ||
1132 | __asm__ __volatile__("sta %%g0, [%0] %1\n\t"::"r"(addr | 0x200), /* Flush TLB region.. */ | ||
1133 | @@ -240,7 +240,7 @@ extern __inline__ void srmmu_flush_tlb_region(unsigned long addr) | ||
1134 | |||
1135 | } | ||
1136 | |||
1137 | -extern __inline__ void srmmu_flush_tlb_segment(unsigned long addr) | ||
1138 | +static __inline__ void srmmu_flush_tlb_segment(unsigned long addr) | ||
1139 | { | ||
1140 | addr &= SRMMU_REAL_PMD_MASK; | ||
1141 | __asm__ __volatile__("sta %%g0, [%0] %1\n\t"::"r"(addr | 0x100), /* Flush TLB segment.. */ | ||
1142 | @@ -248,7 +248,7 @@ extern __inline__ void srmmu_flush_tlb_segment(unsigned long addr) | ||
1143 | |||
1144 | } | ||
1145 | |||
1146 | -extern __inline__ void srmmu_flush_tlb_page(unsigned long page) | ||
1147 | +static __inline__ void srmmu_flush_tlb_page(unsigned long page) | ||
1148 | { | ||
1149 | page &= PAGE_MASK; | ||
1150 | __asm__ __volatile__("sta %%g0, [%0] %1\n\t"::"r"(page), /* Flush TLB page.. */ | ||
1151 | @@ -256,7 +256,7 @@ extern __inline__ void srmmu_flush_tlb_page(unsigned long page) | ||
1152 | |||
1153 | } | ||
1154 | |||
1155 | -extern __inline__ unsigned long srmmu_hwprobe(unsigned long vaddr) | ||
1156 | +static __inline__ unsigned long srmmu_hwprobe(unsigned long vaddr) | ||
1157 | { | ||
1158 | unsigned long retval; | ||
1159 | |||
1160 | @@ -268,7 +268,7 @@ extern __inline__ unsigned long srmmu_hwprobe(unsigned long vaddr) | ||
1161 | return retval; | ||
1162 | } | ||
1163 | |||
1164 | -extern __inline__ int srmmu_get_pte(unsigned long addr) | ||
1165 | +static __inline__ int srmmu_get_pte(unsigned long addr) | ||
1166 | { | ||
1167 | register unsigned long entry; | ||
1168 | |||
1169 | diff --git a/include/mpc8260.h b/include/mpc8260.h | ||
1170 | index 9980c74..75f1b0c 100644 | ||
1171 | --- a/include/mpc8260.h | ||
1172 | +++ b/include/mpc8260.h | ||
1173 | @@ -892,7 +892,7 @@ | ||
1174 | #define UPMC 3 | ||
1175 | |||
1176 | #if !defined(__ASSEMBLY__) && defined(CONFIG_WATCHDOG) | ||
1177 | -extern __inline__ void | ||
1178 | +static __inline__ void | ||
1179 | reset_8260_watchdog(volatile immap_t *immr) | ||
1180 | { | ||
1181 | immr->im_siu_conf.sc_swsr = 0x556c; | ||
1182 | -- | ||
1183 | 2.6.2 | ||
1184 | |||
diff --git a/meta/recipes-bsp/u-boot/u-boot_2015.10.bb b/meta/recipes-bsp/u-boot/u-boot_2015.10.bb deleted file mode 100644 index 2abfcfa921..0000000000 --- a/meta/recipes-bsp/u-boot/u-boot_2015.10.bb +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | require u-boot.inc | ||
2 | |||
3 | DEPENDS += "dtc-native" | ||
4 | |||
5 | # This revision corresponds to the tag "v2015.10" | ||
6 | # We use the revision in order to avoid having to fetch it from the | ||
7 | # repo during parse | ||
8 | SRCREV = "5ec0003b19cbdf06ccd6941237cbc0d1c3468e2d" | ||
9 | |||
10 | SRC_URI += " \ | ||
11 | file://0001-powerpc-cpu-u-boot-.lds-remove-_GLOBAL_OFFSET_TABLE_.patch \ | ||
12 | file://0002-image.c-Fix-non-Android-booting-with-ramdisk-and-or-.patch \ | ||
13 | file://0003-common-board_f-enable-setup_board_part1-for-MIPS.patch \ | ||
14 | file://0004-MIPS-bootm-rework-and-fix-broken-bootm-code.patch \ | ||
15 | file://0005-MIPS-bootm-use-CONFIG_IS_ENABLED-everywhere.patch \ | ||
16 | file://0006-Replace-extern-inline-with-static-inline.patch \ | ||
17 | " | ||
18 | |||
19 | PV = "v2015.10+git${SRCPV}" | ||
diff --git a/meta/recipes-bsp/u-boot/u-boot_2016.01.bb b/meta/recipes-bsp/u-boot/u-boot_2016.01.bb new file mode 100644 index 0000000000..d5c11811f4 --- /dev/null +++ b/meta/recipes-bsp/u-boot/u-boot_2016.01.bb | |||
@@ -0,0 +1,10 @@ | |||
1 | require u-boot.inc | ||
2 | |||
3 | DEPENDS += "dtc-native" | ||
4 | |||
5 | # This revision corresponds to the tag "v2016.01" | ||
6 | # We use the revision in order to avoid having to fetch it from the | ||
7 | # repo during parse | ||
8 | SRCREV = "fa85e826c16b9ce1ad302a57e9c4b24db0d8b930" | ||
9 | |||
10 | PV = "v2016.01+git${SRCPV}" | ||