diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-11-11 23:39:35 -0500 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-11-11 23:39:35 -0500 |
commit | f4256e301d9800b1e0276404cb01b3ac85b51067 (patch) | |
tree | 975f56627b78f757608b31684311a24ca1478481 /arch/ppc | |
parent | fb2a26b9f8f5eda6b96ba9753edf105e5999d6d9 (diff) | |
parent | cd52d1ee9a92587b242d946a2300a3245d3b885a (diff) |
Merge branch 'master'
Diffstat (limited to 'arch/ppc')
27 files changed, 578 insertions, 381 deletions
diff --git a/arch/ppc/boot/include/of1275.h b/arch/ppc/boot/include/of1275.h index 69173df76db0..4ed88acfa73a 100644 --- a/arch/ppc/boot/include/of1275.h +++ b/arch/ppc/boot/include/of1275.h | |||
@@ -19,6 +19,9 @@ extern prom_entry of_prom_entry; | |||
19 | 19 | ||
20 | /* function declarations */ | 20 | /* function declarations */ |
21 | 21 | ||
22 | int call_prom(const char *service, int nargs, int nret, ...); | ||
23 | int call_prom_ret(const char *service, int nargs, int nret, | ||
24 | unsigned int *rets, ...); | ||
22 | void * claim(unsigned int virt, unsigned int size, unsigned int align); | 25 | void * claim(unsigned int virt, unsigned int size, unsigned int align); |
23 | int map(unsigned int phys, unsigned int virt, unsigned int size); | 26 | int map(unsigned int phys, unsigned int virt, unsigned int size); |
24 | void enter(void); | 27 | void enter(void); |
diff --git a/arch/ppc/boot/of1275/Makefile b/arch/ppc/boot/of1275/Makefile index 02e6f235d7cb..0b979c004972 100644 --- a/arch/ppc/boot/of1275/Makefile +++ b/arch/ppc/boot/of1275/Makefile | |||
@@ -3,4 +3,4 @@ | |||
3 | # | 3 | # |
4 | 4 | ||
5 | lib-y := claim.o enter.o exit.o finddevice.o getprop.o ofinit.o \ | 5 | lib-y := claim.o enter.o exit.o finddevice.o getprop.o ofinit.o \ |
6 | ofstdio.o read.o release.o write.o map.o | 6 | ofstdio.o read.o release.o write.o map.o call_prom.o |
diff --git a/arch/ppc/boot/of1275/call_prom.c b/arch/ppc/boot/of1275/call_prom.c new file mode 100644 index 000000000000..9479a3a2b8c7 --- /dev/null +++ b/arch/ppc/boot/of1275/call_prom.c | |||
@@ -0,0 +1,74 @@ | |||
1 | /* | ||
2 | * Copyright (C) 1996-2005 Paul Mackerras. | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU General Public License | ||
6 | * as published by the Free Software Foundation; either version | ||
7 | * 2 of the License, or (at your option) any later version. | ||
8 | */ | ||
9 | |||
10 | #include "of1275.h" | ||
11 | #include <stdarg.h> | ||
12 | |||
13 | int call_prom(const char *service, int nargs, int nret, ...) | ||
14 | { | ||
15 | int i; | ||
16 | struct prom_args { | ||
17 | const char *service; | ||
18 | int nargs; | ||
19 | int nret; | ||
20 | unsigned int args[12]; | ||
21 | } args; | ||
22 | va_list list; | ||
23 | |||
24 | args.service = service; | ||
25 | args.nargs = nargs; | ||
26 | args.nret = nret; | ||
27 | |||
28 | va_start(list, nret); | ||
29 | for (i = 0; i < nargs; i++) | ||
30 | args.args[i] = va_arg(list, unsigned int); | ||
31 | va_end(list); | ||
32 | |||
33 | for (i = 0; i < nret; i++) | ||
34 | args.args[nargs+i] = 0; | ||
35 | |||
36 | if (of_prom_entry(&args) < 0) | ||
37 | return -1; | ||
38 | |||
39 | return (nret > 0)? args.args[nargs]: 0; | ||
40 | } | ||
41 | |||
42 | int call_prom_ret(const char *service, int nargs, int nret, | ||
43 | unsigned int *rets, ...) | ||
44 | { | ||
45 | int i; | ||
46 | struct prom_args { | ||
47 | const char *service; | ||
48 | int nargs; | ||
49 | int nret; | ||
50 | unsigned int args[12]; | ||
51 | } args; | ||
52 | va_list list; | ||
53 | |||
54 | args.service = service; | ||
55 | args.nargs = nargs; | ||
56 | args.nret = nret; | ||
57 | |||
58 | va_start(list, rets); | ||
59 | for (i = 0; i < nargs; i++) | ||
60 | args.args[i] = va_arg(list, unsigned int); | ||
61 | va_end(list); | ||
62 | |||
63 | for (i = 0; i < nret; i++) | ||
64 | args.args[nargs+i] = 0; | ||
65 | |||
66 | if (of_prom_entry(&args) < 0) | ||
67 | return -1; | ||
68 | |||
69 | if (rets != (void *) 0) | ||
70 | for (i = 1; i < nret; ++i) | ||
71 | rets[i-1] = args.args[nargs+i]; | ||
72 | |||
73 | return (nret > 0)? args.args[nargs]: 0; | ||
74 | } | ||
diff --git a/arch/ppc/boot/of1275/claim.c b/arch/ppc/boot/of1275/claim.c index 13169a5c4339..1ed3aeeff8ae 100644 --- a/arch/ppc/boot/of1275/claim.c +++ b/arch/ppc/boot/of1275/claim.c | |||
@@ -9,27 +9,84 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | #include "of1275.h" | 11 | #include "of1275.h" |
12 | #include "nonstdio.h" | ||
12 | 13 | ||
13 | void * | 14 | /* |
14 | claim(unsigned int virt, unsigned int size, unsigned int align) | 15 | * Older OF's require that when claiming a specific range of addresses, |
16 | * we claim the physical space in the /memory node and the virtual | ||
17 | * space in the chosen mmu node, and then do a map operation to | ||
18 | * map virtual to physical. | ||
19 | */ | ||
20 | static int need_map = -1; | ||
21 | static ihandle chosen_mmu; | ||
22 | static phandle memory; | ||
23 | |||
24 | /* returns true if s2 is a prefix of s1 */ | ||
25 | static int string_match(const char *s1, const char *s2) | ||
26 | { | ||
27 | for (; *s2; ++s2) | ||
28 | if (*s1++ != *s2) | ||
29 | return 0; | ||
30 | return 1; | ||
31 | } | ||
32 | |||
33 | static int check_of_version(void) | ||
34 | { | ||
35 | phandle oprom, chosen; | ||
36 | char version[64]; | ||
37 | |||
38 | oprom = finddevice("/openprom"); | ||
39 | if (oprom == OF_INVALID_HANDLE) | ||
40 | return 0; | ||
41 | if (getprop(oprom, "model", version, sizeof(version)) <= 0) | ||
42 | return 0; | ||
43 | version[sizeof(version)-1] = 0; | ||
44 | printf("OF version = '%s'\n", version); | ||
45 | if (!string_match(version, "Open Firmware, 1.") | ||
46 | && !string_match(version, "FirmWorks,3.")) | ||
47 | return 0; | ||
48 | chosen = finddevice("/chosen"); | ||
49 | if (chosen == OF_INVALID_HANDLE) { | ||
50 | chosen = finddevice("/chosen@0"); | ||
51 | if (chosen == OF_INVALID_HANDLE) { | ||
52 | printf("no chosen\n"); | ||
53 | return 0; | ||
54 | } | ||
55 | } | ||
56 | if (getprop(chosen, "mmu", &chosen_mmu, sizeof(chosen_mmu)) <= 0) { | ||
57 | printf("no mmu\n"); | ||
58 | return 0; | ||
59 | } | ||
60 | memory = (ihandle) call_prom("open", 1, 1, "/memory"); | ||
61 | if (memory == OF_INVALID_HANDLE) { | ||
62 | memory = (ihandle) call_prom("open", 1, 1, "/memory@0"); | ||
63 | if (memory == OF_INVALID_HANDLE) { | ||
64 | printf("no memory node\n"); | ||
65 | return 0; | ||
66 | } | ||
67 | } | ||
68 | printf("old OF detected\n"); | ||
69 | return 1; | ||
70 | } | ||
71 | |||
72 | void *claim(unsigned int virt, unsigned int size, unsigned int align) | ||
15 | { | 73 | { |
16 | struct prom_args { | 74 | int ret; |
17 | char *service; | 75 | unsigned int result; |
18 | int nargs; | ||
19 | int nret; | ||
20 | unsigned int virt; | ||
21 | unsigned int size; | ||
22 | unsigned int align; | ||
23 | void *ret; | ||
24 | } args; | ||
25 | 76 | ||
26 | args.service = "claim"; | 77 | if (need_map < 0) |
27 | args.nargs = 3; | 78 | need_map = check_of_version(); |
28 | args.nret = 1; | 79 | if (align || !need_map) |
29 | args.virt = virt; | 80 | return (void *) call_prom("claim", 3, 1, virt, size, align); |
30 | args.size = size; | 81 | |
31 | args.align = align; | 82 | ret = call_prom_ret("call-method", 5, 2, &result, "claim", memory, |
32 | args.ret = (void *) 0; | 83 | align, size, virt); |
33 | (*of_prom_entry)(&args); | 84 | if (ret != 0 || result == -1) |
34 | return args.ret; | 85 | return (void *) -1; |
86 | ret = call_prom_ret("call-method", 5, 2, &result, "claim", chosen_mmu, | ||
87 | align, size, virt); | ||
88 | /* 0x12 == coherent + read/write */ | ||
89 | ret = call_prom("call-method", 6, 1, "map", chosen_mmu, | ||
90 | 0x12, size, virt, virt); | ||
91 | return virt; | ||
35 | } | 92 | } |
diff --git a/arch/ppc/boot/of1275/finddevice.c b/arch/ppc/boot/of1275/finddevice.c index 2c0f7cbb793e..0dcb1201b772 100644 --- a/arch/ppc/boot/of1275/finddevice.c +++ b/arch/ppc/boot/of1275/finddevice.c | |||
@@ -10,22 +10,7 @@ | |||
10 | 10 | ||
11 | #include "of1275.h" | 11 | #include "of1275.h" |
12 | 12 | ||
13 | phandle | 13 | phandle finddevice(const char *name) |
14 | finddevice(const char *name) | ||
15 | { | 14 | { |
16 | struct prom_args { | 15 | return (phandle) call_prom("finddevice", 1, 1, name); |
17 | char *service; | ||
18 | int nargs; | ||
19 | int nret; | ||
20 | const char *devspec; | ||
21 | phandle device; | ||
22 | } args; | ||
23 | |||
24 | args.service = "finddevice"; | ||
25 | args.nargs = 1; | ||
26 | args.nret = 1; | ||
27 | args.devspec = name; | ||
28 | args.device = OF_INVALID_HANDLE; | ||
29 | (*of_prom_entry)(&args); | ||
30 | return args.device; | ||
31 | } | 16 | } |
diff --git a/arch/ppc/boot/openfirmware/Makefile b/arch/ppc/boot/openfirmware/Makefile index 03415238fabf..83a6433459ce 100644 --- a/arch/ppc/boot/openfirmware/Makefile +++ b/arch/ppc/boot/openfirmware/Makefile | |||
@@ -80,8 +80,7 @@ $(obj)/note: $(utils)/mknote FORCE | |||
80 | $(call if_changed,mknote) | 80 | $(call if_changed,mknote) |
81 | 81 | ||
82 | 82 | ||
83 | $(obj)/coffcrt0.o: EXTRA_AFLAGS := -traditional -DXCOFF | 83 | $(obj)/coffcrt0.o: EXTRA_AFLAGS := -DXCOFF |
84 | $(obj)/crt0.o: EXTRA_AFLAGS := -traditional | ||
85 | targets += coffcrt0.o crt0.o | 84 | targets += coffcrt0.o crt0.o |
86 | $(obj)/coffcrt0.o $(obj)/crt0.o: $(common)/crt0.S FORCE | 85 | $(obj)/coffcrt0.o $(obj)/crt0.o: $(common)/crt0.S FORCE |
87 | $(call if_changed_dep,as_o_S) | 86 | $(call if_changed_dep,as_o_S) |
diff --git a/arch/ppc/configs/mpc834x_sys_defconfig b/arch/ppc/configs/mpc834x_sys_defconfig index 4a5522ca8207..673dc64ebcb1 100644 --- a/arch/ppc/configs/mpc834x_sys_defconfig +++ b/arch/ppc/configs/mpc834x_sys_defconfig | |||
@@ -1,16 +1,17 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.11-rc4 | 3 | # Linux kernel version: 2.6.14 |
4 | # Thu Feb 17 16:12:23 2005 | 4 | # Mon Nov 7 15:38:29 2005 |
5 | # | 5 | # |
6 | CONFIG_MMU=y | 6 | CONFIG_MMU=y |
7 | CONFIG_GENERIC_HARDIRQS=y | 7 | CONFIG_GENERIC_HARDIRQS=y |
8 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 8 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
9 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 9 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
10 | CONFIG_HAVE_DEC_LOCK=y | ||
11 | CONFIG_PPC=y | 10 | CONFIG_PPC=y |
12 | CONFIG_PPC32=y | 11 | CONFIG_PPC32=y |
13 | CONFIG_GENERIC_NVRAM=y | 12 | CONFIG_GENERIC_NVRAM=y |
13 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
14 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | ||
14 | 15 | ||
15 | # | 16 | # |
16 | # Code maturity level options | 17 | # Code maturity level options |
@@ -18,23 +19,28 @@ CONFIG_GENERIC_NVRAM=y | |||
18 | CONFIG_EXPERIMENTAL=y | 19 | CONFIG_EXPERIMENTAL=y |
19 | CONFIG_CLEAN_COMPILE=y | 20 | CONFIG_CLEAN_COMPILE=y |
20 | CONFIG_BROKEN_ON_SMP=y | 21 | CONFIG_BROKEN_ON_SMP=y |
22 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
21 | 23 | ||
22 | # | 24 | # |
23 | # General setup | 25 | # General setup |
24 | # | 26 | # |
25 | CONFIG_LOCALVERSION="" | 27 | CONFIG_LOCALVERSION="" |
28 | CONFIG_LOCALVERSION_AUTO=y | ||
26 | CONFIG_SWAP=y | 29 | CONFIG_SWAP=y |
27 | CONFIG_SYSVIPC=y | 30 | CONFIG_SYSVIPC=y |
28 | # CONFIG_POSIX_MQUEUE is not set | 31 | # CONFIG_POSIX_MQUEUE is not set |
29 | # CONFIG_BSD_PROCESS_ACCT is not set | 32 | # CONFIG_BSD_PROCESS_ACCT is not set |
30 | CONFIG_SYSCTL=y | 33 | CONFIG_SYSCTL=y |
31 | # CONFIG_AUDIT is not set | 34 | # CONFIG_AUDIT is not set |
32 | CONFIG_LOG_BUF_SHIFT=14 | ||
33 | # CONFIG_HOTPLUG is not set | 35 | # CONFIG_HOTPLUG is not set |
34 | CONFIG_KOBJECT_UEVENT=y | 36 | CONFIG_KOBJECT_UEVENT=y |
35 | # CONFIG_IKCONFIG is not set | 37 | # CONFIG_IKCONFIG is not set |
38 | CONFIG_INITRAMFS_SOURCE="" | ||
36 | CONFIG_EMBEDDED=y | 39 | CONFIG_EMBEDDED=y |
37 | # CONFIG_KALLSYMS is not set | 40 | # CONFIG_KALLSYMS is not set |
41 | CONFIG_PRINTK=y | ||
42 | CONFIG_BUG=y | ||
43 | CONFIG_BASE_FULL=y | ||
38 | CONFIG_FUTEX=y | 44 | CONFIG_FUTEX=y |
39 | # CONFIG_EPOLL is not set | 45 | # CONFIG_EPOLL is not set |
40 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 46 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
@@ -44,6 +50,7 @@ CONFIG_CC_ALIGN_LABELS=0 | |||
44 | CONFIG_CC_ALIGN_LOOPS=0 | 50 | CONFIG_CC_ALIGN_LOOPS=0 |
45 | CONFIG_CC_ALIGN_JUMPS=0 | 51 | CONFIG_CC_ALIGN_JUMPS=0 |
46 | # CONFIG_TINY_SHMEM is not set | 52 | # CONFIG_TINY_SHMEM is not set |
53 | CONFIG_BASE_SMALL=0 | ||
47 | 54 | ||
48 | # | 55 | # |
49 | # Loadable module support | 56 | # Loadable module support |
@@ -59,34 +66,84 @@ CONFIG_6xx=y | |||
59 | # CONFIG_POWER3 is not set | 66 | # CONFIG_POWER3 is not set |
60 | # CONFIG_POWER4 is not set | 67 | # CONFIG_POWER4 is not set |
61 | # CONFIG_8xx is not set | 68 | # CONFIG_8xx is not set |
69 | # CONFIG_E200 is not set | ||
62 | # CONFIG_E500 is not set | 70 | # CONFIG_E500 is not set |
71 | CONFIG_PPC_FPU=y | ||
72 | # CONFIG_KEXEC is not set | ||
63 | # CONFIG_CPU_FREQ is not set | 73 | # CONFIG_CPU_FREQ is not set |
74 | # CONFIG_WANT_EARLY_SERIAL is not set | ||
64 | CONFIG_PPC_GEN550=y | 75 | CONFIG_PPC_GEN550=y |
65 | CONFIG_83xx=y | ||
66 | |||
67 | # | ||
68 | # Freescale 83xx options | ||
69 | # | ||
70 | CONFIG_MPC834x_SYS=y | ||
71 | CONFIG_MPC834x=y | ||
72 | CONFIG_PPC_STD_MMU=y | 76 | CONFIG_PPC_STD_MMU=y |
73 | 77 | ||
74 | # | 78 | # |
75 | # Platform options | 79 | # Platform options |
76 | # | 80 | # |
81 | # CONFIG_PPC_MULTIPLATFORM is not set | ||
82 | # CONFIG_APUS is not set | ||
83 | # CONFIG_KATANA is not set | ||
84 | # CONFIG_WILLOW is not set | ||
85 | # CONFIG_CPCI690 is not set | ||
86 | # CONFIG_POWERPMC250 is not set | ||
87 | # CONFIG_CHESTNUT is not set | ||
88 | # CONFIG_SPRUCE is not set | ||
89 | # CONFIG_HDPU is not set | ||
90 | # CONFIG_EV64260 is not set | ||
91 | # CONFIG_LOPEC is not set | ||
92 | # CONFIG_MVME5100 is not set | ||
93 | # CONFIG_PPLUS is not set | ||
94 | # CONFIG_PRPMC750 is not set | ||
95 | # CONFIG_PRPMC800 is not set | ||
96 | # CONFIG_SANDPOINT is not set | ||
97 | # CONFIG_RADSTONE_PPC7D is not set | ||
98 | # CONFIG_PAL4 is not set | ||
99 | # CONFIG_GEMINI is not set | ||
100 | # CONFIG_EST8260 is not set | ||
101 | # CONFIG_SBC82xx is not set | ||
102 | # CONFIG_SBS8260 is not set | ||
103 | # CONFIG_RPX8260 is not set | ||
104 | # CONFIG_TQM8260 is not set | ||
105 | # CONFIG_ADS8272 is not set | ||
106 | # CONFIG_PQ2FADS is not set | ||
107 | # CONFIG_LITE5200 is not set | ||
108 | CONFIG_MPC834x_SYS=y | ||
109 | # CONFIG_EV64360 is not set | ||
110 | CONFIG_83xx=y | ||
111 | CONFIG_MPC834x=y | ||
77 | # CONFIG_SMP is not set | 112 | # CONFIG_SMP is not set |
78 | # CONFIG_PREEMPT is not set | ||
79 | # CONFIG_HIGHMEM is not set | 113 | # CONFIG_HIGHMEM is not set |
114 | # CONFIG_HZ_100 is not set | ||
115 | CONFIG_HZ_250=y | ||
116 | # CONFIG_HZ_1000 is not set | ||
117 | CONFIG_HZ=250 | ||
118 | CONFIG_PREEMPT_NONE=y | ||
119 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
120 | # CONFIG_PREEMPT is not set | ||
121 | CONFIG_SELECT_MEMORY_MODEL=y | ||
122 | CONFIG_FLATMEM_MANUAL=y | ||
123 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
124 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
125 | CONFIG_FLATMEM=y | ||
126 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
127 | # CONFIG_SPARSEMEM_STATIC is not set | ||
128 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
80 | CONFIG_BINFMT_ELF=y | 129 | CONFIG_BINFMT_ELF=y |
81 | # CONFIG_BINFMT_MISC is not set | 130 | # CONFIG_BINFMT_MISC is not set |
82 | # CONFIG_CMDLINE_BOOL is not set | 131 | # CONFIG_CMDLINE_BOOL is not set |
132 | # CONFIG_PM is not set | ||
133 | # CONFIG_SOFTWARE_SUSPEND is not set | ||
134 | CONFIG_SECCOMP=y | ||
135 | CONFIG_ISA_DMA_API=y | ||
83 | 136 | ||
84 | # | 137 | # |
85 | # Bus options | 138 | # Bus options |
86 | # | 139 | # |
87 | CONFIG_GENERIC_ISA_DMA=y | 140 | CONFIG_GENERIC_ISA_DMA=y |
88 | # CONFIG_PCI is not set | 141 | # CONFIG_PPC_I8259 is not set |
89 | # CONFIG_PCI_DOMAINS is not set | 142 | CONFIG_PPC_INDIRECT_PCI=y |
143 | CONFIG_PCI=y | ||
144 | CONFIG_PCI_DOMAINS=y | ||
145 | # CONFIG_MPC83xx_PCI2 is not set | ||
146 | CONFIG_PCI_LEGACY_PROC=y | ||
90 | 147 | ||
91 | # | 148 | # |
92 | # PCCARD (PCMCIA/CardBus) support | 149 | # PCCARD (PCMCIA/CardBus) support |
@@ -94,10 +151,6 @@ CONFIG_GENERIC_ISA_DMA=y | |||
94 | # CONFIG_PCCARD is not set | 151 | # CONFIG_PCCARD is not set |
95 | 152 | ||
96 | # | 153 | # |
97 | # PC-card bridges | ||
98 | # | ||
99 | |||
100 | # | ||
101 | # Advanced setup | 154 | # Advanced setup |
102 | # | 155 | # |
103 | # CONFIG_ADVANCED_OPTIONS is not set | 156 | # CONFIG_ADVANCED_OPTIONS is not set |
@@ -112,6 +165,75 @@ CONFIG_TASK_SIZE=0x80000000 | |||
112 | CONFIG_BOOT_LOAD=0x00800000 | 165 | CONFIG_BOOT_LOAD=0x00800000 |
113 | 166 | ||
114 | # | 167 | # |
168 | # Networking | ||
169 | # | ||
170 | CONFIG_NET=y | ||
171 | |||
172 | # | ||
173 | # Networking options | ||
174 | # | ||
175 | CONFIG_PACKET=y | ||
176 | # CONFIG_PACKET_MMAP is not set | ||
177 | CONFIG_UNIX=y | ||
178 | # CONFIG_NET_KEY is not set | ||
179 | CONFIG_INET=y | ||
180 | CONFIG_IP_MULTICAST=y | ||
181 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
182 | CONFIG_IP_FIB_HASH=y | ||
183 | CONFIG_IP_PNP=y | ||
184 | CONFIG_IP_PNP_DHCP=y | ||
185 | CONFIG_IP_PNP_BOOTP=y | ||
186 | # CONFIG_IP_PNP_RARP is not set | ||
187 | # CONFIG_NET_IPIP is not set | ||
188 | # CONFIG_NET_IPGRE is not set | ||
189 | # CONFIG_IP_MROUTE is not set | ||
190 | # CONFIG_ARPD is not set | ||
191 | CONFIG_SYN_COOKIES=y | ||
192 | # CONFIG_INET_AH is not set | ||
193 | # CONFIG_INET_ESP is not set | ||
194 | # CONFIG_INET_IPCOMP is not set | ||
195 | # CONFIG_INET_TUNNEL is not set | ||
196 | CONFIG_INET_DIAG=y | ||
197 | CONFIG_INET_TCP_DIAG=y | ||
198 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
199 | CONFIG_TCP_CONG_BIC=y | ||
200 | # CONFIG_IPV6 is not set | ||
201 | # CONFIG_NETFILTER is not set | ||
202 | |||
203 | # | ||
204 | # DCCP Configuration (EXPERIMENTAL) | ||
205 | # | ||
206 | # CONFIG_IP_DCCP is not set | ||
207 | |||
208 | # | ||
209 | # SCTP Configuration (EXPERIMENTAL) | ||
210 | # | ||
211 | # CONFIG_IP_SCTP is not set | ||
212 | # CONFIG_ATM is not set | ||
213 | # CONFIG_BRIDGE is not set | ||
214 | # CONFIG_VLAN_8021Q is not set | ||
215 | # CONFIG_DECNET is not set | ||
216 | # CONFIG_LLC2 is not set | ||
217 | # CONFIG_IPX is not set | ||
218 | # CONFIG_ATALK is not set | ||
219 | # CONFIG_X25 is not set | ||
220 | # CONFIG_LAPB is not set | ||
221 | # CONFIG_NET_DIVERT is not set | ||
222 | # CONFIG_ECONET is not set | ||
223 | # CONFIG_WAN_ROUTER is not set | ||
224 | # CONFIG_NET_SCHED is not set | ||
225 | # CONFIG_NET_CLS_ROUTE is not set | ||
226 | |||
227 | # | ||
228 | # Network testing | ||
229 | # | ||
230 | # CONFIG_NET_PKTGEN is not set | ||
231 | # CONFIG_HAMRADIO is not set | ||
232 | # CONFIG_IRDA is not set | ||
233 | # CONFIG_BT is not set | ||
234 | # CONFIG_IEEE80211 is not set | ||
235 | |||
236 | # | ||
115 | # Device Drivers | 237 | # Device Drivers |
116 | # | 238 | # |
117 | 239 | ||
@@ -123,6 +245,11 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
123 | # CONFIG_FW_LOADER is not set | 245 | # CONFIG_FW_LOADER is not set |
124 | 246 | ||
125 | # | 247 | # |
248 | # Connector - unified userspace <-> kernelspace linker | ||
249 | # | ||
250 | # CONFIG_CONNECTOR is not set | ||
251 | |||
252 | # | ||
126 | # Memory Technology Devices (MTD) | 253 | # Memory Technology Devices (MTD) |
127 | # | 254 | # |
128 | # CONFIG_MTD is not set | 255 | # CONFIG_MTD is not set |
@@ -140,15 +267,19 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
140 | # Block devices | 267 | # Block devices |
141 | # | 268 | # |
142 | # CONFIG_BLK_DEV_FD is not set | 269 | # CONFIG_BLK_DEV_FD is not set |
270 | # CONFIG_BLK_CPQ_DA is not set | ||
271 | # CONFIG_BLK_CPQ_CISS_DA is not set | ||
272 | # CONFIG_BLK_DEV_DAC960 is not set | ||
273 | # CONFIG_BLK_DEV_UMEM is not set | ||
143 | # CONFIG_BLK_DEV_COW_COMMON is not set | 274 | # CONFIG_BLK_DEV_COW_COMMON is not set |
144 | CONFIG_BLK_DEV_LOOP=y | 275 | CONFIG_BLK_DEV_LOOP=y |
145 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 276 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set |
146 | # CONFIG_BLK_DEV_NBD is not set | 277 | # CONFIG_BLK_DEV_NBD is not set |
278 | # CONFIG_BLK_DEV_SX8 is not set | ||
147 | CONFIG_BLK_DEV_RAM=y | 279 | CONFIG_BLK_DEV_RAM=y |
148 | CONFIG_BLK_DEV_RAM_COUNT=16 | 280 | CONFIG_BLK_DEV_RAM_COUNT=16 |
149 | CONFIG_BLK_DEV_RAM_SIZE=32768 | 281 | CONFIG_BLK_DEV_RAM_SIZE=32768 |
150 | CONFIG_BLK_DEV_INITRD=y | 282 | CONFIG_BLK_DEV_INITRD=y |
151 | CONFIG_INITRAMFS_SOURCE="" | ||
152 | # CONFIG_LBD is not set | 283 | # CONFIG_LBD is not set |
153 | # CONFIG_CDROM_PKTCDVD is not set | 284 | # CONFIG_CDROM_PKTCDVD is not set |
154 | 285 | ||
@@ -159,6 +290,11 @@ CONFIG_IOSCHED_NOOP=y | |||
159 | CONFIG_IOSCHED_AS=y | 290 | CONFIG_IOSCHED_AS=y |
160 | CONFIG_IOSCHED_DEADLINE=y | 291 | CONFIG_IOSCHED_DEADLINE=y |
161 | CONFIG_IOSCHED_CFQ=y | 292 | CONFIG_IOSCHED_CFQ=y |
293 | CONFIG_DEFAULT_AS=y | ||
294 | # CONFIG_DEFAULT_DEADLINE is not set | ||
295 | # CONFIG_DEFAULT_CFQ is not set | ||
296 | # CONFIG_DEFAULT_NOOP is not set | ||
297 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
162 | # CONFIG_ATA_OVER_ETH is not set | 298 | # CONFIG_ATA_OVER_ETH is not set |
163 | 299 | ||
164 | # | 300 | # |
@@ -169,6 +305,7 @@ CONFIG_IOSCHED_CFQ=y | |||
169 | # | 305 | # |
170 | # SCSI device support | 306 | # SCSI device support |
171 | # | 307 | # |
308 | # CONFIG_RAID_ATTRS is not set | ||
172 | # CONFIG_SCSI is not set | 309 | # CONFIG_SCSI is not set |
173 | 310 | ||
174 | # | 311 | # |
@@ -179,110 +316,116 @@ CONFIG_IOSCHED_CFQ=y | |||
179 | # | 316 | # |
180 | # Fusion MPT device support | 317 | # Fusion MPT device support |
181 | # | 318 | # |
319 | # CONFIG_FUSION is not set | ||
182 | 320 | ||
183 | # | 321 | # |
184 | # IEEE 1394 (FireWire) support | 322 | # IEEE 1394 (FireWire) support |
185 | # | 323 | # |
324 | # CONFIG_IEEE1394 is not set | ||
186 | 325 | ||
187 | # | 326 | # |
188 | # I2O device support | 327 | # I2O device support |
189 | # | 328 | # |
329 | # CONFIG_I2O is not set | ||
190 | 330 | ||
191 | # | 331 | # |
192 | # Macintosh device drivers | 332 | # Macintosh device drivers |
193 | # | 333 | # |
194 | 334 | ||
195 | # | 335 | # |
196 | # Networking support | 336 | # Network device support |
197 | # | 337 | # |
198 | CONFIG_NET=y | 338 | CONFIG_NETDEVICES=y |
199 | 339 | # CONFIG_DUMMY is not set | |
200 | # | 340 | # CONFIG_BONDING is not set |
201 | # Networking options | 341 | # CONFIG_EQUALIZER is not set |
202 | # | 342 | # CONFIG_TUN is not set |
203 | CONFIG_PACKET=y | ||
204 | # CONFIG_PACKET_MMAP is not set | ||
205 | # CONFIG_NETLINK_DEV is not set | ||
206 | CONFIG_UNIX=y | ||
207 | # CONFIG_NET_KEY is not set | ||
208 | CONFIG_INET=y | ||
209 | CONFIG_IP_MULTICAST=y | ||
210 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
211 | CONFIG_IP_PNP=y | ||
212 | CONFIG_IP_PNP_DHCP=y | ||
213 | CONFIG_IP_PNP_BOOTP=y | ||
214 | # CONFIG_IP_PNP_RARP is not set | ||
215 | # CONFIG_NET_IPIP is not set | ||
216 | # CONFIG_NET_IPGRE is not set | ||
217 | # CONFIG_IP_MROUTE is not set | ||
218 | # CONFIG_ARPD is not set | ||
219 | CONFIG_SYN_COOKIES=y | ||
220 | # CONFIG_INET_AH is not set | ||
221 | # CONFIG_INET_ESP is not set | ||
222 | # CONFIG_INET_IPCOMP is not set | ||
223 | # CONFIG_INET_TUNNEL is not set | ||
224 | CONFIG_IP_TCPDIAG=y | ||
225 | # CONFIG_IP_TCPDIAG_IPV6 is not set | ||
226 | # CONFIG_IPV6 is not set | ||
227 | # CONFIG_NETFILTER is not set | ||
228 | 343 | ||
229 | # | 344 | # |
230 | # SCTP Configuration (EXPERIMENTAL) | 345 | # ARCnet devices |
231 | # | 346 | # |
232 | # CONFIG_IP_SCTP is not set | 347 | # CONFIG_ARCNET is not set |
233 | # CONFIG_ATM is not set | ||
234 | # CONFIG_BRIDGE is not set | ||
235 | # CONFIG_VLAN_8021Q is not set | ||
236 | # CONFIG_DECNET is not set | ||
237 | # CONFIG_LLC2 is not set | ||
238 | # CONFIG_IPX is not set | ||
239 | # CONFIG_ATALK is not set | ||
240 | # CONFIG_X25 is not set | ||
241 | # CONFIG_LAPB is not set | ||
242 | # CONFIG_NET_DIVERT is not set | ||
243 | # CONFIG_ECONET is not set | ||
244 | # CONFIG_WAN_ROUTER is not set | ||
245 | 348 | ||
246 | # | 349 | # |
247 | # QoS and/or fair queueing | 350 | # PHY device support |
248 | # | 351 | # |
249 | # CONFIG_NET_SCHED is not set | 352 | CONFIG_PHYLIB=y |
250 | # CONFIG_NET_CLS_ROUTE is not set | ||
251 | 353 | ||
252 | # | 354 | # |
253 | # Network testing | 355 | # MII PHY device drivers |
254 | # | 356 | # |
255 | # CONFIG_NET_PKTGEN is not set | 357 | CONFIG_MARVELL_PHY=y |
256 | # CONFIG_NETPOLL is not set | 358 | # CONFIG_DAVICOM_PHY is not set |
257 | # CONFIG_NET_POLL_CONTROLLER is not set | 359 | # CONFIG_QSEMI_PHY is not set |
258 | # CONFIG_HAMRADIO is not set | 360 | # CONFIG_LXT_PHY is not set |
259 | # CONFIG_IRDA is not set | 361 | # CONFIG_CICADA_PHY is not set |
260 | # CONFIG_BT is not set | ||
261 | CONFIG_NETDEVICES=y | ||
262 | # CONFIG_DUMMY is not set | ||
263 | # CONFIG_BONDING is not set | ||
264 | # CONFIG_EQUALIZER is not set | ||
265 | # CONFIG_TUN is not set | ||
266 | 362 | ||
267 | # | 363 | # |
268 | # Ethernet (10 or 100Mbit) | 364 | # Ethernet (10 or 100Mbit) |
269 | # | 365 | # |
270 | CONFIG_NET_ETHERNET=y | 366 | CONFIG_NET_ETHERNET=y |
271 | CONFIG_MII=y | 367 | CONFIG_MII=y |
368 | # CONFIG_HAPPYMEAL is not set | ||
369 | # CONFIG_SUNGEM is not set | ||
370 | # CONFIG_CASSINI is not set | ||
371 | # CONFIG_NET_VENDOR_3COM is not set | ||
372 | |||
373 | # | ||
374 | # Tulip family network device support | ||
375 | # | ||
376 | # CONFIG_NET_TULIP is not set | ||
377 | # CONFIG_HP100 is not set | ||
378 | CONFIG_NET_PCI=y | ||
379 | # CONFIG_PCNET32 is not set | ||
380 | # CONFIG_AMD8111_ETH is not set | ||
381 | # CONFIG_ADAPTEC_STARFIRE is not set | ||
382 | # CONFIG_B44 is not set | ||
383 | # CONFIG_FORCEDETH is not set | ||
384 | # CONFIG_DGRS is not set | ||
385 | # CONFIG_EEPRO100 is not set | ||
386 | CONFIG_E100=y | ||
387 | # CONFIG_FEALNX is not set | ||
388 | # CONFIG_NATSEMI is not set | ||
389 | # CONFIG_NE2K_PCI is not set | ||
390 | # CONFIG_8139CP is not set | ||
391 | # CONFIG_8139TOO is not set | ||
392 | # CONFIG_SIS900 is not set | ||
393 | # CONFIG_EPIC100 is not set | ||
394 | # CONFIG_SUNDANCE is not set | ||
395 | # CONFIG_TLAN is not set | ||
396 | # CONFIG_VIA_RHINE is not set | ||
272 | 397 | ||
273 | # | 398 | # |
274 | # Ethernet (1000 Mbit) | 399 | # Ethernet (1000 Mbit) |
275 | # | 400 | # |
401 | # CONFIG_ACENIC is not set | ||
402 | # CONFIG_DL2K is not set | ||
403 | CONFIG_E1000=y | ||
404 | # CONFIG_E1000_NAPI is not set | ||
405 | # CONFIG_NS83820 is not set | ||
406 | # CONFIG_HAMACHI is not set | ||
407 | # CONFIG_YELLOWFIN is not set | ||
408 | # CONFIG_R8169 is not set | ||
409 | # CONFIG_SIS190 is not set | ||
410 | # CONFIG_SKGE is not set | ||
411 | # CONFIG_SK98LIN is not set | ||
412 | # CONFIG_VIA_VELOCITY is not set | ||
413 | # CONFIG_TIGON3 is not set | ||
414 | # CONFIG_BNX2 is not set | ||
276 | CONFIG_GIANFAR=y | 415 | CONFIG_GIANFAR=y |
277 | # CONFIG_GFAR_NAPI is not set | 416 | # CONFIG_GFAR_NAPI is not set |
278 | 417 | ||
279 | # | 418 | # |
280 | # Ethernet (10000 Mbit) | 419 | # Ethernet (10000 Mbit) |
281 | # | 420 | # |
421 | # CONFIG_CHELSIO_T1 is not set | ||
422 | # CONFIG_IXGB is not set | ||
423 | # CONFIG_S2IO is not set | ||
282 | 424 | ||
283 | # | 425 | # |
284 | # Token Ring devices | 426 | # Token Ring devices |
285 | # | 427 | # |
428 | # CONFIG_TR is not set | ||
286 | 429 | ||
287 | # | 430 | # |
288 | # Wireless LAN (non-hamradio) | 431 | # Wireless LAN (non-hamradio) |
@@ -293,10 +436,14 @@ CONFIG_GIANFAR=y | |||
293 | # Wan interfaces | 436 | # Wan interfaces |
294 | # | 437 | # |
295 | # CONFIG_WAN is not set | 438 | # CONFIG_WAN is not set |
439 | # CONFIG_FDDI is not set | ||
440 | # CONFIG_HIPPI is not set | ||
296 | # CONFIG_PPP is not set | 441 | # CONFIG_PPP is not set |
297 | # CONFIG_SLIP is not set | 442 | # CONFIG_SLIP is not set |
298 | # CONFIG_SHAPER is not set | 443 | # CONFIG_SHAPER is not set |
299 | # CONFIG_NETCONSOLE is not set | 444 | # CONFIG_NETCONSOLE is not set |
445 | # CONFIG_NETPOLL is not set | ||
446 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
300 | 447 | ||
301 | # | 448 | # |
302 | # ISDN subsystem | 449 | # ISDN subsystem |
@@ -323,14 +470,6 @@ CONFIG_INPUT=y | |||
323 | # CONFIG_INPUT_EVBUG is not set | 470 | # CONFIG_INPUT_EVBUG is not set |
324 | 471 | ||
325 | # | 472 | # |
326 | # Input I/O drivers | ||
327 | # | ||
328 | # CONFIG_GAMEPORT is not set | ||
329 | CONFIG_SOUND_GAMEPORT=y | ||
330 | # CONFIG_SERIO is not set | ||
331 | # CONFIG_SERIO_I8042 is not set | ||
332 | |||
333 | # | ||
334 | # Input Device Drivers | 473 | # Input Device Drivers |
335 | # | 474 | # |
336 | # CONFIG_INPUT_KEYBOARD is not set | 475 | # CONFIG_INPUT_KEYBOARD is not set |
@@ -340,6 +479,12 @@ CONFIG_SOUND_GAMEPORT=y | |||
340 | # CONFIG_INPUT_MISC is not set | 479 | # CONFIG_INPUT_MISC is not set |
341 | 480 | ||
342 | # | 481 | # |
482 | # Hardware I/O ports | ||
483 | # | ||
484 | # CONFIG_SERIO is not set | ||
485 | # CONFIG_GAMEPORT is not set | ||
486 | |||
487 | # | ||
343 | # Character devices | 488 | # Character devices |
344 | # | 489 | # |
345 | # CONFIG_VT is not set | 490 | # CONFIG_VT is not set |
@@ -358,6 +503,7 @@ CONFIG_SERIAL_8250_NR_UARTS=4 | |||
358 | # | 503 | # |
359 | CONFIG_SERIAL_CORE=y | 504 | CONFIG_SERIAL_CORE=y |
360 | CONFIG_SERIAL_CORE_CONSOLE=y | 505 | CONFIG_SERIAL_CORE_CONSOLE=y |
506 | # CONFIG_SERIAL_JSM is not set | ||
361 | CONFIG_UNIX98_PTYS=y | 507 | CONFIG_UNIX98_PTYS=y |
362 | CONFIG_LEGACY_PTYS=y | 508 | CONFIG_LEGACY_PTYS=y |
363 | CONFIG_LEGACY_PTY_COUNT=256 | 509 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -376,6 +522,7 @@ CONFIG_GEN_RTC=y | |||
376 | # CONFIG_GEN_RTC_X is not set | 522 | # CONFIG_GEN_RTC_X is not set |
377 | # CONFIG_DTLK is not set | 523 | # CONFIG_DTLK is not set |
378 | # CONFIG_R3964 is not set | 524 | # CONFIG_R3964 is not set |
525 | # CONFIG_APPLICOM is not set | ||
379 | 526 | ||
380 | # | 527 | # |
381 | # Ftape, the floppy tape device driver | 528 | # Ftape, the floppy tape device driver |
@@ -385,6 +532,12 @@ CONFIG_GEN_RTC=y | |||
385 | # CONFIG_RAW_DRIVER is not set | 532 | # CONFIG_RAW_DRIVER is not set |
386 | 533 | ||
387 | # | 534 | # |
535 | # TPM devices | ||
536 | # | ||
537 | # CONFIG_TCG_TPM is not set | ||
538 | # CONFIG_TELCLOCK is not set | ||
539 | |||
540 | # | ||
388 | # I2C support | 541 | # I2C support |
389 | # | 542 | # |
390 | CONFIG_I2C=y | 543 | CONFIG_I2C=y |
@@ -400,23 +553,68 @@ CONFIG_I2C_CHARDEV=y | |||
400 | # | 553 | # |
401 | # I2C Hardware Bus support | 554 | # I2C Hardware Bus support |
402 | # | 555 | # |
403 | # CONFIG_I2C_ISA is not set | 556 | # CONFIG_I2C_ALI1535 is not set |
557 | # CONFIG_I2C_ALI1563 is not set | ||
558 | # CONFIG_I2C_ALI15X3 is not set | ||
559 | # CONFIG_I2C_AMD756 is not set | ||
560 | # CONFIG_I2C_AMD8111 is not set | ||
561 | # CONFIG_I2C_I801 is not set | ||
562 | # CONFIG_I2C_I810 is not set | ||
563 | # CONFIG_I2C_PIIX4 is not set | ||
404 | CONFIG_I2C_MPC=y | 564 | CONFIG_I2C_MPC=y |
565 | # CONFIG_I2C_NFORCE2 is not set | ||
405 | # CONFIG_I2C_PARPORT_LIGHT is not set | 566 | # CONFIG_I2C_PARPORT_LIGHT is not set |
567 | # CONFIG_I2C_PROSAVAGE is not set | ||
568 | # CONFIG_I2C_SAVAGE4 is not set | ||
569 | # CONFIG_SCx200_ACB is not set | ||
570 | # CONFIG_I2C_SIS5595 is not set | ||
571 | # CONFIG_I2C_SIS630 is not set | ||
572 | # CONFIG_I2C_SIS96X is not set | ||
573 | # CONFIG_I2C_VIA is not set | ||
574 | # CONFIG_I2C_VIAPRO is not set | ||
575 | # CONFIG_I2C_VOODOO3 is not set | ||
406 | # CONFIG_I2C_PCA_ISA is not set | 576 | # CONFIG_I2C_PCA_ISA is not set |
407 | 577 | ||
408 | # | 578 | # |
409 | # Hardware Sensors Chip support | 579 | # Miscellaneous I2C Chip support |
580 | # | ||
581 | # CONFIG_SENSORS_DS1337 is not set | ||
582 | # CONFIG_SENSORS_DS1374 is not set | ||
583 | # CONFIG_SENSORS_EEPROM is not set | ||
584 | # CONFIG_SENSORS_PCF8574 is not set | ||
585 | # CONFIG_SENSORS_PCA9539 is not set | ||
586 | # CONFIG_SENSORS_PCF8591 is not set | ||
587 | # CONFIG_SENSORS_RTC8564 is not set | ||
588 | # CONFIG_SENSORS_M41T00 is not set | ||
589 | # CONFIG_SENSORS_MAX6875 is not set | ||
590 | # CONFIG_RTC_X1205_I2C is not set | ||
591 | # CONFIG_I2C_DEBUG_CORE is not set | ||
592 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
593 | # CONFIG_I2C_DEBUG_BUS is not set | ||
594 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
595 | |||
596 | # | ||
597 | # Dallas's 1-wire bus | ||
598 | # | ||
599 | # CONFIG_W1 is not set | ||
600 | |||
601 | # | ||
602 | # Hardware Monitoring support | ||
410 | # | 603 | # |
411 | # CONFIG_I2C_SENSOR is not set | 604 | CONFIG_HWMON=y |
605 | # CONFIG_HWMON_VID is not set | ||
412 | # CONFIG_SENSORS_ADM1021 is not set | 606 | # CONFIG_SENSORS_ADM1021 is not set |
413 | # CONFIG_SENSORS_ADM1025 is not set | 607 | # CONFIG_SENSORS_ADM1025 is not set |
414 | # CONFIG_SENSORS_ADM1026 is not set | 608 | # CONFIG_SENSORS_ADM1026 is not set |
415 | # CONFIG_SENSORS_ADM1031 is not set | 609 | # CONFIG_SENSORS_ADM1031 is not set |
610 | # CONFIG_SENSORS_ADM9240 is not set | ||
416 | # CONFIG_SENSORS_ASB100 is not set | 611 | # CONFIG_SENSORS_ASB100 is not set |
612 | # CONFIG_SENSORS_ATXP1 is not set | ||
417 | # CONFIG_SENSORS_DS1621 is not set | 613 | # CONFIG_SENSORS_DS1621 is not set |
418 | # CONFIG_SENSORS_FSCHER is not set | 614 | # CONFIG_SENSORS_FSCHER is not set |
615 | # CONFIG_SENSORS_FSCPOS is not set | ||
419 | # CONFIG_SENSORS_GL518SM is not set | 616 | # CONFIG_SENSORS_GL518SM is not set |
617 | # CONFIG_SENSORS_GL520SM is not set | ||
420 | # CONFIG_SENSORS_IT87 is not set | 618 | # CONFIG_SENSORS_IT87 is not set |
421 | # CONFIG_SENSORS_LM63 is not set | 619 | # CONFIG_SENSORS_LM63 is not set |
422 | # CONFIG_SENSORS_LM75 is not set | 620 | # CONFIG_SENSORS_LM75 is not set |
@@ -427,33 +625,26 @@ CONFIG_I2C_MPC=y | |||
427 | # CONFIG_SENSORS_LM85 is not set | 625 | # CONFIG_SENSORS_LM85 is not set |
428 | # CONFIG_SENSORS_LM87 is not set | 626 | # CONFIG_SENSORS_LM87 is not set |
429 | # CONFIG_SENSORS_LM90 is not set | 627 | # CONFIG_SENSORS_LM90 is not set |
628 | # CONFIG_SENSORS_LM92 is not set | ||
430 | # CONFIG_SENSORS_MAX1619 is not set | 629 | # CONFIG_SENSORS_MAX1619 is not set |
431 | # CONFIG_SENSORS_PC87360 is not set | 630 | # CONFIG_SENSORS_PC87360 is not set |
432 | # CONFIG_SENSORS_SMSC47B397 is not set | 631 | # CONFIG_SENSORS_SIS5595 is not set |
433 | # CONFIG_SENSORS_SMSC47M1 is not set | 632 | # CONFIG_SENSORS_SMSC47M1 is not set |
633 | # CONFIG_SENSORS_SMSC47B397 is not set | ||
634 | # CONFIG_SENSORS_VIA686A is not set | ||
434 | # CONFIG_SENSORS_W83781D is not set | 635 | # CONFIG_SENSORS_W83781D is not set |
636 | # CONFIG_SENSORS_W83792D is not set | ||
435 | # CONFIG_SENSORS_W83L785TS is not set | 637 | # CONFIG_SENSORS_W83L785TS is not set |
436 | # CONFIG_SENSORS_W83627HF is not set | 638 | # CONFIG_SENSORS_W83627HF is not set |
639 | # CONFIG_SENSORS_W83627EHF is not set | ||
640 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
437 | 641 | ||
438 | # | 642 | # |
439 | # Other I2C Chip support | 643 | # Misc devices |
440 | # | ||
441 | # CONFIG_SENSORS_EEPROM is not set | ||
442 | # CONFIG_SENSORS_PCF8574 is not set | ||
443 | # CONFIG_SENSORS_PCF8591 is not set | ||
444 | # CONFIG_SENSORS_RTC8564 is not set | ||
445 | # CONFIG_I2C_DEBUG_CORE is not set | ||
446 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
447 | # CONFIG_I2C_DEBUG_BUS is not set | ||
448 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
449 | |||
450 | # | ||
451 | # Dallas's 1-wire bus | ||
452 | # | 644 | # |
453 | # CONFIG_W1 is not set | ||
454 | 645 | ||
455 | # | 646 | # |
456 | # Misc devices | 647 | # Multimedia Capabilities Port drivers |
457 | # | 648 | # |
458 | 649 | ||
459 | # | 650 | # |
@@ -479,11 +670,12 @@ CONFIG_I2C_MPC=y | |||
479 | # | 670 | # |
480 | # USB support | 671 | # USB support |
481 | # | 672 | # |
482 | # CONFIG_USB_ARCH_HAS_HCD is not set | 673 | CONFIG_USB_ARCH_HAS_HCD=y |
483 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 674 | CONFIG_USB_ARCH_HAS_OHCI=y |
675 | # CONFIG_USB is not set | ||
484 | 676 | ||
485 | # | 677 | # |
486 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information | 678 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
487 | # | 679 | # |
488 | 680 | ||
489 | # | 681 | # |
@@ -502,10 +694,15 @@ CONFIG_I2C_MPC=y | |||
502 | # CONFIG_INFINIBAND is not set | 694 | # CONFIG_INFINIBAND is not set |
503 | 695 | ||
504 | # | 696 | # |
697 | # SN Devices | ||
698 | # | ||
699 | |||
700 | # | ||
505 | # File systems | 701 | # File systems |
506 | # | 702 | # |
507 | CONFIG_EXT2_FS=y | 703 | CONFIG_EXT2_FS=y |
508 | # CONFIG_EXT2_FS_XATTR is not set | 704 | # CONFIG_EXT2_FS_XATTR is not set |
705 | # CONFIG_EXT2_FS_XIP is not set | ||
509 | CONFIG_EXT3_FS=y | 706 | CONFIG_EXT3_FS=y |
510 | CONFIG_EXT3_FS_XATTR=y | 707 | CONFIG_EXT3_FS_XATTR=y |
511 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 708 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
@@ -515,17 +712,16 @@ CONFIG_JBD=y | |||
515 | CONFIG_FS_MBCACHE=y | 712 | CONFIG_FS_MBCACHE=y |
516 | # CONFIG_REISERFS_FS is not set | 713 | # CONFIG_REISERFS_FS is not set |
517 | # CONFIG_JFS_FS is not set | 714 | # CONFIG_JFS_FS is not set |
518 | 715 | # CONFIG_FS_POSIX_ACL is not set | |
519 | # | ||
520 | # XFS support | ||
521 | # | ||
522 | # CONFIG_XFS_FS is not set | 716 | # CONFIG_XFS_FS is not set |
523 | # CONFIG_MINIX_FS is not set | 717 | # CONFIG_MINIX_FS is not set |
524 | # CONFIG_ROMFS_FS is not set | 718 | # CONFIG_ROMFS_FS is not set |
719 | CONFIG_INOTIFY=y | ||
525 | # CONFIG_QUOTA is not set | 720 | # CONFIG_QUOTA is not set |
526 | CONFIG_DNOTIFY=y | 721 | CONFIG_DNOTIFY=y |
527 | # CONFIG_AUTOFS_FS is not set | 722 | # CONFIG_AUTOFS_FS is not set |
528 | # CONFIG_AUTOFS4_FS is not set | 723 | # CONFIG_AUTOFS4_FS is not set |
724 | # CONFIG_FUSE_FS is not set | ||
529 | 725 | ||
530 | # | 726 | # |
531 | # CD-ROM/DVD Filesystems | 727 | # CD-ROM/DVD Filesystems |
@@ -546,12 +742,10 @@ CONFIG_DNOTIFY=y | |||
546 | CONFIG_PROC_FS=y | 742 | CONFIG_PROC_FS=y |
547 | CONFIG_PROC_KCORE=y | 743 | CONFIG_PROC_KCORE=y |
548 | CONFIG_SYSFS=y | 744 | CONFIG_SYSFS=y |
549 | # CONFIG_DEVFS_FS is not set | ||
550 | # CONFIG_DEVPTS_FS_XATTR is not set | ||
551 | CONFIG_TMPFS=y | 745 | CONFIG_TMPFS=y |
552 | # CONFIG_TMPFS_XATTR is not set | ||
553 | # CONFIG_HUGETLB_PAGE is not set | 746 | # CONFIG_HUGETLB_PAGE is not set |
554 | CONFIG_RAMFS=y | 747 | CONFIG_RAMFS=y |
748 | # CONFIG_RELAYFS_FS is not set | ||
555 | 749 | ||
556 | # | 750 | # |
557 | # Miscellaneous filesystems | 751 | # Miscellaneous filesystems |
@@ -580,6 +774,7 @@ CONFIG_NFS_FS=y | |||
580 | # CONFIG_NFSD is not set | 774 | # CONFIG_NFSD is not set |
581 | CONFIG_ROOT_NFS=y | 775 | CONFIG_ROOT_NFS=y |
582 | CONFIG_LOCKD=y | 776 | CONFIG_LOCKD=y |
777 | CONFIG_NFS_COMMON=y | ||
583 | CONFIG_SUNRPC=y | 778 | CONFIG_SUNRPC=y |
584 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 779 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
585 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 780 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
@@ -588,6 +783,7 @@ CONFIG_SUNRPC=y | |||
588 | # CONFIG_NCP_FS is not set | 783 | # CONFIG_NCP_FS is not set |
589 | # CONFIG_CODA_FS is not set | 784 | # CONFIG_CODA_FS is not set |
590 | # CONFIG_AFS_FS is not set | 785 | # CONFIG_AFS_FS is not set |
786 | # CONFIG_9P_FS is not set | ||
591 | 787 | ||
592 | # | 788 | # |
593 | # Partition Types | 789 | # Partition Types |
@@ -614,6 +810,7 @@ CONFIG_PARTITION_ADVANCED=y | |||
614 | # Library routines | 810 | # Library routines |
615 | # | 811 | # |
616 | # CONFIG_CRC_CCITT is not set | 812 | # CONFIG_CRC_CCITT is not set |
813 | # CONFIG_CRC16 is not set | ||
617 | CONFIG_CRC32=y | 814 | CONFIG_CRC32=y |
618 | # CONFIG_LIBCRC32C is not set | 815 | # CONFIG_LIBCRC32C is not set |
619 | 816 | ||
@@ -625,7 +822,9 @@ CONFIG_CRC32=y | |||
625 | # | 822 | # |
626 | # Kernel hacking | 823 | # Kernel hacking |
627 | # | 824 | # |
825 | # CONFIG_PRINTK_TIME is not set | ||
628 | # CONFIG_DEBUG_KERNEL is not set | 826 | # CONFIG_DEBUG_KERNEL is not set |
827 | CONFIG_LOG_BUF_SHIFT=14 | ||
629 | # CONFIG_SERIAL_TEXT_DEBUG is not set | 828 | # CONFIG_SERIAL_TEXT_DEBUG is not set |
630 | 829 | ||
631 | # | 830 | # |
diff --git a/arch/ppc/kernel/Makefile b/arch/ppc/kernel/Makefile index 76a55a438f23..17a4da65e275 100644 --- a/arch/ppc/kernel/Makefile +++ b/arch/ppc/kernel/Makefile | |||
@@ -12,7 +12,7 @@ extra-$(CONFIG_6xx) += idle_6xx.o | |||
12 | extra-$(CONFIG_POWER4) += idle_power4.o | 12 | extra-$(CONFIG_POWER4) += idle_power4.o |
13 | extra-y += vmlinux.lds | 13 | extra-y += vmlinux.lds |
14 | 14 | ||
15 | obj-y := entry.o traps.o irq.o idle.o time.o misc.o \ | 15 | obj-y := entry.o traps.o idle.o time.o misc.o \ |
16 | process.o align.o \ | 16 | process.o align.o \ |
17 | setup.o \ | 17 | setup.o \ |
18 | ppc_htab.o | 18 | ppc_htab.o |
@@ -38,8 +38,7 @@ endif | |||
38 | # These are here while we do the architecture merge | 38 | # These are here while we do the architecture merge |
39 | 39 | ||
40 | else | 40 | else |
41 | obj-y := irq.o idle.o \ | 41 | obj-y := idle.o align.o |
42 | align.o | ||
43 | obj-$(CONFIG_6xx) += l2cr.o cpu_setup_6xx.o | 42 | obj-$(CONFIG_6xx) += l2cr.o cpu_setup_6xx.o |
44 | obj-$(CONFIG_SOFTWARE_SUSPEND) += swsusp.o | 43 | obj-$(CONFIG_SOFTWARE_SUSPEND) += swsusp.o |
45 | obj-$(CONFIG_MODULES) += module.o | 44 | obj-$(CONFIG_MODULES) += module.o |
diff --git a/arch/ppc/kernel/asm-offsets.c b/arch/ppc/kernel/asm-offsets.c index 968261d69572..fe0e767fb94e 100644 --- a/arch/ppc/kernel/asm-offsets.c +++ b/arch/ppc/kernel/asm-offsets.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <asm/processor.h> | 25 | #include <asm/processor.h> |
26 | #include <asm/cputable.h> | 26 | #include <asm/cputable.h> |
27 | #include <asm/thread_info.h> | 27 | #include <asm/thread_info.h> |
28 | #include <asm/vdso_datapage.h> | ||
28 | 29 | ||
29 | #define DEFINE(sym, val) \ | 30 | #define DEFINE(sym, val) \ |
30 | asm volatile("\n->" #sym " %0 " #val : : "i" (val)) | 31 | asm volatile("\n->" #sym " %0 " #val : : "i" (val)) |
@@ -143,5 +144,32 @@ main(void) | |||
143 | 144 | ||
144 | DEFINE(TASK_SIZE, TASK_SIZE); | 145 | DEFINE(TASK_SIZE, TASK_SIZE); |
145 | DEFINE(NUM_USER_SEGMENTS, TASK_SIZE>>28); | 146 | DEFINE(NUM_USER_SEGMENTS, TASK_SIZE>>28); |
147 | |||
148 | /* datapage offsets for use by vdso */ | ||
149 | DEFINE(CFG_TB_ORIG_STAMP, offsetof(struct vdso_data, tb_orig_stamp)); | ||
150 | DEFINE(CFG_TB_TICKS_PER_SEC, offsetof(struct vdso_data, tb_ticks_per_sec)); | ||
151 | DEFINE(CFG_TB_TO_XS, offsetof(struct vdso_data, tb_to_xs)); | ||
152 | DEFINE(CFG_STAMP_XSEC, offsetof(struct vdso_data, stamp_xsec)); | ||
153 | DEFINE(CFG_TB_UPDATE_COUNT, offsetof(struct vdso_data, tb_update_count)); | ||
154 | DEFINE(CFG_TZ_MINUTEWEST, offsetof(struct vdso_data, tz_minuteswest)); | ||
155 | DEFINE(CFG_TZ_DSTTIME, offsetof(struct vdso_data, tz_dsttime)); | ||
156 | DEFINE(CFG_SYSCALL_MAP32, offsetof(struct vdso_data, syscall_map_32)); | ||
157 | DEFINE(WTOM_CLOCK_SEC, offsetof(struct vdso_data, wtom_clock_sec)); | ||
158 | DEFINE(WTOM_CLOCK_NSEC, offsetof(struct vdso_data, wtom_clock_nsec)); | ||
159 | DEFINE(TVAL32_TV_SEC, offsetof(struct timeval, tv_sec)); | ||
160 | DEFINE(TVAL32_TV_USEC, offsetof(struct timeval, tv_usec)); | ||
161 | DEFINE(TSPEC32_TV_SEC, offsetof(struct timespec, tv_sec)); | ||
162 | DEFINE(TSPEC32_TV_NSEC, offsetof(struct timespec, tv_nsec)); | ||
163 | |||
164 | /* timeval/timezone offsets for use by vdso */ | ||
165 | DEFINE(TZONE_TZ_MINWEST, offsetof(struct timezone, tz_minuteswest)); | ||
166 | DEFINE(TZONE_TZ_DSTTIME, offsetof(struct timezone, tz_dsttime)); | ||
167 | |||
168 | /* Other bits used by the vdso */ | ||
169 | DEFINE(CLOCK_REALTIME, CLOCK_REALTIME); | ||
170 | DEFINE(CLOCK_MONOTONIC, CLOCK_MONOTONIC); | ||
171 | DEFINE(NSEC_PER_SEC, NSEC_PER_SEC); | ||
172 | DEFINE(CLOCK_REALTIME_RES, TICK_NSEC); | ||
173 | |||
146 | return 0; | 174 | return 0; |
147 | } | 175 | } |
diff --git a/arch/ppc/kernel/head_booke.h b/arch/ppc/kernel/head_booke.h index aeb349b47af3..f3d274c6b231 100644 --- a/arch/ppc/kernel/head_booke.h +++ b/arch/ppc/kernel/head_booke.h | |||
@@ -358,6 +358,6 @@ label: | |||
358 | NORMAL_EXCEPTION_PROLOG; \ | 358 | NORMAL_EXCEPTION_PROLOG; \ |
359 | bne load_up_fpu; /* if from user, just load it up */ \ | 359 | bne load_up_fpu; /* if from user, just load it up */ \ |
360 | addi r3,r1,STACK_FRAME_OVERHEAD; \ | 360 | addi r3,r1,STACK_FRAME_OVERHEAD; \ |
361 | EXC_XFER_EE_LITE(0x800, KernelFP) | 361 | EXC_XFER_EE_LITE(0x800, kernel_fp_unavailable_exception) |
362 | 362 | ||
363 | #endif /* __HEAD_BOOKE_H__ */ | 363 | #endif /* __HEAD_BOOKE_H__ */ |
diff --git a/arch/ppc/kernel/idle.c b/arch/ppc/kernel/idle.c index 11e5b44713f7..821a75e45602 100644 --- a/arch/ppc/kernel/idle.c +++ b/arch/ppc/kernel/idle.c | |||
@@ -53,10 +53,6 @@ void default_idle(void) | |||
53 | } | 53 | } |
54 | #endif | 54 | #endif |
55 | } | 55 | } |
56 | if (need_resched()) | ||
57 | schedule(); | ||
58 | if (cpu_is_offline(cpu) && system_state == SYSTEM_RUNNING) | ||
59 | cpu_die(); | ||
60 | } | 56 | } |
61 | 57 | ||
62 | /* | 58 | /* |
@@ -64,11 +60,22 @@ void default_idle(void) | |||
64 | */ | 60 | */ |
65 | void cpu_idle(void) | 61 | void cpu_idle(void) |
66 | { | 62 | { |
67 | for (;;) | 63 | int cpu = smp_processor_id(); |
68 | if (ppc_md.idle != NULL) | 64 | |
69 | ppc_md.idle(); | 65 | for (;;) { |
70 | else | 66 | while (!need_resched()) { |
71 | default_idle(); | 67 | if (ppc_md.idle != NULL) |
68 | ppc_md.idle(); | ||
69 | else | ||
70 | default_idle(); | ||
71 | } | ||
72 | |||
73 | if (cpu_is_offline(cpu) && system_state == SYSTEM_RUNNING) | ||
74 | cpu_die(); | ||
75 | preempt_enable_no_resched(); | ||
76 | schedule(); | ||
77 | preempt_disable(); | ||
78 | } | ||
72 | } | 79 | } |
73 | 80 | ||
74 | #if defined(CONFIG_SYSCTL) && defined(CONFIG_6xx) | 81 | #if defined(CONFIG_SYSCTL) && defined(CONFIG_6xx) |
diff --git a/arch/ppc/kernel/irq.c b/arch/ppc/kernel/irq.c deleted file mode 100644 index fbb2b9f8922c..000000000000 --- a/arch/ppc/kernel/irq.c +++ /dev/null | |||
@@ -1,165 +0,0 @@ | |||
1 | /* | ||
2 | * arch/ppc/kernel/irq.c | ||
3 | * | ||
4 | * Derived from arch/i386/kernel/irq.c | ||
5 | * Copyright (C) 1992 Linus Torvalds | ||
6 | * Adapted from arch/i386 by Gary Thomas | ||
7 | * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org) | ||
8 | * Updated and modified by Cort Dougan <cort@fsmlabs.com> | ||
9 | * Copyright (C) 1996-2001 Cort Dougan | ||
10 | * Adapted for Power Macintosh by Paul Mackerras | ||
11 | * Copyright (C) 1996 Paul Mackerras (paulus@cs.anu.edu.au) | ||
12 | * Amiga/APUS changes by Jesper Skov (jskov@cygnus.co.uk). | ||
13 | * | ||
14 | * This file contains the code used by various IRQ handling routines: | ||
15 | * asking for different IRQ's should be done through these routines | ||
16 | * instead of just grabbing them. Thus setups with different IRQ numbers | ||
17 | * shouldn't result in any weird surprises, and installing new handlers | ||
18 | * should be easier. | ||
19 | * | ||
20 | * The MPC8xx has an interrupt mask in the SIU. If a bit is set, the | ||
21 | * interrupt is _enabled_. As expected, IRQ0 is bit 0 in the 32-bit | ||
22 | * mask register (of which only 16 are defined), hence the weird shifting | ||
23 | * and complement of the cached_irq_mask. I want to be able to stuff | ||
24 | * this right into the SIU SMASK register. | ||
25 | * Many of the prep/chrp functions are conditional compiled on CONFIG_8xx | ||
26 | * to reduce code space and undefined function references. | ||
27 | */ | ||
28 | |||
29 | #include <linux/errno.h> | ||
30 | #include <linux/module.h> | ||
31 | #include <linux/threads.h> | ||
32 | #include <linux/kernel_stat.h> | ||
33 | #include <linux/signal.h> | ||
34 | #include <linux/sched.h> | ||
35 | #include <linux/ptrace.h> | ||
36 | #include <linux/ioport.h> | ||
37 | #include <linux/interrupt.h> | ||
38 | #include <linux/timex.h> | ||
39 | #include <linux/config.h> | ||
40 | #include <linux/init.h> | ||
41 | #include <linux/slab.h> | ||
42 | #include <linux/pci.h> | ||
43 | #include <linux/delay.h> | ||
44 | #include <linux/irq.h> | ||
45 | #include <linux/proc_fs.h> | ||
46 | #include <linux/random.h> | ||
47 | #include <linux/seq_file.h> | ||
48 | #include <linux/cpumask.h> | ||
49 | #include <linux/profile.h> | ||
50 | #include <linux/bitops.h> | ||
51 | |||
52 | #include <asm/uaccess.h> | ||
53 | #include <asm/system.h> | ||
54 | #include <asm/io.h> | ||
55 | #include <asm/pgtable.h> | ||
56 | #include <asm/irq.h> | ||
57 | #include <asm/cache.h> | ||
58 | #include <asm/prom.h> | ||
59 | #include <asm/ptrace.h> | ||
60 | #include <asm/machdep.h> | ||
61 | |||
62 | #define NR_MASK_WORDS ((NR_IRQS + 31) / 32) | ||
63 | |||
64 | extern atomic_t ipi_recv; | ||
65 | extern atomic_t ipi_sent; | ||
66 | |||
67 | #define MAXCOUNT 10000000 | ||
68 | |||
69 | int ppc_spurious_interrupts = 0; | ||
70 | struct irqaction *ppc_irq_action[NR_IRQS]; | ||
71 | unsigned long ppc_cached_irq_mask[NR_MASK_WORDS]; | ||
72 | unsigned long ppc_lost_interrupts[NR_MASK_WORDS]; | ||
73 | atomic_t ppc_n_lost_interrupts; | ||
74 | |||
75 | #ifdef CONFIG_TAU_INT | ||
76 | extern int tau_initialized; | ||
77 | extern int tau_interrupts(int); | ||
78 | #endif | ||
79 | |||
80 | int show_interrupts(struct seq_file *p, void *v) | ||
81 | { | ||
82 | int i = *(loff_t *) v, j; | ||
83 | struct irqaction * action; | ||
84 | unsigned long flags; | ||
85 | |||
86 | if (i == 0) { | ||
87 | seq_puts(p, " "); | ||
88 | for (j=0; j<NR_CPUS; j++) | ||
89 | if (cpu_online(j)) | ||
90 | seq_printf(p, "CPU%d ", j); | ||
91 | seq_putc(p, '\n'); | ||
92 | } | ||
93 | |||
94 | if (i < NR_IRQS) { | ||
95 | spin_lock_irqsave(&irq_desc[i].lock, flags); | ||
96 | action = irq_desc[i].action; | ||
97 | if ( !action || !action->handler ) | ||
98 | goto skip; | ||
99 | seq_printf(p, "%3d: ", i); | ||
100 | #ifdef CONFIG_SMP | ||
101 | for (j = 0; j < NR_CPUS; j++) | ||
102 | if (cpu_online(j)) | ||
103 | seq_printf(p, "%10u ", | ||
104 | kstat_cpu(j).irqs[i]); | ||
105 | #else | ||
106 | seq_printf(p, "%10u ", kstat_irqs(i)); | ||
107 | #endif /* CONFIG_SMP */ | ||
108 | if (irq_desc[i].handler) | ||
109 | seq_printf(p, " %s ", irq_desc[i].handler->typename); | ||
110 | else | ||
111 | seq_puts(p, " None "); | ||
112 | seq_printf(p, "%s", (irq_desc[i].status & IRQ_LEVEL) ? "Level " : "Edge "); | ||
113 | seq_printf(p, " %s", action->name); | ||
114 | for (action = action->next; action; action = action->next) | ||
115 | seq_printf(p, ", %s", action->name); | ||
116 | seq_putc(p, '\n'); | ||
117 | skip: | ||
118 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | ||
119 | } else if (i == NR_IRQS) { | ||
120 | #ifdef CONFIG_TAU_INT | ||
121 | if (tau_initialized){ | ||
122 | seq_puts(p, "TAU: "); | ||
123 | for (j = 0; j < NR_CPUS; j++) | ||
124 | if (cpu_online(j)) | ||
125 | seq_printf(p, "%10u ", tau_interrupts(j)); | ||
126 | seq_puts(p, " PowerPC Thermal Assist (cpu temp)\n"); | ||
127 | } | ||
128 | #endif | ||
129 | #if defined(CONFIG_SMP) && !defined(CONFIG_PPC_MERGE) | ||
130 | /* should this be per processor send/receive? */ | ||
131 | seq_printf(p, "IPI (recv/sent): %10u/%u\n", | ||
132 | atomic_read(&ipi_recv), atomic_read(&ipi_sent)); | ||
133 | #endif | ||
134 | seq_printf(p, "BAD: %10u\n", ppc_spurious_interrupts); | ||
135 | } | ||
136 | return 0; | ||
137 | } | ||
138 | |||
139 | void do_IRQ(struct pt_regs *regs) | ||
140 | { | ||
141 | int irq, first = 1; | ||
142 | irq_enter(); | ||
143 | |||
144 | /* | ||
145 | * Every platform is required to implement ppc_md.get_irq. | ||
146 | * This function will either return an irq number or -1 to | ||
147 | * indicate there are no more pending. But the first time | ||
148 | * through the loop this means there wasn't and IRQ pending. | ||
149 | * The value -2 is for buggy hardware and means that this IRQ | ||
150 | * has already been handled. -- Tom | ||
151 | */ | ||
152 | while ((irq = ppc_md.get_irq(regs)) >= 0) { | ||
153 | __do_IRQ(irq, regs); | ||
154 | first = 0; | ||
155 | } | ||
156 | if (irq != -2 && first) | ||
157 | /* That's not SMP safe ... but who cares ? */ | ||
158 | ppc_spurious_interrupts++; | ||
159 | irq_exit(); | ||
160 | } | ||
161 | |||
162 | void __init init_IRQ(void) | ||
163 | { | ||
164 | ppc_md.init_IRQ(); | ||
165 | } | ||
diff --git a/arch/ppc/kernel/misc.S b/arch/ppc/kernel/misc.S index ae6af29938a1..5e61124581d0 100644 --- a/arch/ppc/kernel/misc.S +++ b/arch/ppc/kernel/misc.S | |||
@@ -497,9 +497,9 @@ END_FTR_SECTION_IFCLR(CPU_FTR_SPLIT_ID_CACHE) | |||
497 | * and invalidate the corresponding instruction cache blocks. | 497 | * and invalidate the corresponding instruction cache blocks. |
498 | * This is a no-op on the 601. | 498 | * This is a no-op on the 601. |
499 | * | 499 | * |
500 | * flush_icache_range(unsigned long start, unsigned long stop) | 500 | * __flush_icache_range(unsigned long start, unsigned long stop) |
501 | */ | 501 | */ |
502 | _GLOBAL(flush_icache_range) | 502 | _GLOBAL(__flush_icache_range) |
503 | BEGIN_FTR_SECTION | 503 | BEGIN_FTR_SECTION |
504 | blr /* for 601, do nothing */ | 504 | blr /* for 601, do nothing */ |
505 | END_FTR_SECTION_IFCLR(CPU_FTR_SPLIT_ID_CACHE) | 505 | END_FTR_SECTION_IFCLR(CPU_FTR_SPLIT_ID_CACHE) |
diff --git a/arch/ppc/kernel/pci.c b/arch/ppc/kernel/pci.c index e8f4e576750a..48ed58f995c0 100644 --- a/arch/ppc/kernel/pci.c +++ b/arch/ppc/kernel/pci.c | |||
@@ -62,20 +62,6 @@ struct pci_controller** hose_tail = &hose_head; | |||
62 | static int pci_bus_count; | 62 | static int pci_bus_count; |
63 | 63 | ||
64 | static void | 64 | static void |
65 | fixup_rev1_53c810(struct pci_dev* dev) | ||
66 | { | ||
67 | /* rev 1 ncr53c810 chips don't set the class at all which means | ||
68 | * they don't get their resources remapped. Fix that here. | ||
69 | */ | ||
70 | |||
71 | if ((dev->class == PCI_CLASS_NOT_DEFINED)) { | ||
72 | printk("NCR 53c810 rev 1 detected, setting PCI class.\n"); | ||
73 | dev->class = PCI_CLASS_STORAGE_SCSI; | ||
74 | } | ||
75 | } | ||
76 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NCR, PCI_DEVICE_ID_NCR_53C810, fixup_rev1_53c810); | ||
77 | |||
78 | static void | ||
79 | fixup_broken_pcnet32(struct pci_dev* dev) | 65 | fixup_broken_pcnet32(struct pci_dev* dev) |
80 | { | 66 | { |
81 | if ((dev->class>>8 == PCI_CLASS_NETWORK_ETHERNET)) { | 67 | if ((dev->class>>8 == PCI_CLASS_NETWORK_ETHERNET)) { |
diff --git a/arch/ppc/kernel/ppc_ksyms.c b/arch/ppc/kernel/ppc_ksyms.c index e0ca61b37f4f..66073f775193 100644 --- a/arch/ppc/kernel/ppc_ksyms.c +++ b/arch/ppc/kernel/ppc_ksyms.c | |||
@@ -46,6 +46,7 @@ | |||
46 | #include <asm/btext.h> | 46 | #include <asm/btext.h> |
47 | #include <asm/div64.h> | 47 | #include <asm/div64.h> |
48 | #include <asm/xmon.h> | 48 | #include <asm/xmon.h> |
49 | #include <asm/signal.h> | ||
49 | 50 | ||
50 | #ifdef CONFIG_8xx | 51 | #ifdef CONFIG_8xx |
51 | #include <asm/commproc.h> | 52 | #include <asm/commproc.h> |
@@ -57,7 +58,6 @@ extern void machine_check_exception(struct pt_regs *regs); | |||
57 | extern void alignment_exception(struct pt_regs *regs); | 58 | extern void alignment_exception(struct pt_regs *regs); |
58 | extern void program_check_exception(struct pt_regs *regs); | 59 | extern void program_check_exception(struct pt_regs *regs); |
59 | extern void single_step_exception(struct pt_regs *regs); | 60 | extern void single_step_exception(struct pt_regs *regs); |
60 | extern int do_signal(sigset_t *, struct pt_regs *); | ||
61 | extern int pmac_newworld; | 61 | extern int pmac_newworld; |
62 | extern int sys_sigreturn(struct pt_regs *regs); | 62 | extern int sys_sigreturn(struct pt_regs *regs); |
63 | 63 | ||
@@ -78,7 +78,6 @@ EXPORT_SYMBOL(program_check_exception); | |||
78 | EXPORT_SYMBOL(single_step_exception); | 78 | EXPORT_SYMBOL(single_step_exception); |
79 | EXPORT_SYMBOL(sys_sigreturn); | 79 | EXPORT_SYMBOL(sys_sigreturn); |
80 | EXPORT_SYMBOL(ppc_n_lost_interrupts); | 80 | EXPORT_SYMBOL(ppc_n_lost_interrupts); |
81 | EXPORT_SYMBOL(ppc_lost_interrupts); | ||
82 | 81 | ||
83 | EXPORT_SYMBOL(ISA_DMA_THRESHOLD); | 82 | EXPORT_SYMBOL(ISA_DMA_THRESHOLD); |
84 | EXPORT_SYMBOL(DMA_MODE_READ); | 83 | EXPORT_SYMBOL(DMA_MODE_READ); |
@@ -176,6 +175,7 @@ EXPORT_SYMBOL(pci_bus_to_phys); | |||
176 | #endif /* CONFIG_PCI */ | 175 | #endif /* CONFIG_PCI */ |
177 | 176 | ||
178 | #ifdef CONFIG_NOT_COHERENT_CACHE | 177 | #ifdef CONFIG_NOT_COHERENT_CACHE |
178 | extern void flush_dcache_all(void); | ||
179 | EXPORT_SYMBOL(flush_dcache_all); | 179 | EXPORT_SYMBOL(flush_dcache_all); |
180 | #endif | 180 | #endif |
181 | 181 | ||
@@ -217,9 +217,6 @@ EXPORT_SYMBOL(adb_try_handler_change); | |||
217 | EXPORT_SYMBOL(cuda_request); | 217 | EXPORT_SYMBOL(cuda_request); |
218 | EXPORT_SYMBOL(cuda_poll); | 218 | EXPORT_SYMBOL(cuda_poll); |
219 | #endif /* CONFIG_ADB_CUDA */ | 219 | #endif /* CONFIG_ADB_CUDA */ |
220 | #ifdef CONFIG_PPC_MULTIPLATFORM | ||
221 | EXPORT_SYMBOL(_machine); | ||
222 | #endif | ||
223 | #ifdef CONFIG_PPC_PMAC | 220 | #ifdef CONFIG_PPC_PMAC |
224 | EXPORT_SYMBOL(sys_ctrler); | 221 | EXPORT_SYMBOL(sys_ctrler); |
225 | EXPORT_SYMBOL(pmac_newworld); | 222 | EXPORT_SYMBOL(pmac_newworld); |
diff --git a/arch/ppc/kernel/setup.c b/arch/ppc/kernel/setup.c index 6bcb85d2b7fd..dc55e1abc45b 100644 --- a/arch/ppc/kernel/setup.c +++ b/arch/ppc/kernel/setup.c | |||
@@ -76,6 +76,7 @@ unsigned int DMA_MODE_WRITE; | |||
76 | 76 | ||
77 | #ifdef CONFIG_PPC_MULTIPLATFORM | 77 | #ifdef CONFIG_PPC_MULTIPLATFORM |
78 | int _machine = 0; | 78 | int _machine = 0; |
79 | EXPORT_SYMBOL(_machine); | ||
79 | 80 | ||
80 | extern void prep_init(unsigned long r3, unsigned long r4, | 81 | extern void prep_init(unsigned long r3, unsigned long r4, |
81 | unsigned long r5, unsigned long r6, unsigned long r7); | 82 | unsigned long r5, unsigned long r6, unsigned long r7); |
diff --git a/arch/ppc/kernel/smp.c b/arch/ppc/kernel/smp.c index bc5bf1124836..43b8fc2ca591 100644 --- a/arch/ppc/kernel/smp.c +++ b/arch/ppc/kernel/smp.c | |||
@@ -341,6 +341,7 @@ int __devinit start_secondary(void *unused) | |||
341 | cpu = smp_processor_id(); | 341 | cpu = smp_processor_id(); |
342 | smp_store_cpu_info(cpu); | 342 | smp_store_cpu_info(cpu); |
343 | set_dec(tb_ticks_per_jiffy); | 343 | set_dec(tb_ticks_per_jiffy); |
344 | preempt_disable(); | ||
344 | cpu_callin_map[cpu] = 1; | 345 | cpu_callin_map[cpu] = 1; |
345 | 346 | ||
346 | printk("CPU %d done callin...\n", cpu); | 347 | printk("CPU %d done callin...\n", cpu); |
diff --git a/arch/ppc/platforms/83xx/mpc834x_sys.c b/arch/ppc/platforms/83xx/mpc834x_sys.c index 79b3f533d0a3..98edc75f4105 100644 --- a/arch/ppc/platforms/83xx/mpc834x_sys.c +++ b/arch/ppc/platforms/83xx/mpc834x_sys.c | |||
@@ -51,6 +51,9 @@ | |||
51 | 51 | ||
52 | #include <syslib/ppc83xx_setup.h> | 52 | #include <syslib/ppc83xx_setup.h> |
53 | 53 | ||
54 | static const char *GFAR_PHY_0 = "phy0:0"; | ||
55 | static const char *GFAR_PHY_1 = "phy0:1"; | ||
56 | |||
54 | #ifndef CONFIG_PCI | 57 | #ifndef CONFIG_PCI |
55 | unsigned long isa_io_base = 0; | 58 | unsigned long isa_io_base = 0; |
56 | unsigned long isa_mem_base = 0; | 59 | unsigned long isa_mem_base = 0; |
@@ -97,6 +100,7 @@ mpc834x_sys_setup_arch(void) | |||
97 | bd_t *binfo = (bd_t *) __res; | 100 | bd_t *binfo = (bd_t *) __res; |
98 | unsigned int freq; | 101 | unsigned int freq; |
99 | struct gianfar_platform_data *pdata; | 102 | struct gianfar_platform_data *pdata; |
103 | struct gianfar_mdio_data *mdata; | ||
100 | 104 | ||
101 | /* get the core frequency */ | 105 | /* get the core frequency */ |
102 | freq = binfo->bi_intfreq; | 106 | freq = binfo->bi_intfreq; |
@@ -111,24 +115,27 @@ mpc834x_sys_setup_arch(void) | |||
111 | #endif | 115 | #endif |
112 | mpc83xx_early_serial_map(); | 116 | mpc83xx_early_serial_map(); |
113 | 117 | ||
118 | /* setup the board related info for the MDIO bus */ | ||
119 | mdata = (struct gianfar_mdio_data *) ppc_sys_get_pdata(MPC83xx_MDIO); | ||
120 | |||
121 | mdata->irq[0] = MPC83xx_IRQ_EXT1; | ||
122 | mdata->irq[1] = MPC83xx_IRQ_EXT2; | ||
123 | mdata->irq[2] = -1; | ||
124 | mdata->irq[31] = -1; | ||
125 | mdata->paddr += binfo->bi_immr_base; | ||
126 | |||
114 | /* setup the board related information for the enet controllers */ | 127 | /* setup the board related information for the enet controllers */ |
115 | pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC83xx_TSEC1); | 128 | pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC83xx_TSEC1); |
116 | if (pdata) { | 129 | if (pdata) { |
117 | pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR; | 130 | pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR; |
118 | pdata->interruptPHY = MPC83xx_IRQ_EXT1; | 131 | pdata->bus_id = GFAR_PHY_0; |
119 | pdata->phyid = 0; | ||
120 | /* fixup phy address */ | ||
121 | pdata->phy_reg_addr += binfo->bi_immr_base; | ||
122 | memcpy(pdata->mac_addr, binfo->bi_enetaddr, 6); | 132 | memcpy(pdata->mac_addr, binfo->bi_enetaddr, 6); |
123 | } | 133 | } |
124 | 134 | ||
125 | pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC83xx_TSEC2); | 135 | pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC83xx_TSEC2); |
126 | if (pdata) { | 136 | if (pdata) { |
127 | pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR; | 137 | pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR; |
128 | pdata->interruptPHY = MPC83xx_IRQ_EXT2; | 138 | pdata->bus_id = GFAR_PHY_1; |
129 | pdata->phyid = 1; | ||
130 | /* fixup phy address */ | ||
131 | pdata->phy_reg_addr += binfo->bi_immr_base; | ||
132 | memcpy(pdata->mac_addr, binfo->bi_enet1addr, 6); | 139 | memcpy(pdata->mac_addr, binfo->bi_enet1addr, 6); |
133 | } | 140 | } |
134 | 141 | ||
diff --git a/arch/ppc/platforms/85xx/stx_gp3.h b/arch/ppc/platforms/85xx/stx_gp3.h index 95fdf4b0680b..7bcc6c35a417 100644 --- a/arch/ppc/platforms/85xx/stx_gp3.h +++ b/arch/ppc/platforms/85xx/stx_gp3.h | |||
@@ -21,6 +21,7 @@ | |||
21 | 21 | ||
22 | #include <linux/config.h> | 22 | #include <linux/config.h> |
23 | #include <linux/init.h> | 23 | #include <linux/init.h> |
24 | #include <linux/seq_file.h> | ||
24 | #include <asm/ppcboot.h> | 25 | #include <asm/ppcboot.h> |
25 | 26 | ||
26 | #define BOARD_CCSRBAR ((uint)0xe0000000) | 27 | #define BOARD_CCSRBAR ((uint)0xe0000000) |
diff --git a/arch/ppc/platforms/pmac_pic.c b/arch/ppc/platforms/pmac_pic.c index 9f2d95ea8564..4742bf609357 100644 --- a/arch/ppc/platforms/pmac_pic.c +++ b/arch/ppc/platforms/pmac_pic.c | |||
@@ -75,6 +75,9 @@ static DEFINE_SPINLOCK(pmac_pic_lock); | |||
75 | #define GATWICK_IRQ_POOL_SIZE 10 | 75 | #define GATWICK_IRQ_POOL_SIZE 10 |
76 | static struct interrupt_info gatwick_int_pool[GATWICK_IRQ_POOL_SIZE]; | 76 | static struct interrupt_info gatwick_int_pool[GATWICK_IRQ_POOL_SIZE]; |
77 | 77 | ||
78 | #define NR_MASK_WORDS ((NR_IRQS + 31) / 32) | ||
79 | static unsigned long ppc_lost_interrupts[NR_MASK_WORDS]; | ||
80 | |||
78 | /* | 81 | /* |
79 | * Mark an irq as "lost". This is only used on the pmac | 82 | * Mark an irq as "lost". This is only used on the pmac |
80 | * since it can lose interrupts (see pmac_set_irq_mask). | 83 | * since it can lose interrupts (see pmac_set_irq_mask). |
diff --git a/arch/ppc/platforms/prep_setup.c b/arch/ppc/platforms/prep_setup.c index 067d7d53b81e..4415748071dc 100644 --- a/arch/ppc/platforms/prep_setup.c +++ b/arch/ppc/platforms/prep_setup.c | |||
@@ -61,6 +61,15 @@ | |||
61 | #include <asm/pci-bridge.h> | 61 | #include <asm/pci-bridge.h> |
62 | #include <asm/todc.h> | 62 | #include <asm/todc.h> |
63 | 63 | ||
64 | /* prep registers for L2 */ | ||
65 | #define CACHECRBA 0x80000823 /* Cache configuration register address */ | ||
66 | #define L2CACHE_MASK 0x03 /* Mask for 2 L2 Cache bits */ | ||
67 | #define L2CACHE_512KB 0x00 /* 512KB */ | ||
68 | #define L2CACHE_256KB 0x01 /* 256KB */ | ||
69 | #define L2CACHE_1MB 0x02 /* 1MB */ | ||
70 | #define L2CACHE_NONE 0x03 /* NONE */ | ||
71 | #define L2CACHE_PARITY 0x08 /* Mask for L2 Cache Parity Protected bit */ | ||
72 | |||
64 | TODC_ALLOC(); | 73 | TODC_ALLOC(); |
65 | 74 | ||
66 | unsigned char ucSystemType; | 75 | unsigned char ucSystemType; |
diff --git a/arch/ppc/syslib/Makefile b/arch/ppc/syslib/Makefile index 5bd33baac243..5b7f2b80e56e 100644 --- a/arch/ppc/syslib/Makefile +++ b/arch/ppc/syslib/Makefile | |||
@@ -33,7 +33,6 @@ obj-$(CONFIG_PPC4xx_DMA) += ppc4xx_dma.o | |||
33 | obj-$(CONFIG_PPC4xx_EDMA) += ppc4xx_sgdma.o | 33 | obj-$(CONFIG_PPC4xx_EDMA) += ppc4xx_sgdma.o |
34 | ifeq ($(CONFIG_40x),y) | 34 | ifeq ($(CONFIG_40x),y) |
35 | obj-$(CONFIG_PCI) += pci_auto.o ppc405_pci.o | 35 | obj-$(CONFIG_PCI) += pci_auto.o ppc405_pci.o |
36 | obj-$(CONFIG_RAPIDIO) += ppc85xx_rio.o | ||
37 | endif | 36 | endif |
38 | endif | 37 | endif |
39 | obj-$(CONFIG_8xx) += m8xx_setup.o ppc8xx_pic.o $(wdt-mpc8xx-y) \ | 38 | obj-$(CONFIG_8xx) += m8xx_setup.o ppc8xx_pic.o $(wdt-mpc8xx-y) \ |
@@ -96,6 +95,7 @@ obj-$(CONFIG_85xx) += open_pic.o ppc85xx_common.o ppc85xx_setup.o \ | |||
96 | ifeq ($(CONFIG_85xx),y) | 95 | ifeq ($(CONFIG_85xx),y) |
97 | obj-$(CONFIG_PCI) += pci_auto.o | 96 | obj-$(CONFIG_PCI) += pci_auto.o |
98 | endif | 97 | endif |
98 | obj-$(CONFIG_RAPIDIO) += ppc85xx_rio.o | ||
99 | obj-$(CONFIG_83xx) += ipic.o ppc83xx_setup.o ppc_sys.o \ | 99 | obj-$(CONFIG_83xx) += ipic.o ppc83xx_setup.o ppc_sys.o \ |
100 | mpc83xx_sys.o mpc83xx_devices.o | 100 | mpc83xx_sys.o mpc83xx_devices.o |
101 | ifeq ($(CONFIG_83xx),y) | 101 | ifeq ($(CONFIG_83xx),y) |
diff --git a/arch/ppc/syslib/cpm2_pic.c b/arch/ppc/syslib/cpm2_pic.c index c867be6981cb..29d95d415ceb 100644 --- a/arch/ppc/syslib/cpm2_pic.c +++ b/arch/ppc/syslib/cpm2_pic.c | |||
@@ -37,7 +37,7 @@ static u_char irq_to_siureg[] = { | |||
37 | static u_char irq_to_siubit[] = { | 37 | static u_char irq_to_siubit[] = { |
38 | 0, 15, 14, 13, 12, 11, 10, 9, | 38 | 0, 15, 14, 13, 12, 11, 10, 9, |
39 | 8, 7, 6, 5, 4, 3, 2, 1, | 39 | 8, 7, 6, 5, 4, 3, 2, 1, |
40 | 2, 1, 15, 14, 13, 12, 11, 10, | 40 | 2, 1, 0, 14, 13, 12, 11, 10, |
41 | 9, 8, 7, 6, 5, 4, 3, 0, | 41 | 9, 8, 7, 6, 5, 4, 3, 0, |
42 | 31, 30, 29, 28, 27, 26, 25, 24, | 42 | 31, 30, 29, 28, 27, 26, 25, 24, |
43 | 23, 22, 21, 20, 19, 18, 17, 16, | 43 | 23, 22, 21, 20, 19, 18, 17, 16, |
diff --git a/arch/ppc/syslib/mpc83xx_devices.c b/arch/ppc/syslib/mpc83xx_devices.c index dbf8acac507f..f43fbf9a9389 100644 --- a/arch/ppc/syslib/mpc83xx_devices.c +++ b/arch/ppc/syslib/mpc83xx_devices.c | |||
@@ -27,18 +27,20 @@ | |||
27 | * what IMMRBAR is, will get fixed up by mach_mpc83xx_fixup | 27 | * what IMMRBAR is, will get fixed up by mach_mpc83xx_fixup |
28 | */ | 28 | */ |
29 | 29 | ||
30 | struct gianfar_mdio_data mpc83xx_mdio_pdata = { | ||
31 | .paddr = 0x24520, | ||
32 | }; | ||
33 | |||
30 | static struct gianfar_platform_data mpc83xx_tsec1_pdata = { | 34 | static struct gianfar_platform_data mpc83xx_tsec1_pdata = { |
31 | .device_flags = FSL_GIANFAR_DEV_HAS_GIGABIT | | 35 | .device_flags = FSL_GIANFAR_DEV_HAS_GIGABIT | |
32 | FSL_GIANFAR_DEV_HAS_COALESCE | FSL_GIANFAR_DEV_HAS_RMON | | 36 | FSL_GIANFAR_DEV_HAS_COALESCE | FSL_GIANFAR_DEV_HAS_RMON | |
33 | FSL_GIANFAR_DEV_HAS_MULTI_INTR, | 37 | FSL_GIANFAR_DEV_HAS_MULTI_INTR, |
34 | .phy_reg_addr = 0x24000, | ||
35 | }; | 38 | }; |
36 | 39 | ||
37 | static struct gianfar_platform_data mpc83xx_tsec2_pdata = { | 40 | static struct gianfar_platform_data mpc83xx_tsec2_pdata = { |
38 | .device_flags = FSL_GIANFAR_DEV_HAS_GIGABIT | | 41 | .device_flags = FSL_GIANFAR_DEV_HAS_GIGABIT | |
39 | FSL_GIANFAR_DEV_HAS_COALESCE | FSL_GIANFAR_DEV_HAS_RMON | | 42 | FSL_GIANFAR_DEV_HAS_COALESCE | FSL_GIANFAR_DEV_HAS_RMON | |
40 | FSL_GIANFAR_DEV_HAS_MULTI_INTR, | 43 | FSL_GIANFAR_DEV_HAS_MULTI_INTR, |
41 | .phy_reg_addr = 0x24000, | ||
42 | }; | 44 | }; |
43 | 45 | ||
44 | static struct fsl_i2c_platform_data mpc83xx_fsl_i2c1_pdata = { | 46 | static struct fsl_i2c_platform_data mpc83xx_fsl_i2c1_pdata = { |
@@ -220,6 +222,12 @@ struct platform_device ppc_sys_platform_devices[] = { | |||
220 | }, | 222 | }, |
221 | }, | 223 | }, |
222 | }, | 224 | }, |
225 | [MPC83xx_MDIO] = { | ||
226 | .name = "fsl-gianfar_mdio", | ||
227 | .id = 0, | ||
228 | .dev.platform_data = &mpc83xx_mdio_pdata, | ||
229 | .num_resources = 0, | ||
230 | }, | ||
223 | }; | 231 | }; |
224 | 232 | ||
225 | static int __init mach_mpc83xx_fixup(struct platform_device *pdev) | 233 | static int __init mach_mpc83xx_fixup(struct platform_device *pdev) |
diff --git a/arch/ppc/syslib/mpc83xx_sys.c b/arch/ppc/syslib/mpc83xx_sys.c index 29aa63350025..da743446789b 100644 --- a/arch/ppc/syslib/mpc83xx_sys.c +++ b/arch/ppc/syslib/mpc83xx_sys.c | |||
@@ -24,72 +24,72 @@ struct ppc_sys_spec ppc_sys_specs[] = { | |||
24 | .ppc_sys_name = "8349E", | 24 | .ppc_sys_name = "8349E", |
25 | .mask = 0xFFFF0000, | 25 | .mask = 0xFFFF0000, |
26 | .value = 0x80500000, | 26 | .value = 0x80500000, |
27 | .num_devices = 8, | 27 | .num_devices = 9, |
28 | .device_list = (enum ppc_sys_devices[]) | 28 | .device_list = (enum ppc_sys_devices[]) |
29 | { | 29 | { |
30 | MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1, | 30 | MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1, |
31 | MPC83xx_IIC2, MPC83xx_DUART, MPC83xx_SEC2, | 31 | MPC83xx_IIC2, MPC83xx_DUART, MPC83xx_SEC2, |
32 | MPC83xx_USB2_DR, MPC83xx_USB2_MPH | 32 | MPC83xx_USB2_DR, MPC83xx_USB2_MPH, MPC83xx_MDIO |
33 | }, | 33 | }, |
34 | }, | 34 | }, |
35 | { | 35 | { |
36 | .ppc_sys_name = "8349", | 36 | .ppc_sys_name = "8349", |
37 | .mask = 0xFFFF0000, | 37 | .mask = 0xFFFF0000, |
38 | .value = 0x80510000, | 38 | .value = 0x80510000, |
39 | .num_devices = 7, | 39 | .num_devices = 8, |
40 | .device_list = (enum ppc_sys_devices[]) | 40 | .device_list = (enum ppc_sys_devices[]) |
41 | { | 41 | { |
42 | MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1, | 42 | MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1, |
43 | MPC83xx_IIC2, MPC83xx_DUART, | 43 | MPC83xx_IIC2, MPC83xx_DUART, |
44 | MPC83xx_USB2_DR, MPC83xx_USB2_MPH | 44 | MPC83xx_USB2_DR, MPC83xx_USB2_MPH, MPC83xx_MDIO |
45 | }, | 45 | }, |
46 | }, | 46 | }, |
47 | { | 47 | { |
48 | .ppc_sys_name = "8347E", | 48 | .ppc_sys_name = "8347E", |
49 | .mask = 0xFFFF0000, | 49 | .mask = 0xFFFF0000, |
50 | .value = 0x80520000, | 50 | .value = 0x80520000, |
51 | .num_devices = 8, | 51 | .num_devices = 9, |
52 | .device_list = (enum ppc_sys_devices[]) | 52 | .device_list = (enum ppc_sys_devices[]) |
53 | { | 53 | { |
54 | MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1, | 54 | MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1, |
55 | MPC83xx_IIC2, MPC83xx_DUART, MPC83xx_SEC2, | 55 | MPC83xx_IIC2, MPC83xx_DUART, MPC83xx_SEC2, |
56 | MPC83xx_USB2_DR, MPC83xx_USB2_MPH | 56 | MPC83xx_USB2_DR, MPC83xx_USB2_MPH, MPC83xx_MDIO |
57 | }, | 57 | }, |
58 | }, | 58 | }, |
59 | { | 59 | { |
60 | .ppc_sys_name = "8347", | 60 | .ppc_sys_name = "8347", |
61 | .mask = 0xFFFF0000, | 61 | .mask = 0xFFFF0000, |
62 | .value = 0x80530000, | 62 | .value = 0x80530000, |
63 | .num_devices = 7, | 63 | .num_devices = 8, |
64 | .device_list = (enum ppc_sys_devices[]) | 64 | .device_list = (enum ppc_sys_devices[]) |
65 | { | 65 | { |
66 | MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1, | 66 | MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1, |
67 | MPC83xx_IIC2, MPC83xx_DUART, | 67 | MPC83xx_IIC2, MPC83xx_DUART, |
68 | MPC83xx_USB2_DR, MPC83xx_USB2_MPH | 68 | MPC83xx_USB2_DR, MPC83xx_USB2_MPH, MPC83xx_MDIO |
69 | }, | 69 | }, |
70 | }, | 70 | }, |
71 | { | 71 | { |
72 | .ppc_sys_name = "8343E", | 72 | .ppc_sys_name = "8343E", |
73 | .mask = 0xFFFF0000, | 73 | .mask = 0xFFFF0000, |
74 | .value = 0x80540000, | 74 | .value = 0x80540000, |
75 | .num_devices = 7, | 75 | .num_devices = 8, |
76 | .device_list = (enum ppc_sys_devices[]) | 76 | .device_list = (enum ppc_sys_devices[]) |
77 | { | 77 | { |
78 | MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1, | 78 | MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1, |
79 | MPC83xx_IIC2, MPC83xx_DUART, MPC83xx_SEC2, | 79 | MPC83xx_IIC2, MPC83xx_DUART, MPC83xx_SEC2, |
80 | MPC83xx_USB2_DR, | 80 | MPC83xx_USB2_DR, MPC83xx_MDIO |
81 | }, | 81 | }, |
82 | }, | 82 | }, |
83 | { | 83 | { |
84 | .ppc_sys_name = "8343", | 84 | .ppc_sys_name = "8343", |
85 | .mask = 0xFFFF0000, | 85 | .mask = 0xFFFF0000, |
86 | .value = 0x80550000, | 86 | .value = 0x80550000, |
87 | .num_devices = 6, | 87 | .num_devices = 7, |
88 | .device_list = (enum ppc_sys_devices[]) | 88 | .device_list = (enum ppc_sys_devices[]) |
89 | { | 89 | { |
90 | MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1, | 90 | MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1, |
91 | MPC83xx_IIC2, MPC83xx_DUART, | 91 | MPC83xx_IIC2, MPC83xx_DUART, |
92 | MPC83xx_USB2_DR, | 92 | MPC83xx_USB2_DR, MPC83xx_MDIO |
93 | }, | 93 | }, |
94 | }, | 94 | }, |
95 | { /* default match */ | 95 | { /* default match */ |
diff --git a/arch/ppc/syslib/prom.c b/arch/ppc/syslib/prom.c index 03b1fc9b9501..af4deace49e0 100644 --- a/arch/ppc/syslib/prom.c +++ b/arch/ppc/syslib/prom.c | |||
@@ -13,7 +13,6 @@ | |||
13 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
14 | #include <linux/string.h> | 14 | #include <linux/string.h> |
15 | #include <linux/init.h> | 15 | #include <linux/init.h> |
16 | #include <linux/version.h> | ||
17 | #include <linux/threads.h> | 16 | #include <linux/threads.h> |
18 | #include <linux/spinlock.h> | 17 | #include <linux/spinlock.h> |
19 | #include <linux/ioport.h> | 18 | #include <linux/ioport.h> |
diff --git a/arch/ppc/syslib/prom_init.c b/arch/ppc/syslib/prom_init.c index 7f15136830f4..df14422ae1c6 100644 --- a/arch/ppc/syslib/prom_init.c +++ b/arch/ppc/syslib/prom_init.c | |||
@@ -9,7 +9,6 @@ | |||
9 | #include <linux/kernel.h> | 9 | #include <linux/kernel.h> |
10 | #include <linux/string.h> | 10 | #include <linux/string.h> |
11 | #include <linux/init.h> | 11 | #include <linux/init.h> |
12 | #include <linux/version.h> | ||
13 | #include <linux/threads.h> | 12 | #include <linux/threads.h> |
14 | #include <linux/spinlock.h> | 13 | #include <linux/spinlock.h> |
15 | #include <linux/ioport.h> | 14 | #include <linux/ioport.h> |