aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68k
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-08-15 14:11:45 -0400
committerSage Weil <sage@inktank.com>2013-08-15 14:11:45 -0400
commitee3e542fec6e69bc9fb668698889a37d93950ddf (patch)
treee74ee766a4764769ef1d3d45d266b4dea64101d3 /arch/m68k
parentfe2a801b50c0bb8039d627e5ae1fec249d10ff39 (diff)
parentf1d6e17f540af37bb1891480143669ba7636c4cf (diff)
Merge remote-tracking branch 'linus/master' into testing
Diffstat (limited to 'arch/m68k')
-rw-r--r--arch/m68k/Kconfig.debug3
-rw-r--r--arch/m68k/configs/multi_defconfig2
-rw-r--r--arch/m68k/configs/q40_defconfig6
-rw-r--r--arch/m68k/include/asm/parport.h2
-rw-r--r--arch/m68k/include/asm/pgtable_mm.h3
-rw-r--r--arch/m68k/include/asm/pgtable_no.h3
-rw-r--r--arch/m68k/include/asm/string.h32
-rw-r--r--arch/m68k/include/asm/uaccess_mm.h8
-rw-r--r--arch/m68k/kernel/asm-offsets.c2
-rw-r--r--arch/m68k/kernel/ints.c2
-rw-r--r--arch/m68k/lib/Makefile2
-rw-r--r--arch/m68k/lib/string.c22
-rw-r--r--arch/m68k/lib/uaccess.c6
-rw-r--r--arch/m68k/math-emu/fp_arith.c2
-rw-r--r--arch/m68k/mm/init.c48
-rw-r--r--arch/m68k/platform/coldfire/pci.c1
-rw-r--r--arch/m68k/sun3/sun3dvma.c2
17 files changed, 34 insertions, 112 deletions
diff --git a/arch/m68k/Kconfig.debug b/arch/m68k/Kconfig.debug
index fa12283d58fc..229682721240 100644
--- a/arch/m68k/Kconfig.debug
+++ b/arch/m68k/Kconfig.debug
@@ -11,9 +11,8 @@ config BOOTPARAM_STRING
11 depends on BOOTPARAM 11 depends on BOOTPARAM
12 12
13config EARLY_PRINTK 13config EARLY_PRINTK
14 bool "Early printk" if EMBEDDED 14 bool "Early printk"
15 depends on MVME16x || MAC 15 depends on MVME16x || MAC
16 default y
17 help 16 help
18 Write kernel log output directly to a serial port. 17 Write kernel log output directly to a serial port.
19 18
diff --git a/arch/m68k/configs/multi_defconfig b/arch/m68k/configs/multi_defconfig
index 0f795d8e65fa..b17a8837f0e1 100644
--- a/arch/m68k/configs/multi_defconfig
+++ b/arch/m68k/configs/multi_defconfig
@@ -214,6 +214,7 @@ CONFIG_DEVTMPFS=y
214# CONFIG_FW_LOADER_USER_HELPER is not set 214# CONFIG_FW_LOADER_USER_HELPER is not set
215CONFIG_CONNECTOR=m 215CONFIG_CONNECTOR=m
216CONFIG_PARPORT=m 216CONFIG_PARPORT=m
217CONFIG_PARPORT_PC=m
217CONFIG_PARPORT_AMIGA=m 218CONFIG_PARPORT_AMIGA=m
218CONFIG_PARPORT_MFC3=m 219CONFIG_PARPORT_MFC3=m
219CONFIG_PARPORT_ATARI=m 220CONFIG_PARPORT_ATARI=m
@@ -325,6 +326,7 @@ CONFIG_ZORRO8390=y
325# CONFIG_NET_VENDOR_SEEQ is not set 326# CONFIG_NET_VENDOR_SEEQ is not set
326# CONFIG_NET_VENDOR_STMICRO is not set 327# CONFIG_NET_VENDOR_STMICRO is not set
327# CONFIG_NET_VENDOR_WIZNET is not set 328# CONFIG_NET_VENDOR_WIZNET is not set
329CONFIG_PLIP=m
328CONFIG_PPP=m 330CONFIG_PPP=m
329CONFIG_PPP_BSDCOMP=m 331CONFIG_PPP_BSDCOMP=m
330CONFIG_PPP_DEFLATE=m 332CONFIG_PPP_DEFLATE=m
diff --git a/arch/m68k/configs/q40_defconfig b/arch/m68k/configs/q40_defconfig
index 8982370e8b42..be1496ed9b66 100644
--- a/arch/m68k/configs/q40_defconfig
+++ b/arch/m68k/configs/q40_defconfig
@@ -199,6 +199,9 @@ CONFIG_DEVTMPFS=y
199# CONFIG_FIRMWARE_IN_KERNEL is not set 199# CONFIG_FIRMWARE_IN_KERNEL is not set
200# CONFIG_FW_LOADER_USER_HELPER is not set 200# CONFIG_FW_LOADER_USER_HELPER is not set
201CONFIG_CONNECTOR=m 201CONFIG_CONNECTOR=m
202CONFIG_PARPORT=m
203CONFIG_PARPORT_PC=m
204CONFIG_PARPORT_1284=y
202CONFIG_BLK_DEV_LOOP=y 205CONFIG_BLK_DEV_LOOP=y
203CONFIG_BLK_DEV_CRYPTOLOOP=m 206CONFIG_BLK_DEV_CRYPTOLOOP=m
204CONFIG_BLK_DEV_DRBD=m 207CONFIG_BLK_DEV_DRBD=m
@@ -267,6 +270,7 @@ CONFIG_NE2000=m
267# CONFIG_NET_VENDOR_SMSC is not set 270# CONFIG_NET_VENDOR_SMSC is not set
268# CONFIG_NET_VENDOR_STMICRO is not set 271# CONFIG_NET_VENDOR_STMICRO is not set
269# CONFIG_NET_VENDOR_WIZNET is not set 272# CONFIG_NET_VENDOR_WIZNET is not set
273CONFIG_PLIP=m
270CONFIG_PPP=m 274CONFIG_PPP=m
271CONFIG_PPP_BSDCOMP=m 275CONFIG_PPP_BSDCOMP=m
272CONFIG_PPP_DEFLATE=m 276CONFIG_PPP_DEFLATE=m
@@ -292,9 +296,11 @@ CONFIG_SERIO_Q40KBD=y
292CONFIG_VT_HW_CONSOLE_BINDING=y 296CONFIG_VT_HW_CONSOLE_BINDING=y
293# CONFIG_LEGACY_PTYS is not set 297# CONFIG_LEGACY_PTYS is not set
294# CONFIG_DEVKMEM is not set 298# CONFIG_DEVKMEM is not set
299CONFIG_PRINTER=m
295# CONFIG_HW_RANDOM is not set 300# CONFIG_HW_RANDOM is not set
296CONFIG_NTP_PPS=y 301CONFIG_NTP_PPS=y
297CONFIG_PPS_CLIENT_LDISC=m 302CONFIG_PPS_CLIENT_LDISC=m
303CONFIG_PPS_CLIENT_PARPORT=m
298CONFIG_PTP_1588_CLOCK=m 304CONFIG_PTP_1588_CLOCK=m
299# CONFIG_HWMON is not set 305# CONFIG_HWMON is not set
300CONFIG_FB=y 306CONFIG_FB=y
diff --git a/arch/m68k/include/asm/parport.h b/arch/m68k/include/asm/parport.h
index 5ea75e6a7399..c85cece778e8 100644
--- a/arch/m68k/include/asm/parport.h
+++ b/arch/m68k/include/asm/parport.h
@@ -11,6 +11,8 @@
11#ifndef _ASM_M68K_PARPORT_H 11#ifndef _ASM_M68K_PARPORT_H
12#define _ASM_M68K_PARPORT_H 1 12#define _ASM_M68K_PARPORT_H 1
13 13
14#undef insl
15#undef outsl
14#define insl(port,buf,len) isa_insb(port,buf,(len)<<2) 16#define insl(port,buf,len) isa_insb(port,buf,(len)<<2)
15#define outsl(port,buf,len) isa_outsb(port,buf,(len)<<2) 17#define outsl(port,buf,len) isa_outsb(port,buf,(len)<<2)
16 18
diff --git a/arch/m68k/include/asm/pgtable_mm.h b/arch/m68k/include/asm/pgtable_mm.h
index dc35e0e106e4..9f5abbda1ea7 100644
--- a/arch/m68k/include/asm/pgtable_mm.h
+++ b/arch/m68k/include/asm/pgtable_mm.h
@@ -135,9 +135,6 @@ static inline void update_mmu_cache(struct vm_area_struct *vma,
135 135
136#define kern_addr_valid(addr) (1) 136#define kern_addr_valid(addr) (1)
137 137
138#define io_remap_pfn_range(vma, vaddr, pfn, size, prot) \
139 remap_pfn_range(vma, vaddr, pfn, size, prot)
140
141/* MMU-specific headers */ 138/* MMU-specific headers */
142 139
143#ifdef CONFIG_SUN3 140#ifdef CONFIG_SUN3
diff --git a/arch/m68k/include/asm/pgtable_no.h b/arch/m68k/include/asm/pgtable_no.h
index 037028f4ab70..c527fc2ecf82 100644
--- a/arch/m68k/include/asm/pgtable_no.h
+++ b/arch/m68k/include/asm/pgtable_no.h
@@ -55,9 +55,6 @@ extern unsigned int kobjsize(const void *objp);
55 */ 55 */
56#define pgtable_cache_init() do { } while (0) 56#define pgtable_cache_init() do { } while (0)
57 57
58#define io_remap_pfn_range(vma, vaddr, pfn, size, prot) \
59 remap_pfn_range(vma, vaddr, pfn, size, prot)
60
61/* 58/*
62 * All 32bit addresses are effectively valid for vmalloc... 59 * All 32bit addresses are effectively valid for vmalloc...
63 * Sort of meaningless for non-VM targets. 60 * Sort of meaningless for non-VM targets.
diff --git a/arch/m68k/include/asm/string.h b/arch/m68k/include/asm/string.h
index 9aea9f11fa25..c30c03d98581 100644
--- a/arch/m68k/include/asm/string.h
+++ b/arch/m68k/include/asm/string.h
@@ -4,20 +4,6 @@
4#include <linux/types.h> 4#include <linux/types.h>
5#include <linux/compiler.h> 5#include <linux/compiler.h>
6 6
7static inline char *__kernel_strcpy(char *dest, const char *src)
8{
9 char *xdest = dest;
10
11 asm volatile ("\n"
12 "1: move.b (%1)+,(%0)+\n"
13 " jne 1b"
14 : "+a" (dest), "+a" (src)
15 : : "memory");
16 return xdest;
17}
18
19#ifndef __IN_STRING_C
20
21#define __HAVE_ARCH_STRNLEN 7#define __HAVE_ARCH_STRNLEN
22static inline size_t strnlen(const char *s, size_t count) 8static inline size_t strnlen(const char *s, size_t count)
23{ 9{
@@ -34,16 +20,6 @@ static inline size_t strnlen(const char *s, size_t count)
34 return sc - s; 20 return sc - s;
35} 21}
36 22
37#define __HAVE_ARCH_STRCPY
38#if __GNUC__ >= 4
39#define strcpy(d, s) (__builtin_constant_p(s) && \
40 __builtin_strlen(s) <= 32 ? \
41 __builtin_strcpy(d, s) : \
42 __kernel_strcpy(d, s))
43#else
44#define strcpy(d, s) __kernel_strcpy(d, s)
45#endif
46
47#define __HAVE_ARCH_STRNCPY 23#define __HAVE_ARCH_STRNCPY
48static inline char *strncpy(char *dest, const char *src, size_t n) 24static inline char *strncpy(char *dest, const char *src, size_t n)
49{ 25{
@@ -61,12 +37,6 @@ static inline char *strncpy(char *dest, const char *src, size_t n)
61 return xdest; 37 return xdest;
62} 38}
63 39
64#define __HAVE_ARCH_STRCAT
65#define strcat(d, s) ({ \
66 char *__d = (d); \
67 strcpy(__d + strlen(__d), (s)); \
68})
69
70#ifndef CONFIG_COLDFIRE 40#ifndef CONFIG_COLDFIRE
71#define __HAVE_ARCH_STRCMP 41#define __HAVE_ARCH_STRCMP
72static inline int strcmp(const char *cs, const char *ct) 42static inline int strcmp(const char *cs, const char *ct)
@@ -100,6 +70,4 @@ extern void *memset(void *, int, __kernel_size_t);
100extern void *memcpy(void *, const void *, __kernel_size_t); 70extern void *memcpy(void *, const void *, __kernel_size_t);
101#define memcpy(d, s, n) __builtin_memcpy(d, s, n) 71#define memcpy(d, s, n) __builtin_memcpy(d, s, n)
102 72
103#endif
104
105#endif /* _M68K_STRING_H_ */ 73#endif /* _M68K_STRING_H_ */
diff --git a/arch/m68k/include/asm/uaccess_mm.h b/arch/m68k/include/asm/uaccess_mm.h
index 472c891a4aee..15901db435b9 100644
--- a/arch/m68k/include/asm/uaccess_mm.h
+++ b/arch/m68k/include/asm/uaccess_mm.h
@@ -90,7 +90,7 @@ asm volatile ("\n" \
90 __put_user_asm(__pu_err, __pu_val, ptr, b, d, -EFAULT); \ 90 __put_user_asm(__pu_err, __pu_val, ptr, b, d, -EFAULT); \
91 break; \ 91 break; \
92 case 2: \ 92 case 2: \
93 __put_user_asm(__pu_err, __pu_val, ptr, w, d, -EFAULT); \ 93 __put_user_asm(__pu_err, __pu_val, ptr, w, r, -EFAULT); \
94 break; \ 94 break; \
95 case 4: \ 95 case 4: \
96 __put_user_asm(__pu_err, __pu_val, ptr, l, r, -EFAULT); \ 96 __put_user_asm(__pu_err, __pu_val, ptr, l, r, -EFAULT); \
@@ -158,7 +158,7 @@ asm volatile ("\n" \
158 __get_user_asm(__gu_err, x, ptr, u8, b, d, -EFAULT); \ 158 __get_user_asm(__gu_err, x, ptr, u8, b, d, -EFAULT); \
159 break; \ 159 break; \
160 case 2: \ 160 case 2: \
161 __get_user_asm(__gu_err, x, ptr, u16, w, d, -EFAULT); \ 161 __get_user_asm(__gu_err, x, ptr, u16, w, r, -EFAULT); \
162 break; \ 162 break; \
163 case 4: \ 163 case 4: \
164 __get_user_asm(__gu_err, x, ptr, u32, l, r, -EFAULT); \ 164 __get_user_asm(__gu_err, x, ptr, u32, l, r, -EFAULT); \
@@ -245,7 +245,7 @@ __constant_copy_from_user(void *to, const void __user *from, unsigned long n)
245 __get_user_asm(res, *(u8 *)to, (u8 __user *)from, u8, b, d, 1); 245 __get_user_asm(res, *(u8 *)to, (u8 __user *)from, u8, b, d, 1);
246 break; 246 break;
247 case 2: 247 case 2:
248 __get_user_asm(res, *(u16 *)to, (u16 __user *)from, u16, w, d, 2); 248 __get_user_asm(res, *(u16 *)to, (u16 __user *)from, u16, w, r, 2);
249 break; 249 break;
250 case 3: 250 case 3:
251 __constant_copy_from_user_asm(res, to, from, tmp, 3, w, b,); 251 __constant_copy_from_user_asm(res, to, from, tmp, 3, w, b,);
@@ -326,7 +326,7 @@ __constant_copy_to_user(void __user *to, const void *from, unsigned long n)
326 __put_user_asm(res, *(u8 *)from, (u8 __user *)to, b, d, 1); 326 __put_user_asm(res, *(u8 *)from, (u8 __user *)to, b, d, 1);
327 break; 327 break;
328 case 2: 328 case 2:
329 __put_user_asm(res, *(u16 *)from, (u16 __user *)to, w, d, 2); 329 __put_user_asm(res, *(u16 *)from, (u16 __user *)to, w, r, 2);
330 break; 330 break;
331 case 3: 331 case 3:
332 __constant_copy_to_user_asm(res, to, from, tmp, 3, w, b,); 332 __constant_copy_to_user_asm(res, to, from, tmp, 3, w, b,);
diff --git a/arch/m68k/kernel/asm-offsets.c b/arch/m68k/kernel/asm-offsets.c
index a972b00cd77d..8b7b22846366 100644
--- a/arch/m68k/kernel/asm-offsets.c
+++ b/arch/m68k/kernel/asm-offsets.c
@@ -77,7 +77,7 @@ int main(void)
77 DEFINE(BIR_SIZE, offsetof(struct bi_record, size)); 77 DEFINE(BIR_SIZE, offsetof(struct bi_record, size));
78 DEFINE(BIR_DATA, offsetof(struct bi_record, data)); 78 DEFINE(BIR_DATA, offsetof(struct bi_record, data));
79 79
80 /* offsets into font_desc (drivers/video/console/font.h) */ 80 /* offsets into the font_desc struct */
81 DEFINE(FONT_DESC_IDX, offsetof(struct font_desc, idx)); 81 DEFINE(FONT_DESC_IDX, offsetof(struct font_desc, idx));
82 DEFINE(FONT_DESC_NAME, offsetof(struct font_desc, name)); 82 DEFINE(FONT_DESC_NAME, offsetof(struct font_desc, name));
83 DEFINE(FONT_DESC_WIDTH, offsetof(struct font_desc, width)); 83 DEFINE(FONT_DESC_WIDTH, offsetof(struct font_desc, width));
diff --git a/arch/m68k/kernel/ints.c b/arch/m68k/kernel/ints.c
index 6b32b64bac35..4d7da384eea0 100644
--- a/arch/m68k/kernel/ints.c
+++ b/arch/m68k/kernel/ints.c
@@ -101,7 +101,7 @@ void __init m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt)
101 BUG_ON(IRQ_USER + cnt > NR_IRQS); 101 BUG_ON(IRQ_USER + cnt > NR_IRQS);
102 m68k_first_user_vec = vec; 102 m68k_first_user_vec = vec;
103 for (i = 0; i < cnt; i++) 103 for (i = 0; i < cnt; i++)
104 irq_set_chip(IRQ_USER + i, &user_irq_chip); 104 irq_set_chip_and_handler(i, &user_irq_chip, handle_simple_irq);
105 *user_irqvec_fixup = vec - IRQ_USER; 105 *user_irqvec_fixup = vec - IRQ_USER;
106 flush_icache(); 106 flush_icache();
107} 107}
diff --git a/arch/m68k/lib/Makefile b/arch/m68k/lib/Makefile
index a9d782d34276..fcd8eb1d7c7d 100644
--- a/arch/m68k/lib/Makefile
+++ b/arch/m68k/lib/Makefile
@@ -6,7 +6,7 @@
6lib-y := ashldi3.o ashrdi3.o lshrdi3.o muldi3.o \ 6lib-y := ashldi3.o ashrdi3.o lshrdi3.o muldi3.o \
7 memcpy.o memset.o memmove.o 7 memcpy.o memset.o memmove.o
8 8
9lib-$(CONFIG_MMU) += string.o uaccess.o 9lib-$(CONFIG_MMU) += uaccess.o
10lib-$(CONFIG_CPU_HAS_NO_MULDIV64) += mulsi3.o divsi3.o udivsi3.o 10lib-$(CONFIG_CPU_HAS_NO_MULDIV64) += mulsi3.o divsi3.o udivsi3.o
11lib-$(CONFIG_CPU_HAS_NO_MULDIV64) += modsi3.o umodsi3.o 11lib-$(CONFIG_CPU_HAS_NO_MULDIV64) += modsi3.o umodsi3.o
12 12
diff --git a/arch/m68k/lib/string.c b/arch/m68k/lib/string.c
deleted file mode 100644
index 4d61fa8a112c..000000000000
--- a/arch/m68k/lib/string.c
+++ /dev/null
@@ -1,22 +0,0 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file COPYING in the main directory of this archive
4 * for more details.
5 */
6
7#define __IN_STRING_C
8
9#include <linux/module.h>
10#include <linux/string.h>
11
12char *strcpy(char *dest, const char *src)
13{
14 return __kernel_strcpy(dest, src);
15}
16EXPORT_SYMBOL(strcpy);
17
18char *strcat(char *dest, const char *src)
19{
20 return __kernel_strcpy(dest + strlen(dest), src);
21}
22EXPORT_SYMBOL(strcat);
diff --git a/arch/m68k/lib/uaccess.c b/arch/m68k/lib/uaccess.c
index 5e97f2ee7c11..35d1442dee89 100644
--- a/arch/m68k/lib/uaccess.c
+++ b/arch/m68k/lib/uaccess.c
@@ -52,7 +52,7 @@ unsigned long __generic_copy_from_user(void *to, const void __user *from,
52 " .long 3b,30b\n" 52 " .long 3b,30b\n"
53 " .long 5b,50b\n" 53 " .long 5b,50b\n"
54 " .previous" 54 " .previous"
55 : "=d" (res), "+a" (from), "+a" (to), "=&r" (tmp) 55 : "=d" (res), "+a" (from), "+a" (to), "=&d" (tmp)
56 : "0" (n / 4), "d" (n & 3)); 56 : "0" (n / 4), "d" (n & 3));
57 57
58 return res; 58 return res;
@@ -96,7 +96,7 @@ unsigned long __generic_copy_to_user(void __user *to, const void *from,
96 " .long 7b,50b\n" 96 " .long 7b,50b\n"
97 " .long 8b,50b\n" 97 " .long 8b,50b\n"
98 " .previous" 98 " .previous"
99 : "=d" (res), "+a" (from), "+a" (to), "=&r" (tmp) 99 : "=d" (res), "+a" (from), "+a" (to), "=&d" (tmp)
100 : "0" (n / 4), "d" (n & 3)); 100 : "0" (n / 4), "d" (n & 3));
101 101
102 return res; 102 return res;
@@ -141,7 +141,7 @@ unsigned long __clear_user(void __user *to, unsigned long n)
141 " .long 7b,40b\n" 141 " .long 7b,40b\n"
142 " .previous" 142 " .previous"
143 : "=d" (res), "+a" (to) 143 : "=d" (res), "+a" (to)
144 : "r" (0), "0" (n / 4), "d" (n & 3)); 144 : "d" (0), "0" (n / 4), "d" (n & 3));
145 145
146 return res; 146 return res;
147} 147}
diff --git a/arch/m68k/math-emu/fp_arith.c b/arch/m68k/math-emu/fp_arith.c
index 08f286db3c5a..239eb1990184 100644
--- a/arch/m68k/math-emu/fp_arith.c
+++ b/arch/m68k/math-emu/fp_arith.c
@@ -519,7 +519,7 @@ static void fp_roundint(struct fp_ext *dest, int mode)
519 return; 519 return;
520 break; 520 break;
521 case 0x401e: 521 case 0x401e:
522 if (!(oldmant.m32[1] >= 0)) 522 if (oldmant.m32[1] & 0x80000000)
523 return; 523 return;
524 if (oldmant.m32[0] & 1) 524 if (oldmant.m32[0] & 1)
525 break; 525 break;
diff --git a/arch/m68k/mm/init.c b/arch/m68k/mm/init.c
index 1af2ca3411f6..6b4baa6e4d31 100644
--- a/arch/m68k/mm/init.c
+++ b/arch/m68k/mm/init.c
@@ -110,7 +110,7 @@ void __init paging_init(void)
110void free_initmem(void) 110void free_initmem(void)
111{ 111{
112#ifndef CONFIG_MMU_SUN3 112#ifndef CONFIG_MMU_SUN3
113 free_initmem_default(0); 113 free_initmem_default(-1);
114#endif /* CONFIG_MMU_SUN3 */ 114#endif /* CONFIG_MMU_SUN3 */
115} 115}
116 116
@@ -146,38 +146,11 @@ void __init print_memmap(void)
146 MLK_ROUNDUP(__bss_start, __bss_stop)); 146 MLK_ROUNDUP(__bss_start, __bss_stop));
147} 147}
148 148
149void __init mem_init(void) 149static inline void init_pointer_tables(void)
150{ 150{
151 pg_data_t *pgdat; 151#if defined(CONFIG_MMU) && !defined(CONFIG_SUN3) && !defined(CONFIG_COLDFIRE)
152 int codepages = 0;
153 int datapages = 0;
154 int initpages = 0;
155 int i; 152 int i;
156 153
157 /* this will put all memory onto the freelists */
158 totalram_pages = num_physpages = 0;
159 for_each_online_pgdat(pgdat) {
160 num_physpages += pgdat->node_present_pages;
161
162 totalram_pages += free_all_bootmem_node(pgdat);
163 for (i = 0; i < pgdat->node_spanned_pages; i++) {
164 struct page *page = pgdat->node_mem_map + i;
165 char *addr = page_to_virt(page);
166
167 if (!PageReserved(page))
168 continue;
169 if (addr >= _text &&
170 addr < _etext)
171 codepages++;
172 else if (addr >= __init_begin &&
173 addr < __init_end)
174 initpages++;
175 else
176 datapages++;
177 }
178 }
179
180#if defined(CONFIG_MMU) && !defined(CONFIG_SUN3) && !defined(CONFIG_COLDFIRE)
181 /* insert pointer tables allocated so far into the tablelist */ 154 /* insert pointer tables allocated so far into the tablelist */
182 init_pointer_table((unsigned long)kernel_pg_dir); 155 init_pointer_table((unsigned long)kernel_pg_dir);
183 for (i = 0; i < PTRS_PER_PGD; i++) { 156 for (i = 0; i < PTRS_PER_PGD; i++) {
@@ -189,19 +162,20 @@ void __init mem_init(void)
189 if (zero_pgtable) 162 if (zero_pgtable)
190 init_pointer_table((unsigned long)zero_pgtable); 163 init_pointer_table((unsigned long)zero_pgtable);
191#endif 164#endif
165}
192 166
193 pr_info("Memory: %luk/%luk available (%dk kernel code, %dk data, %dk init)\n", 167void __init mem_init(void)
194 nr_free_pages() << (PAGE_SHIFT-10), 168{
195 totalram_pages << (PAGE_SHIFT-10), 169 /* this will put all memory onto the freelists */
196 codepages << (PAGE_SHIFT-10), 170 free_all_bootmem();
197 datapages << (PAGE_SHIFT-10), 171 init_pointer_tables();
198 initpages << (PAGE_SHIFT-10)); 172 mem_init_print_info(NULL);
199 print_memmap(); 173 print_memmap();
200} 174}
201 175
202#ifdef CONFIG_BLK_DEV_INITRD 176#ifdef CONFIG_BLK_DEV_INITRD
203void free_initrd_mem(unsigned long start, unsigned long end) 177void free_initrd_mem(unsigned long start, unsigned long end)
204{ 178{
205 free_reserved_area(start, end, 0, "initrd"); 179 free_reserved_area((void *)start, (void *)end, -1, "initrd");
206} 180}
207#endif 181#endif
diff --git a/arch/m68k/platform/coldfire/pci.c b/arch/m68k/platform/coldfire/pci.c
index 8572246db84d..b33f97a13e6d 100644
--- a/arch/m68k/platform/coldfire/pci.c
+++ b/arch/m68k/platform/coldfire/pci.c
@@ -320,7 +320,6 @@ static int __init mcf_pci_init(void)
320 pci_bus_size_bridges(rootbus); 320 pci_bus_size_bridges(rootbus);
321 pci_bus_assign_resources(rootbus); 321 pci_bus_assign_resources(rootbus);
322 pci_enable_bridges(rootbus); 322 pci_enable_bridges(rootbus);
323 pci_bus_add_devices(rootbus);
324 return 0; 323 return 0;
325} 324}
326 325
diff --git a/arch/m68k/sun3/sun3dvma.c b/arch/m68k/sun3/sun3dvma.c
index ca0966cac72a..cab54482ca34 100644
--- a/arch/m68k/sun3/sun3dvma.c
+++ b/arch/m68k/sun3/sun3dvma.c
@@ -275,7 +275,7 @@ void dvma_init(void)
275 275
276} 276}
277 277
278inline unsigned long dvma_map_align(unsigned long kaddr, int len, int align) 278unsigned long dvma_map_align(unsigned long kaddr, int len, int align)
279{ 279{
280 280
281 unsigned long baddr; 281 unsigned long baddr;