summaryrefslogtreecommitdiffstats
path: root/meta/packages/linux
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2007-05-16 21:59:26 +0000
committerRichard Purdie <richard@openedhand.com>2007-05-16 21:59:26 +0000
commit113e26afc5b233dee4d56beea535c3046dd5c86e (patch)
tree232cbcba17503387922912c10b80ba31ac785130 /meta/packages/linux
parente95d7237b7174c171f0c8fdec6f17f772ab9bc4b (diff)
downloadpoky-113e26afc5b233dee4d56beea535c3046dd5c86e.tar.gz
linux-rp: Add 2.6.21
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1738 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/linux')
-rw-r--r--meta/packages/linux/linux-rp-2.6.21/00-hostap.patch45
-rw-r--r--meta/packages/linux/linux-rp-2.6.21/10-pcnet.patch27
-rw-r--r--meta/packages/linux/linux-rp-2.6.21/add-oz-release-string.patch28
-rw-r--r--meta/packages/linux/linux-rp-2.6.21/connectplus-remove-ide-HACK.patch12
-rw-r--r--meta/packages/linux/linux-rp-2.6.21/defconfig-akita1735
-rw-r--r--meta/packages/linux/linux-rp-2.6.21/defconfig-c7x01785
-rw-r--r--meta/packages/linux/linux-rp-2.6.21/defconfig-collie1641
-rw-r--r--meta/packages/linux/linux-rp-2.6.21/defconfig-hx20001161
-rw-r--r--meta/packages/linux/linux-rp-2.6.21/defconfig-ipaq-pxa2701021
-rw-r--r--meta/packages/linux/linux-rp-2.6.21/defconfig-poodle1655
-rw-r--r--meta/packages/linux/linux-rp-2.6.21/defconfig-qemuarm1190
-rw-r--r--meta/packages/linux/linux-rp-2.6.21/defconfig-qemux861562
-rw-r--r--meta/packages/linux/linux-rp-2.6.21/defconfig-spitz1735
-rw-r--r--meta/packages/linux/linux-rp-2.6.21/defconfig-tosa1608
-rw-r--r--meta/packages/linux/linux-rp-2.6.21/hrw-pcmcia-ids-r5.patch54
-rw-r--r--meta/packages/linux/linux-rp-2.6.21/orinoco-remove-all-which-are-in-hostap-HACK.patch88
-rw-r--r--meta/packages/linux/linux-rp-2.6.21/pxa-serial-hack.patch80
-rw-r--r--meta/packages/linux/linux-rp-2.6.21/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch155
-rw-r--r--meta/packages/linux/linux-rp-2.6.21/squashfs3.0-2.6.15.patch4191
-rw-r--r--meta/packages/linux/linux-rp-2.6.21/vesafb-tng-1.0-rc2-2.6.20-rc2.patch3141
-rw-r--r--meta/packages/linux/linux-rp-2.6.21/wm97xx-lcdnoise-r0.patch208
-rw-r--r--meta/packages/linux/linux-rp_2.6.21.bb106
22 files changed, 23228 insertions, 0 deletions
diff --git a/meta/packages/linux/linux-rp-2.6.21/00-hostap.patch b/meta/packages/linux/linux-rp-2.6.21/00-hostap.patch
new file mode 100644
index 0000000000..20432b404a
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21/00-hostap.patch
@@ -0,0 +1,45 @@
1Platform: Sharp Zaurus C760 running 2.6.16 and pcmciautils 013.
2
3root@c7x0:~# pccardctl ident
4Socket 0:
5 product info: "Pretec", "CompactWLAN Card 802.11b", "2.5"
6 manfid: 0x0156, 0x0002
7 function: 6 (network)
8
9==========================================================================
10From: Jochen Friedrich
11
12Yet another card known to work OK with hostap_cs:
13
14# pccardctl ident
15Socket 0:
16 no product info available
17Socket 1:
18 product info: "U.S. Robotics", "IEEE 802.11b PC-CARD", "Version 01.02", ""
19 manfid: 0x0156, 0x0002
20 function: 6 (network)
21
22==========================================================================
23
24Signed-off-by: Marcin Juszkiewicz <openembedded@hrw.one.pl>
25
26 drivers/net/wireless/hostap/hostap_cs.c | 6 ++++++
27 1 file changed, 6 insertions(+)
28
29Index: linux/drivers/net/wireless/hostap/hostap_cs.c
30===================================================================
31--- linux.orig/drivers/net/wireless/hostap/hostap_cs.c 2006-05-17 10:23:00.000000000 +0200
32+++ linux/drivers/net/wireless/hostap/hostap_cs.c 2006-05-17 10:25:45.000000000 +0200
33@@ -923,6 +923,12 @@
34 PCMCIA_DEVICE_PROD_ID12(
35 "ZoomAir 11Mbps High", "Rate wireless Networking",
36 0x273fe3db, 0x32a1eaee),
37+ PCMCIA_DEVICE_PROD_ID123(
38+ "Pretec", "CompactWLAN Card 802.11b", "2.5",
39+ 0x1cadd3e5, 0xe697636c, 0x7a5bfcf1),
40+ PCMCIA_DEVICE_PROD_ID123(
41+ "U.S. Robotics", "IEEE 802.11b PC-CARD", "Version 01.02",
42+ 0xc7b8df9d, 0x1700d087, 0x4b74baa0),
43 PCMCIA_DEVICE_NULL
44 };
45 MODULE_DEVICE_TABLE(pcmcia, hostap_cs_ids);
diff --git a/meta/packages/linux/linux-rp-2.6.21/10-pcnet.patch b/meta/packages/linux/linux-rp-2.6.21/10-pcnet.patch
new file mode 100644
index 0000000000..2e1966e837
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21/10-pcnet.patch
@@ -0,0 +1,27 @@
1
2From: Marcin Juszkiewicz <openembedded@hrw.one.pl>
3
4Add TRENDnet TE-CF100 ethernet adapter to pcnet_cs list.
5
6product info: "Fast Ethernet", "CF Size PC Card", "1.0", ""
7 manfid: 0x0149, 0xc1ab
8
9Signed-off-by: Marcin Juszkiewicz <openembedded@hrw.one.pl>
10
11 drivers/net/pcmcia/pcnet_cs.c | 2 ++
12 1 file changed, 2 insertions(+)
13
14Index: netdev-2.6/drivers/net/pcmcia/pcnet_cs.c
15===================================================================
16--- netdev-2.6.orig/drivers/net/pcmcia/pcnet_cs.c 2006-05-18 11:06:43.294022480 +0200
17+++ netdev-2.6/drivers/net/pcmcia/pcnet_cs.c 2006-05-18 11:10:31.548322552 +0200
18@@ -1768,6 +1768,8 @@
19 PCMCIA_DEVICE_CIS_PROD_ID12("NDC", "Ethernet", 0x01c43ae1, 0x00b2e941, "NE2K.cis"),
20 PCMCIA_DEVICE_CIS_PROD_ID12("PMX ", "PE-200", 0x34f3f1c8, 0x10b59f8c, "PE-200.cis"),
21 PCMCIA_DEVICE_CIS_PROD_ID12("TAMARACK", "Ethernet", 0xcf434fba, 0x00b2e941, "tamarack.cis"),
22+ PCMCIA_DEVICE_PROD_ID123("Fast Ethernet", "CF Size PC Card", "1.0",
23+ 0xb4be14e3, 0x43ac239b, 0x0877b627),
24 PCMCIA_DEVICE_NULL
25 };
26 MODULE_DEVICE_TABLE(pcmcia, pcnet_ids);
27
diff --git a/meta/packages/linux/linux-rp-2.6.21/add-oz-release-string.patch b/meta/packages/linux/linux-rp-2.6.21/add-oz-release-string.patch
new file mode 100644
index 0000000000..a80a1d5528
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21/add-oz-release-string.patch
@@ -0,0 +1,28 @@
1---
2 Makefile | 1 +
3 init/version.c | 2 +-
4 2 files changed, 2 insertions(+), 1 deletion(-)
5
6Index: git/init/version.c
7===================================================================
8--- git.orig/init/version.c 2006-10-31 16:09:47.000000000 +0000
9+++ git/init/version.c 2006-10-31 16:24:54.000000000 +0000
10@@ -35,5 +35,5 @@ struct uts_namespace init_uts_ns = {
11 EXPORT_SYMBOL_GPL(init_uts_ns);
12
13 const char linux_banner[] =
14- "Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@"
15+ "Linux version " UTS_RELEASE OPENZAURUS_RELEASE " (" LINUX_COMPILE_BY "@"
16 LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION "\n";
17Index: git/Makefile
18===================================================================
19--- git.orig/Makefile 2006-10-31 16:08:28.000000000 +0000
20+++ git/Makefile 2006-10-31 16:27:02.000000000 +0000
21@@ -905,6 +905,7 @@ endef
22 define filechk_version.h
23 (echo \#define LINUX_VERSION_CODE $(shell \
24 expr $(VERSION) \* 65536 + $(PATCHLEVEL) \* 256 + $(SUBLEVEL)); \
25+ echo \#define OPENZAURUS_RELEASE \"$(OPENZAURUS_RELEASE)\"; \
26 echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))';)
27 endef
28
diff --git a/meta/packages/linux/linux-rp-2.6.21/connectplus-remove-ide-HACK.patch b/meta/packages/linux/linux-rp-2.6.21/connectplus-remove-ide-HACK.patch
new file mode 100644
index 0000000000..4414b21191
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21/connectplus-remove-ide-HACK.patch
@@ -0,0 +1,12 @@
1Index: linux-2.6.13/drivers/ide/legacy/ide-cs.c
2===================================================================
3--- linux-2.6.13.orig/drivers/ide/legacy/ide-cs.c 2005-09-01 22:43:46.000000000 +0100
4+++ linux-2.6.13/drivers/ide/legacy/ide-cs.c 2005-09-01 22:45:46.000000000 +0100
5@@ -488,7 +488,6 @@
6 PCMCIA_DEVICE_PROD_ID123("KODAK Picture Card ", "KODAK ", "V100K", 0x94a0d8f3, 0xe4fc3ea0, 0xe5e7eed4),
7 PCMCIA_DEVICE_PROD_ID1("STI Flash", 0xe4a13209),
8 PCMCIA_DEVICE_PROD_ID12("STI", "Flash 5.0", 0xbf2df18d, 0x8cb57a0e),
9- PCMCIA_MFC_DEVICE_PROD_ID12(1, "SanDisk", "ConnectPlus", 0x7a954bd9, 0x74be00c6),
10 PCMCIA_DEVICE_NULL,
11 };
12 MODULE_DEVICE_TABLE(pcmcia, ide_ids);
diff --git a/meta/packages/linux/linux-rp-2.6.21/defconfig-akita b/meta/packages/linux/linux-rp-2.6.21/defconfig-akita
new file mode 100644
index 0000000000..11577b1fb7
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21/defconfig-akita
@@ -0,0 +1,1735 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20
4# Thu Mar 29 12:24:24 2007
5#
6CONFIG_ARM=y
7# CONFIG_GENERIC_TIME is not set
8CONFIG_MMU=y
9CONFIG_GENERIC_HARDIRQS=y
10CONFIG_TRACE_IRQFLAGS_SUPPORT=y
11CONFIG_HARDIRQS_SW_RESEND=y
12CONFIG_GENERIC_IRQ_PROBE=y
13CONFIG_RWSEM_GENERIC_SPINLOCK=y
14# CONFIG_ARCH_HAS_ILOG2_U32 is not set
15# CONFIG_ARCH_HAS_ILOG2_U64 is not set
16CONFIG_GENERIC_HWEIGHT=y
17CONFIG_GENERIC_CALIBRATE_DELAY=y
18CONFIG_ARCH_MTD_XIP=y
19CONFIG_VECTORS_BASE=0xffff0000
20CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
21
22#
23# Code maturity level options
24#
25CONFIG_EXPERIMENTAL=y
26CONFIG_BROKEN_ON_SMP=y
27CONFIG_LOCK_KERNEL=y
28CONFIG_INIT_ENV_ARG_LIMIT=32
29
30#
31# General setup
32#
33CONFIG_LOCALVERSION=""
34CONFIG_LOCALVERSION_AUTO=y
35CONFIG_SWAP=y
36CONFIG_SYSVIPC=y
37# CONFIG_IPC_NS is not set
38# CONFIG_POSIX_MQUEUE is not set
39CONFIG_BSD_PROCESS_ACCT=y
40# CONFIG_BSD_PROCESS_ACCT_V3 is not set
41# CONFIG_TASKSTATS is not set
42# CONFIG_UTS_NS is not set
43# CONFIG_AUDIT is not set
44# CONFIG_IKCONFIG is not set
45CONFIG_SYSFS_DEPRECATED=y
46# CONFIG_RELAY is not set
47CONFIG_INITRAMFS_SOURCE=""
48CONFIG_CC_OPTIMIZE_FOR_SIZE=y
49CONFIG_SYSCTL=y
50CONFIG_EMBEDDED=y
51CONFIG_UID16=y
52CONFIG_SYSCTL_SYSCALL=y
53CONFIG_KALLSYMS=y
54# CONFIG_KALLSYMS_ALL is not set
55# CONFIG_KALLSYMS_EXTRA_PASS is not set
56CONFIG_HOTPLUG=y
57CONFIG_PRINTK=y
58CONFIG_BUG=y
59CONFIG_ELF_CORE=y
60CONFIG_BASE_FULL=y
61CONFIG_FUTEX=y
62CONFIG_EPOLL=y
63CONFIG_SHMEM=y
64CONFIG_SLAB=y
65CONFIG_VM_EVENT_COUNTERS=y
66CONFIG_RT_MUTEXES=y
67# CONFIG_TINY_SHMEM is not set
68CONFIG_BASE_SMALL=0
69# CONFIG_SLOB is not set
70
71#
72# Loadable module support
73#
74CONFIG_MODULES=y
75CONFIG_MODULE_UNLOAD=y
76CONFIG_MODULE_FORCE_UNLOAD=y
77# CONFIG_MODVERSIONS is not set
78# CONFIG_MODULE_SRCVERSION_ALL is not set
79CONFIG_KMOD=y
80
81#
82# Block layer
83#
84CONFIG_BLOCK=y
85# CONFIG_LBD is not set
86# CONFIG_BLK_DEV_IO_TRACE is not set
87# CONFIG_LSF is not set
88
89#
90# IO Schedulers
91#
92CONFIG_IOSCHED_NOOP=y
93CONFIG_IOSCHED_AS=y
94CONFIG_IOSCHED_DEADLINE=m
95CONFIG_IOSCHED_CFQ=m
96CONFIG_DEFAULT_AS=y
97# CONFIG_DEFAULT_DEADLINE is not set
98# CONFIG_DEFAULT_CFQ is not set
99# CONFIG_DEFAULT_NOOP is not set
100CONFIG_DEFAULT_IOSCHED="anticipatory"
101
102#
103# System Type
104#
105# CONFIG_ARCH_AAEC2000 is not set
106# CONFIG_ARCH_INTEGRATOR is not set
107# CONFIG_ARCH_REALVIEW is not set
108# CONFIG_ARCH_VERSATILE is not set
109# CONFIG_ARCH_AT91 is not set
110# CONFIG_ARCH_CLPS7500 is not set
111# CONFIG_ARCH_CLPS711X is not set
112# CONFIG_ARCH_CO285 is not set
113# CONFIG_ARCH_EBSA110 is not set
114# CONFIG_ARCH_EP93XX is not set
115# CONFIG_ARCH_FOOTBRIDGE is not set
116# CONFIG_ARCH_NETX is not set
117# CONFIG_ARCH_H720X is not set
118# CONFIG_ARCH_IMX is not set
119# CONFIG_ARCH_IOP32X is not set
120# CONFIG_ARCH_IOP33X is not set
121# CONFIG_ARCH_IOP13XX is not set
122# CONFIG_ARCH_IXP4XX is not set
123# CONFIG_ARCH_IXP2000 is not set
124# CONFIG_ARCH_IXP23XX is not set
125# CONFIG_ARCH_L7200 is not set
126# CONFIG_ARCH_PNX4008 is not set
127CONFIG_ARCH_PXA=y
128# CONFIG_ARCH_RPC is not set
129# CONFIG_ARCH_SA1100 is not set
130# CONFIG_ARCH_S3C2410 is not set
131# CONFIG_ARCH_SHARK is not set
132# CONFIG_ARCH_LH7A40X is not set
133# CONFIG_ARCH_OMAP is not set
134
135#
136# Intel PXA2xx Implementations
137#
138# CONFIG_ARCH_LUBBOCK is not set
139# CONFIG_MACH_LOGICPD_PXA270 is not set
140# CONFIG_MACH_MAINSTONE is not set
141# CONFIG_ARCH_PXA_IDP is not set
142CONFIG_PXA_SHARPSL=y
143# CONFIG_MACH_TRIZEPS4 is not set
144# CONFIG_MACH_HX2750 is not set
145# CONFIG_PXA_SHARPSL_25x is not set
146CONFIG_PXA_SHARPSL_27x=y
147CONFIG_MACH_AKITA=y
148CONFIG_MACH_SPITZ=y
149CONFIG_MACH_BORZOI=y
150CONFIG_PXA27x=y
151CONFIG_PXA_SHARP_Cxx00=y
152CONFIG_PXA_SSP=y
153# CONFIG_PXA_KEYS is not set
154
155#
156# Processor Type
157#
158CONFIG_CPU_32=y
159CONFIG_CPU_XSCALE=y
160CONFIG_CPU_32v5=y
161CONFIG_CPU_ABRT_EV5T=y
162CONFIG_CPU_CACHE_VIVT=y
163CONFIG_CPU_TLB_V4WBI=y
164CONFIG_CPU_CP15=y
165CONFIG_CPU_CP15_MMU=y
166
167#
168# Processor Features
169#
170CONFIG_ARM_THUMB=y
171# CONFIG_CPU_DCACHE_DISABLE is not set
172CONFIG_IWMMXT=y
173CONFIG_XSCALE_PMU=y
174CONFIG_SHARP_PARAM=y
175CONFIG_SHARPSL_PM=y
176CONFIG_SHARP_SCOOP=y
177
178#
179# Bus support
180#
181
182#
183# PCCARD (PCMCIA/CardBus) support
184#
185CONFIG_PCCARD=y
186# CONFIG_PCMCIA_DEBUG is not set
187CONFIG_PCMCIA=y
188CONFIG_PCMCIA_LOAD_CIS=y
189CONFIG_PCMCIA_IOCTL=y
190
191#
192# PC-card bridges
193#
194CONFIG_PCMCIA_PXA2XX=y
195
196#
197# Kernel Features
198#
199CONFIG_PREEMPT=y
200CONFIG_NO_IDLE_HZ=y
201CONFIG_HZ=100
202CONFIG_AEABI=y
203CONFIG_OABI_COMPAT=y
204# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
205CONFIG_SELECT_MEMORY_MODEL=y
206CONFIG_FLATMEM_MANUAL=y
207# CONFIG_DISCONTIGMEM_MANUAL is not set
208# CONFIG_SPARSEMEM_MANUAL is not set
209CONFIG_FLATMEM=y
210CONFIG_FLAT_NODE_MEM_MAP=y
211# CONFIG_SPARSEMEM_STATIC is not set
212CONFIG_SPLIT_PTLOCK_CPUS=4096
213# CONFIG_RESOURCES_64BIT is not set
214CONFIG_ALIGNMENT_TRAP=y
215
216#
217# Boot options
218#
219CONFIG_ZBOOT_ROM_TEXT=0x0
220CONFIG_ZBOOT_ROM_BSS=0x0
221CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2 fbcon=rotate:1 dyntick=enable quiet"
222# CONFIG_XIP_KERNEL is not set
223CONFIG_KEXEC=y
224
225#
226# CPU Frequency scaling
227#
228# CONFIG_CPU_FREQ is not set
229
230#
231# Floating point emulation
232#
233
234#
235# At least one emulation must be selected
236#
237CONFIG_FPE_NWFPE=y
238# CONFIG_FPE_NWFPE_XP is not set
239# CONFIG_FPE_FASTFPE is not set
240
241#
242# Userspace binary formats
243#
244CONFIG_BINFMT_ELF=y
245CONFIG_BINFMT_AOUT=m
246CONFIG_BINFMT_MISC=m
247
248#
249# Power management options
250#
251CONFIG_PM=y
252# CONFIG_PM_LEGACY is not set
253# CONFIG_PM_DEBUG is not set
254# CONFIG_PM_SYSFS_DEPRECATED is not set
255CONFIG_APM=y
256
257#
258# Networking
259#
260CONFIG_NET=y
261
262#
263# Networking options
264#
265# CONFIG_NETDEBUG is not set
266CONFIG_PACKET=y
267CONFIG_PACKET_MMAP=y
268CONFIG_UNIX=y
269CONFIG_XFRM=y
270# CONFIG_XFRM_USER is not set
271# CONFIG_XFRM_SUB_POLICY is not set
272# CONFIG_NET_KEY is not set
273CONFIG_INET=y
274# CONFIG_IP_MULTICAST is not set
275# CONFIG_IP_ADVANCED_ROUTER is not set
276CONFIG_IP_FIB_HASH=y
277# CONFIG_IP_PNP is not set
278# CONFIG_NET_IPIP is not set
279# CONFIG_NET_IPGRE is not set
280# CONFIG_ARPD is not set
281CONFIG_SYN_COOKIES=y
282# CONFIG_INET_AH is not set
283# CONFIG_INET_ESP is not set
284# CONFIG_INET_IPCOMP is not set
285# CONFIG_INET_XFRM_TUNNEL is not set
286# CONFIG_INET_TUNNEL is not set
287CONFIG_INET_XFRM_MODE_TRANSPORT=y
288CONFIG_INET_XFRM_MODE_TUNNEL=y
289CONFIG_INET_XFRM_MODE_BEET=y
290CONFIG_INET_DIAG=m
291CONFIG_INET_TCP_DIAG=m
292# CONFIG_TCP_CONG_ADVANCED is not set
293CONFIG_TCP_CONG_CUBIC=y
294CONFIG_DEFAULT_TCP_CONG="cubic"
295# CONFIG_TCP_MD5SIG is not set
296
297#
298# IP: Virtual Server Configuration
299#
300# CONFIG_IP_VS is not set
301CONFIG_IPV6=m
302# CONFIG_IPV6_PRIVACY is not set
303# CONFIG_IPV6_ROUTER_PREF is not set
304CONFIG_INET6_AH=m
305CONFIG_INET6_ESP=m
306CONFIG_INET6_IPCOMP=m
307# CONFIG_IPV6_MIP6 is not set
308CONFIG_INET6_XFRM_TUNNEL=m
309CONFIG_INET6_TUNNEL=m
310CONFIG_INET6_XFRM_MODE_TRANSPORT=m
311CONFIG_INET6_XFRM_MODE_TUNNEL=m
312CONFIG_INET6_XFRM_MODE_BEET=m
313# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
314CONFIG_IPV6_SIT=m
315CONFIG_IPV6_TUNNEL=m
316# CONFIG_IPV6_MULTIPLE_TABLES is not set
317# CONFIG_NETWORK_SECMARK is not set
318CONFIG_NETFILTER=y
319# CONFIG_NETFILTER_DEBUG is not set
320
321#
322# Core Netfilter Configuration
323#
324# CONFIG_NETFILTER_NETLINK is not set
325# CONFIG_NF_CONNTRACK_ENABLED is not set
326# CONFIG_NETFILTER_XTABLES is not set
327
328#
329# IP: Netfilter Configuration
330#
331CONFIG_IP_NF_QUEUE=m
332
333#
334# IPv6: Netfilter Configuration (EXPERIMENTAL)
335#
336# CONFIG_IP6_NF_QUEUE is not set
337
338#
339# DCCP Configuration (EXPERIMENTAL)
340#
341# CONFIG_IP_DCCP is not set
342
343#
344# SCTP Configuration (EXPERIMENTAL)
345#
346# CONFIG_IP_SCTP is not set
347
348#
349# TIPC Configuration (EXPERIMENTAL)
350#
351# CONFIG_TIPC is not set
352# CONFIG_ATM is not set
353# CONFIG_BRIDGE is not set
354# CONFIG_VLAN_8021Q is not set
355# CONFIG_DECNET is not set
356# CONFIG_LLC2 is not set
357# CONFIG_IPX is not set
358# CONFIG_ATALK is not set
359# CONFIG_X25 is not set
360# CONFIG_LAPB is not set
361# CONFIG_ECONET is not set
362# CONFIG_WAN_ROUTER is not set
363
364#
365# QoS and/or fair queueing
366#
367# CONFIG_NET_SCHED is not set
368
369#
370# Network testing
371#
372# CONFIG_NET_PKTGEN is not set
373# CONFIG_HAMRADIO is not set
374CONFIG_IRDA=m
375
376#
377# IrDA protocols
378#
379CONFIG_IRLAN=m
380CONFIG_IRNET=m
381CONFIG_IRCOMM=m
382# CONFIG_IRDA_ULTRA is not set
383
384#
385# IrDA options
386#
387# CONFIG_IRDA_CACHE_LAST_LSAP is not set
388# CONFIG_IRDA_FAST_RR is not set
389# CONFIG_IRDA_DEBUG is not set
390
391#
392# Infrared-port device drivers
393#
394
395#
396# SIR device drivers
397#
398# CONFIG_IRTTY_SIR is not set
399
400#
401# Dongle support
402#
403
404#
405# Old SIR device drivers
406#
407# CONFIG_IRPORT_SIR is not set
408
409#
410# Old Serial dongle support
411#
412
413#
414# FIR device drivers
415#
416# CONFIG_USB_IRDA is not set
417# CONFIG_SIGMATEL_FIR is not set
418CONFIG_PXA_FICP=m
419# CONFIG_MCS_FIR is not set
420CONFIG_BT=m
421CONFIG_BT_L2CAP=m
422CONFIG_BT_SCO=m
423CONFIG_BT_RFCOMM=m
424CONFIG_BT_RFCOMM_TTY=y
425CONFIG_BT_BNEP=m
426CONFIG_BT_BNEP_MC_FILTER=y
427CONFIG_BT_BNEP_PROTO_FILTER=y
428CONFIG_BT_HIDP=m
429
430#
431# Bluetooth device drivers
432#
433CONFIG_BT_HCIUSB=m
434# CONFIG_BT_HCIUSB_SCO is not set
435CONFIG_BT_HCIUART=m
436CONFIG_BT_HCIUART_H4=y
437CONFIG_BT_HCIUART_BCSP=y
438CONFIG_BT_HCIBCM203X=m
439CONFIG_BT_HCIBPA10X=m
440CONFIG_BT_HCIBFUSB=m
441CONFIG_BT_HCIDTL1=m
442CONFIG_BT_HCIBT3C=m
443CONFIG_BT_HCIBLUECARD=m
444CONFIG_BT_HCIBTUART=m
445CONFIG_BT_HCIVHCI=m
446CONFIG_IEEE80211=m
447# CONFIG_IEEE80211_DEBUG is not set
448CONFIG_IEEE80211_CRYPT_WEP=m
449CONFIG_IEEE80211_CRYPT_CCMP=m
450CONFIG_IEEE80211_CRYPT_TKIP=m
451# CONFIG_IEEE80211_SOFTMAC is not set
452CONFIG_WIRELESS_EXT=y
453
454#
455# Device Drivers
456#
457
458#
459# Generic Driver Options
460#
461CONFIG_STANDALONE=y
462CONFIG_PREVENT_FIRMWARE_BUILD=y
463CONFIG_FW_LOADER=y
464# CONFIG_DEBUG_DRIVER is not set
465# CONFIG_SYS_HYPERVISOR is not set
466
467#
468# Connector - unified userspace <-> kernelspace linker
469#
470# CONFIG_CONNECTOR is not set
471
472#
473# Memory Technology Devices (MTD)
474#
475CONFIG_MTD=y
476# CONFIG_MTD_DEBUG is not set
477# CONFIG_MTD_CONCAT is not set
478CONFIG_MTD_PARTITIONS=y
479# CONFIG_MTD_REDBOOT_PARTS is not set
480CONFIG_MTD_CMDLINE_PARTS=y
481# CONFIG_MTD_AFS_PARTS is not set
482
483#
484# User Modules And Translation Layers
485#
486CONFIG_MTD_CHAR=y
487CONFIG_MTD_BLKDEVS=y
488CONFIG_MTD_BLOCK=y
489# CONFIG_FTL is not set
490# CONFIG_NFTL is not set
491# CONFIG_INFTL is not set
492# CONFIG_RFD_FTL is not set
493# CONFIG_SSFDC is not set
494
495#
496# RAM/ROM/Flash chip drivers
497#
498# CONFIG_MTD_CFI is not set
499# CONFIG_MTD_JEDECPROBE is not set
500CONFIG_MTD_MAP_BANK_WIDTH_1=y
501CONFIG_MTD_MAP_BANK_WIDTH_2=y
502CONFIG_MTD_MAP_BANK_WIDTH_4=y
503# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
504# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
505# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
506CONFIG_MTD_CFI_I1=y
507CONFIG_MTD_CFI_I2=y
508# CONFIG_MTD_CFI_I4 is not set
509# CONFIG_MTD_CFI_I8 is not set
510# CONFIG_MTD_RAM is not set
511CONFIG_MTD_ROM=y
512# CONFIG_MTD_ABSENT is not set
513# CONFIG_MTD_OBSOLETE_CHIPS is not set
514
515#
516# Mapping drivers for chip access
517#
518CONFIG_MTD_COMPLEX_MAPPINGS=y
519# CONFIG_MTD_PHYSMAP is not set
520CONFIG_MTD_SHARP_SL=y
521# CONFIG_MTD_PLATRAM is not set
522
523#
524# Self-contained MTD device drivers
525#
526# CONFIG_MTD_SLRAM is not set
527# CONFIG_MTD_PHRAM is not set
528# CONFIG_MTD_MTDRAM is not set
529# CONFIG_MTD_BLOCK2MTD is not set
530
531#
532# Disk-On-Chip Device Drivers
533#
534# CONFIG_MTD_DOC2000 is not set
535# CONFIG_MTD_DOC2001 is not set
536# CONFIG_MTD_DOC2001PLUS is not set
537
538#
539# NAND Flash Device Drivers
540#
541CONFIG_MTD_NAND=y
542CONFIG_MTD_NAND_VERIFY_WRITE=y
543# CONFIG_MTD_NAND_ECC_SMC is not set
544# CONFIG_MTD_NAND_H1900 is not set
545CONFIG_MTD_NAND_IDS=y
546# CONFIG_MTD_NAND_DISKONCHIP is not set
547CONFIG_MTD_NAND_SHARPSL=y
548# CONFIG_MTD_NAND_NANDSIM is not set
549
550#
551# OneNAND Flash Device Drivers
552#
553# CONFIG_MTD_ONENAND is not set
554
555#
556# Parallel port support
557#
558# CONFIG_PARPORT is not set
559
560#
561# Plug and Play support
562#
563
564#
565# Block devices
566#
567# CONFIG_BLK_DEV_COW_COMMON is not set
568CONFIG_BLK_DEV_LOOP=y
569# CONFIG_BLK_DEV_CRYPTOLOOP is not set
570# CONFIG_BLK_DEV_NBD is not set
571# CONFIG_BLK_DEV_UB is not set
572# CONFIG_BLK_DEV_RAM is not set
573# CONFIG_BLK_DEV_INITRD is not set
574# CONFIG_CDROM_PKTCDVD is not set
575# CONFIG_ATA_OVER_ETH is not set
576
577#
578# ATA/ATAPI/MFM/RLL support
579#
580CONFIG_IDE=y
581CONFIG_IDE_MAX_HWIFS=4
582CONFIG_BLK_DEV_IDE=y
583
584#
585# Please see Documentation/ide.txt for help/info on IDE drives
586#
587# CONFIG_BLK_DEV_IDE_SATA is not set
588CONFIG_BLK_DEV_IDEDISK=y
589# CONFIG_IDEDISK_MULTI_MODE is not set
590CONFIG_BLK_DEV_IDECS=y
591# CONFIG_BLK_DEV_IDECD is not set
592# CONFIG_BLK_DEV_IDETAPE is not set
593# CONFIG_BLK_DEV_IDEFLOPPY is not set
594# CONFIG_BLK_DEV_IDESCSI is not set
595# CONFIG_IDE_TASK_IOCTL is not set
596
597#
598# IDE chipset support/bugfixes
599#
600CONFIG_IDE_GENERIC=y
601# CONFIG_IDE_ARM is not set
602# CONFIG_BLK_DEV_IDEDMA is not set
603# CONFIG_IDEDMA_AUTO is not set
604# CONFIG_BLK_DEV_HD is not set
605
606#
607# SCSI device support
608#
609# CONFIG_RAID_ATTRS is not set
610CONFIG_SCSI=m
611# CONFIG_SCSI_TGT is not set
612# CONFIG_SCSI_NETLINK is not set
613CONFIG_SCSI_PROC_FS=y
614
615#
616# SCSI support type (disk, tape, CD-ROM)
617#
618CONFIG_BLK_DEV_SD=m
619CONFIG_CHR_DEV_ST=m
620CONFIG_CHR_DEV_OSST=m
621CONFIG_BLK_DEV_SR=m
622# CONFIG_BLK_DEV_SR_VENDOR is not set
623CONFIG_CHR_DEV_SG=m
624# CONFIG_CHR_DEV_SCH is not set
625
626#
627# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
628#
629CONFIG_SCSI_MULTI_LUN=y
630# CONFIG_SCSI_CONSTANTS is not set
631# CONFIG_SCSI_LOGGING is not set
632# CONFIG_SCSI_SCAN_ASYNC is not set
633
634#
635# SCSI Transports
636#
637# CONFIG_SCSI_SPI_ATTRS is not set
638# CONFIG_SCSI_FC_ATTRS is not set
639# CONFIG_SCSI_ISCSI_ATTRS is not set
640# CONFIG_SCSI_SAS_ATTRS is not set
641# CONFIG_SCSI_SAS_LIBSAS is not set
642
643#
644# SCSI low-level drivers
645#
646# CONFIG_ISCSI_TCP is not set
647# CONFIG_SCSI_DEBUG is not set
648
649#
650# PCMCIA SCSI adapter support
651#
652# CONFIG_PCMCIA_AHA152X is not set
653# CONFIG_PCMCIA_FDOMAIN is not set
654# CONFIG_PCMCIA_NINJA_SCSI is not set
655# CONFIG_PCMCIA_QLOGIC is not set
656# CONFIG_PCMCIA_SYM53C500 is not set
657
658#
659# Serial ATA (prod) and Parallel ATA (experimental) drivers
660#
661# CONFIG_ATA is not set
662
663#
664# Multi-device support (RAID and LVM)
665#
666CONFIG_MD=y
667# CONFIG_BLK_DEV_MD is not set
668CONFIG_BLK_DEV_DM=m
669# CONFIG_DM_DEBUG is not set
670CONFIG_DM_CRYPT=m
671CONFIG_DM_SNAPSHOT=m
672CONFIG_DM_MIRROR=m
673CONFIG_DM_ZERO=m
674CONFIG_DM_MULTIPATH=m
675CONFIG_DM_MULTIPATH_EMC=m
676
677#
678# Fusion MPT device support
679#
680# CONFIG_FUSION is not set
681
682#
683# IEEE 1394 (FireWire) support
684#
685
686#
687# I2O device support
688#
689
690#
691# Network device support
692#
693CONFIG_NETDEVICES=y
694# CONFIG_DUMMY is not set
695# CONFIG_BONDING is not set
696# CONFIG_EQUALIZER is not set
697CONFIG_TUN=m
698
699#
700# PHY device support
701#
702# CONFIG_PHYLIB is not set
703
704#
705# Ethernet (10 or 100Mbit)
706#
707CONFIG_NET_ETHERNET=y
708CONFIG_MII=m
709# CONFIG_SMC91X is not set
710# CONFIG_DM9000 is not set
711# CONFIG_SMC911X is not set
712
713#
714# Ethernet (1000 Mbit)
715#
716
717#
718# Ethernet (10000 Mbit)
719#
720
721#
722# Token Ring devices
723#
724
725#
726# Wireless LAN (non-hamradio)
727#
728CONFIG_NET_RADIO=y
729# CONFIG_NET_WIRELESS_RTNETLINK is not set
730
731#
732# Obsolete Wireless cards support (pre-802.11)
733#
734# CONFIG_STRIP is not set
735# CONFIG_PCMCIA_WAVELAN is not set
736# CONFIG_PCMCIA_NETWAVE is not set
737
738#
739# Wireless 802.11 Frequency Hopping cards support
740#
741# CONFIG_PCMCIA_RAYCS is not set
742
743#
744# Wireless 802.11b ISA/PCI cards support
745#
746CONFIG_HERMES=m
747# CONFIG_ATMEL is not set
748
749#
750# Wireless 802.11b Pcmcia/Cardbus cards support
751#
752CONFIG_PCMCIA_HERMES=m
753CONFIG_PCMCIA_SPECTRUM=m
754# CONFIG_AIRO_CS is not set
755# CONFIG_PCMCIA_WL3501 is not set
756# CONFIG_USB_ZD1201 is not set
757CONFIG_HOSTAP=m
758CONFIG_HOSTAP_FIRMWARE=y
759# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
760CONFIG_HOSTAP_CS=m
761CONFIG_NET_WIRELESS=y
762
763#
764# PCMCIA network device support
765#
766CONFIG_NET_PCMCIA=y
767# CONFIG_PCMCIA_3C589 is not set
768# CONFIG_PCMCIA_3C574 is not set
769# CONFIG_PCMCIA_FMVJ18X is not set
770CONFIG_PCMCIA_PCNET=m
771# CONFIG_PCMCIA_NMCLAN is not set
772# CONFIG_PCMCIA_SMC91C92 is not set
773# CONFIG_PCMCIA_XIRC2PS is not set
774# CONFIG_PCMCIA_AXNET is not set
775
776#
777# Wan interfaces
778#
779# CONFIG_WAN is not set
780CONFIG_PPP=m
781# CONFIG_PPP_MULTILINK is not set
782# CONFIG_PPP_FILTER is not set
783CONFIG_PPP_ASYNC=m
784# CONFIG_PPP_SYNC_TTY is not set
785CONFIG_PPP_DEFLATE=m
786CONFIG_PPP_BSDCOMP=m
787# CONFIG_PPP_MPPE is not set
788# CONFIG_PPPOE is not set
789# CONFIG_SLIP is not set
790CONFIG_SLHC=m
791# CONFIG_SHAPER is not set
792# CONFIG_NETCONSOLE is not set
793# CONFIG_NETPOLL is not set
794# CONFIG_NET_POLL_CONTROLLER is not set
795
796#
797# ISDN subsystem
798#
799# CONFIG_ISDN is not set
800
801#
802# Input device support
803#
804CONFIG_INPUT=y
805# CONFIG_INPUT_FF_MEMLESS is not set
806
807#
808# Userland interfaces
809#
810CONFIG_INPUT_MOUSEDEV=m
811# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
812CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
813CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
814# CONFIG_INPUT_JOYDEV is not set
815# CONFIG_INPUT_TSDEV is not set
816CONFIG_INPUT_EVDEV=y
817# CONFIG_INPUT_EVBUG is not set
818CONFIG_INPUT_POWER=y
819
820#
821# Input Device Drivers
822#
823CONFIG_INPUT_KEYBOARD=y
824# CONFIG_KEYBOARD_ATKBD is not set
825# CONFIG_KEYBOARD_SUNKBD is not set
826# CONFIG_KEYBOARD_LKKBD is not set
827# CONFIG_KEYBOARD_XTKBD is not set
828# CONFIG_KEYBOARD_NEWTON is not set
829# CONFIG_KEYBOARD_STOWAWAY is not set
830# CONFIG_KEYBOARD_CORGI is not set
831CONFIG_KEYBOARD_SPITZ=y
832# CONFIG_INPUT_MOUSE is not set
833# CONFIG_INPUT_JOYSTICK is not set
834CONFIG_INPUT_TOUCHSCREEN=y
835CONFIG_TOUCHSCREEN_CORGI=y
836# CONFIG_TOUCHSCREEN_GUNZE is not set
837# CONFIG_TOUCHSCREEN_ELO is not set
838# CONFIG_TOUCHSCREEN_MTOUCH is not set
839# CONFIG_TOUCHSCREEN_MK712 is not set
840# CONFIG_TOUCHSCREEN_PENMOUNT is not set
841# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
842# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
843# CONFIG_TOUCHSCREEN_UCB1400 is not set
844CONFIG_INPUT_MISC=y
845CONFIG_INPUT_UINPUT=m
846
847#
848# Hardware I/O ports
849#
850# CONFIG_SERIO is not set
851# CONFIG_GAMEPORT is not set
852
853#
854# Character devices
855#
856CONFIG_VT=y
857CONFIG_VT_CONSOLE=y
858CONFIG_HW_CONSOLE=y
859# CONFIG_VT_HW_CONSOLE_BINDING is not set
860# CONFIG_SERIAL_NONSTANDARD is not set
861
862#
863# Serial drivers
864#
865CONFIG_SERIAL_8250=m
866CONFIG_SERIAL_8250_CS=m
867CONFIG_SERIAL_8250_NR_UARTS=4
868CONFIG_SERIAL_8250_RUNTIME_UARTS=4
869# CONFIG_SERIAL_8250_EXTENDED is not set
870
871#
872# Non-8250 serial port support
873#
874CONFIG_SERIAL_PXA=y
875CONFIG_SERIAL_PXA_CONSOLE=y
876CONFIG_SERIAL_CORE=y
877CONFIG_SERIAL_CORE_CONSOLE=y
878CONFIG_UNIX98_PTYS=y
879# CONFIG_LEGACY_PTYS is not set
880
881#
882# IPMI
883#
884# CONFIG_IPMI_HANDLER is not set
885
886#
887# Watchdog Cards
888#
889# CONFIG_WATCHDOG is not set
890CONFIG_HW_RANDOM=m
891# CONFIG_NVRAM is not set
892# CONFIG_DTLK is not set
893# CONFIG_R3964 is not set
894
895#
896# PCMCIA character devices
897#
898# CONFIG_SYNCLINK_CS is not set
899# CONFIG_CARDMAN_4000 is not set
900# CONFIG_CARDMAN_4040 is not set
901# CONFIG_RAW_DRIVER is not set
902
903#
904# TPM devices
905#
906# CONFIG_TCG_TPM is not set
907
908#
909# I2C support
910#
911CONFIG_I2C=y
912# CONFIG_I2C_CHARDEV is not set
913
914#
915# I2C Algorithms
916#
917# CONFIG_I2C_ALGOBIT is not set
918# CONFIG_I2C_ALGOPCF is not set
919# CONFIG_I2C_ALGOPCA is not set
920
921#
922# I2C Hardware Bus support
923#
924CONFIG_I2C_PXA=y
925# CONFIG_I2C_PXA_SLAVE is not set
926# CONFIG_I2C_OCORES is not set
927# CONFIG_I2C_PARPORT_LIGHT is not set
928# CONFIG_I2C_STUB is not set
929# CONFIG_I2C_PCA_ISA is not set
930
931#
932# Miscellaneous I2C Chip support
933#
934# CONFIG_SENSORS_DS1337 is not set
935# CONFIG_SENSORS_DS1374 is not set
936# CONFIG_SENSORS_EEPROM is not set
937# CONFIG_SENSORS_PCF8574 is not set
938# CONFIG_SENSORS_PCA9539 is not set
939# CONFIG_SENSORS_PCF8591 is not set
940# CONFIG_SENSORS_MAX6875 is not set
941# CONFIG_I2C_DEBUG_CORE is not set
942# CONFIG_I2C_DEBUG_ALGO is not set
943# CONFIG_I2C_DEBUG_BUS is not set
944# CONFIG_I2C_DEBUG_CHIP is not set
945
946#
947# SPI support
948#
949# CONFIG_SPI is not set
950# CONFIG_SPI_MASTER is not set
951
952#
953# Dallas's 1-wire bus
954#
955# CONFIG_W1 is not set
956
957#
958# Hardware Monitoring support
959#
960# CONFIG_HWMON is not set
961# CONFIG_HWMON_VID is not set
962
963#
964# Misc devices
965#
966# CONFIG_TIFM_CORE is not set
967
968#
969# Multi-Function Devices
970#
971
972#
973# LED devices
974#
975CONFIG_NEW_LEDS=y
976CONFIG_LEDS_CLASS=y
977
978#
979# LED drivers
980#
981CONFIG_LEDS_SPITZ=y
982# CONFIG_LEDS_TOSA is not set
983
984#
985# LED Triggers
986#
987CONFIG_LEDS_TRIGGERS=y
988CONFIG_LEDS_TRIGGER_TIMER=y
989CONFIG_LEDS_TRIGGER_IDE_DISK=y
990# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
991
992#
993# Multimedia devices
994#
995# CONFIG_VIDEO_DEV is not set
996
997#
998# Digital Video Broadcasting Devices
999#
1000# CONFIG_DVB is not set
1001CONFIG_USB_DABUSB=m
1002
1003#
1004# Graphics support
1005#
1006CONFIG_FIRMWARE_EDID=y
1007CONFIG_FB=y
1008CONFIG_FB_CFB_FILLRECT=y
1009CONFIG_FB_CFB_COPYAREA=y
1010CONFIG_FB_CFB_IMAGEBLIT=y
1011# CONFIG_FB_MACMODES is not set
1012# CONFIG_FB_BACKLIGHT is not set
1013# CONFIG_FB_MODE_HELPERS is not set
1014# CONFIG_FB_TILEBLITTING is not set
1015# CONFIG_FB_S1D13XXX is not set
1016CONFIG_FB_PXA=y
1017CONFIG_FB_PXA_LCD_QVGA=y
1018# CONFIG_FB_PXA_LCD_VGA is not set
1019# CONFIG_FB_PXA_OVERLAY is not set
1020# CONFIG_FB_PXA_PARAMETERS is not set
1021# CONFIG_FB_MBX is not set
1022# CONFIG_FB_W100 is not set
1023# CONFIG_FB_VIRTUAL is not set
1024
1025#
1026# Console display driver support
1027#
1028# CONFIG_VGA_CONSOLE is not set
1029CONFIG_DUMMY_CONSOLE=y
1030CONFIG_FRAMEBUFFER_CONSOLE=y
1031CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
1032CONFIG_FONTS=y
1033# CONFIG_FONT_8x8 is not set
1034CONFIG_FONT_8x16=y
1035# CONFIG_FONT_6x11 is not set
1036# CONFIG_FONT_7x14 is not set
1037# CONFIG_FONT_PEARL_8x8 is not set
1038# CONFIG_FONT_ACORN_8x8 is not set
1039# CONFIG_FONT_MINI_4x6 is not set
1040# CONFIG_FONT_SUN8x16 is not set
1041# CONFIG_FONT_SUN12x22 is not set
1042# CONFIG_FONT_10x18 is not set
1043
1044#
1045# Logo configuration
1046#
1047CONFIG_LOGO=y
1048CONFIG_LOGO_LINUX_MONO=y
1049CONFIG_LOGO_LINUX_VGA16=y
1050# CONFIG_LOGO_LINUX_CLUT224 is not set
1051CONFIG_LOGO_OHAND_CLUT224=y
1052# CONFIG_LOGO_OZ240_CLUT224 is not set
1053# CONFIG_LOGO_OZ480_CLUT224 is not set
1054# CONFIG_LOGO_OZ640_CLUT224 is not set
1055CONFIG_BACKLIGHT_LCD_SUPPORT=y
1056CONFIG_BACKLIGHT_CLASS_DEVICE=y
1057CONFIG_BACKLIGHT_DEVICE=y
1058CONFIG_LCD_CLASS_DEVICE=y
1059CONFIG_LCD_DEVICE=y
1060CONFIG_BACKLIGHT_CORGI=y
1061
1062#
1063# Sound
1064#
1065CONFIG_SOUND=m
1066
1067#
1068# Advanced Linux Sound Architecture
1069#
1070CONFIG_SND=m
1071CONFIG_SND_TIMER=m
1072CONFIG_SND_PCM=m
1073CONFIG_SND_HWDEP=m
1074CONFIG_SND_RAWMIDI=m
1075CONFIG_SND_SEQUENCER=m
1076# CONFIG_SND_SEQ_DUMMY is not set
1077CONFIG_SND_OSSEMUL=y
1078CONFIG_SND_MIXER_OSS=m
1079CONFIG_SND_PCM_OSS=m
1080CONFIG_SND_PCM_OSS_PLUGINS=y
1081# CONFIG_SND_SEQUENCER_OSS is not set
1082# CONFIG_SND_DYNAMIC_MINORS is not set
1083CONFIG_SND_SUPPORT_OLD_API=y
1084CONFIG_SND_VERBOSE_PROCFS=y
1085CONFIG_SND_VERBOSE_PRINTK=y
1086CONFIG_SND_DEBUG=y
1087# CONFIG_SND_DEBUG_DETECT is not set
1088# CONFIG_SND_PCM_XRUN_DEBUG is not set
1089
1090#
1091# Generic devices
1092#
1093CONFIG_SND_AC97_CODEC=m
1094# CONFIG_SND_DUMMY is not set
1095# CONFIG_SND_VIRMIDI is not set
1096# CONFIG_SND_MTPAV is not set
1097# CONFIG_SND_SERIAL_U16550 is not set
1098# CONFIG_SND_MPU401 is not set
1099
1100#
1101# ALSA ARM devices
1102#
1103CONFIG_SND_PXA2XX_PCM=m
1104CONFIG_SND_PXA2XX_AC97=m
1105
1106#
1107# USB devices
1108#
1109CONFIG_SND_USB_AUDIO=m
1110
1111#
1112# PCMCIA devices
1113#
1114# CONFIG_SND_VXPOCKET is not set
1115# CONFIG_SND_PDAUDIOCF is not set
1116
1117#
1118# SoC audio support
1119#
1120CONFIG_SND_SOC=m
1121
1122#
1123# Soc Platforms
1124#
1125
1126#
1127# SoC Audio for the Intel PXA2xx
1128#
1129CONFIG_SND_PXA2xx_SOC=m
1130CONFIG_SND_PXA2xx_SOC_I2S=m
1131CONFIG_SND_PXA2xx_SOC_SPITZ=m
1132# CONFIG_SND_PXA2xx_SOC_MAGICIAN is not set
1133
1134#
1135# SoC Audio for the Atmel AT91
1136#
1137
1138#
1139# SoC Audio for the Freescale i.MX
1140#
1141
1142#
1143# SoC Audio for the Samsung S3C24XX
1144#
1145
1146#
1147# Soc Codecs
1148#
1149# CONFIG_SND_SOC_AC97_CODEC is not set
1150# CONFIG_SND_SOC_WM8711 is not set
1151# CONFIG_SND_SOC_WM8510 is not set
1152# CONFIG_SND_SOC_WM8731 is not set
1153CONFIG_SND_SOC_WM8750=m
1154# CONFIG_SND_SOC_WM8753 is not set
1155# CONFIG_SND_SOC_WM8772 is not set
1156# CONFIG_SND_SOC_WM8971 is not set
1157# CONFIG_SND_SOC_WM8956 is not set
1158# CONFIG_SND_SOC_WM8960 is not set
1159# CONFIG_SND_SOC_WM8976 is not set
1160# CONFIG_SND_SOC_WM8974 is not set
1161# CONFIG_SND_SOC_WM8980 is not set
1162# CONFIG_SND_SOC_WM9713 is not set
1163# CONFIG_SND_SOC_WM9712 is not set
1164# CONFIG_SND_SOC_UDA1380 is not set
1165# CONFIG_SND_SOC_AK4535 is not set
1166
1167#
1168# Open Sound System
1169#
1170# CONFIG_SOUND_PRIME is not set
1171CONFIG_AC97_BUS=m
1172
1173#
1174# HID Devices
1175#
1176CONFIG_HID=y
1177
1178#
1179# USB support
1180#
1181CONFIG_USB_ARCH_HAS_HCD=y
1182CONFIG_USB_ARCH_HAS_OHCI=y
1183# CONFIG_USB_ARCH_HAS_EHCI is not set
1184CONFIG_USB=m
1185# CONFIG_USB_DEBUG is not set
1186
1187#
1188# Miscellaneous USB options
1189#
1190CONFIG_USB_DEVICEFS=y
1191# CONFIG_USB_BANDWIDTH is not set
1192# CONFIG_USB_DYNAMIC_MINORS is not set
1193# CONFIG_USB_SUSPEND is not set
1194# CONFIG_USB_OTG is not set
1195
1196#
1197# USB Host Controller Drivers
1198#
1199# CONFIG_USB_ISP116X_HCD is not set
1200CONFIG_USB_OHCI_HCD=m
1201# CONFIG_USB_OHCI_BIG_ENDIAN is not set
1202CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1203CONFIG_USB_SL811_HCD=m
1204CONFIG_USB_SL811_CS=m
1205
1206#
1207# USB Device Class drivers
1208#
1209CONFIG_USB_ACM=m
1210CONFIG_USB_PRINTER=m
1211
1212#
1213# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1214#
1215
1216#
1217# may also be needed; see USB_STORAGE Help for more information
1218#
1219CONFIG_USB_STORAGE=m
1220# CONFIG_USB_STORAGE_DEBUG is not set
1221# CONFIG_USB_STORAGE_DATAFAB is not set
1222# CONFIG_USB_STORAGE_FREECOM is not set
1223# CONFIG_USB_STORAGE_ISD200 is not set
1224# CONFIG_USB_STORAGE_DPCM is not set
1225# CONFIG_USB_STORAGE_USBAT is not set
1226# CONFIG_USB_STORAGE_SDDR09 is not set
1227# CONFIG_USB_STORAGE_SDDR55 is not set
1228# CONFIG_USB_STORAGE_JUMPSHOT is not set
1229# CONFIG_USB_STORAGE_ALAUDA is not set
1230# CONFIG_USB_STORAGE_KARMA is not set
1231# CONFIG_USB_LIBUSUAL is not set
1232
1233#
1234# USB Input Devices
1235#
1236CONFIG_USB_HID=m
1237# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1238# CONFIG_HID_FF is not set
1239# CONFIG_USB_HIDDEV is not set
1240
1241#
1242# USB HID Boot Protocol drivers
1243#
1244CONFIG_USB_KBD=m
1245CONFIG_USB_MOUSE=m
1246CONFIG_USB_AIPTEK=m
1247CONFIG_USB_WACOM=m
1248# CONFIG_USB_ACECAD is not set
1249CONFIG_USB_KBTAB=m
1250CONFIG_USB_POWERMATE=m
1251# CONFIG_USB_TOUCHSCREEN is not set
1252# CONFIG_USB_YEALINK is not set
1253CONFIG_USB_XPAD=m
1254CONFIG_USB_ATI_REMOTE=m
1255# CONFIG_USB_ATI_REMOTE2 is not set
1256# CONFIG_USB_KEYSPAN_REMOTE is not set
1257# CONFIG_USB_APPLETOUCH is not set
1258
1259#
1260# USB Imaging devices
1261#
1262CONFIG_USB_MDC800=m
1263CONFIG_USB_MICROTEK=m
1264
1265#
1266# USB Network Adapters
1267#
1268CONFIG_USB_CATC=m
1269CONFIG_USB_KAWETH=m
1270CONFIG_USB_PEGASUS=m
1271CONFIG_USB_RTL8150=m
1272CONFIG_USB_USBNET_MII=m
1273CONFIG_USB_USBNET=m
1274CONFIG_USB_NET_AX8817X=m
1275CONFIG_USB_NET_CDCETHER=m
1276# CONFIG_USB_NET_GL620A is not set
1277CONFIG_USB_NET_NET1080=m
1278# CONFIG_USB_NET_PLUSB is not set
1279# CONFIG_USB_NET_MCS7830 is not set
1280# CONFIG_USB_NET_RNDIS_HOST is not set
1281# CONFIG_USB_NET_CDC_SUBSET is not set
1282CONFIG_USB_NET_ZAURUS=m
1283CONFIG_USB_MON=y
1284
1285#
1286# USB port drivers
1287#
1288
1289#
1290# USB Serial Converter support
1291#
1292CONFIG_USB_SERIAL=m
1293CONFIG_USB_SERIAL_GENERIC=y
1294# CONFIG_USB_SERIAL_AIRCABLE is not set
1295# CONFIG_USB_SERIAL_AIRPRIME is not set
1296# CONFIG_USB_SERIAL_ARK3116 is not set
1297CONFIG_USB_SERIAL_BELKIN=m
1298# CONFIG_USB_SERIAL_WHITEHEAT is not set
1299CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
1300# CONFIG_USB_SERIAL_CP2101 is not set
1301CONFIG_USB_SERIAL_CYPRESS_M8=m
1302CONFIG_USB_SERIAL_EMPEG=m
1303CONFIG_USB_SERIAL_FTDI_SIO=m
1304# CONFIG_USB_SERIAL_FUNSOFT is not set
1305CONFIG_USB_SERIAL_VISOR=m
1306CONFIG_USB_SERIAL_IPAQ=m
1307CONFIG_USB_SERIAL_IR=m
1308CONFIG_USB_SERIAL_EDGEPORT=m
1309CONFIG_USB_SERIAL_EDGEPORT_TI=m
1310CONFIG_USB_SERIAL_GARMIN=m
1311CONFIG_USB_SERIAL_IPW=m
1312CONFIG_USB_SERIAL_KEYSPAN_PDA=m
1313CONFIG_USB_SERIAL_KEYSPAN=m
1314# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
1315# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
1316# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
1317# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
1318# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
1319# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
1320# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
1321# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
1322# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
1323# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
1324# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
1325# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
1326CONFIG_USB_SERIAL_KLSI=m
1327CONFIG_USB_SERIAL_KOBIL_SCT=m
1328CONFIG_USB_SERIAL_MCT_U232=m
1329# CONFIG_USB_SERIAL_MOS7720 is not set
1330# CONFIG_USB_SERIAL_MOS7840 is not set
1331# CONFIG_USB_SERIAL_NAVMAN is not set
1332CONFIG_USB_SERIAL_PL2303=m
1333# CONFIG_USB_SERIAL_HP4X is not set
1334CONFIG_USB_SERIAL_SAFE=m
1335# CONFIG_USB_SERIAL_SAFE_PADDED is not set
1336# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
1337CONFIG_USB_SERIAL_TI=m
1338CONFIG_USB_SERIAL_CYBERJACK=m
1339CONFIG_USB_SERIAL_XIRCOM=m
1340# CONFIG_USB_SERIAL_OPTION is not set
1341CONFIG_USB_SERIAL_OMNINET=m
1342# CONFIG_USB_SERIAL_DEBUG is not set
1343CONFIG_USB_EZUSB=y
1344
1345#
1346# USB Miscellaneous drivers
1347#
1348CONFIG_USB_EMI62=m
1349CONFIG_USB_EMI26=m
1350# CONFIG_USB_ADUTUX is not set
1351CONFIG_USB_AUERSWALD=m
1352CONFIG_USB_RIO500=m
1353CONFIG_USB_LEGOTOWER=m
1354CONFIG_USB_LCD=m
1355CONFIG_USB_LED=m
1356# CONFIG_USB_CYPRESS_CY7C63 is not set
1357CONFIG_USB_CYTHERM=m
1358# CONFIG_USB_PHIDGET is not set
1359CONFIG_USB_IDMOUSE=m
1360# CONFIG_USB_FTDI_ELAN is not set
1361# CONFIG_USB_APPLEDISPLAY is not set
1362# CONFIG_USB_LD is not set
1363# CONFIG_USB_TRANCEVIBRATOR is not set
1364# CONFIG_USB_TEST is not set
1365
1366#
1367# USB DSL modem support
1368#
1369
1370#
1371# USB Gadget Support
1372#
1373CONFIG_USB_GADGET=m
1374# CONFIG_USB_GADGET_DEBUG_FILES is not set
1375CONFIG_USB_GADGET_SELECTED=y
1376# CONFIG_USB_GADGET_NET2280 is not set
1377# CONFIG_USB_GADGET_PXA2XX is not set
1378CONFIG_USB_GADGET_PXA27X=y
1379CONFIG_USB_PXA27X=m
1380# CONFIG_USB_GADGET_GOKU is not set
1381# CONFIG_USB_GADGET_LH7A40X is not set
1382# CONFIG_USB_GADGET_OMAP is not set
1383# CONFIG_USB_GADGET_AT91 is not set
1384# CONFIG_USB_GADGET_DUMMY_HCD is not set
1385# CONFIG_USB_GADGET_DUALSPEED is not set
1386CONFIG_USB_ZERO=m
1387CONFIG_USB_ETH=m
1388CONFIG_USB_ETH_RNDIS=y
1389CONFIG_USB_GADGETFS=m
1390CONFIG_USB_FILE_STORAGE=m
1391# CONFIG_USB_FILE_STORAGE_TEST is not set
1392CONFIG_USB_G_SERIAL=m
1393# CONFIG_USB_MIDI_GADGET is not set
1394
1395#
1396# MMC/SD Card support
1397#
1398CONFIG_MMC=y
1399# CONFIG_MMC_DEBUG is not set
1400CONFIG_MMC_BLOCK=y
1401CONFIG_MMC_PXA=y
1402# CONFIG_MMC_TIFM_SD is not set
1403
1404#
1405# Real Time Clock
1406#
1407CONFIG_RTC_LIB=y
1408CONFIG_RTC_CLASS=y
1409CONFIG_RTC_HCTOSYS=y
1410CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1411# CONFIG_RTC_DEBUG is not set
1412
1413#
1414# RTC interfaces
1415#
1416CONFIG_RTC_INTF_SYSFS=y
1417CONFIG_RTC_INTF_PROC=y
1418CONFIG_RTC_INTF_DEV=y
1419# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1420
1421#
1422# RTC drivers
1423#
1424# CONFIG_RTC_DRV_X1205 is not set
1425# CONFIG_RTC_DRV_DS1307 is not set
1426# CONFIG_RTC_DRV_DS1553 is not set
1427# CONFIG_RTC_DRV_ISL1208 is not set
1428# CONFIG_RTC_DRV_DS1672 is not set
1429# CONFIG_RTC_DRV_DS1742 is not set
1430# CONFIG_RTC_DRV_PCF8563 is not set
1431# CONFIG_RTC_DRV_PCF8583 is not set
1432# CONFIG_RTC_DRV_RS5C372 is not set
1433# CONFIG_RTC_DRV_M48T86 is not set
1434CONFIG_RTC_DRV_SA1100=y
1435# CONFIG_RTC_DRV_TEST is not set
1436# CONFIG_RTC_DRV_V3020 is not set
1437
1438#
1439# File systems
1440#
1441CONFIG_EXT2_FS=y
1442# CONFIG_EXT2_FS_XATTR is not set
1443# CONFIG_EXT2_FS_XIP is not set
1444CONFIG_EXT3_FS=m
1445# CONFIG_EXT3_FS_XATTR is not set
1446# CONFIG_EXT4DEV_FS is not set
1447CONFIG_JBD=m
1448# CONFIG_JBD_DEBUG is not set
1449# CONFIG_REISERFS_FS is not set
1450# CONFIG_JFS_FS is not set
1451CONFIG_FS_POSIX_ACL=y
1452# CONFIG_XFS_FS is not set
1453# CONFIG_GFS2_FS is not set
1454# CONFIG_OCFS2_FS is not set
1455# CONFIG_MINIX_FS is not set
1456# CONFIG_ROMFS_FS is not set
1457CONFIG_INOTIFY=y
1458CONFIG_INOTIFY_USER=y
1459# CONFIG_QUOTA is not set
1460CONFIG_DNOTIFY=y
1461# CONFIG_AUTOFS_FS is not set
1462# CONFIG_AUTOFS4_FS is not set
1463# CONFIG_FUSE_FS is not set
1464
1465#
1466# CD-ROM/DVD Filesystems
1467#
1468# CONFIG_ISO9660_FS is not set
1469# CONFIG_UDF_FS is not set
1470
1471#
1472# DOS/FAT/NT Filesystems
1473#
1474CONFIG_FAT_FS=y
1475# CONFIG_MSDOS_FS is not set
1476CONFIG_VFAT_FS=y
1477CONFIG_FAT_DEFAULT_CODEPAGE=437
1478CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1479# CONFIG_NTFS_FS is not set
1480
1481#
1482# Pseudo filesystems
1483#
1484CONFIG_PROC_FS=y
1485CONFIG_PROC_SYSCTL=y
1486CONFIG_SYSFS=y
1487CONFIG_TMPFS=y
1488# CONFIG_TMPFS_POSIX_ACL is not set
1489# CONFIG_HUGETLB_PAGE is not set
1490CONFIG_RAMFS=y
1491# CONFIG_CONFIGFS_FS is not set
1492
1493#
1494# Miscellaneous filesystems
1495#
1496# CONFIG_ADFS_FS is not set
1497# CONFIG_AFFS_FS is not set
1498# CONFIG_HFS_FS is not set
1499# CONFIG_HFSPLUS_FS is not set
1500# CONFIG_BEFS_FS is not set
1501# CONFIG_BFS_FS is not set
1502# CONFIG_EFS_FS is not set
1503CONFIG_JFFS2_FS=y
1504CONFIG_JFFS2_FS_DEBUG=0
1505CONFIG_JFFS2_FS_WRITEBUFFER=y
1506CONFIG_JFFS2_SUMMARY=y
1507# CONFIG_JFFS2_FS_XATTR is not set
1508CONFIG_JFFS2_COMPRESSION_OPTIONS=y
1509CONFIG_JFFS2_ZLIB=y
1510CONFIG_JFFS2_LZO=y
1511CONFIG_JFFS2_RTIME=y
1512CONFIG_JFFS2_RUBIN=y
1513# CONFIG_JFFS2_CMODE_NONE is not set
1514CONFIG_JFFS2_CMODE_PRIORITY=y
1515# CONFIG_JFFS2_CMODE_SIZE is not set
1516# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
1517CONFIG_CRAMFS=m
1518CONFIG_SQUASHFS=m
1519# CONFIG_SQUASHFS_EMBEDDED is not set
1520CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
1521# CONFIG_SQUASHFS_VMALLOC is not set
1522# CONFIG_VXFS_FS is not set
1523# CONFIG_HPFS_FS is not set
1524# CONFIG_QNX4FS_FS is not set
1525# CONFIG_SYSV_FS is not set
1526# CONFIG_UFS_FS is not set
1527
1528#
1529# Network File Systems
1530#
1531CONFIG_NFS_FS=m
1532CONFIG_NFS_V3=y
1533# CONFIG_NFS_V3_ACL is not set
1534CONFIG_NFS_V4=y
1535# CONFIG_NFS_DIRECTIO is not set
1536CONFIG_NFSD=m
1537CONFIG_NFSD_V3=y
1538# CONFIG_NFSD_V3_ACL is not set
1539CONFIG_NFSD_V4=y
1540CONFIG_NFSD_TCP=y
1541CONFIG_LOCKD=m
1542CONFIG_LOCKD_V4=y
1543CONFIG_EXPORTFS=m
1544CONFIG_NFS_COMMON=y
1545CONFIG_SUNRPC=m
1546CONFIG_SUNRPC_GSS=m
1547CONFIG_RPCSEC_GSS_KRB5=m
1548# CONFIG_RPCSEC_GSS_SPKM3 is not set
1549CONFIG_SMB_FS=m
1550CONFIG_SMB_NLS_DEFAULT=y
1551CONFIG_SMB_NLS_REMOTE="cp437"
1552CONFIG_CIFS=m
1553# CONFIG_CIFS_STATS is not set
1554# CONFIG_CIFS_WEAK_PW_HASH is not set
1555# CONFIG_CIFS_XATTR is not set
1556# CONFIG_CIFS_DEBUG2 is not set
1557# CONFIG_CIFS_EXPERIMENTAL is not set
1558# CONFIG_NCP_FS is not set
1559# CONFIG_CODA_FS is not set
1560# CONFIG_AFS_FS is not set
1561# CONFIG_9P_FS is not set
1562
1563#
1564# Partition Types
1565#
1566CONFIG_PARTITION_ADVANCED=y
1567# CONFIG_ACORN_PARTITION is not set
1568# CONFIG_OSF_PARTITION is not set
1569# CONFIG_AMIGA_PARTITION is not set
1570# CONFIG_ATARI_PARTITION is not set
1571# CONFIG_MAC_PARTITION is not set
1572CONFIG_MSDOS_PARTITION=y
1573# CONFIG_BSD_DISKLABEL is not set
1574# CONFIG_MINIX_SUBPARTITION is not set
1575# CONFIG_SOLARIS_X86_PARTITION is not set
1576# CONFIG_UNIXWARE_DISKLABEL is not set
1577# CONFIG_LDM_PARTITION is not set
1578# CONFIG_SGI_PARTITION is not set
1579# CONFIG_ULTRIX_PARTITION is not set
1580# CONFIG_SUN_PARTITION is not set
1581# CONFIG_KARMA_PARTITION is not set
1582# CONFIG_EFI_PARTITION is not set
1583
1584#
1585# Native Language Support
1586#
1587CONFIG_NLS=y
1588CONFIG_NLS_DEFAULT="cp437"
1589CONFIG_NLS_CODEPAGE_437=y
1590CONFIG_NLS_CODEPAGE_737=m
1591CONFIG_NLS_CODEPAGE_775=m
1592CONFIG_NLS_CODEPAGE_850=m
1593CONFIG_NLS_CODEPAGE_852=m
1594CONFIG_NLS_CODEPAGE_855=m
1595CONFIG_NLS_CODEPAGE_857=m
1596CONFIG_NLS_CODEPAGE_860=m
1597CONFIG_NLS_CODEPAGE_861=m
1598CONFIG_NLS_CODEPAGE_862=m
1599CONFIG_NLS_CODEPAGE_863=m
1600CONFIG_NLS_CODEPAGE_864=m
1601CONFIG_NLS_CODEPAGE_865=m
1602CONFIG_NLS_CODEPAGE_866=m
1603CONFIG_NLS_CODEPAGE_869=m
1604CONFIG_NLS_CODEPAGE_936=m
1605CONFIG_NLS_CODEPAGE_950=m
1606CONFIG_NLS_CODEPAGE_932=m
1607CONFIG_NLS_CODEPAGE_949=m
1608CONFIG_NLS_CODEPAGE_874=m
1609CONFIG_NLS_ISO8859_8=m
1610CONFIG_NLS_CODEPAGE_1250=m
1611CONFIG_NLS_CODEPAGE_1251=m
1612CONFIG_NLS_ASCII=m
1613CONFIG_NLS_ISO8859_1=y
1614CONFIG_NLS_ISO8859_2=m
1615CONFIG_NLS_ISO8859_3=m
1616CONFIG_NLS_ISO8859_4=m
1617CONFIG_NLS_ISO8859_5=m
1618CONFIG_NLS_ISO8859_6=m
1619CONFIG_NLS_ISO8859_7=m
1620CONFIG_NLS_ISO8859_9=m
1621CONFIG_NLS_ISO8859_13=m
1622CONFIG_NLS_ISO8859_14=m
1623CONFIG_NLS_ISO8859_15=m
1624CONFIG_NLS_KOI8_R=m
1625CONFIG_NLS_KOI8_U=m
1626CONFIG_NLS_UTF8=y
1627
1628#
1629# Distributed Lock Manager
1630#
1631# CONFIG_DLM is not set
1632
1633#
1634# Profiling support
1635#
1636CONFIG_PROFILING=y
1637CONFIG_OPROFILE=m
1638
1639#
1640# Kernel hacking
1641#
1642# CONFIG_PRINTK_TIME is not set
1643CONFIG_ENABLE_MUST_CHECK=y
1644CONFIG_MAGIC_SYSRQ=y
1645# CONFIG_UNUSED_SYMBOLS is not set
1646# CONFIG_DEBUG_FS is not set
1647# CONFIG_HEADERS_CHECK is not set
1648CONFIG_DEBUG_KERNEL=y
1649CONFIG_LOG_BUF_SHIFT=14
1650# CONFIG_DETECT_SOFTLOCKUP is not set
1651# CONFIG_SCHEDSTATS is not set
1652# CONFIG_DEBUG_SLAB is not set
1653# CONFIG_DEBUG_PREEMPT is not set
1654# CONFIG_DEBUG_RT_MUTEXES is not set
1655# CONFIG_RT_MUTEX_TESTER is not set
1656# CONFIG_DEBUG_SPINLOCK is not set
1657# CONFIG_DEBUG_MUTEXES is not set
1658# CONFIG_DEBUG_RWSEMS is not set
1659# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1660# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1661# CONFIG_DEBUG_KOBJECT is not set
1662CONFIG_DEBUG_BUGVERBOSE=y
1663# CONFIG_DEBUG_INFO is not set
1664# CONFIG_DEBUG_VM is not set
1665# CONFIG_DEBUG_LIST is not set
1666CONFIG_FRAME_POINTER=y
1667# CONFIG_FORCED_INLINING is not set
1668# CONFIG_RCU_TORTURE_TEST is not set
1669# CONFIG_DEBUG_USER is not set
1670CONFIG_DEBUG_ERRORS=y
1671# CONFIG_DEBUG_LL is not set
1672
1673#
1674# Security options
1675#
1676# CONFIG_KEYS is not set
1677# CONFIG_SECURITY is not set
1678
1679#
1680# Cryptographic options
1681#
1682CONFIG_CRYPTO=y
1683CONFIG_CRYPTO_ALGAPI=y
1684CONFIG_CRYPTO_BLKCIPHER=m
1685CONFIG_CRYPTO_HASH=y
1686CONFIG_CRYPTO_MANAGER=y
1687CONFIG_CRYPTO_HMAC=y
1688# CONFIG_CRYPTO_XCBC is not set
1689CONFIG_CRYPTO_NULL=m
1690CONFIG_CRYPTO_MD4=m
1691CONFIG_CRYPTO_MD5=m
1692CONFIG_CRYPTO_SHA1=m
1693CONFIG_CRYPTO_SHA256=m
1694CONFIG_CRYPTO_SHA512=m
1695CONFIG_CRYPTO_WP512=m
1696# CONFIG_CRYPTO_TGR192 is not set
1697# CONFIG_CRYPTO_GF128MUL is not set
1698CONFIG_CRYPTO_ECB=m
1699CONFIG_CRYPTO_CBC=m
1700# CONFIG_CRYPTO_LRW is not set
1701CONFIG_CRYPTO_DES=m
1702CONFIG_CRYPTO_BLOWFISH=m
1703CONFIG_CRYPTO_TWOFISH=m
1704CONFIG_CRYPTO_TWOFISH_COMMON=m
1705CONFIG_CRYPTO_SERPENT=m
1706CONFIG_CRYPTO_AES=m
1707CONFIG_CRYPTO_CAST5=m
1708CONFIG_CRYPTO_CAST6=m
1709CONFIG_CRYPTO_TEA=m
1710CONFIG_CRYPTO_ARC4=m
1711CONFIG_CRYPTO_KHAZAD=m
1712CONFIG_CRYPTO_ANUBIS=m
1713CONFIG_CRYPTO_DEFLATE=m
1714# CONFIG_CRYPTO_LZO is not set
1715CONFIG_CRYPTO_MICHAEL_MIC=m
1716CONFIG_CRYPTO_CRC32C=m
1717CONFIG_CRYPTO_TEST=m
1718
1719#
1720# Hardware crypto devices
1721#
1722
1723#
1724# Library routines
1725#
1726CONFIG_BITREVERSE=y
1727CONFIG_CRC_CCITT=y
1728# CONFIG_CRC16 is not set
1729CONFIG_CRC32=y
1730CONFIG_LIBCRC32C=m
1731CONFIG_LZO=y
1732CONFIG_ZLIB_INFLATE=y
1733CONFIG_ZLIB_DEFLATE=y
1734CONFIG_PLIST=y
1735CONFIG_IOMAP_COPY=y
diff --git a/meta/packages/linux/linux-rp-2.6.21/defconfig-c7x0 b/meta/packages/linux/linux-rp-2.6.21/defconfig-c7x0
new file mode 100644
index 0000000000..a2ec14dedf
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21/defconfig-c7x0
@@ -0,0 +1,1785 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20
4# Thu Mar 29 13:32:11 2007
5#
6CONFIG_ARM=y
7# CONFIG_GENERIC_TIME is not set
8CONFIG_MMU=y
9CONFIG_GENERIC_HARDIRQS=y
10CONFIG_TRACE_IRQFLAGS_SUPPORT=y
11CONFIG_HARDIRQS_SW_RESEND=y
12CONFIG_GENERIC_IRQ_PROBE=y
13CONFIG_RWSEM_GENERIC_SPINLOCK=y
14# CONFIG_ARCH_HAS_ILOG2_U32 is not set
15# CONFIG_ARCH_HAS_ILOG2_U64 is not set
16CONFIG_GENERIC_HWEIGHT=y
17CONFIG_GENERIC_CALIBRATE_DELAY=y
18CONFIG_ARCH_MTD_XIP=y
19CONFIG_VECTORS_BASE=0xffff0000
20CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
21
22#
23# Code maturity level options
24#
25CONFIG_EXPERIMENTAL=y
26CONFIG_BROKEN_ON_SMP=y
27CONFIG_LOCK_KERNEL=y
28CONFIG_INIT_ENV_ARG_LIMIT=32
29
30#
31# General setup
32#
33CONFIG_LOCALVERSION=""
34CONFIG_LOCALVERSION_AUTO=y
35CONFIG_SWAP=y
36CONFIG_SYSVIPC=y
37# CONFIG_IPC_NS is not set
38# CONFIG_POSIX_MQUEUE is not set
39CONFIG_BSD_PROCESS_ACCT=y
40# CONFIG_BSD_PROCESS_ACCT_V3 is not set
41# CONFIG_TASKSTATS is not set
42# CONFIG_UTS_NS is not set
43# CONFIG_AUDIT is not set
44# CONFIG_IKCONFIG is not set
45CONFIG_SYSFS_DEPRECATED=y
46# CONFIG_RELAY is not set
47CONFIG_INITRAMFS_SOURCE=""
48CONFIG_CC_OPTIMIZE_FOR_SIZE=y
49CONFIG_SYSCTL=y
50CONFIG_EMBEDDED=y
51CONFIG_UID16=y
52CONFIG_SYSCTL_SYSCALL=y
53CONFIG_KALLSYMS=y
54# CONFIG_KALLSYMS_ALL is not set
55# CONFIG_KALLSYMS_EXTRA_PASS is not set
56CONFIG_HOTPLUG=y
57CONFIG_PRINTK=y
58CONFIG_BUG=y
59CONFIG_ELF_CORE=y
60CONFIG_BASE_FULL=y
61CONFIG_FUTEX=y
62CONFIG_EPOLL=y
63CONFIG_SHMEM=y
64CONFIG_SLAB=y
65CONFIG_VM_EVENT_COUNTERS=y
66CONFIG_RT_MUTEXES=y
67# CONFIG_TINY_SHMEM is not set
68CONFIG_BASE_SMALL=0
69# CONFIG_SLOB is not set
70
71#
72# Loadable module support
73#
74CONFIG_MODULES=y
75CONFIG_MODULE_UNLOAD=y
76CONFIG_MODULE_FORCE_UNLOAD=y
77# CONFIG_MODVERSIONS is not set
78# CONFIG_MODULE_SRCVERSION_ALL is not set
79CONFIG_KMOD=y
80
81#
82# Block layer
83#
84CONFIG_BLOCK=y
85# CONFIG_LBD is not set
86# CONFIG_BLK_DEV_IO_TRACE is not set
87# CONFIG_LSF is not set
88
89#
90# IO Schedulers
91#
92CONFIG_IOSCHED_NOOP=y
93CONFIG_IOSCHED_AS=y
94CONFIG_IOSCHED_DEADLINE=m
95CONFIG_IOSCHED_CFQ=m
96CONFIG_DEFAULT_AS=y
97# CONFIG_DEFAULT_DEADLINE is not set
98# CONFIG_DEFAULT_CFQ is not set
99# CONFIG_DEFAULT_NOOP is not set
100CONFIG_DEFAULT_IOSCHED="anticipatory"
101
102#
103# System Type
104#
105# CONFIG_ARCH_AAEC2000 is not set
106# CONFIG_ARCH_INTEGRATOR is not set
107# CONFIG_ARCH_REALVIEW is not set
108# CONFIG_ARCH_VERSATILE is not set
109# CONFIG_ARCH_AT91 is not set
110# CONFIG_ARCH_CLPS7500 is not set
111# CONFIG_ARCH_CLPS711X is not set
112# CONFIG_ARCH_CO285 is not set
113# CONFIG_ARCH_EBSA110 is not set
114# CONFIG_ARCH_EP93XX is not set
115# CONFIG_ARCH_FOOTBRIDGE is not set
116# CONFIG_ARCH_NETX is not set
117# CONFIG_ARCH_H720X is not set
118# CONFIG_ARCH_IMX is not set
119# CONFIG_ARCH_IOP32X is not set
120# CONFIG_ARCH_IOP33X is not set
121# CONFIG_ARCH_IOP13XX is not set
122# CONFIG_ARCH_IXP4XX is not set
123# CONFIG_ARCH_IXP2000 is not set
124# CONFIG_ARCH_IXP23XX is not set
125# CONFIG_ARCH_L7200 is not set
126# CONFIG_ARCH_PNX4008 is not set
127CONFIG_ARCH_PXA=y
128# CONFIG_ARCH_RPC is not set
129# CONFIG_ARCH_SA1100 is not set
130# CONFIG_ARCH_S3C2410 is not set
131# CONFIG_ARCH_SHARK is not set
132# CONFIG_ARCH_LH7A40X is not set
133# CONFIG_ARCH_OMAP is not set
134
135#
136# Intel PXA2xx Implementations
137#
138# CONFIG_ARCH_LUBBOCK is not set
139# CONFIG_MACH_LOGICPD_PXA270 is not set
140# CONFIG_MACH_MAINSTONE is not set
141# CONFIG_ARCH_PXA_IDP is not set
142CONFIG_PXA_SHARPSL=y
143# CONFIG_MACH_TRIZEPS4 is not set
144# CONFIG_MACH_HX2750 is not set
145CONFIG_PXA_SHARPSL_25x=y
146# CONFIG_PXA_SHARPSL_27x is not set
147# CONFIG_MACH_POODLE is not set
148CONFIG_MACH_CORGI=y
149CONFIG_MACH_SHEPHERD=y
150CONFIG_MACH_HUSKY=y
151# CONFIG_MACH_TOSA is not set
152CONFIG_PXA25x=y
153CONFIG_PXA_SHARP_C7xx=y
154CONFIG_PXA_SSP=y
155# CONFIG_PXA_KEYS is not set
156
157#
158# Processor Type
159#
160CONFIG_CPU_32=y
161CONFIG_CPU_XSCALE=y
162CONFIG_CPU_32v5=y
163CONFIG_CPU_ABRT_EV5T=y
164CONFIG_CPU_CACHE_VIVT=y
165CONFIG_CPU_TLB_V4WBI=y
166CONFIG_CPU_CP15=y
167CONFIG_CPU_CP15_MMU=y
168
169#
170# Processor Features
171#
172CONFIG_ARM_THUMB=y
173# CONFIG_CPU_DCACHE_DISABLE is not set
174# CONFIG_IWMMXT is not set
175CONFIG_XSCALE_PMU=y
176CONFIG_SHARP_PARAM=y
177CONFIG_SHARPSL_PM=y
178CONFIG_SHARP_SCOOP=y
179
180#
181# Bus support
182#
183
184#
185# PCCARD (PCMCIA/CardBus) support
186#
187CONFIG_PCCARD=y
188# CONFIG_PCMCIA_DEBUG is not set
189CONFIG_PCMCIA=y
190CONFIG_PCMCIA_LOAD_CIS=y
191CONFIG_PCMCIA_IOCTL=y
192
193#
194# PC-card bridges
195#
196CONFIG_PCMCIA_PXA2XX=y
197
198#
199# Kernel Features
200#
201CONFIG_PREEMPT=y
202CONFIG_NO_IDLE_HZ=y
203CONFIG_HZ=100
204CONFIG_AEABI=y
205CONFIG_OABI_COMPAT=y
206# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
207CONFIG_SELECT_MEMORY_MODEL=y
208CONFIG_FLATMEM_MANUAL=y
209# CONFIG_DISCONTIGMEM_MANUAL is not set
210# CONFIG_SPARSEMEM_MANUAL is not set
211CONFIG_FLATMEM=y
212CONFIG_FLAT_NODE_MEM_MAP=y
213# CONFIG_SPARSEMEM_STATIC is not set
214CONFIG_SPLIT_PTLOCK_CPUS=4096
215# CONFIG_RESOURCES_64BIT is not set
216CONFIG_ALIGNMENT_TRAP=y
217
218#
219# Boot options
220#
221CONFIG_ZBOOT_ROM_TEXT=0x0
222CONFIG_ZBOOT_ROM_BSS=0x0
223CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2 dyntick=enable quiet"
224# CONFIG_XIP_KERNEL is not set
225CONFIG_CPU_FREQ_PXA25x=y
226CONFIG_KEXEC=y
227
228#
229# CPU Frequency scaling
230#
231CONFIG_CPU_FREQ=y
232CONFIG_CPU_FREQ_TABLE=y
233CONFIG_CPU_FREQ_DEBUG=y
234CONFIG_CPU_FREQ_STAT=y
235# CONFIG_CPU_FREQ_STAT_DETAILS is not set
236CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
237# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
238CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
239CONFIG_CPU_FREQ_GOV_POWERSAVE=y
240CONFIG_CPU_FREQ_GOV_USERSPACE=y
241CONFIG_CPU_FREQ_GOV_ONDEMAND=y
242CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
243
244#
245# Floating point emulation
246#
247
248#
249# At least one emulation must be selected
250#
251CONFIG_FPE_NWFPE=y
252# CONFIG_FPE_NWFPE_XP is not set
253# CONFIG_FPE_FASTFPE is not set
254
255#
256# Userspace binary formats
257#
258CONFIG_BINFMT_ELF=y
259CONFIG_BINFMT_AOUT=m
260CONFIG_BINFMT_MISC=m
261
262#
263# Power management options
264#
265CONFIG_PM=y
266# CONFIG_PM_LEGACY is not set
267# CONFIG_PM_DEBUG is not set
268# CONFIG_PM_SYSFS_DEPRECATED is not set
269CONFIG_APM=y
270
271#
272# Networking
273#
274CONFIG_NET=y
275
276#
277# Networking options
278#
279# CONFIG_NETDEBUG is not set
280CONFIG_PACKET=y
281CONFIG_PACKET_MMAP=y
282CONFIG_UNIX=y
283CONFIG_XFRM=y
284CONFIG_XFRM_USER=m
285# CONFIG_XFRM_SUB_POLICY is not set
286# CONFIG_NET_KEY is not set
287CONFIG_INET=y
288# CONFIG_IP_MULTICAST is not set
289# CONFIG_IP_ADVANCED_ROUTER is not set
290CONFIG_IP_FIB_HASH=y
291# CONFIG_IP_PNP is not set
292# CONFIG_NET_IPIP is not set
293# CONFIG_NET_IPGRE is not set
294# CONFIG_ARPD is not set
295CONFIG_SYN_COOKIES=y
296# CONFIG_INET_AH is not set
297# CONFIG_INET_ESP is not set
298# CONFIG_INET_IPCOMP is not set
299# CONFIG_INET_XFRM_TUNNEL is not set
300# CONFIG_INET_TUNNEL is not set
301CONFIG_INET_XFRM_MODE_TRANSPORT=y
302CONFIG_INET_XFRM_MODE_TUNNEL=y
303CONFIG_INET_XFRM_MODE_BEET=y
304CONFIG_INET_DIAG=m
305CONFIG_INET_TCP_DIAG=m
306# CONFIG_TCP_CONG_ADVANCED is not set
307CONFIG_TCP_CONG_CUBIC=y
308CONFIG_DEFAULT_TCP_CONG="cubic"
309# CONFIG_TCP_MD5SIG is not set
310
311#
312# IP: Virtual Server Configuration
313#
314# CONFIG_IP_VS is not set
315CONFIG_IPV6=m
316# CONFIG_IPV6_PRIVACY is not set
317# CONFIG_IPV6_ROUTER_PREF is not set
318CONFIG_INET6_AH=m
319CONFIG_INET6_ESP=m
320CONFIG_INET6_IPCOMP=m
321# CONFIG_IPV6_MIP6 is not set
322CONFIG_INET6_XFRM_TUNNEL=m
323CONFIG_INET6_TUNNEL=m
324CONFIG_INET6_XFRM_MODE_TRANSPORT=m
325CONFIG_INET6_XFRM_MODE_TUNNEL=m
326CONFIG_INET6_XFRM_MODE_BEET=m
327# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
328CONFIG_IPV6_SIT=m
329CONFIG_IPV6_TUNNEL=m
330# CONFIG_IPV6_MULTIPLE_TABLES is not set
331# CONFIG_NETWORK_SECMARK is not set
332CONFIG_NETFILTER=y
333# CONFIG_NETFILTER_DEBUG is not set
334
335#
336# Core Netfilter Configuration
337#
338# CONFIG_NETFILTER_NETLINK is not set
339# CONFIG_NF_CONNTRACK_ENABLED is not set
340# CONFIG_NETFILTER_XTABLES is not set
341
342#
343# IP: Netfilter Configuration
344#
345CONFIG_IP_NF_QUEUE=m
346
347#
348# IPv6: Netfilter Configuration (EXPERIMENTAL)
349#
350# CONFIG_IP6_NF_QUEUE is not set
351
352#
353# DCCP Configuration (EXPERIMENTAL)
354#
355# CONFIG_IP_DCCP is not set
356
357#
358# SCTP Configuration (EXPERIMENTAL)
359#
360# CONFIG_IP_SCTP is not set
361
362#
363# TIPC Configuration (EXPERIMENTAL)
364#
365# CONFIG_TIPC is not set
366# CONFIG_ATM is not set
367# CONFIG_BRIDGE is not set
368# CONFIG_VLAN_8021Q is not set
369# CONFIG_DECNET is not set
370# CONFIG_LLC2 is not set
371# CONFIG_IPX is not set
372# CONFIG_ATALK is not set
373# CONFIG_X25 is not set
374# CONFIG_LAPB is not set
375# CONFIG_ECONET is not set
376# CONFIG_WAN_ROUTER is not set
377
378#
379# QoS and/or fair queueing
380#
381# CONFIG_NET_SCHED is not set
382
383#
384# Network testing
385#
386# CONFIG_NET_PKTGEN is not set
387# CONFIG_HAMRADIO is not set
388CONFIG_IRDA=m
389
390#
391# IrDA protocols
392#
393CONFIG_IRLAN=m
394CONFIG_IRNET=m
395CONFIG_IRCOMM=m
396# CONFIG_IRDA_ULTRA is not set
397
398#
399# IrDA options
400#
401# CONFIG_IRDA_CACHE_LAST_LSAP is not set
402# CONFIG_IRDA_FAST_RR is not set
403# CONFIG_IRDA_DEBUG is not set
404
405#
406# Infrared-port device drivers
407#
408
409#
410# SIR device drivers
411#
412# CONFIG_IRTTY_SIR is not set
413
414#
415# Dongle support
416#
417
418#
419# Old SIR device drivers
420#
421# CONFIG_IRPORT_SIR is not set
422
423#
424# Old Serial dongle support
425#
426
427#
428# FIR device drivers
429#
430# CONFIG_USB_IRDA is not set
431# CONFIG_SIGMATEL_FIR is not set
432CONFIG_PXA_FICP=m
433# CONFIG_MCS_FIR is not set
434CONFIG_BT=m
435CONFIG_BT_L2CAP=m
436CONFIG_BT_SCO=m
437CONFIG_BT_RFCOMM=m
438CONFIG_BT_RFCOMM_TTY=y
439CONFIG_BT_BNEP=m
440CONFIG_BT_BNEP_MC_FILTER=y
441CONFIG_BT_BNEP_PROTO_FILTER=y
442CONFIG_BT_HIDP=m
443
444#
445# Bluetooth device drivers
446#
447CONFIG_BT_HCIUSB=m
448# CONFIG_BT_HCIUSB_SCO is not set
449CONFIG_BT_HCIUART=m
450CONFIG_BT_HCIUART_H4=y
451CONFIG_BT_HCIUART_BCSP=y
452CONFIG_BT_HCIBCM203X=m
453CONFIG_BT_HCIBPA10X=m
454CONFIG_BT_HCIBFUSB=m
455CONFIG_BT_HCIDTL1=m
456CONFIG_BT_HCIBT3C=m
457CONFIG_BT_HCIBLUECARD=m
458CONFIG_BT_HCIBTUART=m
459CONFIG_BT_HCIVHCI=m
460CONFIG_IEEE80211=m
461# CONFIG_IEEE80211_DEBUG is not set
462CONFIG_IEEE80211_CRYPT_WEP=m
463CONFIG_IEEE80211_CRYPT_CCMP=m
464CONFIG_IEEE80211_CRYPT_TKIP=m
465# CONFIG_IEEE80211_SOFTMAC is not set
466CONFIG_WIRELESS_EXT=y
467
468#
469# Device Drivers
470#
471
472#
473# Generic Driver Options
474#
475CONFIG_STANDALONE=y
476CONFIG_PREVENT_FIRMWARE_BUILD=y
477CONFIG_FW_LOADER=y
478# CONFIG_DEBUG_DRIVER is not set
479# CONFIG_SYS_HYPERVISOR is not set
480
481#
482# Connector - unified userspace <-> kernelspace linker
483#
484# CONFIG_CONNECTOR is not set
485
486#
487# Memory Technology Devices (MTD)
488#
489CONFIG_MTD=y
490# CONFIG_MTD_DEBUG is not set
491# CONFIG_MTD_CONCAT is not set
492CONFIG_MTD_PARTITIONS=y
493# CONFIG_MTD_REDBOOT_PARTS is not set
494CONFIG_MTD_CMDLINE_PARTS=y
495# CONFIG_MTD_AFS_PARTS is not set
496
497#
498# User Modules And Translation Layers
499#
500CONFIG_MTD_CHAR=y
501CONFIG_MTD_BLKDEVS=y
502CONFIG_MTD_BLOCK=y
503# CONFIG_FTL is not set
504# CONFIG_NFTL is not set
505# CONFIG_INFTL is not set
506# CONFIG_RFD_FTL is not set
507# CONFIG_SSFDC is not set
508
509#
510# RAM/ROM/Flash chip drivers
511#
512# CONFIG_MTD_CFI is not set
513# CONFIG_MTD_JEDECPROBE is not set
514CONFIG_MTD_MAP_BANK_WIDTH_1=y
515CONFIG_MTD_MAP_BANK_WIDTH_2=y
516CONFIG_MTD_MAP_BANK_WIDTH_4=y
517# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
518# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
519# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
520CONFIG_MTD_CFI_I1=y
521CONFIG_MTD_CFI_I2=y
522# CONFIG_MTD_CFI_I4 is not set
523# CONFIG_MTD_CFI_I8 is not set
524# CONFIG_MTD_RAM is not set
525CONFIG_MTD_ROM=y
526# CONFIG_MTD_ABSENT is not set
527# CONFIG_MTD_OBSOLETE_CHIPS is not set
528
529#
530# Mapping drivers for chip access
531#
532CONFIG_MTD_COMPLEX_MAPPINGS=y
533# CONFIG_MTD_PHYSMAP is not set
534CONFIG_MTD_SHARP_SL=y
535# CONFIG_MTD_PLATRAM is not set
536
537#
538# Self-contained MTD device drivers
539#
540# CONFIG_MTD_SLRAM is not set
541# CONFIG_MTD_PHRAM is not set
542# CONFIG_MTD_MTDRAM is not set
543# CONFIG_MTD_BLOCK2MTD is not set
544
545#
546# Disk-On-Chip Device Drivers
547#
548# CONFIG_MTD_DOC2000 is not set
549# CONFIG_MTD_DOC2001 is not set
550# CONFIG_MTD_DOC2001PLUS is not set
551
552#
553# NAND Flash Device Drivers
554#
555CONFIG_MTD_NAND=y
556CONFIG_MTD_NAND_VERIFY_WRITE=y
557# CONFIG_MTD_NAND_ECC_SMC is not set
558# CONFIG_MTD_NAND_H1900 is not set
559CONFIG_MTD_NAND_IDS=y
560# CONFIG_MTD_NAND_DISKONCHIP is not set
561CONFIG_MTD_NAND_SHARPSL=y
562# CONFIG_MTD_NAND_NANDSIM is not set
563
564#
565# OneNAND Flash Device Drivers
566#
567# CONFIG_MTD_ONENAND is not set
568
569#
570# Parallel port support
571#
572# CONFIG_PARPORT is not set
573
574#
575# Plug and Play support
576#
577
578#
579# Block devices
580#
581# CONFIG_BLK_DEV_COW_COMMON is not set
582CONFIG_BLK_DEV_LOOP=y
583# CONFIG_BLK_DEV_CRYPTOLOOP is not set
584# CONFIG_BLK_DEV_NBD is not set
585# CONFIG_BLK_DEV_UB is not set
586# CONFIG_BLK_DEV_RAM is not set
587# CONFIG_BLK_DEV_INITRD is not set
588# CONFIG_CDROM_PKTCDVD is not set
589# CONFIG_ATA_OVER_ETH is not set
590
591#
592# ATA/ATAPI/MFM/RLL support
593#
594CONFIG_IDE=y
595CONFIG_IDE_MAX_HWIFS=4
596CONFIG_BLK_DEV_IDE=y
597
598#
599# Please see Documentation/ide.txt for help/info on IDE drives
600#
601# CONFIG_BLK_DEV_IDE_SATA is not set
602CONFIG_BLK_DEV_IDEDISK=y
603# CONFIG_IDEDISK_MULTI_MODE is not set
604CONFIG_BLK_DEV_IDECS=y
605# CONFIG_BLK_DEV_IDECD is not set
606# CONFIG_BLK_DEV_IDETAPE is not set
607# CONFIG_BLK_DEV_IDEFLOPPY is not set
608# CONFIG_BLK_DEV_IDESCSI is not set
609# CONFIG_IDE_TASK_IOCTL is not set
610
611#
612# IDE chipset support/bugfixes
613#
614CONFIG_IDE_GENERIC=y
615# CONFIG_IDE_ARM is not set
616# CONFIG_BLK_DEV_IDEDMA is not set
617# CONFIG_IDEDMA_AUTO is not set
618# CONFIG_BLK_DEV_HD is not set
619
620#
621# SCSI device support
622#
623# CONFIG_RAID_ATTRS is not set
624CONFIG_SCSI=m
625# CONFIG_SCSI_TGT is not set
626# CONFIG_SCSI_NETLINK is not set
627CONFIG_SCSI_PROC_FS=y
628
629#
630# SCSI support type (disk, tape, CD-ROM)
631#
632CONFIG_BLK_DEV_SD=m
633CONFIG_CHR_DEV_ST=m
634CONFIG_CHR_DEV_OSST=m
635CONFIG_BLK_DEV_SR=m
636# CONFIG_BLK_DEV_SR_VENDOR is not set
637CONFIG_CHR_DEV_SG=m
638# CONFIG_CHR_DEV_SCH is not set
639
640#
641# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
642#
643CONFIG_SCSI_MULTI_LUN=y
644# CONFIG_SCSI_CONSTANTS is not set
645# CONFIG_SCSI_LOGGING is not set
646# CONFIG_SCSI_SCAN_ASYNC is not set
647
648#
649# SCSI Transports
650#
651# CONFIG_SCSI_SPI_ATTRS is not set
652# CONFIG_SCSI_FC_ATTRS is not set
653# CONFIG_SCSI_ISCSI_ATTRS is not set
654# CONFIG_SCSI_SAS_ATTRS is not set
655# CONFIG_SCSI_SAS_LIBSAS is not set
656
657#
658# SCSI low-level drivers
659#
660# CONFIG_ISCSI_TCP is not set
661# CONFIG_SCSI_DEBUG is not set
662
663#
664# PCMCIA SCSI adapter support
665#
666# CONFIG_PCMCIA_AHA152X is not set
667# CONFIG_PCMCIA_FDOMAIN is not set
668# CONFIG_PCMCIA_NINJA_SCSI is not set
669# CONFIG_PCMCIA_QLOGIC is not set
670# CONFIG_PCMCIA_SYM53C500 is not set
671
672#
673# Serial ATA (prod) and Parallel ATA (experimental) drivers
674#
675# CONFIG_ATA is not set
676
677#
678# Multi-device support (RAID and LVM)
679#
680CONFIG_MD=y
681# CONFIG_BLK_DEV_MD is not set
682CONFIG_BLK_DEV_DM=m
683# CONFIG_DM_DEBUG is not set
684CONFIG_DM_CRYPT=m
685CONFIG_DM_SNAPSHOT=m
686CONFIG_DM_MIRROR=m
687CONFIG_DM_ZERO=m
688CONFIG_DM_MULTIPATH=m
689CONFIG_DM_MULTIPATH_EMC=m
690
691#
692# Fusion MPT device support
693#
694# CONFIG_FUSION is not set
695
696#
697# IEEE 1394 (FireWire) support
698#
699
700#
701# I2O device support
702#
703
704#
705# Network device support
706#
707CONFIG_NETDEVICES=y
708# CONFIG_DUMMY is not set
709# CONFIG_BONDING is not set
710# CONFIG_EQUALIZER is not set
711CONFIG_TUN=m
712
713#
714# PHY device support
715#
716# CONFIG_PHYLIB is not set
717
718#
719# Ethernet (10 or 100Mbit)
720#
721CONFIG_NET_ETHERNET=y
722CONFIG_MII=m
723# CONFIG_SMC91X is not set
724# CONFIG_DM9000 is not set
725# CONFIG_SMC911X is not set
726
727#
728# Ethernet (1000 Mbit)
729#
730
731#
732# Ethernet (10000 Mbit)
733#
734
735#
736# Token Ring devices
737#
738
739#
740# Wireless LAN (non-hamradio)
741#
742CONFIG_NET_RADIO=y
743# CONFIG_NET_WIRELESS_RTNETLINK is not set
744
745#
746# Obsolete Wireless cards support (pre-802.11)
747#
748# CONFIG_STRIP is not set
749# CONFIG_PCMCIA_WAVELAN is not set
750# CONFIG_PCMCIA_NETWAVE is not set
751
752#
753# Wireless 802.11 Frequency Hopping cards support
754#
755# CONFIG_PCMCIA_RAYCS is not set
756
757#
758# Wireless 802.11b ISA/PCI cards support
759#
760CONFIG_HERMES=m
761# CONFIG_ATMEL is not set
762
763#
764# Wireless 802.11b Pcmcia/Cardbus cards support
765#
766CONFIG_PCMCIA_HERMES=m
767CONFIG_PCMCIA_SPECTRUM=m
768# CONFIG_AIRO_CS is not set
769# CONFIG_PCMCIA_WL3501 is not set
770# CONFIG_USB_ZD1201 is not set
771CONFIG_HOSTAP=m
772CONFIG_HOSTAP_FIRMWARE=y
773# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
774CONFIG_HOSTAP_CS=m
775CONFIG_NET_WIRELESS=y
776
777#
778# PCMCIA network device support
779#
780CONFIG_NET_PCMCIA=y
781# CONFIG_PCMCIA_3C589 is not set
782# CONFIG_PCMCIA_3C574 is not set
783# CONFIG_PCMCIA_FMVJ18X is not set
784CONFIG_PCMCIA_PCNET=m
785# CONFIG_PCMCIA_NMCLAN is not set
786# CONFIG_PCMCIA_SMC91C92 is not set
787# CONFIG_PCMCIA_XIRC2PS is not set
788# CONFIG_PCMCIA_AXNET is not set
789
790#
791# Wan interfaces
792#
793# CONFIG_WAN is not set
794CONFIG_PPP=m
795# CONFIG_PPP_MULTILINK is not set
796# CONFIG_PPP_FILTER is not set
797CONFIG_PPP_ASYNC=m
798# CONFIG_PPP_SYNC_TTY is not set
799CONFIG_PPP_DEFLATE=m
800CONFIG_PPP_BSDCOMP=m
801# CONFIG_PPP_MPPE is not set
802# CONFIG_PPPOE is not set
803# CONFIG_SLIP is not set
804CONFIG_SLHC=m
805# CONFIG_SHAPER is not set
806# CONFIG_NETCONSOLE is not set
807# CONFIG_NETPOLL is not set
808# CONFIG_NET_POLL_CONTROLLER is not set
809
810#
811# ISDN subsystem
812#
813# CONFIG_ISDN is not set
814
815#
816# Input device support
817#
818CONFIG_INPUT=y
819# CONFIG_INPUT_FF_MEMLESS is not set
820
821#
822# Userland interfaces
823#
824CONFIG_INPUT_MOUSEDEV=m
825# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
826CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
827CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
828# CONFIG_INPUT_JOYDEV is not set
829# CONFIG_INPUT_TSDEV is not set
830CONFIG_INPUT_EVDEV=y
831# CONFIG_INPUT_EVBUG is not set
832CONFIG_INPUT_POWER=y
833
834#
835# Input Device Drivers
836#
837CONFIG_INPUT_KEYBOARD=y
838# CONFIG_KEYBOARD_ATKBD is not set
839# CONFIG_KEYBOARD_SUNKBD is not set
840# CONFIG_KEYBOARD_LKKBD is not set
841# CONFIG_KEYBOARD_XTKBD is not set
842# CONFIG_KEYBOARD_NEWTON is not set
843# CONFIG_KEYBOARD_STOWAWAY is not set
844CONFIG_KEYBOARD_CORGI=y
845# CONFIG_KEYBOARD_SPITZ is not set
846# CONFIG_INPUT_MOUSE is not set
847# CONFIG_INPUT_JOYSTICK is not set
848CONFIG_INPUT_TOUCHSCREEN=y
849CONFIG_TOUCHSCREEN_CORGI=y
850# CONFIG_TOUCHSCREEN_GUNZE is not set
851# CONFIG_TOUCHSCREEN_ELO is not set
852# CONFIG_TOUCHSCREEN_MTOUCH is not set
853# CONFIG_TOUCHSCREEN_MK712 is not set
854# CONFIG_TOUCHSCREEN_PENMOUNT is not set
855# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
856# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
857# CONFIG_TOUCHSCREEN_UCB1400 is not set
858CONFIG_INPUT_MISC=y
859CONFIG_INPUT_UINPUT=m
860
861#
862# Hardware I/O ports
863#
864# CONFIG_SERIO is not set
865# CONFIG_GAMEPORT is not set
866
867#
868# Character devices
869#
870CONFIG_VT=y
871CONFIG_VT_CONSOLE=y
872CONFIG_HW_CONSOLE=y
873# CONFIG_VT_HW_CONSOLE_BINDING is not set
874# CONFIG_SERIAL_NONSTANDARD is not set
875
876#
877# Serial drivers
878#
879CONFIG_SERIAL_8250=m
880CONFIG_SERIAL_8250_CS=m
881CONFIG_SERIAL_8250_NR_UARTS=4
882CONFIG_SERIAL_8250_RUNTIME_UARTS=4
883# CONFIG_SERIAL_8250_EXTENDED is not set
884
885#
886# Non-8250 serial port support
887#
888CONFIG_SERIAL_PXA=y
889CONFIG_SERIAL_PXA_CONSOLE=y
890CONFIG_SERIAL_CORE=y
891CONFIG_SERIAL_CORE_CONSOLE=y
892CONFIG_UNIX98_PTYS=y
893# CONFIG_LEGACY_PTYS is not set
894
895#
896# IPMI
897#
898# CONFIG_IPMI_HANDLER is not set
899
900#
901# Watchdog Cards
902#
903# CONFIG_WATCHDOG is not set
904CONFIG_HW_RANDOM=m
905# CONFIG_NVRAM is not set
906# CONFIG_DTLK is not set
907# CONFIG_R3964 is not set
908
909#
910# PCMCIA character devices
911#
912# CONFIG_SYNCLINK_CS is not set
913# CONFIG_CARDMAN_4000 is not set
914# CONFIG_CARDMAN_4040 is not set
915# CONFIG_RAW_DRIVER is not set
916
917#
918# TPM devices
919#
920# CONFIG_TCG_TPM is not set
921
922#
923# I2C support
924#
925CONFIG_I2C=y
926# CONFIG_I2C_CHARDEV is not set
927
928#
929# I2C Algorithms
930#
931CONFIG_I2C_ALGOBIT=y
932# CONFIG_I2C_ALGOPCF is not set
933# CONFIG_I2C_ALGOPCA is not set
934
935#
936# I2C Hardware Bus support
937#
938CONFIG_I2C_PXA=y
939# CONFIG_I2C_PXA_SLAVE is not set
940# CONFIG_I2C_OCORES is not set
941# CONFIG_I2C_PARPORT_LIGHT is not set
942# CONFIG_I2C_STUB is not set
943# CONFIG_I2C_PCA_ISA is not set
944
945#
946# Miscellaneous I2C Chip support
947#
948# CONFIG_SENSORS_DS1337 is not set
949# CONFIG_SENSORS_DS1374 is not set
950# CONFIG_SENSORS_EEPROM is not set
951# CONFIG_SENSORS_PCF8574 is not set
952# CONFIG_SENSORS_PCA9539 is not set
953# CONFIG_SENSORS_PCF8591 is not set
954# CONFIG_SENSORS_MAX6875 is not set
955# CONFIG_I2C_DEBUG_CORE is not set
956# CONFIG_I2C_DEBUG_ALGO is not set
957# CONFIG_I2C_DEBUG_BUS is not set
958# CONFIG_I2C_DEBUG_CHIP is not set
959
960#
961# SPI support
962#
963# CONFIG_SPI is not set
964# CONFIG_SPI_MASTER is not set
965
966#
967# Dallas's 1-wire bus
968#
969# CONFIG_W1 is not set
970
971#
972# Hardware Monitoring support
973#
974# CONFIG_HWMON is not set
975# CONFIG_HWMON_VID is not set
976
977#
978# Misc devices
979#
980# CONFIG_TIFM_CORE is not set
981
982#
983# Multi-Function Devices
984#
985
986#
987# LED devices
988#
989CONFIG_NEW_LEDS=y
990CONFIG_LEDS_CLASS=y
991
992#
993# LED drivers
994#
995CONFIG_LEDS_CORGI=y
996# CONFIG_LEDS_TOSA is not set
997
998#
999# LED Triggers
1000#
1001CONFIG_LEDS_TRIGGERS=y
1002CONFIG_LEDS_TRIGGER_TIMER=y
1003CONFIG_LEDS_TRIGGER_IDE_DISK=y
1004# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
1005
1006#
1007# Multimedia devices
1008#
1009CONFIG_VIDEO_DEV=m
1010CONFIG_VIDEO_V4L1=y
1011CONFIG_VIDEO_V4L1_COMPAT=y
1012CONFIG_VIDEO_V4L2=y
1013
1014#
1015# Video Capture Adapters
1016#
1017
1018#
1019# Video Capture Adapters
1020#
1021# CONFIG_VIDEO_ADV_DEBUG is not set
1022CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
1023# CONFIG_VIDEO_VIVI is not set
1024# CONFIG_VIDEO_CPIA is not set
1025# CONFIG_VIDEO_CPIA2 is not set
1026# CONFIG_VIDEO_SAA5246A is not set
1027# CONFIG_VIDEO_SAA5249 is not set
1028# CONFIG_TUNER_3036 is not set
1029
1030#
1031# V4L USB devices
1032#
1033# CONFIG_VIDEO_PVRUSB2 is not set
1034# CONFIG_VIDEO_EM28XX is not set
1035# CONFIG_VIDEO_USBVISION is not set
1036CONFIG_VIDEO_USBVIDEO=m
1037CONFIG_USB_VICAM=m
1038CONFIG_USB_IBMCAM=m
1039CONFIG_USB_KONICAWC=m
1040# CONFIG_USB_QUICKCAM_MESSENGER is not set
1041# CONFIG_USB_ET61X251 is not set
1042# CONFIG_VIDEO_OVCAMCHIP is not set
1043# CONFIG_USB_W9968CF is not set
1044CONFIG_USB_OV511=m
1045CONFIG_USB_SE401=m
1046CONFIG_USB_SN9C102=m
1047CONFIG_USB_STV680=m
1048# CONFIG_USB_ZC0301 is not set
1049# CONFIG_USB_PWC is not set
1050
1051#
1052# Radio Adapters
1053#
1054CONFIG_USB_DSBR=m
1055
1056#
1057# Digital Video Broadcasting Devices
1058#
1059# CONFIG_DVB is not set
1060CONFIG_USB_DABUSB=m
1061
1062#
1063# Graphics support
1064#
1065CONFIG_FIRMWARE_EDID=y
1066CONFIG_FB=y
1067# CONFIG_FB_DDC is not set
1068CONFIG_FB_CFB_FILLRECT=y
1069CONFIG_FB_CFB_COPYAREA=y
1070CONFIG_FB_CFB_IMAGEBLIT=y
1071# CONFIG_FB_MACMODES is not set
1072# CONFIG_FB_BACKLIGHT is not set
1073# CONFIG_FB_MODE_HELPERS is not set
1074# CONFIG_FB_TILEBLITTING is not set
1075# CONFIG_FB_S1D13XXX is not set
1076# CONFIG_FB_PXA is not set
1077# CONFIG_FB_MBX is not set
1078CONFIG_FB_W100=y
1079# CONFIG_FB_VIRTUAL is not set
1080
1081#
1082# Console display driver support
1083#
1084# CONFIG_VGA_CONSOLE is not set
1085CONFIG_DUMMY_CONSOLE=y
1086CONFIG_FRAMEBUFFER_CONSOLE=y
1087# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
1088CONFIG_FONTS=y
1089# CONFIG_FONT_8x8 is not set
1090CONFIG_FONT_8x16=y
1091# CONFIG_FONT_6x11 is not set
1092# CONFIG_FONT_7x14 is not set
1093# CONFIG_FONT_PEARL_8x8 is not set
1094# CONFIG_FONT_ACORN_8x8 is not set
1095# CONFIG_FONT_MINI_4x6 is not set
1096# CONFIG_FONT_SUN8x16 is not set
1097# CONFIG_FONT_SUN12x22 is not set
1098# CONFIG_FONT_10x18 is not set
1099
1100#
1101# Logo configuration
1102#
1103CONFIG_LOGO=y
1104# CONFIG_LOGO_LINUX_MONO is not set
1105# CONFIG_LOGO_LINUX_VGA16 is not set
1106# CONFIG_LOGO_LINUX_CLUT224 is not set
1107CONFIG_LOGO_OHAND_CLUT224=y
1108# CONFIG_LOGO_OZ240_CLUT224 is not set
1109# CONFIG_LOGO_OZ480_CLUT224 is not set
1110# CONFIG_LOGO_OZ640_CLUT224 is not set
1111CONFIG_BACKLIGHT_LCD_SUPPORT=y
1112CONFIG_BACKLIGHT_CLASS_DEVICE=y
1113CONFIG_BACKLIGHT_DEVICE=y
1114# CONFIG_LCD_CLASS_DEVICE is not set
1115CONFIG_BACKLIGHT_CORGI=y
1116
1117#
1118# Sound
1119#
1120CONFIG_SOUND=m
1121
1122#
1123# Advanced Linux Sound Architecture
1124#
1125CONFIG_SND=m
1126CONFIG_SND_TIMER=m
1127CONFIG_SND_PCM=m
1128CONFIG_SND_HWDEP=m
1129CONFIG_SND_RAWMIDI=m
1130CONFIG_SND_SEQUENCER=m
1131# CONFIG_SND_SEQ_DUMMY is not set
1132CONFIG_SND_OSSEMUL=y
1133CONFIG_SND_MIXER_OSS=m
1134CONFIG_SND_PCM_OSS=m
1135CONFIG_SND_PCM_OSS_PLUGINS=y
1136# CONFIG_SND_SEQUENCER_OSS is not set
1137# CONFIG_SND_DYNAMIC_MINORS is not set
1138CONFIG_SND_SUPPORT_OLD_API=y
1139CONFIG_SND_VERBOSE_PROCFS=y
1140CONFIG_SND_VERBOSE_PRINTK=y
1141CONFIG_SND_DEBUG=y
1142# CONFIG_SND_DEBUG_DETECT is not set
1143# CONFIG_SND_PCM_XRUN_DEBUG is not set
1144
1145#
1146# Generic devices
1147#
1148CONFIG_SND_AC97_CODEC=m
1149# CONFIG_SND_DUMMY is not set
1150# CONFIG_SND_VIRMIDI is not set
1151# CONFIG_SND_MTPAV is not set
1152# CONFIG_SND_SERIAL_U16550 is not set
1153# CONFIG_SND_MPU401 is not set
1154
1155#
1156# ALSA ARM devices
1157#
1158CONFIG_SND_PXA2XX_PCM=m
1159CONFIG_SND_PXA2XX_AC97=m
1160
1161#
1162# USB devices
1163#
1164CONFIG_SND_USB_AUDIO=m
1165
1166#
1167# PCMCIA devices
1168#
1169# CONFIG_SND_VXPOCKET is not set
1170# CONFIG_SND_PDAUDIOCF is not set
1171
1172#
1173# SoC audio support
1174#
1175CONFIG_SND_SOC=m
1176
1177#
1178# Soc Platforms
1179#
1180
1181#
1182# SoC Audio for the Intel PXA2xx
1183#
1184CONFIG_SND_PXA2xx_SOC=m
1185CONFIG_SND_PXA2xx_SOC_I2S=m
1186CONFIG_SND_PXA2xx_SOC_CORGI=m
1187# CONFIG_SND_PXA2xx_SOC_MAGICIAN is not set
1188
1189#
1190# SoC Audio for the Atmel AT91
1191#
1192
1193#
1194# SoC Audio for the Freescale i.MX
1195#
1196
1197#
1198# SoC Audio for the Samsung S3C24XX
1199#
1200
1201#
1202# Soc Codecs
1203#
1204# CONFIG_SND_SOC_AC97_CODEC is not set
1205# CONFIG_SND_SOC_WM8711 is not set
1206# CONFIG_SND_SOC_WM8510 is not set
1207CONFIG_SND_SOC_WM8731=m
1208# CONFIG_SND_SOC_WM8750 is not set
1209# CONFIG_SND_SOC_WM8753 is not set
1210# CONFIG_SND_SOC_WM8772 is not set
1211# CONFIG_SND_SOC_WM8971 is not set
1212# CONFIG_SND_SOC_WM8956 is not set
1213# CONFIG_SND_SOC_WM8960 is not set
1214# CONFIG_SND_SOC_WM8976 is not set
1215# CONFIG_SND_SOC_WM8974 is not set
1216# CONFIG_SND_SOC_WM8980 is not set
1217# CONFIG_SND_SOC_WM9713 is not set
1218# CONFIG_SND_SOC_WM9712 is not set
1219# CONFIG_SND_SOC_UDA1380 is not set
1220# CONFIG_SND_SOC_AK4535 is not set
1221
1222#
1223# Open Sound System
1224#
1225# CONFIG_SOUND_PRIME is not set
1226CONFIG_AC97_BUS=m
1227
1228#
1229# HID Devices
1230#
1231CONFIG_HID=y
1232
1233#
1234# USB support
1235#
1236CONFIG_USB_ARCH_HAS_HCD=y
1237# CONFIG_USB_ARCH_HAS_OHCI is not set
1238# CONFIG_USB_ARCH_HAS_EHCI is not set
1239CONFIG_USB=m
1240# CONFIG_USB_DEBUG is not set
1241
1242#
1243# Miscellaneous USB options
1244#
1245CONFIG_USB_DEVICEFS=y
1246# CONFIG_USB_BANDWIDTH is not set
1247# CONFIG_USB_DYNAMIC_MINORS is not set
1248# CONFIG_USB_SUSPEND is not set
1249# CONFIG_USB_OTG is not set
1250
1251#
1252# USB Host Controller Drivers
1253#
1254# CONFIG_USB_ISP116X_HCD is not set
1255CONFIG_USB_SL811_HCD=m
1256CONFIG_USB_SL811_CS=m
1257
1258#
1259# USB Device Class drivers
1260#
1261CONFIG_USB_ACM=m
1262CONFIG_USB_PRINTER=m
1263
1264#
1265# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1266#
1267
1268#
1269# may also be needed; see USB_STORAGE Help for more information
1270#
1271CONFIG_USB_STORAGE=m
1272# CONFIG_USB_STORAGE_DEBUG is not set
1273# CONFIG_USB_STORAGE_DATAFAB is not set
1274# CONFIG_USB_STORAGE_FREECOM is not set
1275# CONFIG_USB_STORAGE_ISD200 is not set
1276# CONFIG_USB_STORAGE_DPCM is not set
1277# CONFIG_USB_STORAGE_USBAT is not set
1278# CONFIG_USB_STORAGE_SDDR09 is not set
1279# CONFIG_USB_STORAGE_SDDR55 is not set
1280# CONFIG_USB_STORAGE_JUMPSHOT is not set
1281# CONFIG_USB_STORAGE_ALAUDA is not set
1282# CONFIG_USB_STORAGE_KARMA is not set
1283# CONFIG_USB_LIBUSUAL is not set
1284
1285#
1286# USB Input Devices
1287#
1288CONFIG_USB_HID=m
1289# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1290# CONFIG_HID_FF is not set
1291# CONFIG_USB_HIDDEV is not set
1292
1293#
1294# USB HID Boot Protocol drivers
1295#
1296CONFIG_USB_KBD=m
1297CONFIG_USB_MOUSE=m
1298CONFIG_USB_AIPTEK=m
1299CONFIG_USB_WACOM=m
1300# CONFIG_USB_ACECAD is not set
1301CONFIG_USB_KBTAB=m
1302CONFIG_USB_POWERMATE=m
1303# CONFIG_USB_TOUCHSCREEN is not set
1304# CONFIG_USB_YEALINK is not set
1305CONFIG_USB_XPAD=m
1306CONFIG_USB_ATI_REMOTE=m
1307# CONFIG_USB_ATI_REMOTE2 is not set
1308# CONFIG_USB_KEYSPAN_REMOTE is not set
1309# CONFIG_USB_APPLETOUCH is not set
1310
1311#
1312# USB Imaging devices
1313#
1314CONFIG_USB_MDC800=m
1315CONFIG_USB_MICROTEK=m
1316
1317#
1318# USB Network Adapters
1319#
1320CONFIG_USB_CATC=m
1321CONFIG_USB_KAWETH=m
1322CONFIG_USB_PEGASUS=m
1323CONFIG_USB_RTL8150=m
1324CONFIG_USB_USBNET_MII=m
1325CONFIG_USB_USBNET=m
1326CONFIG_USB_NET_AX8817X=m
1327CONFIG_USB_NET_CDCETHER=m
1328# CONFIG_USB_NET_GL620A is not set
1329CONFIG_USB_NET_NET1080=m
1330# CONFIG_USB_NET_PLUSB is not set
1331# CONFIG_USB_NET_MCS7830 is not set
1332# CONFIG_USB_NET_RNDIS_HOST is not set
1333# CONFIG_USB_NET_CDC_SUBSET is not set
1334CONFIG_USB_NET_ZAURUS=m
1335CONFIG_USB_MON=y
1336
1337#
1338# USB port drivers
1339#
1340
1341#
1342# USB Serial Converter support
1343#
1344CONFIG_USB_SERIAL=m
1345CONFIG_USB_SERIAL_GENERIC=y
1346# CONFIG_USB_SERIAL_AIRCABLE is not set
1347# CONFIG_USB_SERIAL_AIRPRIME is not set
1348# CONFIG_USB_SERIAL_ARK3116 is not set
1349CONFIG_USB_SERIAL_BELKIN=m
1350# CONFIG_USB_SERIAL_WHITEHEAT is not set
1351CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
1352# CONFIG_USB_SERIAL_CP2101 is not set
1353CONFIG_USB_SERIAL_CYPRESS_M8=m
1354CONFIG_USB_SERIAL_EMPEG=m
1355CONFIG_USB_SERIAL_FTDI_SIO=m
1356# CONFIG_USB_SERIAL_FUNSOFT is not set
1357CONFIG_USB_SERIAL_VISOR=m
1358CONFIG_USB_SERIAL_IPAQ=m
1359CONFIG_USB_SERIAL_IR=m
1360CONFIG_USB_SERIAL_EDGEPORT=m
1361CONFIG_USB_SERIAL_EDGEPORT_TI=m
1362CONFIG_USB_SERIAL_GARMIN=m
1363CONFIG_USB_SERIAL_IPW=m
1364CONFIG_USB_SERIAL_KEYSPAN_PDA=m
1365CONFIG_USB_SERIAL_KEYSPAN=m
1366# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
1367# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
1368# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
1369# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
1370# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
1371# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
1372# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
1373# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
1374# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
1375# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
1376# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
1377# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
1378CONFIG_USB_SERIAL_KLSI=m
1379CONFIG_USB_SERIAL_KOBIL_SCT=m
1380CONFIG_USB_SERIAL_MCT_U232=m
1381# CONFIG_USB_SERIAL_MOS7720 is not set
1382# CONFIG_USB_SERIAL_MOS7840 is not set
1383# CONFIG_USB_SERIAL_NAVMAN is not set
1384CONFIG_USB_SERIAL_PL2303=m
1385# CONFIG_USB_SERIAL_HP4X is not set
1386CONFIG_USB_SERIAL_SAFE=m
1387# CONFIG_USB_SERIAL_SAFE_PADDED is not set
1388# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
1389CONFIG_USB_SERIAL_TI=m
1390CONFIG_USB_SERIAL_CYBERJACK=m
1391CONFIG_USB_SERIAL_XIRCOM=m
1392# CONFIG_USB_SERIAL_OPTION is not set
1393CONFIG_USB_SERIAL_OMNINET=m
1394# CONFIG_USB_SERIAL_DEBUG is not set
1395CONFIG_USB_EZUSB=y
1396
1397#
1398# USB Miscellaneous drivers
1399#
1400CONFIG_USB_EMI62=m
1401CONFIG_USB_EMI26=m
1402# CONFIG_USB_ADUTUX is not set
1403CONFIG_USB_AUERSWALD=m
1404CONFIG_USB_RIO500=m
1405CONFIG_USB_LEGOTOWER=m
1406CONFIG_USB_LCD=m
1407CONFIG_USB_LED=m
1408# CONFIG_USB_CYPRESS_CY7C63 is not set
1409CONFIG_USB_CYTHERM=m
1410# CONFIG_USB_PHIDGET is not set
1411CONFIG_USB_IDMOUSE=m
1412# CONFIG_USB_FTDI_ELAN is not set
1413# CONFIG_USB_APPLEDISPLAY is not set
1414# CONFIG_USB_LD is not set
1415# CONFIG_USB_TRANCEVIBRATOR is not set
1416# CONFIG_USB_TEST is not set
1417
1418#
1419# USB DSL modem support
1420#
1421
1422#
1423# USB Gadget Support
1424#
1425CONFIG_USB_GADGET=y
1426# CONFIG_USB_GADGET_DEBUG_FILES is not set
1427CONFIG_USB_GADGET_SELECTED=y
1428# CONFIG_USB_GADGET_NET2280 is not set
1429CONFIG_USB_GADGET_PXA2XX=y
1430CONFIG_USB_PXA2XX=y
1431# CONFIG_USB_PXA2XX_SMALL is not set
1432# CONFIG_USB_GADGET_PXA27X is not set
1433# CONFIG_USB_GADGET_GOKU is not set
1434# CONFIG_USB_GADGET_LH7A40X is not set
1435# CONFIG_USB_GADGET_OMAP is not set
1436# CONFIG_USB_GADGET_AT91 is not set
1437# CONFIG_USB_GADGET_DUMMY_HCD is not set
1438# CONFIG_USB_GADGET_DUALSPEED is not set
1439CONFIG_USB_ZERO=m
1440CONFIG_USB_ETH=m
1441CONFIG_USB_ETH_RNDIS=y
1442CONFIG_USB_GADGETFS=m
1443CONFIG_USB_FILE_STORAGE=m
1444# CONFIG_USB_FILE_STORAGE_TEST is not set
1445CONFIG_USB_G_SERIAL=m
1446# CONFIG_USB_MIDI_GADGET is not set
1447
1448#
1449# MMC/SD Card support
1450#
1451CONFIG_MMC=y
1452# CONFIG_MMC_DEBUG is not set
1453CONFIG_MMC_BLOCK=y
1454CONFIG_MMC_PXA=y
1455# CONFIG_MMC_TIFM_SD is not set
1456
1457#
1458# Real Time Clock
1459#
1460CONFIG_RTC_LIB=y
1461CONFIG_RTC_CLASS=y
1462CONFIG_RTC_HCTOSYS=y
1463CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1464# CONFIG_RTC_DEBUG is not set
1465
1466#
1467# RTC interfaces
1468#
1469CONFIG_RTC_INTF_SYSFS=y
1470CONFIG_RTC_INTF_PROC=y
1471CONFIG_RTC_INTF_DEV=y
1472# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1473
1474#
1475# RTC drivers
1476#
1477# CONFIG_RTC_DRV_X1205 is not set
1478# CONFIG_RTC_DRV_DS1307 is not set
1479# CONFIG_RTC_DRV_DS1553 is not set
1480# CONFIG_RTC_DRV_ISL1208 is not set
1481# CONFIG_RTC_DRV_DS1672 is not set
1482# CONFIG_RTC_DRV_DS1742 is not set
1483# CONFIG_RTC_DRV_PCF8563 is not set
1484# CONFIG_RTC_DRV_PCF8583 is not set
1485# CONFIG_RTC_DRV_RS5C372 is not set
1486# CONFIG_RTC_DRV_M48T86 is not set
1487CONFIG_RTC_DRV_SA1100=y
1488# CONFIG_RTC_DRV_TEST is not set
1489# CONFIG_RTC_DRV_V3020 is not set
1490
1491#
1492# File systems
1493#
1494CONFIG_EXT2_FS=y
1495# CONFIG_EXT2_FS_XATTR is not set
1496# CONFIG_EXT2_FS_XIP is not set
1497# CONFIG_EXT3_FS is not set
1498# CONFIG_EXT4DEV_FS is not set
1499# CONFIG_REISERFS_FS is not set
1500# CONFIG_JFS_FS is not set
1501CONFIG_FS_POSIX_ACL=y
1502# CONFIG_XFS_FS is not set
1503# CONFIG_GFS2_FS is not set
1504# CONFIG_OCFS2_FS is not set
1505# CONFIG_MINIX_FS is not set
1506# CONFIG_ROMFS_FS is not set
1507CONFIG_INOTIFY=y
1508CONFIG_INOTIFY_USER=y
1509# CONFIG_QUOTA is not set
1510CONFIG_DNOTIFY=y
1511# CONFIG_AUTOFS_FS is not set
1512# CONFIG_AUTOFS4_FS is not set
1513# CONFIG_FUSE_FS is not set
1514
1515#
1516# CD-ROM/DVD Filesystems
1517#
1518# CONFIG_ISO9660_FS is not set
1519# CONFIG_UDF_FS is not set
1520
1521#
1522# DOS/FAT/NT Filesystems
1523#
1524CONFIG_FAT_FS=y
1525# CONFIG_MSDOS_FS is not set
1526CONFIG_VFAT_FS=y
1527CONFIG_FAT_DEFAULT_CODEPAGE=437
1528CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1529# CONFIG_NTFS_FS is not set
1530
1531#
1532# Pseudo filesystems
1533#
1534CONFIG_PROC_FS=y
1535CONFIG_PROC_SYSCTL=y
1536CONFIG_SYSFS=y
1537CONFIG_TMPFS=y
1538# CONFIG_TMPFS_POSIX_ACL is not set
1539# CONFIG_HUGETLB_PAGE is not set
1540CONFIG_RAMFS=y
1541# CONFIG_CONFIGFS_FS is not set
1542
1543#
1544# Miscellaneous filesystems
1545#
1546# CONFIG_ADFS_FS is not set
1547# CONFIG_AFFS_FS is not set
1548# CONFIG_HFS_FS is not set
1549# CONFIG_HFSPLUS_FS is not set
1550# CONFIG_BEFS_FS is not set
1551# CONFIG_BFS_FS is not set
1552# CONFIG_EFS_FS is not set
1553CONFIG_JFFS2_FS=y
1554CONFIG_JFFS2_FS_DEBUG=0
1555CONFIG_JFFS2_FS_WRITEBUFFER=y
1556CONFIG_JFFS2_SUMMARY=y
1557# CONFIG_JFFS2_FS_XATTR is not set
1558CONFIG_JFFS2_COMPRESSION_OPTIONS=y
1559CONFIG_JFFS2_ZLIB=y
1560CONFIG_JFFS2_LZO=y
1561CONFIG_JFFS2_RTIME=y
1562CONFIG_JFFS2_RUBIN=y
1563# CONFIG_JFFS2_CMODE_NONE is not set
1564CONFIG_JFFS2_CMODE_PRIORITY=y
1565# CONFIG_JFFS2_CMODE_SIZE is not set
1566# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
1567CONFIG_CRAMFS=m
1568CONFIG_SQUASHFS=m
1569# CONFIG_SQUASHFS_EMBEDDED is not set
1570CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
1571# CONFIG_SQUASHFS_VMALLOC is not set
1572# CONFIG_VXFS_FS is not set
1573# CONFIG_HPFS_FS is not set
1574# CONFIG_QNX4FS_FS is not set
1575# CONFIG_SYSV_FS is not set
1576# CONFIG_UFS_FS is not set
1577
1578#
1579# Network File Systems
1580#
1581CONFIG_NFS_FS=m
1582CONFIG_NFS_V3=y
1583# CONFIG_NFS_V3_ACL is not set
1584CONFIG_NFS_V4=y
1585# CONFIG_NFS_DIRECTIO is not set
1586CONFIG_NFSD=m
1587CONFIG_NFSD_V3=y
1588# CONFIG_NFSD_V3_ACL is not set
1589CONFIG_NFSD_V4=y
1590CONFIG_NFSD_TCP=y
1591CONFIG_LOCKD=m
1592CONFIG_LOCKD_V4=y
1593CONFIG_EXPORTFS=m
1594CONFIG_NFS_COMMON=y
1595CONFIG_SUNRPC=m
1596CONFIG_SUNRPC_GSS=m
1597CONFIG_RPCSEC_GSS_KRB5=m
1598# CONFIG_RPCSEC_GSS_SPKM3 is not set
1599CONFIG_SMB_FS=m
1600CONFIG_SMB_NLS_DEFAULT=y
1601CONFIG_SMB_NLS_REMOTE="cp437"
1602CONFIG_CIFS=m
1603# CONFIG_CIFS_STATS is not set
1604# CONFIG_CIFS_WEAK_PW_HASH is not set
1605# CONFIG_CIFS_XATTR is not set
1606# CONFIG_CIFS_DEBUG2 is not set
1607# CONFIG_CIFS_EXPERIMENTAL is not set
1608# CONFIG_NCP_FS is not set
1609# CONFIG_CODA_FS is not set
1610# CONFIG_AFS_FS is not set
1611# CONFIG_9P_FS is not set
1612
1613#
1614# Partition Types
1615#
1616CONFIG_PARTITION_ADVANCED=y
1617# CONFIG_ACORN_PARTITION is not set
1618# CONFIG_OSF_PARTITION is not set
1619# CONFIG_AMIGA_PARTITION is not set
1620# CONFIG_ATARI_PARTITION is not set
1621# CONFIG_MAC_PARTITION is not set
1622CONFIG_MSDOS_PARTITION=y
1623# CONFIG_BSD_DISKLABEL is not set
1624# CONFIG_MINIX_SUBPARTITION is not set
1625# CONFIG_SOLARIS_X86_PARTITION is not set
1626# CONFIG_UNIXWARE_DISKLABEL is not set
1627# CONFIG_LDM_PARTITION is not set
1628# CONFIG_SGI_PARTITION is not set
1629# CONFIG_ULTRIX_PARTITION is not set
1630# CONFIG_SUN_PARTITION is not set
1631# CONFIG_KARMA_PARTITION is not set
1632# CONFIG_EFI_PARTITION is not set
1633
1634#
1635# Native Language Support
1636#
1637CONFIG_NLS=y
1638CONFIG_NLS_DEFAULT="cp437"
1639CONFIG_NLS_CODEPAGE_437=y
1640CONFIG_NLS_CODEPAGE_737=m
1641CONFIG_NLS_CODEPAGE_775=m
1642CONFIG_NLS_CODEPAGE_850=m
1643CONFIG_NLS_CODEPAGE_852=m
1644CONFIG_NLS_CODEPAGE_855=m
1645CONFIG_NLS_CODEPAGE_857=m
1646CONFIG_NLS_CODEPAGE_860=m
1647CONFIG_NLS_CODEPAGE_861=m
1648CONFIG_NLS_CODEPAGE_862=m
1649CONFIG_NLS_CODEPAGE_863=m
1650CONFIG_NLS_CODEPAGE_864=m
1651CONFIG_NLS_CODEPAGE_865=m
1652CONFIG_NLS_CODEPAGE_866=m
1653CONFIG_NLS_CODEPAGE_869=m
1654CONFIG_NLS_CODEPAGE_936=m
1655CONFIG_NLS_CODEPAGE_950=m
1656CONFIG_NLS_CODEPAGE_932=m
1657CONFIG_NLS_CODEPAGE_949=m
1658CONFIG_NLS_CODEPAGE_874=m
1659CONFIG_NLS_ISO8859_8=m
1660CONFIG_NLS_CODEPAGE_1250=m
1661CONFIG_NLS_CODEPAGE_1251=m
1662CONFIG_NLS_ASCII=m
1663CONFIG_NLS_ISO8859_1=y
1664CONFIG_NLS_ISO8859_2=m
1665CONFIG_NLS_ISO8859_3=m
1666CONFIG_NLS_ISO8859_4=m
1667CONFIG_NLS_ISO8859_5=m
1668CONFIG_NLS_ISO8859_6=m
1669CONFIG_NLS_ISO8859_7=m
1670CONFIG_NLS_ISO8859_9=m
1671CONFIG_NLS_ISO8859_13=m
1672CONFIG_NLS_ISO8859_14=m
1673CONFIG_NLS_ISO8859_15=m
1674CONFIG_NLS_KOI8_R=m
1675CONFIG_NLS_KOI8_U=m
1676CONFIG_NLS_UTF8=y
1677
1678#
1679# Distributed Lock Manager
1680#
1681# CONFIG_DLM is not set
1682
1683#
1684# Profiling support
1685#
1686CONFIG_PROFILING=y
1687CONFIG_OPROFILE=m
1688
1689#
1690# Kernel hacking
1691#
1692# CONFIG_PRINTK_TIME is not set
1693CONFIG_ENABLE_MUST_CHECK=y
1694CONFIG_MAGIC_SYSRQ=y
1695# CONFIG_UNUSED_SYMBOLS is not set
1696# CONFIG_DEBUG_FS is not set
1697# CONFIG_HEADERS_CHECK is not set
1698CONFIG_DEBUG_KERNEL=y
1699CONFIG_LOG_BUF_SHIFT=14
1700CONFIG_DETECT_SOFTLOCKUP=y
1701# CONFIG_SCHEDSTATS is not set
1702# CONFIG_DEBUG_SLAB is not set
1703# CONFIG_DEBUG_PREEMPT is not set
1704# CONFIG_DEBUG_RT_MUTEXES is not set
1705# CONFIG_RT_MUTEX_TESTER is not set
1706# CONFIG_DEBUG_SPINLOCK is not set
1707# CONFIG_DEBUG_MUTEXES is not set
1708# CONFIG_DEBUG_RWSEMS is not set
1709# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1710# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1711# CONFIG_DEBUG_KOBJECT is not set
1712CONFIG_DEBUG_BUGVERBOSE=y
1713# CONFIG_DEBUG_INFO is not set
1714# CONFIG_DEBUG_VM is not set
1715# CONFIG_DEBUG_LIST is not set
1716CONFIG_FRAME_POINTER=y
1717# CONFIG_FORCED_INLINING is not set
1718# CONFIG_RCU_TORTURE_TEST is not set
1719# CONFIG_DEBUG_USER is not set
1720CONFIG_DEBUG_ERRORS=y
1721# CONFIG_DEBUG_LL is not set
1722
1723#
1724# Security options
1725#
1726# CONFIG_KEYS is not set
1727# CONFIG_SECURITY is not set
1728
1729#
1730# Cryptographic options
1731#
1732CONFIG_CRYPTO=y
1733CONFIG_CRYPTO_ALGAPI=y
1734CONFIG_CRYPTO_BLKCIPHER=m
1735CONFIG_CRYPTO_HASH=y
1736CONFIG_CRYPTO_MANAGER=y
1737CONFIG_CRYPTO_HMAC=y
1738# CONFIG_CRYPTO_XCBC is not set
1739CONFIG_CRYPTO_NULL=m
1740CONFIG_CRYPTO_MD4=m
1741CONFIG_CRYPTO_MD5=m
1742CONFIG_CRYPTO_SHA1=m
1743CONFIG_CRYPTO_SHA256=m
1744CONFIG_CRYPTO_SHA512=m
1745CONFIG_CRYPTO_WP512=m
1746# CONFIG_CRYPTO_TGR192 is not set
1747# CONFIG_CRYPTO_GF128MUL is not set
1748CONFIG_CRYPTO_ECB=m
1749CONFIG_CRYPTO_CBC=m
1750# CONFIG_CRYPTO_LRW is not set
1751CONFIG_CRYPTO_DES=m
1752CONFIG_CRYPTO_BLOWFISH=m
1753CONFIG_CRYPTO_TWOFISH=m
1754CONFIG_CRYPTO_TWOFISH_COMMON=m
1755CONFIG_CRYPTO_SERPENT=m
1756CONFIG_CRYPTO_AES=m
1757CONFIG_CRYPTO_CAST5=m
1758CONFIG_CRYPTO_CAST6=m
1759CONFIG_CRYPTO_TEA=m
1760CONFIG_CRYPTO_ARC4=m
1761CONFIG_CRYPTO_KHAZAD=m
1762CONFIG_CRYPTO_ANUBIS=m
1763CONFIG_CRYPTO_DEFLATE=m
1764# CONFIG_CRYPTO_LZO is not set
1765CONFIG_CRYPTO_MICHAEL_MIC=m
1766CONFIG_CRYPTO_CRC32C=m
1767CONFIG_CRYPTO_TEST=m
1768
1769#
1770# Hardware crypto devices
1771#
1772
1773#
1774# Library routines
1775#
1776CONFIG_BITREVERSE=y
1777CONFIG_CRC_CCITT=y
1778# CONFIG_CRC16 is not set
1779CONFIG_CRC32=y
1780CONFIG_LIBCRC32C=m
1781CONFIG_LZO=y
1782CONFIG_ZLIB_INFLATE=y
1783CONFIG_ZLIB_DEFLATE=y
1784CONFIG_PLIST=y
1785CONFIG_IOMAP_COPY=y
diff --git a/meta/packages/linux/linux-rp-2.6.21/defconfig-collie b/meta/packages/linux/linux-rp-2.6.21/defconfig-collie
new file mode 100644
index 0000000000..f488d42d93
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21/defconfig-collie
@@ -0,0 +1,1641 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.17
4# Tue Jul 4 16:35:35 2006
5#
6CONFIG_ARM=y
7CONFIG_MMU=y
8CONFIG_RWSEM_GENERIC_SPINLOCK=y
9CONFIG_GENERIC_HWEIGHT=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y
11CONFIG_ARCH_MTD_XIP=y
12CONFIG_VECTORS_BASE=0xffff0000
13
14#
15# Code maturity level options
16#
17CONFIG_EXPERIMENTAL=y
18CONFIG_BROKEN_ON_SMP=y
19CONFIG_LOCK_KERNEL=y
20CONFIG_INIT_ENV_ARG_LIMIT=32
21
22#
23# General setup
24#
25CONFIG_LOCALVERSION=""
26CONFIG_LOCALVERSION_AUTO=y
27CONFIG_SWAP=y
28CONFIG_SYSVIPC=y
29# CONFIG_POSIX_MQUEUE is not set
30CONFIG_BSD_PROCESS_ACCT=y
31# CONFIG_BSD_PROCESS_ACCT_V3 is not set
32CONFIG_SYSCTL=y
33# CONFIG_AUDIT is not set
34# CONFIG_IKCONFIG is not set
35# CONFIG_RELAY is not set
36CONFIG_INITRAMFS_SOURCE=""
37CONFIG_UID16=y
38CONFIG_CC_OPTIMIZE_FOR_SIZE=y
39CONFIG_EMBEDDED=y
40CONFIG_KALLSYMS=y
41# CONFIG_KALLSYMS_ALL is not set
42# CONFIG_KALLSYMS_EXTRA_PASS is not set
43CONFIG_HOTPLUG=y
44CONFIG_PRINTK=y
45CONFIG_BUG=y
46CONFIG_ELF_CORE=y
47CONFIG_BASE_FULL=y
48CONFIG_FUTEX=y
49CONFIG_EPOLL=y
50CONFIG_SHMEM=y
51CONFIG_SLAB=y
52# CONFIG_TINY_SHMEM is not set
53CONFIG_BASE_SMALL=0
54# CONFIG_SLOB is not set
55
56#
57# Loadable module support
58#
59CONFIG_MODULES=y
60CONFIG_MODULE_UNLOAD=y
61CONFIG_MODULE_FORCE_UNLOAD=y
62# CONFIG_MODVERSIONS is not set
63# CONFIG_MODULE_SRCVERSION_ALL is not set
64CONFIG_KMOD=y
65
66#
67# Block layer
68#
69# CONFIG_BLK_DEV_IO_TRACE is not set
70
71#
72# IO Schedulers
73#
74CONFIG_IOSCHED_NOOP=y
75CONFIG_IOSCHED_AS=y
76CONFIG_IOSCHED_DEADLINE=m
77CONFIG_IOSCHED_CFQ=m
78CONFIG_DEFAULT_AS=y
79# CONFIG_DEFAULT_DEADLINE is not set
80# CONFIG_DEFAULT_CFQ is not set
81# CONFIG_DEFAULT_NOOP is not set
82CONFIG_DEFAULT_IOSCHED="anticipatory"
83
84#
85# System Type
86#
87# CONFIG_ARCH_CLPS7500 is not set
88# CONFIG_ARCH_CLPS711X is not set
89# CONFIG_ARCH_CO285 is not set
90# CONFIG_ARCH_EBSA110 is not set
91# CONFIG_ARCH_EP93XX is not set
92# CONFIG_ARCH_FOOTBRIDGE is not set
93# CONFIG_ARCH_INTEGRATOR is not set
94# CONFIG_ARCH_IOP3XX is not set
95# CONFIG_ARCH_IXP4XX is not set
96# CONFIG_ARCH_IXP2000 is not set
97# CONFIG_ARCH_IXP23XX is not set
98# CONFIG_ARCH_L7200 is not set
99# CONFIG_ARCH_PXA is not set
100# CONFIG_ARCH_RPC is not set
101CONFIG_ARCH_SA1100=y
102# CONFIG_ARCH_S3C2410 is not set
103# CONFIG_ARCH_SHARK is not set
104# CONFIG_ARCH_LH7A40X is not set
105# CONFIG_ARCH_OMAP is not set
106# CONFIG_ARCH_VERSATILE is not set
107# CONFIG_ARCH_REALVIEW is not set
108# CONFIG_ARCH_IMX is not set
109# CONFIG_ARCH_H720X is not set
110# CONFIG_ARCH_AAEC2000 is not set
111# CONFIG_ARCH_AT91RM9200 is not set
112
113#
114# SA11x0 Implementations
115#
116# CONFIG_SA1100_ASSABET is not set
117# CONFIG_SA1100_CERF is not set
118CONFIG_SA1100_COLLIE=y
119# CONFIG_SA1100_H3100 is not set
120# CONFIG_SA1100_H3600 is not set
121# CONFIG_SA1100_H3800 is not set
122# CONFIG_SA1100_BADGE4 is not set
123# CONFIG_SA1100_JORNADA720 is not set
124# CONFIG_SA1100_HACKKIT is not set
125# CONFIG_SA1100_LART is not set
126# CONFIG_SA1100_PLEB is not set
127# CONFIG_SA1100_SHANNON is not set
128# CONFIG_SA1100_SIMPAD is not set
129# CONFIG_SA1100_SSP is not set
130
131#
132# Processor Type
133#
134CONFIG_CPU_32=y
135CONFIG_CPU_SA1100=y
136CONFIG_CPU_32v4=y
137CONFIG_CPU_ABRT_EV4=y
138CONFIG_CPU_CACHE_V4WB=y
139CONFIG_CPU_CACHE_VIVT=y
140CONFIG_CPU_TLB_V4WB=y
141
142#
143# Processor Features
144#
145CONFIG_KEXEC=y
146CONFIG_SHARP_LOCOMO=y
147CONFIG_SHARP_PARAM=y
148CONFIG_SHARP_SCOOP=y
149
150#
151# Bus support
152#
153CONFIG_ISA=y
154
155#
156# PCCARD (PCMCIA/CardBus) support
157#
158CONFIG_PCCARD=y
159# CONFIG_PCMCIA_DEBUG is not set
160CONFIG_PCMCIA=y
161CONFIG_PCMCIA_LOAD_CIS=y
162CONFIG_PCMCIA_IOCTL=y
163
164#
165# PC-card bridges
166#
167# CONFIG_I82365 is not set
168# CONFIG_TCIC is not set
169CONFIG_PCMCIA_SA1100=y
170
171#
172# Kernel Features
173#
174CONFIG_PREEMPT=y
175CONFIG_NO_IDLE_HZ=y
176CONFIG_HZ=100
177# CONFIG_AEABI is not set
178CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
179CONFIG_NODES_SHIFT=2
180CONFIG_SELECT_MEMORY_MODEL=y
181# CONFIG_FLATMEM_MANUAL is not set
182CONFIG_DISCONTIGMEM_MANUAL=y
183# CONFIG_SPARSEMEM_MANUAL is not set
184CONFIG_DISCONTIGMEM=y
185CONFIG_FLAT_NODE_MEM_MAP=y
186CONFIG_NEED_MULTIPLE_NODES=y
187# CONFIG_SPARSEMEM_STATIC is not set
188CONFIG_SPLIT_PTLOCK_CPUS=4096
189# CONFIG_LEDS is not set
190CONFIG_ALIGNMENT_TRAP=y
191
192#
193# Boot options
194#
195CONFIG_ZBOOT_ROM_TEXT=0x0
196CONFIG_ZBOOT_ROM_BSS=0x0
197CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2 mem=32M fbcon=rotate:1 dyntick=enable quiet"
198# CONFIG_XIP_KERNEL is not set
199
200#
201# CPU Frequency scaling
202#
203# CONFIG_CPU_FREQ is not set
204
205#
206# Floating point emulation
207#
208
209#
210# At least one emulation must be selected
211#
212CONFIG_FPE_NWFPE=y
213# CONFIG_FPE_NWFPE_XP is not set
214# CONFIG_FPE_FASTFPE is not set
215
216#
217# Userspace binary formats
218#
219CONFIG_BINFMT_ELF=y
220CONFIG_BINFMT_AOUT=m
221CONFIG_BINFMT_MISC=m
222# CONFIG_ARTHUR is not set
223
224#
225# Power management options
226#
227CONFIG_PM=y
228# CONFIG_PM_LEGACY is not set
229# CONFIG_PM_DEBUG is not set
230CONFIG_APM=y
231
232#
233# Networking
234#
235CONFIG_NET=y
236
237#
238# Networking options
239#
240# CONFIG_NETDEBUG is not set
241CONFIG_PACKET=y
242CONFIG_PACKET_MMAP=y
243CONFIG_UNIX=y
244CONFIG_XFRM=y
245CONFIG_XFRM_USER=m
246# CONFIG_NET_KEY is not set
247CONFIG_INET=y
248# CONFIG_IP_MULTICAST is not set
249# CONFIG_IP_ADVANCED_ROUTER is not set
250CONFIG_IP_FIB_HASH=y
251# CONFIG_IP_PNP is not set
252# CONFIG_NET_IPIP is not set
253# CONFIG_NET_IPGRE is not set
254# CONFIG_ARPD is not set
255CONFIG_SYN_COOKIES=y
256# CONFIG_INET_AH is not set
257# CONFIG_INET_ESP is not set
258# CONFIG_INET_IPCOMP is not set
259# CONFIG_INET_XFRM_TUNNEL is not set
260# CONFIG_INET_TUNNEL is not set
261CONFIG_INET_DIAG=m
262CONFIG_INET_TCP_DIAG=m
263# CONFIG_TCP_CONG_ADVANCED is not set
264CONFIG_TCP_CONG_BIC=y
265
266#
267# IP: Virtual Server Configuration
268#
269# CONFIG_IP_VS is not set
270CONFIG_IPV6=m
271# CONFIG_IPV6_PRIVACY is not set
272# CONFIG_IPV6_ROUTER_PREF is not set
273CONFIG_INET6_AH=m
274CONFIG_INET6_ESP=m
275CONFIG_INET6_IPCOMP=m
276CONFIG_INET6_XFRM_TUNNEL=m
277CONFIG_INET6_TUNNEL=m
278CONFIG_IPV6_TUNNEL=m
279CONFIG_NETFILTER=y
280# CONFIG_NETFILTER_DEBUG is not set
281
282#
283# Core Netfilter Configuration
284#
285# CONFIG_NETFILTER_NETLINK is not set
286# CONFIG_NETFILTER_XTABLES is not set
287
288#
289# IP: Netfilter Configuration
290#
291CONFIG_IP_NF_CONNTRACK=m
292# CONFIG_IP_NF_CT_ACCT is not set
293# CONFIG_IP_NF_CONNTRACK_MARK is not set
294# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
295CONFIG_IP_NF_CT_PROTO_SCTP=m
296CONFIG_IP_NF_FTP=m
297CONFIG_IP_NF_IRC=m
298# CONFIG_IP_NF_NETBIOS_NS is not set
299CONFIG_IP_NF_TFTP=m
300CONFIG_IP_NF_AMANDA=m
301# CONFIG_IP_NF_PPTP is not set
302# CONFIG_IP_NF_H323 is not set
303CONFIG_IP_NF_QUEUE=m
304
305#
306# IPv6: Netfilter Configuration (EXPERIMENTAL)
307#
308# CONFIG_IP6_NF_QUEUE is not set
309
310#
311# DCCP Configuration (EXPERIMENTAL)
312#
313# CONFIG_IP_DCCP is not set
314
315#
316# SCTP Configuration (EXPERIMENTAL)
317#
318# CONFIG_IP_SCTP is not set
319
320#
321# TIPC Configuration (EXPERIMENTAL)
322#
323# CONFIG_TIPC is not set
324# CONFIG_ATM is not set
325# CONFIG_BRIDGE is not set
326# CONFIG_VLAN_8021Q is not set
327# CONFIG_DECNET is not set
328# CONFIG_LLC2 is not set
329# CONFIG_IPX is not set
330# CONFIG_ATALK is not set
331# CONFIG_X25 is not set
332# CONFIG_LAPB is not set
333# CONFIG_NET_DIVERT is not set
334# CONFIG_ECONET is not set
335# CONFIG_WAN_ROUTER is not set
336
337#
338# QoS and/or fair queueing
339#
340# CONFIG_NET_SCHED is not set
341
342#
343# Network testing
344#
345# CONFIG_NET_PKTGEN is not set
346# CONFIG_HAMRADIO is not set
347CONFIG_IRDA=m
348
349#
350# IrDA protocols
351#
352CONFIG_IRLAN=m
353CONFIG_IRNET=m
354CONFIG_IRCOMM=m
355# CONFIG_IRDA_ULTRA is not set
356
357#
358# IrDA options
359#
360# CONFIG_IRDA_CACHE_LAST_LSAP is not set
361# CONFIG_IRDA_FAST_RR is not set
362# CONFIG_IRDA_DEBUG is not set
363
364#
365# Infrared-port device drivers
366#
367
368#
369# SIR device drivers
370#
371CONFIG_IRTTY_SIR=m
372
373#
374# Dongle support
375#
376# CONFIG_DONGLE is not set
377
378#
379# Old SIR device drivers
380#
381# CONFIG_IRPORT_SIR is not set
382
383#
384# Old Serial dongle support
385#
386
387#
388# FIR device drivers
389#
390CONFIG_USB_IRDA=m
391# CONFIG_SIGMATEL_FIR is not set
392CONFIG_SA1100_FIR=m
393CONFIG_BT=m
394CONFIG_BT_L2CAP=m
395CONFIG_BT_SCO=m
396CONFIG_BT_RFCOMM=m
397CONFIG_BT_RFCOMM_TTY=y
398CONFIG_BT_BNEP=m
399CONFIG_BT_BNEP_MC_FILTER=y
400CONFIG_BT_BNEP_PROTO_FILTER=y
401CONFIG_BT_HIDP=m
402
403#
404# Bluetooth device drivers
405#
406# CONFIG_BT_HCIUSB is not set
407CONFIG_BT_HCIUART=m
408CONFIG_BT_HCIUART_H4=y
409CONFIG_BT_HCIUART_BCSP=y
410# CONFIG_BT_HCIBCM203X is not set
411# CONFIG_BT_HCIBPA10X is not set
412# CONFIG_BT_HCIBFUSB is not set
413CONFIG_BT_HCIDTL1=m
414CONFIG_BT_HCIBT3C=m
415CONFIG_BT_HCIBLUECARD=m
416CONFIG_BT_HCIBTUART=m
417CONFIG_BT_HCIVHCI=m
418CONFIG_IEEE80211=m
419# CONFIG_IEEE80211_DEBUG is not set
420CONFIG_IEEE80211_CRYPT_WEP=m
421CONFIG_IEEE80211_CRYPT_CCMP=m
422CONFIG_IEEE80211_CRYPT_TKIP=m
423# CONFIG_IEEE80211_SOFTMAC is not set
424CONFIG_WIRELESS_EXT=y
425
426#
427# Device Drivers
428#
429
430#
431# Generic Driver Options
432#
433CONFIG_STANDALONE=y
434CONFIG_PREVENT_FIRMWARE_BUILD=y
435CONFIG_FW_LOADER=y
436# CONFIG_DEBUG_DRIVER is not set
437
438#
439# Connector - unified userspace <-> kernelspace linker
440#
441# CONFIG_CONNECTOR is not set
442
443#
444# Memory Technology Devices (MTD)
445#
446CONFIG_MTD=y
447# CONFIG_MTD_DEBUG is not set
448# CONFIG_MTD_CONCAT is not set
449CONFIG_MTD_PARTITIONS=y
450# CONFIG_MTD_REDBOOT_PARTS is not set
451# CONFIG_MTD_CMDLINE_PARTS is not set
452# CONFIG_MTD_AFS_PARTS is not set
453
454#
455# User Modules And Translation Layers
456#
457CONFIG_MTD_CHAR=y
458CONFIG_MTD_BLOCK=y
459# CONFIG_FTL is not set
460# CONFIG_NFTL is not set
461# CONFIG_INFTL is not set
462# CONFIG_RFD_FTL is not set
463
464#
465# RAM/ROM/Flash chip drivers
466#
467# CONFIG_MTD_CFI is not set
468# CONFIG_MTD_JEDECPROBE is not set
469CONFIG_MTD_MAP_BANK_WIDTH_1=y
470CONFIG_MTD_MAP_BANK_WIDTH_2=y
471CONFIG_MTD_MAP_BANK_WIDTH_4=y
472# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
473# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
474# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
475CONFIG_MTD_CFI_I1=y
476CONFIG_MTD_CFI_I2=y
477# CONFIG_MTD_CFI_I4 is not set
478# CONFIG_MTD_CFI_I8 is not set
479# CONFIG_MTD_RAM is not set
480CONFIG_MTD_ROM=y
481# CONFIG_MTD_ABSENT is not set
482CONFIG_MTD_OBSOLETE_CHIPS=y
483CONFIG_MTD_SHARP=y
484
485#
486# Mapping drivers for chip access
487#
488# CONFIG_MTD_COMPLEX_MAPPINGS is not set
489CONFIG_MTD_SA1100=y
490# CONFIG_MTD_PLATRAM is not set
491
492#
493# Self-contained MTD device drivers
494#
495# CONFIG_MTD_SLRAM is not set
496# CONFIG_MTD_PHRAM is not set
497# CONFIG_MTD_MTDRAM is not set
498# CONFIG_MTD_BLOCK2MTD is not set
499
500#
501# Disk-On-Chip Device Drivers
502#
503# CONFIG_MTD_DOC2000 is not set
504# CONFIG_MTD_DOC2001 is not set
505# CONFIG_MTD_DOC2001PLUS is not set
506
507#
508# NAND Flash Device Drivers
509#
510# CONFIG_MTD_NAND is not set
511
512#
513# OneNAND Flash Device Drivers
514#
515# CONFIG_MTD_ONENAND is not set
516
517#
518# Parallel port support
519#
520# CONFIG_PARPORT is not set
521
522#
523# Plug and Play support
524#
525# CONFIG_PNP is not set
526
527#
528# Block devices
529#
530# CONFIG_BLK_DEV_COW_COMMON is not set
531CONFIG_BLK_DEV_LOOP=m
532# CONFIG_BLK_DEV_CRYPTOLOOP is not set
533# CONFIG_BLK_DEV_NBD is not set
534# CONFIG_BLK_DEV_UB is not set
535# CONFIG_BLK_DEV_RAM is not set
536# CONFIG_BLK_DEV_INITRD is not set
537# CONFIG_CDROM_PKTCDVD is not set
538# CONFIG_ATA_OVER_ETH is not set
539
540#
541# ATA/ATAPI/MFM/RLL support
542#
543CONFIG_IDE=y
544CONFIG_BLK_DEV_IDE=m
545
546#
547# Please see Documentation/ide.txt for help/info on IDE drives
548#
549# CONFIG_BLK_DEV_IDE_SATA is not set
550CONFIG_BLK_DEV_IDEDISK=m
551# CONFIG_IDEDISK_MULTI_MODE is not set
552CONFIG_BLK_DEV_IDECS=m
553# CONFIG_BLK_DEV_IDECD is not set
554# CONFIG_BLK_DEV_IDETAPE is not set
555# CONFIG_BLK_DEV_IDEFLOPPY is not set
556# CONFIG_BLK_DEV_IDESCSI is not set
557# CONFIG_IDE_TASK_IOCTL is not set
558
559#
560# IDE chipset support/bugfixes
561#
562# CONFIG_IDE_GENERIC is not set
563# CONFIG_IDE_ARM is not set
564# CONFIG_IDE_CHIPSETS is not set
565# CONFIG_BLK_DEV_IDEDMA is not set
566# CONFIG_IDEDMA_AUTO is not set
567# CONFIG_BLK_DEV_HD is not set
568
569#
570# SCSI device support
571#
572# CONFIG_RAID_ATTRS is not set
573CONFIG_SCSI=m
574CONFIG_SCSI_PROC_FS=y
575
576#
577# SCSI support type (disk, tape, CD-ROM)
578#
579CONFIG_BLK_DEV_SD=m
580CONFIG_CHR_DEV_ST=m
581CONFIG_CHR_DEV_OSST=m
582CONFIG_BLK_DEV_SR=m
583# CONFIG_BLK_DEV_SR_VENDOR is not set
584CONFIG_CHR_DEV_SG=m
585# CONFIG_CHR_DEV_SCH is not set
586
587#
588# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
589#
590CONFIG_SCSI_MULTI_LUN=y
591# CONFIG_SCSI_CONSTANTS is not set
592# CONFIG_SCSI_LOGGING is not set
593
594#
595# SCSI Transport Attributes
596#
597# CONFIG_SCSI_SPI_ATTRS is not set
598# CONFIG_SCSI_FC_ATTRS is not set
599# CONFIG_SCSI_ISCSI_ATTRS is not set
600# CONFIG_SCSI_SAS_ATTRS is not set
601
602#
603# SCSI low-level drivers
604#
605# CONFIG_ISCSI_TCP is not set
606# CONFIG_SCSI_AHA152X is not set
607# CONFIG_SCSI_AIC7XXX_OLD is not set
608# CONFIG_SCSI_IN2000 is not set
609# CONFIG_SCSI_SATA is not set
610# CONFIG_SCSI_DTC3280 is not set
611# CONFIG_SCSI_FUTURE_DOMAIN is not set
612# CONFIG_SCSI_GENERIC_NCR5380 is not set
613# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
614# CONFIG_SCSI_NCR53C406A is not set
615# CONFIG_SCSI_PAS16 is not set
616# CONFIG_SCSI_PSI240I is not set
617# CONFIG_SCSI_QLOGIC_FAS is not set
618# CONFIG_SCSI_SYM53C416 is not set
619# CONFIG_SCSI_T128 is not set
620# CONFIG_SCSI_DEBUG is not set
621
622#
623# PCMCIA SCSI adapter support
624#
625# CONFIG_PCMCIA_AHA152X is not set
626# CONFIG_PCMCIA_FDOMAIN is not set
627# CONFIG_PCMCIA_NINJA_SCSI is not set
628# CONFIG_PCMCIA_QLOGIC is not set
629# CONFIG_PCMCIA_SYM53C500 is not set
630
631#
632# Multi-device support (RAID and LVM)
633#
634CONFIG_MD=y
635CONFIG_BLK_DEV_DM=m
636CONFIG_DM_CRYPT=m
637CONFIG_DM_SNAPSHOT=m
638CONFIG_DM_MIRROR=m
639CONFIG_DM_ZERO=m
640CONFIG_DM_MULTIPATH=m
641CONFIG_DM_MULTIPATH_EMC=m
642
643#
644# Fusion MPT device support
645#
646# CONFIG_FUSION is not set
647
648#
649# IEEE 1394 (FireWire) support
650#
651
652#
653# I2O device support
654#
655
656#
657# Network device support
658#
659CONFIG_NETDEVICES=y
660# CONFIG_DUMMY is not set
661# CONFIG_BONDING is not set
662# CONFIG_EQUALIZER is not set
663CONFIG_TUN=m
664
665#
666# ARCnet devices
667#
668# CONFIG_ARCNET is not set
669
670#
671# PHY device support
672#
673# CONFIG_PHYLIB is not set
674
675#
676# Ethernet (10 or 100Mbit)
677#
678CONFIG_NET_ETHERNET=y
679CONFIG_MII=m
680# CONFIG_NET_VENDOR_3COM is not set
681# CONFIG_NET_VENDOR_SMC is not set
682# CONFIG_SMC91X is not set
683# CONFIG_DM9000 is not set
684# CONFIG_NET_VENDOR_RACAL is not set
685# CONFIG_AT1700 is not set
686# CONFIG_DEPCA is not set
687# CONFIG_HP100 is not set
688# CONFIG_NET_ISA is not set
689# CONFIG_NET_PCI is not set
690
691#
692# Ethernet (1000 Mbit)
693#
694
695#
696# Ethernet (10000 Mbit)
697#
698
699#
700# Token Ring devices
701#
702# CONFIG_TR is not set
703
704#
705# Wireless LAN (non-hamradio)
706#
707CONFIG_NET_RADIO=y
708# CONFIG_NET_WIRELESS_RTNETLINK is not set
709
710#
711# Obsolete Wireless cards support (pre-802.11)
712#
713# CONFIG_STRIP is not set
714# CONFIG_ARLAN is not set
715# CONFIG_WAVELAN is not set
716# CONFIG_PCMCIA_WAVELAN is not set
717# CONFIG_PCMCIA_NETWAVE is not set
718
719#
720# Wireless 802.11 Frequency Hopping cards support
721#
722# CONFIG_PCMCIA_RAYCS is not set
723
724#
725# Wireless 802.11b ISA/PCI cards support
726#
727CONFIG_HERMES=m
728# CONFIG_ATMEL is not set
729
730#
731# Wireless 802.11b Pcmcia/Cardbus cards support
732#
733CONFIG_PCMCIA_HERMES=m
734CONFIG_PCMCIA_SPECTRUM=m
735# CONFIG_AIRO_CS is not set
736# CONFIG_PCMCIA_WL3501 is not set
737CONFIG_HOSTAP=m
738CONFIG_HOSTAP_FIRMWARE=y
739# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
740CONFIG_HOSTAP_CS=m
741CONFIG_NET_WIRELESS=y
742
743#
744# PCMCIA network device support
745#
746CONFIG_NET_PCMCIA=y
747# CONFIG_PCMCIA_3C589 is not set
748# CONFIG_PCMCIA_3C574 is not set
749# CONFIG_PCMCIA_FMVJ18X is not set
750CONFIG_PCMCIA_PCNET=m
751# CONFIG_PCMCIA_NMCLAN is not set
752# CONFIG_PCMCIA_SMC91C92 is not set
753# CONFIG_PCMCIA_XIRC2PS is not set
754# CONFIG_PCMCIA_AXNET is not set
755
756#
757# Wan interfaces
758#
759# CONFIG_WAN is not set
760CONFIG_PPP=m
761# CONFIG_PPP_MULTILINK is not set
762# CONFIG_PPP_FILTER is not set
763CONFIG_PPP_ASYNC=m
764# CONFIG_PPP_SYNC_TTY is not set
765CONFIG_PPP_DEFLATE=m
766CONFIG_PPP_BSDCOMP=m
767# CONFIG_PPP_MPPE is not set
768# CONFIG_PPPOE is not set
769# CONFIG_SLIP is not set
770# CONFIG_SHAPER is not set
771# CONFIG_NETCONSOLE is not set
772# CONFIG_NETPOLL is not set
773# CONFIG_NET_POLL_CONTROLLER is not set
774
775#
776# ISDN subsystem
777#
778# CONFIG_ISDN is not set
779
780#
781# Input device support
782#
783CONFIG_INPUT=y
784
785#
786# Userland interfaces
787#
788CONFIG_INPUT_MOUSEDEV=m
789# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
790CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
791CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
792# CONFIG_INPUT_JOYDEV is not set
793# CONFIG_INPUT_TSDEV is not set
794CONFIG_INPUT_EVDEV=y
795# CONFIG_INPUT_EVBUG is not set
796CONFIG_INPUT_POWER=y
797
798#
799# Input Device Drivers
800#
801CONFIG_INPUT_KEYBOARD=y
802# CONFIG_KEYBOARD_ATKBD is not set
803# CONFIG_KEYBOARD_SUNKBD is not set
804# CONFIG_KEYBOARD_LKKBD is not set
805CONFIG_KEYBOARD_LOCOMO=y
806# CONFIG_KEYBOARD_XTKBD is not set
807# CONFIG_KEYBOARD_NEWTON is not set
808# CONFIG_INPUT_MOUSE is not set
809# CONFIG_INPUT_JOYSTICK is not set
810# CONFIG_INPUT_TOUCHSCREEN is not set
811# CONFIG_INPUT_MISC is not set
812
813#
814# Hardware I/O ports
815#
816# CONFIG_SERIO is not set
817# CONFIG_GAMEPORT is not set
818
819#
820# Character devices
821#
822CONFIG_VT=y
823CONFIG_VT_CONSOLE=y
824CONFIG_HW_CONSOLE=y
825# CONFIG_SERIAL_NONSTANDARD is not set
826
827#
828# Serial drivers
829#
830CONFIG_SERIAL_8250=m
831CONFIG_SERIAL_8250_CS=m
832CONFIG_SERIAL_8250_NR_UARTS=4
833CONFIG_SERIAL_8250_RUNTIME_UARTS=4
834# CONFIG_SERIAL_8250_EXTENDED is not set
835
836#
837# Non-8250 serial port support
838#
839CONFIG_SERIAL_SA1100=y
840CONFIG_SERIAL_SA1100_CONSOLE=y
841CONFIG_SERIAL_CORE=y
842CONFIG_SERIAL_CORE_CONSOLE=y
843CONFIG_UNIX98_PTYS=y
844# CONFIG_LEGACY_PTYS is not set
845
846#
847# IPMI
848#
849# CONFIG_IPMI_HANDLER is not set
850
851#
852# Watchdog Cards
853#
854# CONFIG_WATCHDOG is not set
855# CONFIG_NVRAM is not set
856# CONFIG_DTLK is not set
857# CONFIG_R3964 is not set
858
859#
860# Ftape, the floppy tape device driver
861#
862
863#
864# PCMCIA character devices
865#
866# CONFIG_SYNCLINK_CS is not set
867# CONFIG_CARDMAN_4000 is not set
868# CONFIG_CARDMAN_4040 is not set
869# CONFIG_RAW_DRIVER is not set
870
871#
872# TPM devices
873#
874# CONFIG_TCG_TPM is not set
875# CONFIG_TELCLOCK is not set
876
877#
878# I2C support
879#
880CONFIG_I2C=m
881# CONFIG_I2C_CHARDEV is not set
882
883#
884# I2C Algorithms
885#
886# CONFIG_I2C_ALGOBIT is not set
887# CONFIG_I2C_ALGOPCF is not set
888# CONFIG_I2C_ALGOPCA is not set
889
890#
891# I2C Hardware Bus support
892#
893# CONFIG_I2C_ELEKTOR is not set
894# CONFIG_I2C_PARPORT_LIGHT is not set
895# CONFIG_I2C_STUB is not set
896# CONFIG_I2C_PCA_ISA is not set
897
898#
899# Miscellaneous I2C Chip support
900#
901# CONFIG_SENSORS_DS1337 is not set
902# CONFIG_SENSORS_DS1374 is not set
903# CONFIG_SENSORS_EEPROM is not set
904# CONFIG_SENSORS_PCF8574 is not set
905# CONFIG_SENSORS_PCA9539 is not set
906# CONFIG_SENSORS_PCF8591 is not set
907# CONFIG_SENSORS_MAX6875 is not set
908# CONFIG_I2C_DEBUG_CORE is not set
909# CONFIG_I2C_DEBUG_ALGO is not set
910# CONFIG_I2C_DEBUG_BUS is not set
911# CONFIG_I2C_DEBUG_CHIP is not set
912
913#
914# SPI support
915#
916# CONFIG_SPI is not set
917# CONFIG_SPI_MASTER is not set
918
919#
920# Dallas's 1-wire bus
921#
922# CONFIG_W1 is not set
923
924#
925# Hardware Monitoring support
926#
927# CONFIG_HWMON is not set
928# CONFIG_HWMON_VID is not set
929
930#
931# Misc devices
932#
933
934#
935# Multimedia Capabilities Port drivers
936#
937CONFIG_MCP=y
938CONFIG_MCP_SA11X0=y
939CONFIG_MCP_UCB1200=y
940# CONFIG_MCP_UCB1200_AUDIO is not set
941CONFIG_MCP_UCB1200_TS=m
942
943#
944# Multi-Function Devices
945#
946
947#
948# LED devices
949#
950CONFIG_NEW_LEDS=y
951CONFIG_LEDS_CLASS=y
952
953#
954# LED drivers
955#
956# CONFIG_LEDS_LOCOMO is not set
957
958#
959# LED Triggers
960#
961CONFIG_LEDS_TRIGGERS=y
962CONFIG_LEDS_TRIGGER_TIMER=m
963# CONFIG_LEDS_TRIGGER_IDE_DISK is not set
964
965#
966# Multimedia devices
967#
968CONFIG_VIDEO_DEV=m
969CONFIG_VIDEO_V4L1=y
970CONFIG_VIDEO_V4L1_COMPAT=y
971CONFIG_VIDEO_V4L2=y
972
973#
974# Video Capture Adapters
975#
976
977#
978# Video Capture Adapters
979#
980# CONFIG_VIDEO_ADV_DEBUG is not set
981# CONFIG_VIDEO_VIVI is not set
982# CONFIG_VIDEO_PMS is not set
983# CONFIG_VIDEO_CPIA is not set
984# CONFIG_VIDEO_CPIA2 is not set
985# CONFIG_VIDEO_SAA5246A is not set
986# CONFIG_VIDEO_SAA5249 is not set
987# CONFIG_TUNER_3036 is not set
988# CONFIG_VIDEO_OVCAMCHIP is not set
989
990#
991# Encoders and Decoders
992#
993# CONFIG_VIDEO_MSP3400 is not set
994# CONFIG_VIDEO_CS53L32A is not set
995# CONFIG_VIDEO_WM8775 is not set
996# CONFIG_VIDEO_WM8739 is not set
997# CONFIG_VIDEO_CX25840 is not set
998# CONFIG_VIDEO_SAA711X is not set
999# CONFIG_VIDEO_SAA7127 is not set
1000# CONFIG_VIDEO_UPD64031A is not set
1001# CONFIG_VIDEO_UPD64083 is not set
1002
1003#
1004# V4L USB devices
1005#
1006# CONFIG_VIDEO_EM28XX is not set
1007# CONFIG_USB_DSBR is not set
1008# CONFIG_USB_VICAM is not set
1009# CONFIG_USB_IBMCAM is not set
1010# CONFIG_USB_KONICAWC is not set
1011# CONFIG_USB_ET61X251 is not set
1012# CONFIG_USB_OV511 is not set
1013# CONFIG_USB_SE401 is not set
1014# CONFIG_USB_SN9C102 is not set
1015# CONFIG_USB_STV680 is not set
1016# CONFIG_USB_W9968CF is not set
1017# CONFIG_USB_ZC0301 is not set
1018# CONFIG_USB_PWC is not set
1019
1020#
1021# Radio Adapters
1022#
1023# CONFIG_RADIO_CADET is not set
1024# CONFIG_RADIO_RTRACK is not set
1025# CONFIG_RADIO_RTRACK2 is not set
1026# CONFIG_RADIO_AZTECH is not set
1027# CONFIG_RADIO_GEMTEK is not set
1028# CONFIG_RADIO_MAESTRO is not set
1029# CONFIG_RADIO_SF16FMI is not set
1030# CONFIG_RADIO_SF16FMR2 is not set
1031# CONFIG_RADIO_TERRATEC is not set
1032# CONFIG_RADIO_TRUST is not set
1033# CONFIG_RADIO_TYPHOON is not set
1034# CONFIG_RADIO_ZOLTRIX is not set
1035
1036#
1037# Digital Video Broadcasting Devices
1038#
1039# CONFIG_DVB is not set
1040# CONFIG_USB_DABUSB is not set
1041
1042#
1043# Graphics support
1044#
1045CONFIG_FB=y
1046CONFIG_FB_CFB_FILLRECT=y
1047CONFIG_FB_CFB_COPYAREA=y
1048CONFIG_FB_CFB_IMAGEBLIT=y
1049# CONFIG_FB_MACMODES is not set
1050# CONFIG_FB_FIRMWARE_EDID is not set
1051# CONFIG_FB_MODE_HELPERS is not set
1052# CONFIG_FB_TILEBLITTING is not set
1053CONFIG_FB_SA1100=y
1054# CONFIG_FB_S1D13XXX is not set
1055# CONFIG_FB_VIRTUAL is not set
1056
1057#
1058# Console display driver support
1059#
1060# CONFIG_VGA_CONSOLE is not set
1061# CONFIG_MDA_CONSOLE is not set
1062CONFIG_DUMMY_CONSOLE=y
1063CONFIG_FRAMEBUFFER_CONSOLE=y
1064CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
1065CONFIG_FONTS=y
1066CONFIG_FONT_8x8=y
1067# CONFIG_FONT_8x16 is not set
1068# CONFIG_FONT_6x11 is not set
1069# CONFIG_FONT_7x14 is not set
1070# CONFIG_FONT_PEARL_8x8 is not set
1071# CONFIG_FONT_ACORN_8x8 is not set
1072# CONFIG_FONT_MINI_4x6 is not set
1073# CONFIG_FONT_SUN8x16 is not set
1074# CONFIG_FONT_SUN12x22 is not set
1075# CONFIG_FONT_10x18 is not set
1076
1077#
1078# Logo configuration
1079#
1080CONFIG_LOGO=y
1081# CONFIG_LOGO_LINUX_MONO is not set
1082# CONFIG_LOGO_LINUX_VGA16 is not set
1083# CONFIG_LOGO_LINUX_CLUT224 is not set
1084# CONFIG_LOGO_OHAND_CLUT224 is not set
1085CONFIG_LOGO_OZ240_CLUT224=y
1086# CONFIG_LOGO_OZ480_CLUT224 is not set
1087# CONFIG_LOGO_OZ640_CLUT224 is not set
1088CONFIG_BACKLIGHT_LCD_SUPPORT=y
1089CONFIG_BACKLIGHT_CLASS_DEVICE=y
1090CONFIG_BACKLIGHT_DEVICE=y
1091# CONFIG_LCD_CLASS_DEVICE is not set
1092CONFIG_BACKLIGHT_LOCOMO=y
1093
1094#
1095# Sound
1096#
1097CONFIG_SOUND=m
1098
1099#
1100# Advanced Linux Sound Architecture
1101#
1102CONFIG_SND=m
1103CONFIG_SND_TIMER=m
1104CONFIG_SND_PCM=m
1105# CONFIG_SND_SEQUENCER is not set
1106CONFIG_SND_OSSEMUL=y
1107CONFIG_SND_MIXER_OSS=m
1108CONFIG_SND_PCM_OSS=m
1109CONFIG_SND_PCM_OSS_PLUGINS=y
1110# CONFIG_SND_DYNAMIC_MINORS is not set
1111CONFIG_SND_SUPPORT_OLD_API=y
1112CONFIG_SND_VERBOSE_PROCFS=y
1113# CONFIG_SND_VERBOSE_PRINTK is not set
1114# CONFIG_SND_DEBUG is not set
1115
1116#
1117# Generic devices
1118#
1119CONFIG_SND_DUMMY=m
1120# CONFIG_SND_MTPAV is not set
1121# CONFIG_SND_SERIAL_U16550 is not set
1122# CONFIG_SND_MPU401 is not set
1123
1124#
1125# ALSA ARM devices
1126#
1127
1128#
1129# USB devices
1130#
1131# CONFIG_SND_USB_AUDIO is not set
1132
1133#
1134# PCMCIA devices
1135#
1136# CONFIG_SND_VXPOCKET is not set
1137# CONFIG_SND_PDAUDIOCF is not set
1138
1139#
1140# SoC audio support
1141#
1142# CONFIG_SND_SOC is not set
1143
1144#
1145# Open Sound System
1146#
1147# CONFIG_SOUND_PRIME is not set
1148
1149#
1150# USB support
1151#
1152CONFIG_USB_ARCH_HAS_HCD=y
1153# CONFIG_USB_ARCH_HAS_OHCI is not set
1154# CONFIG_USB_ARCH_HAS_EHCI is not set
1155CONFIG_USB=m
1156# CONFIG_USB_DEBUG is not set
1157
1158#
1159# Miscellaneous USB options
1160#
1161CONFIG_USB_DEVICEFS=y
1162# CONFIG_USB_BANDWIDTH is not set
1163# CONFIG_USB_DYNAMIC_MINORS is not set
1164# CONFIG_USB_SUSPEND is not set
1165# CONFIG_USB_OTG is not set
1166
1167#
1168# USB Host Controller Drivers
1169#
1170# CONFIG_USB_ISP116X_HCD is not set
1171CONFIG_USB_SL811_HCD=m
1172CONFIG_USB_SL811_CS=m
1173
1174#
1175# USB Device Class drivers
1176#
1177# CONFIG_USB_ACM is not set
1178# CONFIG_USB_PRINTER is not set
1179
1180#
1181# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1182#
1183
1184#
1185# may also be needed; see USB_STORAGE Help for more information
1186#
1187CONFIG_USB_STORAGE=m
1188# CONFIG_USB_STORAGE_DEBUG is not set
1189# CONFIG_USB_STORAGE_DATAFAB is not set
1190# CONFIG_USB_STORAGE_FREECOM is not set
1191# CONFIG_USB_STORAGE_ISD200 is not set
1192# CONFIG_USB_STORAGE_DPCM is not set
1193# CONFIG_USB_STORAGE_USBAT is not set
1194# CONFIG_USB_STORAGE_SDDR09 is not set
1195# CONFIG_USB_STORAGE_SDDR55 is not set
1196# CONFIG_USB_STORAGE_JUMPSHOT is not set
1197# CONFIG_USB_STORAGE_ALAUDA is not set
1198# CONFIG_USB_LIBUSUAL is not set
1199
1200#
1201# USB Input Devices
1202#
1203CONFIG_USB_HID=m
1204CONFIG_USB_HIDINPUT=y
1205# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1206# CONFIG_HID_FF is not set
1207# CONFIG_USB_HIDDEV is not set
1208
1209#
1210# USB HID Boot Protocol drivers
1211#
1212# CONFIG_USB_KBD is not set
1213# CONFIG_USB_MOUSE is not set
1214# CONFIG_USB_AIPTEK is not set
1215# CONFIG_USB_WACOM is not set
1216# CONFIG_USB_ACECAD is not set
1217# CONFIG_USB_KBTAB is not set
1218# CONFIG_USB_POWERMATE is not set
1219# CONFIG_USB_TOUCHSCREEN is not set
1220# CONFIG_USB_YEALINK is not set
1221# CONFIG_USB_XPAD is not set
1222# CONFIG_USB_ATI_REMOTE is not set
1223# CONFIG_USB_ATI_REMOTE2 is not set
1224# CONFIG_USB_KEYSPAN_REMOTE is not set
1225# CONFIG_USB_APPLETOUCH is not set
1226
1227#
1228# USB Imaging devices
1229#
1230# CONFIG_USB_MDC800 is not set
1231# CONFIG_USB_MICROTEK is not set
1232
1233#
1234# USB Network Adapters
1235#
1236# CONFIG_USB_CATC is not set
1237# CONFIG_USB_KAWETH is not set
1238# CONFIG_USB_PEGASUS is not set
1239# CONFIG_USB_RTL8150 is not set
1240CONFIG_USB_USBNET=m
1241CONFIG_USB_NET_AX8817X=m
1242CONFIG_USB_NET_CDCETHER=m
1243# CONFIG_USB_NET_GL620A is not set
1244CONFIG_USB_NET_NET1080=m
1245# CONFIG_USB_NET_PLUSB is not set
1246# CONFIG_USB_NET_RNDIS_HOST is not set
1247CONFIG_USB_NET_CDC_SUBSET=m
1248# CONFIG_USB_ALI_M5632 is not set
1249# CONFIG_USB_AN2720 is not set
1250CONFIG_USB_BELKIN=y
1251CONFIG_USB_ARMLINUX=y
1252# CONFIG_USB_EPSON2888 is not set
1253CONFIG_USB_NET_ZAURUS=m
1254# CONFIG_USB_ZD1201 is not set
1255CONFIG_USB_MON=y
1256
1257#
1258# USB port drivers
1259#
1260
1261#
1262# USB Serial Converter support
1263#
1264CONFIG_USB_SERIAL=m
1265CONFIG_USB_SERIAL_GENERIC=y
1266CONFIG_USB_SERIAL_AIRPRIME=m
1267CONFIG_USB_SERIAL_ANYDATA=m
1268CONFIG_USB_SERIAL_ARK3116=m
1269CONFIG_USB_SERIAL_BELKIN=m
1270CONFIG_USB_SERIAL_WHITEHEAT=m
1271CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
1272CONFIG_USB_SERIAL_CP2101=m
1273CONFIG_USB_SERIAL_CYPRESS_M8=m
1274CONFIG_USB_SERIAL_EMPEG=m
1275CONFIG_USB_SERIAL_FTDI_SIO=m
1276CONFIG_USB_SERIAL_FUNSOFT=m
1277CONFIG_USB_SERIAL_VISOR=m
1278CONFIG_USB_SERIAL_IPAQ=m
1279CONFIG_USB_SERIAL_IR=m
1280CONFIG_USB_SERIAL_EDGEPORT=m
1281CONFIG_USB_SERIAL_EDGEPORT_TI=m
1282CONFIG_USB_SERIAL_GARMIN=m
1283CONFIG_USB_SERIAL_IPW=m
1284CONFIG_USB_SERIAL_KEYSPAN_PDA=m
1285CONFIG_USB_SERIAL_KEYSPAN=m
1286# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
1287# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
1288# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
1289# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
1290# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
1291# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
1292# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
1293# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
1294# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
1295# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
1296# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
1297# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
1298CONFIG_USB_SERIAL_KLSI=m
1299CONFIG_USB_SERIAL_KOBIL_SCT=m
1300CONFIG_USB_SERIAL_MCT_U232=m
1301# CONFIG_USB_SERIAL_NAVMAN is not set
1302CONFIG_USB_SERIAL_PL2303=m
1303CONFIG_USB_SERIAL_HP4X=m
1304CONFIG_USB_SERIAL_SAFE=m
1305# CONFIG_USB_SERIAL_SAFE_PADDED is not set
1306CONFIG_USB_SERIAL_TI=m
1307CONFIG_USB_SERIAL_CYBERJACK=m
1308CONFIG_USB_SERIAL_XIRCOM=m
1309# CONFIG_USB_SERIAL_OMNINET is not set
1310CONFIG_USB_EZUSB=y
1311
1312#
1313# USB Miscellaneous drivers
1314#
1315# CONFIG_USB_EMI62 is not set
1316# CONFIG_USB_EMI26 is not set
1317# CONFIG_USB_AUERSWALD is not set
1318# CONFIG_USB_RIO500 is not set
1319# CONFIG_USB_LEGOTOWER is not set
1320# CONFIG_USB_LCD is not set
1321# CONFIG_USB_LED is not set
1322# CONFIG_USB_CYTHERM is not set
1323# CONFIG_USB_PHIDGETKIT is not set
1324# CONFIG_USB_PHIDGETSERVO is not set
1325# CONFIG_USB_IDMOUSE is not set
1326# CONFIG_USB_LD is not set
1327# CONFIG_USB_TEST is not set
1328
1329#
1330# USB DSL modem support
1331#
1332
1333#
1334# USB Gadget Support
1335#
1336CONFIG_USB_GADGET=y
1337# CONFIG_USB_GADGET_DEBUG_FILES is not set
1338CONFIG_USB_GADGET_SELECTED=y
1339# CONFIG_USB_GADGET_NET2280 is not set
1340# CONFIG_USB_GADGET_PXA2XX is not set
1341# CONFIG_USB_GADGET_PXA27X is not set
1342# CONFIG_USB_GADGET_GOKU is not set
1343# CONFIG_USB_GADGET_LH7A40X is not set
1344# CONFIG_USB_GADGET_OMAP is not set
1345# CONFIG_USB_GADGET_AT91 is not set
1346CONFIG_USB_GADGET_SA1100=y
1347CONFIG_USB_SA1100=y
1348# CONFIG_USB_GADGET_DUMMY_HCD is not set
1349# CONFIG_USB_GADGET_DUALSPEED is not set
1350CONFIG_USB_ZERO=m
1351CONFIG_USB_ETH=m
1352CONFIG_USB_ETH_RNDIS=y
1353CONFIG_USB_GADGETFS=m
1354CONFIG_USB_FILE_STORAGE=m
1355CONFIG_USB_FILE_STORAGE_TEST=y
1356CONFIG_USB_G_SERIAL=m
1357
1358#
1359# MMC/SD Card support
1360#
1361CONFIG_MMC=y
1362# CONFIG_MMC_DEBUG is not set
1363CONFIG_MMC_BLOCK=y
1364
1365#
1366# Real Time Clock
1367#
1368CONFIG_RTC_LIB=y
1369CONFIG_RTC_CLASS=y
1370CONFIG_RTC_HCTOSYS=y
1371CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1372
1373#
1374# RTC interfaces
1375#
1376CONFIG_RTC_INTF_SYSFS=y
1377CONFIG_RTC_INTF_PROC=y
1378CONFIG_RTC_INTF_DEV=y
1379
1380#
1381# RTC drivers
1382#
1383# CONFIG_RTC_DRV_X1205 is not set
1384# CONFIG_RTC_DRV_DS1672 is not set
1385# CONFIG_RTC_DRV_PCF8563 is not set
1386# CONFIG_RTC_DRV_RS5C372 is not set
1387# CONFIG_RTC_DRV_M48T86 is not set
1388CONFIG_RTC_DRV_SA1100=y
1389# CONFIG_RTC_DRV_TEST is not set
1390
1391#
1392# File systems
1393#
1394CONFIG_EXT2_FS=y
1395# CONFIG_EXT2_FS_XATTR is not set
1396# CONFIG_EXT2_FS_XIP is not set
1397# CONFIG_EXT3_FS is not set
1398# CONFIG_REISERFS_FS is not set
1399# CONFIG_JFS_FS is not set
1400# CONFIG_FS_POSIX_ACL is not set
1401# CONFIG_XFS_FS is not set
1402# CONFIG_OCFS2_FS is not set
1403# CONFIG_MINIX_FS is not set
1404# CONFIG_ROMFS_FS is not set
1405CONFIG_INOTIFY=y
1406# CONFIG_QUOTA is not set
1407CONFIG_DNOTIFY=y
1408# CONFIG_AUTOFS_FS is not set
1409# CONFIG_AUTOFS4_FS is not set
1410CONFIG_FUSE_FS=m
1411
1412#
1413# CD-ROM/DVD Filesystems
1414#
1415# CONFIG_ISO9660_FS is not set
1416# CONFIG_UDF_FS is not set
1417
1418#
1419# DOS/FAT/NT Filesystems
1420#
1421CONFIG_FAT_FS=m
1422CONFIG_MSDOS_FS=m
1423CONFIG_VFAT_FS=m
1424CONFIG_FAT_DEFAULT_CODEPAGE=437
1425CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1426# CONFIG_NTFS_FS is not set
1427
1428#
1429# Pseudo filesystems
1430#
1431CONFIG_PROC_FS=y
1432CONFIG_SYSFS=y
1433CONFIG_TMPFS=y
1434# CONFIG_HUGETLB_PAGE is not set
1435CONFIG_RAMFS=y
1436# CONFIG_CONFIGFS_FS is not set
1437
1438#
1439# Miscellaneous filesystems
1440#
1441# CONFIG_ADFS_FS is not set
1442# CONFIG_AFFS_FS is not set
1443# CONFIG_HFS_FS is not set
1444# CONFIG_HFSPLUS_FS is not set
1445# CONFIG_BEFS_FS is not set
1446# CONFIG_BFS_FS is not set
1447# CONFIG_EFS_FS is not set
1448# CONFIG_JFFS_FS is not set
1449CONFIG_JFFS2_FS=y
1450CONFIG_JFFS2_FS_DEBUG=0
1451CONFIG_JFFS2_FS_WRITEBUFFER=y
1452# CONFIG_JFFS2_SUMMARY is not set
1453# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
1454CONFIG_JFFS2_ZLIB=y
1455CONFIG_JFFS2_RTIME=y
1456# CONFIG_JFFS2_RUBIN is not set
1457CONFIG_CRAMFS=m
1458CONFIG_SQUASHFS=m
1459# CONFIG_SQUASHFS_EMBEDDED is not set
1460CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
1461# CONFIG_SQUASHFS_VMALLOC is not set
1462# CONFIG_VXFS_FS is not set
1463# CONFIG_HPFS_FS is not set
1464# CONFIG_QNX4FS_FS is not set
1465# CONFIG_SYSV_FS is not set
1466# CONFIG_UFS_FS is not set
1467
1468#
1469# Network File Systems
1470#
1471CONFIG_NFS_FS=m
1472CONFIG_NFS_V3=y
1473# CONFIG_NFS_V3_ACL is not set
1474CONFIG_NFS_V4=y
1475# CONFIG_NFS_DIRECTIO is not set
1476# CONFIG_NFSD is not set
1477CONFIG_LOCKD=m
1478CONFIG_LOCKD_V4=y
1479CONFIG_NFS_COMMON=y
1480CONFIG_SUNRPC=m
1481CONFIG_SUNRPC_GSS=m
1482CONFIG_RPCSEC_GSS_KRB5=m
1483# CONFIG_RPCSEC_GSS_SPKM3 is not set
1484CONFIG_SMB_FS=m
1485CONFIG_SMB_NLS_DEFAULT=y
1486CONFIG_SMB_NLS_REMOTE="cp437"
1487CONFIG_CIFS=m
1488# CONFIG_CIFS_STATS is not set
1489# CONFIG_CIFS_XATTR is not set
1490# CONFIG_CIFS_EXPERIMENTAL is not set
1491# CONFIG_NCP_FS is not set
1492# CONFIG_CODA_FS is not set
1493# CONFIG_AFS_FS is not set
1494# CONFIG_9P_FS is not set
1495
1496#
1497# Partition Types
1498#
1499CONFIG_PARTITION_ADVANCED=y
1500# CONFIG_ACORN_PARTITION is not set
1501# CONFIG_OSF_PARTITION is not set
1502# CONFIG_AMIGA_PARTITION is not set
1503# CONFIG_ATARI_PARTITION is not set
1504# CONFIG_MAC_PARTITION is not set
1505CONFIG_MSDOS_PARTITION=y
1506# CONFIG_BSD_DISKLABEL is not set
1507# CONFIG_MINIX_SUBPARTITION is not set
1508# CONFIG_SOLARIS_X86_PARTITION is not set
1509# CONFIG_UNIXWARE_DISKLABEL is not set
1510# CONFIG_LDM_PARTITION is not set
1511# CONFIG_SGI_PARTITION is not set
1512# CONFIG_ULTRIX_PARTITION is not set
1513# CONFIG_SUN_PARTITION is not set
1514# CONFIG_KARMA_PARTITION is not set
1515# CONFIG_EFI_PARTITION is not set
1516
1517#
1518# Native Language Support
1519#
1520CONFIG_NLS=y
1521CONFIG_NLS_DEFAULT="cp437"
1522CONFIG_NLS_CODEPAGE_437=y
1523CONFIG_NLS_CODEPAGE_737=m
1524CONFIG_NLS_CODEPAGE_775=m
1525CONFIG_NLS_CODEPAGE_850=m
1526CONFIG_NLS_CODEPAGE_852=m
1527CONFIG_NLS_CODEPAGE_855=m
1528CONFIG_NLS_CODEPAGE_857=m
1529CONFIG_NLS_CODEPAGE_860=m
1530CONFIG_NLS_CODEPAGE_861=m
1531CONFIG_NLS_CODEPAGE_862=m
1532CONFIG_NLS_CODEPAGE_863=m
1533CONFIG_NLS_CODEPAGE_864=m
1534CONFIG_NLS_CODEPAGE_865=m
1535CONFIG_NLS_CODEPAGE_866=m
1536CONFIG_NLS_CODEPAGE_869=m
1537CONFIG_NLS_CODEPAGE_936=m
1538CONFIG_NLS_CODEPAGE_950=m
1539CONFIG_NLS_CODEPAGE_932=m
1540CONFIG_NLS_CODEPAGE_949=m
1541CONFIG_NLS_CODEPAGE_874=m
1542CONFIG_NLS_ISO8859_8=m
1543CONFIG_NLS_CODEPAGE_1250=m
1544CONFIG_NLS_CODEPAGE_1251=m
1545CONFIG_NLS_ASCII=m
1546CONFIG_NLS_ISO8859_1=y
1547CONFIG_NLS_ISO8859_2=m
1548CONFIG_NLS_ISO8859_3=m
1549CONFIG_NLS_ISO8859_4=m
1550CONFIG_NLS_ISO8859_5=m
1551CONFIG_NLS_ISO8859_6=m
1552CONFIG_NLS_ISO8859_7=m
1553CONFIG_NLS_ISO8859_9=m
1554CONFIG_NLS_ISO8859_13=m
1555CONFIG_NLS_ISO8859_14=m
1556CONFIG_NLS_ISO8859_15=m
1557CONFIG_NLS_KOI8_R=m
1558CONFIG_NLS_KOI8_U=m
1559CONFIG_NLS_UTF8=y
1560
1561#
1562# Profiling support
1563#
1564# CONFIG_PROFILING is not set
1565
1566#
1567# Kernel hacking
1568#
1569# CONFIG_PRINTK_TIME is not set
1570CONFIG_MAGIC_SYSRQ=y
1571CONFIG_DEBUG_KERNEL=y
1572CONFIG_LOG_BUF_SHIFT=14
1573CONFIG_DETECT_SOFTLOCKUP=y
1574# CONFIG_SCHEDSTATS is not set
1575# CONFIG_DEBUG_SLAB is not set
1576# CONFIG_DEBUG_PREEMPT is not set
1577# CONFIG_DEBUG_MUTEXES is not set
1578# CONFIG_DEBUG_SPINLOCK is not set
1579# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1580# CONFIG_DEBUG_KOBJECT is not set
1581# CONFIG_DEBUG_BUGVERBOSE is not set
1582# CONFIG_DEBUG_INFO is not set
1583# CONFIG_DEBUG_FS is not set
1584# CONFIG_DEBUG_VM is not set
1585CONFIG_FRAME_POINTER=y
1586# CONFIG_UNWIND_INFO is not set
1587# CONFIG_FORCED_INLINING is not set
1588# CONFIG_RCU_TORTURE_TEST is not set
1589# CONFIG_DEBUG_USER is not set
1590# CONFIG_DEBUG_WAITQ is not set
1591CONFIG_DEBUG_ERRORS=y
1592# CONFIG_DEBUG_LL is not set
1593
1594#
1595# Security options
1596#
1597# CONFIG_KEYS is not set
1598# CONFIG_SECURITY is not set
1599
1600#
1601# Cryptographic options
1602#
1603CONFIG_CRYPTO=y
1604CONFIG_CRYPTO_HMAC=y
1605CONFIG_CRYPTO_NULL=m
1606CONFIG_CRYPTO_MD4=m
1607CONFIG_CRYPTO_MD5=m
1608CONFIG_CRYPTO_SHA1=m
1609CONFIG_CRYPTO_SHA256=m
1610CONFIG_CRYPTO_SHA512=m
1611CONFIG_CRYPTO_WP512=m
1612# CONFIG_CRYPTO_TGR192 is not set
1613CONFIG_CRYPTO_DES=m
1614CONFIG_CRYPTO_BLOWFISH=m
1615CONFIG_CRYPTO_TWOFISH=m
1616CONFIG_CRYPTO_SERPENT=m
1617CONFIG_CRYPTO_AES=m
1618CONFIG_CRYPTO_CAST5=m
1619CONFIG_CRYPTO_CAST6=m
1620CONFIG_CRYPTO_TEA=m
1621CONFIG_CRYPTO_ARC4=m
1622CONFIG_CRYPTO_KHAZAD=m
1623CONFIG_CRYPTO_ANUBIS=m
1624CONFIG_CRYPTO_DEFLATE=m
1625CONFIG_CRYPTO_MICHAEL_MIC=m
1626CONFIG_CRYPTO_CRC32C=m
1627CONFIG_CRYPTO_TEST=m
1628
1629#
1630# Hardware crypto devices
1631#
1632
1633#
1634# Library routines
1635#
1636CONFIG_CRC_CCITT=m
1637# CONFIG_CRC16 is not set
1638CONFIG_CRC32=y
1639CONFIG_LIBCRC32C=m
1640CONFIG_ZLIB_INFLATE=y
1641CONFIG_ZLIB_DEFLATE=y
diff --git a/meta/packages/linux/linux-rp-2.6.21/defconfig-hx2000 b/meta/packages/linux/linux-rp-2.6.21/defconfig-hx2000
new file mode 100644
index 0000000000..296c462641
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21/defconfig-hx2000
@@ -0,0 +1,1161 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20-rc2
4# Mon Jan 1 01:49:04 2007
5#
6CONFIG_ARM=y
7# CONFIG_GENERIC_TIME is not set
8CONFIG_MMU=y
9CONFIG_GENERIC_HARDIRQS=y
10CONFIG_TRACE_IRQFLAGS_SUPPORT=y
11CONFIG_HARDIRQS_SW_RESEND=y
12CONFIG_GENERIC_IRQ_PROBE=y
13CONFIG_RWSEM_GENERIC_SPINLOCK=y
14# CONFIG_ARCH_HAS_ILOG2_U32 is not set
15# CONFIG_ARCH_HAS_ILOG2_U64 is not set
16CONFIG_GENERIC_HWEIGHT=y
17CONFIG_GENERIC_CALIBRATE_DELAY=y
18CONFIG_ARCH_MTD_XIP=y
19CONFIG_VECTORS_BASE=0xffff0000
20CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
21
22#
23# Code maturity level options
24#
25CONFIG_EXPERIMENTAL=y
26CONFIG_BROKEN_ON_SMP=y
27CONFIG_LOCK_KERNEL=y
28CONFIG_INIT_ENV_ARG_LIMIT=32
29
30#
31# General setup
32#
33CONFIG_LOCALVERSION=""
34CONFIG_LOCALVERSION_AUTO=y
35# CONFIG_SWAP is not set
36CONFIG_SYSVIPC=y
37# CONFIG_IPC_NS is not set
38# CONFIG_POSIX_MQUEUE is not set
39# CONFIG_BSD_PROCESS_ACCT is not set
40# CONFIG_TASKSTATS is not set
41# CONFIG_UTS_NS is not set
42# CONFIG_AUDIT is not set
43# CONFIG_IKCONFIG is not set
44CONFIG_SYSFS_DEPRECATED=y
45# CONFIG_RELAY is not set
46CONFIG_INITRAMFS_SOURCE=""
47CONFIG_CC_OPTIMIZE_FOR_SIZE=y
48CONFIG_SYSCTL=y
49CONFIG_EMBEDDED=y
50CONFIG_UID16=y
51CONFIG_SYSCTL_SYSCALL=y
52CONFIG_KALLSYMS=y
53# CONFIG_KALLSYMS_ALL is not set
54# CONFIG_KALLSYMS_EXTRA_PASS is not set
55CONFIG_HOTPLUG=y
56CONFIG_PRINTK=y
57CONFIG_BUG=y
58CONFIG_ELF_CORE=y
59CONFIG_BASE_FULL=y
60CONFIG_FUTEX=y
61CONFIG_EPOLL=y
62CONFIG_SHMEM=y
63CONFIG_SLAB=y
64CONFIG_VM_EVENT_COUNTERS=y
65CONFIG_RT_MUTEXES=y
66# CONFIG_TINY_SHMEM is not set
67CONFIG_BASE_SMALL=0
68# CONFIG_SLOB is not set
69
70#
71# Loadable module support
72#
73CONFIG_MODULES=y
74CONFIG_MODULE_UNLOAD=y
75# CONFIG_MODULE_FORCE_UNLOAD is not set
76# CONFIG_MODVERSIONS is not set
77# CONFIG_MODULE_SRCVERSION_ALL is not set
78# CONFIG_KMOD is not set
79
80#
81# Block layer
82#
83CONFIG_BLOCK=y
84# CONFIG_LBD is not set
85# CONFIG_BLK_DEV_IO_TRACE is not set
86# CONFIG_LSF is not set
87
88#
89# IO Schedulers
90#
91CONFIG_IOSCHED_NOOP=y
92CONFIG_IOSCHED_AS=y
93CONFIG_IOSCHED_DEADLINE=m
94CONFIG_IOSCHED_CFQ=m
95CONFIG_DEFAULT_AS=y
96# CONFIG_DEFAULT_DEADLINE is not set
97# CONFIG_DEFAULT_CFQ is not set
98# CONFIG_DEFAULT_NOOP is not set
99CONFIG_DEFAULT_IOSCHED="anticipatory"
100
101#
102# System Type
103#
104# CONFIG_ARCH_AAEC2000 is not set
105# CONFIG_ARCH_INTEGRATOR is not set
106# CONFIG_ARCH_REALVIEW is not set
107# CONFIG_ARCH_VERSATILE is not set
108# CONFIG_ARCH_AT91 is not set
109# CONFIG_ARCH_CLPS7500 is not set
110# CONFIG_ARCH_CLPS711X is not set
111# CONFIG_ARCH_CO285 is not set
112# CONFIG_ARCH_EBSA110 is not set
113# CONFIG_ARCH_EP93XX is not set
114# CONFIG_ARCH_FOOTBRIDGE is not set
115# CONFIG_ARCH_NETX is not set
116# CONFIG_ARCH_H720X is not set
117# CONFIG_ARCH_IMX is not set
118# CONFIG_ARCH_IOP32X is not set
119# CONFIG_ARCH_IOP33X is not set
120# CONFIG_ARCH_IOP13XX is not set
121# CONFIG_ARCH_IXP4XX is not set
122# CONFIG_ARCH_IXP2000 is not set
123# CONFIG_ARCH_IXP23XX is not set
124# CONFIG_ARCH_L7200 is not set
125# CONFIG_ARCH_PNX4008 is not set
126CONFIG_ARCH_PXA=y
127# CONFIG_ARCH_RPC is not set
128# CONFIG_ARCH_SA1100 is not set
129# CONFIG_ARCH_S3C2410 is not set
130# CONFIG_ARCH_SHARK is not set
131# CONFIG_ARCH_LH7A40X is not set
132# CONFIG_ARCH_OMAP is not set
133
134#
135# Intel PXA2xx Implementations
136#
137# CONFIG_ARCH_LUBBOCK is not set
138# CONFIG_MACH_LOGICPD_PXA270 is not set
139# CONFIG_MACH_MAINSTONE is not set
140# CONFIG_ARCH_PXA_IDP is not set
141# CONFIG_PXA_SHARPSL is not set
142# CONFIG_MACH_TRIZEPS4 is not set
143CONFIG_MACH_HX2750=y
144CONFIG_PXA27x=y
145CONFIG_PXA_SSP=y
146CONFIG_PXA_KEYS=y
147
148#
149# Processor Type
150#
151CONFIG_CPU_32=y
152CONFIG_CPU_XSCALE=y
153CONFIG_CPU_32v5=y
154CONFIG_CPU_ABRT_EV5T=y
155CONFIG_CPU_CACHE_VIVT=y
156CONFIG_CPU_TLB_V4WBI=y
157CONFIG_CPU_CP15=y
158CONFIG_CPU_CP15_MMU=y
159
160#
161# Processor Features
162#
163CONFIG_ARM_THUMB=y
164# CONFIG_CPU_DCACHE_DISABLE is not set
165CONFIG_IWMMXT=y
166CONFIG_XSCALE_PMU=y
167
168#
169# Bus support
170#
171
172#
173# PCCARD (PCMCIA/CardBus) support
174#
175CONFIG_PCCARD=y
176# CONFIG_PCMCIA_DEBUG is not set
177CONFIG_PCMCIA=y
178CONFIG_PCMCIA_LOAD_CIS=y
179CONFIG_PCMCIA_IOCTL=y
180
181#
182# PC-card bridges
183#
184CONFIG_PCMCIA_PXA2XX=y
185
186#
187# Kernel Features
188#
189CONFIG_PREEMPT=y
190CONFIG_NO_IDLE_HZ=y
191CONFIG_HZ=100
192CONFIG_AEABI=y
193CONFIG_OABI_COMPAT=y
194# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
195CONFIG_SELECT_MEMORY_MODEL=y
196CONFIG_FLATMEM_MANUAL=y
197# CONFIG_DISCONTIGMEM_MANUAL is not set
198# CONFIG_SPARSEMEM_MANUAL is not set
199CONFIG_FLATMEM=y
200CONFIG_FLAT_NODE_MEM_MAP=y
201# CONFIG_SPARSEMEM_STATIC is not set
202CONFIG_SPLIT_PTLOCK_CPUS=4096
203# CONFIG_RESOURCES_64BIT is not set
204CONFIG_ALIGNMENT_TRAP=y
205
206#
207# Boot options
208#
209CONFIG_ZBOOT_ROM_TEXT=0x0
210CONFIG_ZBOOT_ROM_BSS=0x0
211CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2 dyntick=enable debug"
212# CONFIG_XIP_KERNEL is not set
213# CONFIG_KEXEC is not set
214
215#
216# CPU Frequency scaling
217#
218# CONFIG_CPU_FREQ is not set
219
220#
221# Floating point emulation
222#
223
224#
225# At least one emulation must be selected
226#
227CONFIG_FPE_NWFPE=y
228# CONFIG_FPE_NWFPE_XP is not set
229# CONFIG_FPE_FASTFPE is not set
230
231#
232# Userspace binary formats
233#
234CONFIG_BINFMT_ELF=y
235# CONFIG_BINFMT_AOUT is not set
236# CONFIG_BINFMT_MISC is not set
237
238#
239# Power management options
240#
241CONFIG_PM=y
242# CONFIG_PM_LEGACY is not set
243CONFIG_PM_DEBUG=y
244# CONFIG_DISABLE_CONSOLE_SUSPEND is not set
245# CONFIG_PM_SYSFS_DEPRECATED is not set
246CONFIG_APM=y
247
248#
249# Networking
250#
251CONFIG_NET=y
252
253#
254# Networking options
255#
256# CONFIG_NETDEBUG is not set
257CONFIG_PACKET=y
258CONFIG_PACKET_MMAP=y
259CONFIG_UNIX=y
260CONFIG_XFRM=y
261# CONFIG_XFRM_USER is not set
262# CONFIG_XFRM_SUB_POLICY is not set
263# CONFIG_NET_KEY is not set
264CONFIG_INET=y
265# CONFIG_IP_MULTICAST is not set
266# CONFIG_IP_ADVANCED_ROUTER is not set
267CONFIG_IP_FIB_HASH=y
268# CONFIG_IP_PNP is not set
269# CONFIG_NET_IPIP is not set
270# CONFIG_NET_IPGRE is not set
271# CONFIG_ARPD is not set
272CONFIG_SYN_COOKIES=y
273# CONFIG_INET_AH is not set
274# CONFIG_INET_ESP is not set
275# CONFIG_INET_IPCOMP is not set
276# CONFIG_INET_XFRM_TUNNEL is not set
277# CONFIG_INET_TUNNEL is not set
278CONFIG_INET_XFRM_MODE_TRANSPORT=y
279CONFIG_INET_XFRM_MODE_TUNNEL=y
280CONFIG_INET_XFRM_MODE_BEET=y
281CONFIG_INET_DIAG=m
282CONFIG_INET_TCP_DIAG=m
283# CONFIG_TCP_CONG_ADVANCED is not set
284CONFIG_TCP_CONG_CUBIC=y
285CONFIG_DEFAULT_TCP_CONG="cubic"
286# CONFIG_TCP_MD5SIG is not set
287# CONFIG_IPV6 is not set
288# CONFIG_INET6_XFRM_TUNNEL is not set
289# CONFIG_INET6_TUNNEL is not set
290# CONFIG_NETWORK_SECMARK is not set
291# CONFIG_NETFILTER is not set
292
293#
294# DCCP Configuration (EXPERIMENTAL)
295#
296# CONFIG_IP_DCCP is not set
297
298#
299# SCTP Configuration (EXPERIMENTAL)
300#
301# CONFIG_IP_SCTP is not set
302
303#
304# TIPC Configuration (EXPERIMENTAL)
305#
306# CONFIG_TIPC is not set
307# CONFIG_ATM is not set
308# CONFIG_BRIDGE is not set
309# CONFIG_VLAN_8021Q is not set
310# CONFIG_DECNET is not set
311# CONFIG_LLC2 is not set
312# CONFIG_IPX is not set
313# CONFIG_ATALK is not set
314# CONFIG_X25 is not set
315# CONFIG_LAPB is not set
316# CONFIG_ECONET is not set
317# CONFIG_WAN_ROUTER is not set
318
319#
320# QoS and/or fair queueing
321#
322# CONFIG_NET_SCHED is not set
323
324#
325# Network testing
326#
327# CONFIG_NET_PKTGEN is not set
328# CONFIG_HAMRADIO is not set
329# CONFIG_IRDA is not set
330# CONFIG_BT is not set
331CONFIG_IEEE80211=m
332# CONFIG_IEEE80211_DEBUG is not set
333CONFIG_IEEE80211_CRYPT_WEP=m
334# CONFIG_IEEE80211_CRYPT_CCMP is not set
335# CONFIG_IEEE80211_CRYPT_TKIP is not set
336# CONFIG_IEEE80211_SOFTMAC is not set
337CONFIG_WIRELESS_EXT=y
338
339#
340# Device Drivers
341#
342
343#
344# Generic Driver Options
345#
346CONFIG_STANDALONE=y
347# CONFIG_PREVENT_FIRMWARE_BUILD is not set
348CONFIG_FW_LOADER=y
349# CONFIG_DEBUG_DRIVER is not set
350# CONFIG_SYS_HYPERVISOR is not set
351
352#
353# Connector - unified userspace <-> kernelspace linker
354#
355# CONFIG_CONNECTOR is not set
356
357#
358# Memory Technology Devices (MTD)
359#
360CONFIG_MTD=y
361# CONFIG_MTD_DEBUG is not set
362CONFIG_MTD_CONCAT=y
363CONFIG_MTD_PARTITIONS=y
364# CONFIG_MTD_REDBOOT_PARTS is not set
365CONFIG_MTD_CMDLINE_PARTS=y
366# CONFIG_MTD_AFS_PARTS is not set
367
368#
369# User Modules And Translation Layers
370#
371CONFIG_MTD_CHAR=y
372CONFIG_MTD_BLOCK=y
373# CONFIG_FTL is not set
374# CONFIG_NFTL is not set
375# CONFIG_INFTL is not set
376# CONFIG_RFD_FTL is not set
377# CONFIG_SSFDC is not set
378
379#
380# RAM/ROM/Flash chip drivers
381#
382CONFIG_MTD_CFI=y
383# CONFIG_MTD_JEDECPROBE is not set
384CONFIG_MTD_GEN_PROBE=y
385CONFIG_MTD_CFI_ADV_OPTIONS=y
386CONFIG_MTD_CFI_NOSWAP=y
387# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
388# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
389CONFIG_MTD_CFI_GEOMETRY=y
390CONFIG_MTD_MAP_BANK_WIDTH_1=y
391CONFIG_MTD_MAP_BANK_WIDTH_2=y
392CONFIG_MTD_MAP_BANK_WIDTH_4=y
393# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
394# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
395# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
396CONFIG_MTD_CFI_I1=y
397CONFIG_MTD_CFI_I2=y
398# CONFIG_MTD_CFI_I4 is not set
399# CONFIG_MTD_CFI_I8 is not set
400# CONFIG_MTD_OTP is not set
401CONFIG_MTD_CFI_INTELEXT=y
402# CONFIG_MTD_CFI_AMDSTD is not set
403# CONFIG_MTD_CFI_STAA is not set
404CONFIG_MTD_CFI_UTIL=y
405# CONFIG_MTD_RAM is not set
406# CONFIG_MTD_ROM is not set
407# CONFIG_MTD_ABSENT is not set
408# CONFIG_MTD_OBSOLETE_CHIPS is not set
409# CONFIG_MTD_XIP is not set
410
411#
412# Mapping drivers for chip access
413#
414# CONFIG_MTD_COMPLEX_MAPPINGS is not set
415# CONFIG_MTD_PHYSMAP is not set
416# CONFIG_MTD_ARM_INTEGRATOR is not set
417# CONFIG_MTD_SHARP_SL is not set
418# CONFIG_MTD_PLATRAM is not set
419
420#
421# Self-contained MTD device drivers
422#
423# CONFIG_MTD_SLRAM is not set
424# CONFIG_MTD_PHRAM is not set
425# CONFIG_MTD_MTDRAM is not set
426# CONFIG_MTD_BLOCK2MTD is not set
427
428#
429# Disk-On-Chip Device Drivers
430#
431# CONFIG_MTD_DOC2000 is not set
432# CONFIG_MTD_DOC2001 is not set
433# CONFIG_MTD_DOC2001PLUS is not set
434
435#
436# NAND Flash Device Drivers
437#
438# CONFIG_MTD_NAND is not set
439
440#
441# OneNAND Flash Device Drivers
442#
443# CONFIG_MTD_ONENAND is not set
444
445#
446# Parallel port support
447#
448# CONFIG_PARPORT is not set
449
450#
451# Plug and Play support
452#
453
454#
455# Block devices
456#
457# CONFIG_BLK_DEV_COW_COMMON is not set
458CONFIG_BLK_DEV_LOOP=y
459# CONFIG_BLK_DEV_CRYPTOLOOP is not set
460# CONFIG_BLK_DEV_NBD is not set
461CONFIG_BLK_DEV_RAM=y
462CONFIG_BLK_DEV_RAM_COUNT=16
463CONFIG_BLK_DEV_RAM_SIZE=8192
464CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
465CONFIG_BLK_DEV_INITRD=y
466# CONFIG_CDROM_PKTCDVD is not set
467# CONFIG_ATA_OVER_ETH is not set
468
469#
470# ATA/ATAPI/MFM/RLL support
471#
472CONFIG_IDE=y
473CONFIG_IDE_MAX_HWIFS=4
474CONFIG_BLK_DEV_IDE=y
475
476#
477# Please see Documentation/ide.txt for help/info on IDE drives
478#
479# CONFIG_BLK_DEV_IDE_SATA is not set
480CONFIG_BLK_DEV_IDEDISK=y
481# CONFIG_IDEDISK_MULTI_MODE is not set
482CONFIG_BLK_DEV_IDECS=y
483# CONFIG_BLK_DEV_IDECD is not set
484# CONFIG_BLK_DEV_IDETAPE is not set
485# CONFIG_BLK_DEV_IDEFLOPPY is not set
486# CONFIG_IDE_TASK_IOCTL is not set
487
488#
489# IDE chipset support/bugfixes
490#
491CONFIG_IDE_GENERIC=y
492# CONFIG_IDE_ARM is not set
493# CONFIG_BLK_DEV_IDEDMA is not set
494# CONFIG_IDEDMA_AUTO is not set
495# CONFIG_BLK_DEV_HD is not set
496
497#
498# SCSI device support
499#
500# CONFIG_RAID_ATTRS is not set
501# CONFIG_SCSI is not set
502# CONFIG_SCSI_NETLINK is not set
503
504#
505# Serial ATA (prod) and Parallel ATA (experimental) drivers
506#
507# CONFIG_ATA is not set
508
509#
510# Multi-device support (RAID and LVM)
511#
512# CONFIG_MD is not set
513
514#
515# Fusion MPT device support
516#
517# CONFIG_FUSION is not set
518
519#
520# IEEE 1394 (FireWire) support
521#
522
523#
524# I2O device support
525#
526
527#
528# Network device support
529#
530CONFIG_NETDEVICES=y
531# CONFIG_DUMMY is not set
532# CONFIG_BONDING is not set
533# CONFIG_EQUALIZER is not set
534CONFIG_TUN=m
535
536#
537# PHY device support
538#
539# CONFIG_PHYLIB is not set
540
541#
542# Ethernet (10 or 100Mbit)
543#
544CONFIG_NET_ETHERNET=y
545CONFIG_MII=m
546# CONFIG_SMC91X is not set
547# CONFIG_DM9000 is not set
548# CONFIG_SMC911X is not set
549
550#
551# Ethernet (1000 Mbit)
552#
553
554#
555# Ethernet (10000 Mbit)
556#
557
558#
559# Token Ring devices
560#
561
562#
563# Wireless LAN (non-hamradio)
564#
565CONFIG_NET_RADIO=y
566# CONFIG_NET_WIRELESS_RTNETLINK is not set
567
568#
569# Obsolete Wireless cards support (pre-802.11)
570#
571# CONFIG_STRIP is not set
572# CONFIG_PCMCIA_WAVELAN is not set
573# CONFIG_PCMCIA_NETWAVE is not set
574
575#
576# Wireless 802.11 Frequency Hopping cards support
577#
578# CONFIG_PCMCIA_RAYCS is not set
579
580#
581# Wireless 802.11b ISA/PCI cards support
582#
583CONFIG_HERMES=m
584# CONFIG_ATMEL is not set
585
586#
587# Wireless 802.11b Pcmcia/Cardbus cards support
588#
589CONFIG_PCMCIA_HERMES=m
590CONFIG_PCMCIA_SPECTRUM=m
591# CONFIG_AIRO_CS is not set
592# CONFIG_PCMCIA_WL3501 is not set
593CONFIG_HOSTAP=m
594CONFIG_HOSTAP_FIRMWARE=y
595# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
596CONFIG_HOSTAP_CS=m
597CONFIG_NET_WIRELESS=y
598
599#
600# PCMCIA network device support
601#
602CONFIG_NET_PCMCIA=y
603# CONFIG_PCMCIA_3C589 is not set
604# CONFIG_PCMCIA_3C574 is not set
605# CONFIG_PCMCIA_FMVJ18X is not set
606CONFIG_PCMCIA_PCNET=m
607# CONFIG_PCMCIA_NMCLAN is not set
608# CONFIG_PCMCIA_SMC91C92 is not set
609# CONFIG_PCMCIA_XIRC2PS is not set
610# CONFIG_PCMCIA_AXNET is not set
611
612#
613# Wan interfaces
614#
615# CONFIG_WAN is not set
616CONFIG_PPP=m
617# CONFIG_PPP_MULTILINK is not set
618# CONFIG_PPP_FILTER is not set
619CONFIG_PPP_ASYNC=m
620# CONFIG_PPP_SYNC_TTY is not set
621CONFIG_PPP_DEFLATE=m
622CONFIG_PPP_BSDCOMP=m
623# CONFIG_PPP_MPPE is not set
624# CONFIG_PPPOE is not set
625# CONFIG_SLIP is not set
626CONFIG_SLHC=m
627# CONFIG_SHAPER is not set
628# CONFIG_NETCONSOLE is not set
629# CONFIG_NETPOLL is not set
630# CONFIG_NET_POLL_CONTROLLER is not set
631
632#
633# ISDN subsystem
634#
635# CONFIG_ISDN is not set
636
637#
638# Input device support
639#
640CONFIG_INPUT=y
641# CONFIG_INPUT_FF_MEMLESS is not set
642
643#
644# Userland interfaces
645#
646CONFIG_INPUT_MOUSEDEV=m
647# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
648CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
649CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
650# CONFIG_INPUT_JOYDEV is not set
651# CONFIG_INPUT_TSDEV is not set
652CONFIG_INPUT_EVDEV=y
653# CONFIG_INPUT_EVBUG is not set
654CONFIG_INPUT_POWER=y
655
656#
657# Input Device Drivers
658#
659# CONFIG_INPUT_KEYBOARD is not set
660# CONFIG_INPUT_MOUSE is not set
661# CONFIG_INPUT_JOYSTICK is not set
662CONFIG_INPUT_TOUCHSCREEN=y
663# CONFIG_TOUCHSCREEN_GUNZE is not set
664# CONFIG_TOUCHSCREEN_ELO is not set
665# CONFIG_TOUCHSCREEN_MTOUCH is not set
666# CONFIG_TOUCHSCREEN_MK712 is not set
667# CONFIG_TOUCHSCREEN_PENMOUNT is not set
668# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
669# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
670# CONFIG_TOUCHSCREEN_UCB1400 is not set
671CONFIG_TOUCHSCREEN_TSC2101=y
672# CONFIG_INPUT_MISC is not set
673
674#
675# Hardware I/O ports
676#
677# CONFIG_SERIO is not set
678# CONFIG_GAMEPORT is not set
679
680#
681# Character devices
682#
683CONFIG_VT=y
684CONFIG_VT_CONSOLE=y
685CONFIG_HW_CONSOLE=y
686# CONFIG_VT_HW_CONSOLE_BINDING is not set
687# CONFIG_SERIAL_NONSTANDARD is not set
688
689#
690# Serial drivers
691#
692# CONFIG_SERIAL_8250 is not set
693
694#
695# Non-8250 serial port support
696#
697CONFIG_SERIAL_PXA=y
698CONFIG_SERIAL_PXA_CONSOLE=y
699CONFIG_SERIAL_CORE=y
700CONFIG_SERIAL_CORE_CONSOLE=y
701CONFIG_UNIX98_PTYS=y
702# CONFIG_LEGACY_PTYS is not set
703
704#
705# IPMI
706#
707# CONFIG_IPMI_HANDLER is not set
708
709#
710# Watchdog Cards
711#
712# CONFIG_WATCHDOG is not set
713CONFIG_HW_RANDOM=m
714# CONFIG_NVRAM is not set
715# CONFIG_DTLK is not set
716# CONFIG_R3964 is not set
717
718#
719# PCMCIA character devices
720#
721# CONFIG_SYNCLINK_CS is not set
722# CONFIG_CARDMAN_4000 is not set
723# CONFIG_CARDMAN_4040 is not set
724# CONFIG_RAW_DRIVER is not set
725
726#
727# TPM devices
728#
729# CONFIG_TCG_TPM is not set
730
731#
732# I2C support
733#
734# CONFIG_I2C is not set
735
736#
737# SPI support
738#
739# CONFIG_SPI is not set
740# CONFIG_SPI_MASTER is not set
741
742#
743# Dallas's 1-wire bus
744#
745# CONFIG_W1 is not set
746
747#
748# Hardware Monitoring support
749#
750# CONFIG_HWMON is not set
751# CONFIG_HWMON_VID is not set
752
753#
754# Misc devices
755#
756# CONFIG_TIFM_CORE is not set
757
758#
759# Multi-Function Devices
760#
761CONFIG_MFD_TSC2101=y
762
763#
764# LED devices
765#
766# CONFIG_NEW_LEDS is not set
767
768#
769# LED drivers
770#
771
772#
773# LED Triggers
774#
775
776#
777# Multimedia devices
778#
779# CONFIG_VIDEO_DEV is not set
780
781#
782# Digital Video Broadcasting Devices
783#
784# CONFIG_DVB is not set
785
786#
787# Graphics support
788#
789CONFIG_FIRMWARE_EDID=y
790CONFIG_FB=y
791CONFIG_FB_CFB_FILLRECT=y
792CONFIG_FB_CFB_COPYAREA=y
793CONFIG_FB_CFB_IMAGEBLIT=y
794# CONFIG_FB_MACMODES is not set
795# CONFIG_FB_BACKLIGHT is not set
796# CONFIG_FB_MODE_HELPERS is not set
797# CONFIG_FB_TILEBLITTING is not set
798# CONFIG_FB_S1D13XXX is not set
799CONFIG_FB_PXA=y
800CONFIG_FB_PXA_LCD_QVGA=y
801# CONFIG_FB_PXA_LCD_VGA is not set
802# CONFIG_FB_PXA_OVERLAY is not set
803# CONFIG_FB_PXA_PARAMETERS is not set
804# CONFIG_FB_MBX is not set
805# CONFIG_FB_VIRTUAL is not set
806
807#
808# Console display driver support
809#
810# CONFIG_VGA_CONSOLE is not set
811CONFIG_DUMMY_CONSOLE=y
812CONFIG_FRAMEBUFFER_CONSOLE=y
813# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
814# CONFIG_FONTS is not set
815CONFIG_FONT_8x8=y
816CONFIG_FONT_8x16=y
817
818#
819# Logo configuration
820#
821CONFIG_LOGO=y
822CONFIG_LOGO_LINUX_MONO=y
823CONFIG_LOGO_LINUX_VGA16=y
824# CONFIG_LOGO_LINUX_CLUT224 is not set
825CONFIG_LOGO_OHAND_CLUT224=y
826# CONFIG_LOGO_OZ240_CLUT224 is not set
827# CONFIG_LOGO_OZ480_CLUT224 is not set
828# CONFIG_LOGO_OZ640_CLUT224 is not set
829CONFIG_BACKLIGHT_LCD_SUPPORT=y
830CONFIG_BACKLIGHT_CLASS_DEVICE=y
831CONFIG_BACKLIGHT_DEVICE=y
832CONFIG_LCD_CLASS_DEVICE=y
833CONFIG_LCD_DEVICE=y
834CONFIG_BACKLIGHT_HX2750=y
835
836#
837# Sound
838#
839# CONFIG_SOUND is not set
840
841#
842# HID Devices
843#
844CONFIG_HID=y
845
846#
847# USB support
848#
849CONFIG_USB_ARCH_HAS_HCD=y
850CONFIG_USB_ARCH_HAS_OHCI=y
851# CONFIG_USB_ARCH_HAS_EHCI is not set
852# CONFIG_USB is not set
853
854#
855# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
856#
857
858#
859# USB Gadget Support
860#
861# CONFIG_USB_GADGET is not set
862
863#
864# MMC/SD Card support
865#
866CONFIG_MMC=y
867# CONFIG_MMC_DEBUG is not set
868CONFIG_MMC_BLOCK=y
869CONFIG_MMC_PXA=y
870# CONFIG_MMC_TIFM_SD is not set
871
872#
873# Real Time Clock
874#
875CONFIG_RTC_LIB=y
876CONFIG_RTC_CLASS=y
877CONFIG_RTC_HCTOSYS=y
878CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
879# CONFIG_RTC_DEBUG is not set
880
881#
882# RTC interfaces
883#
884CONFIG_RTC_INTF_SYSFS=y
885CONFIG_RTC_INTF_PROC=y
886CONFIG_RTC_INTF_DEV=y
887# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
888
889#
890# RTC drivers
891#
892# CONFIG_RTC_DRV_DS1553 is not set
893# CONFIG_RTC_DRV_DS1742 is not set
894# CONFIG_RTC_DRV_M48T86 is not set
895CONFIG_RTC_DRV_SA1100=y
896# CONFIG_RTC_DRV_TEST is not set
897# CONFIG_RTC_DRV_V3020 is not set
898
899#
900# File systems
901#
902CONFIG_EXT2_FS=y
903# CONFIG_EXT2_FS_XATTR is not set
904# CONFIG_EXT2_FS_XIP is not set
905# CONFIG_EXT3_FS is not set
906# CONFIG_EXT4DEV_FS is not set
907# CONFIG_REISERFS_FS is not set
908# CONFIG_JFS_FS is not set
909# CONFIG_FS_POSIX_ACL is not set
910# CONFIG_XFS_FS is not set
911# CONFIG_GFS2_FS is not set
912# CONFIG_OCFS2_FS is not set
913# CONFIG_MINIX_FS is not set
914# CONFIG_ROMFS_FS is not set
915CONFIG_INOTIFY=y
916CONFIG_INOTIFY_USER=y
917# CONFIG_QUOTA is not set
918CONFIG_DNOTIFY=y
919# CONFIG_AUTOFS_FS is not set
920# CONFIG_AUTOFS4_FS is not set
921# CONFIG_FUSE_FS is not set
922
923#
924# CD-ROM/DVD Filesystems
925#
926# CONFIG_ISO9660_FS is not set
927# CONFIG_UDF_FS is not set
928
929#
930# DOS/FAT/NT Filesystems
931#
932CONFIG_FAT_FS=y
933# CONFIG_MSDOS_FS is not set
934CONFIG_VFAT_FS=y
935CONFIG_FAT_DEFAULT_CODEPAGE=437
936CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
937# CONFIG_NTFS_FS is not set
938
939#
940# Pseudo filesystems
941#
942CONFIG_PROC_FS=y
943CONFIG_PROC_SYSCTL=y
944CONFIG_SYSFS=y
945CONFIG_TMPFS=y
946# CONFIG_TMPFS_POSIX_ACL is not set
947# CONFIG_HUGETLB_PAGE is not set
948CONFIG_RAMFS=y
949# CONFIG_CONFIGFS_FS is not set
950
951#
952# Miscellaneous filesystems
953#
954# CONFIG_ADFS_FS is not set
955# CONFIG_AFFS_FS is not set
956# CONFIG_HFS_FS is not set
957# CONFIG_HFSPLUS_FS is not set
958# CONFIG_BEFS_FS is not set
959# CONFIG_BFS_FS is not set
960# CONFIG_EFS_FS is not set
961CONFIG_JFFS2_FS=y
962CONFIG_JFFS2_FS_DEBUG=0
963CONFIG_JFFS2_FS_WRITEBUFFER=y
964# CONFIG_JFFS2_SUMMARY is not set
965# CONFIG_JFFS2_FS_XATTR is not set
966# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
967CONFIG_JFFS2_ZLIB=y
968CONFIG_JFFS2_RTIME=y
969# CONFIG_JFFS2_RUBIN is not set
970CONFIG_CRAMFS=y
971CONFIG_SQUASHFS=m
972# CONFIG_SQUASHFS_EMBEDDED is not set
973CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
974# CONFIG_SQUASHFS_VMALLOC is not set
975# CONFIG_VXFS_FS is not set
976# CONFIG_HPFS_FS is not set
977# CONFIG_QNX4FS_FS is not set
978# CONFIG_SYSV_FS is not set
979# CONFIG_UFS_FS is not set
980
981#
982# Network File Systems
983#
984# CONFIG_NFS_FS is not set
985# CONFIG_NFSD is not set
986# CONFIG_SMB_FS is not set
987# CONFIG_CIFS is not set
988# CONFIG_NCP_FS is not set
989# CONFIG_CODA_FS is not set
990# CONFIG_AFS_FS is not set
991# CONFIG_9P_FS is not set
992
993#
994# Partition Types
995#
996CONFIG_PARTITION_ADVANCED=y
997# CONFIG_ACORN_PARTITION is not set
998# CONFIG_OSF_PARTITION is not set
999# CONFIG_AMIGA_PARTITION is not set
1000# CONFIG_ATARI_PARTITION is not set
1001# CONFIG_MAC_PARTITION is not set
1002CONFIG_MSDOS_PARTITION=y
1003# CONFIG_BSD_DISKLABEL is not set
1004# CONFIG_MINIX_SUBPARTITION is not set
1005# CONFIG_SOLARIS_X86_PARTITION is not set
1006# CONFIG_UNIXWARE_DISKLABEL is not set
1007# CONFIG_LDM_PARTITION is not set
1008# CONFIG_SGI_PARTITION is not set
1009# CONFIG_ULTRIX_PARTITION is not set
1010# CONFIG_SUN_PARTITION is not set
1011# CONFIG_KARMA_PARTITION is not set
1012# CONFIG_EFI_PARTITION is not set
1013
1014#
1015# Native Language Support
1016#
1017CONFIG_NLS=y
1018CONFIG_NLS_DEFAULT="cp437"
1019CONFIG_NLS_CODEPAGE_437=y
1020# CONFIG_NLS_CODEPAGE_737 is not set
1021# CONFIG_NLS_CODEPAGE_775 is not set
1022# CONFIG_NLS_CODEPAGE_850 is not set
1023# CONFIG_NLS_CODEPAGE_852 is not set
1024# CONFIG_NLS_CODEPAGE_855 is not set
1025# CONFIG_NLS_CODEPAGE_857 is not set
1026# CONFIG_NLS_CODEPAGE_860 is not set
1027# CONFIG_NLS_CODEPAGE_861 is not set
1028# CONFIG_NLS_CODEPAGE_862 is not set
1029# CONFIG_NLS_CODEPAGE_863 is not set
1030# CONFIG_NLS_CODEPAGE_864 is not set
1031# CONFIG_NLS_CODEPAGE_865 is not set
1032# CONFIG_NLS_CODEPAGE_866 is not set
1033# CONFIG_NLS_CODEPAGE_869 is not set
1034# CONFIG_NLS_CODEPAGE_936 is not set
1035# CONFIG_NLS_CODEPAGE_950 is not set
1036# CONFIG_NLS_CODEPAGE_932 is not set
1037# CONFIG_NLS_CODEPAGE_949 is not set
1038# CONFIG_NLS_CODEPAGE_874 is not set
1039# CONFIG_NLS_ISO8859_8 is not set
1040# CONFIG_NLS_CODEPAGE_1250 is not set
1041# CONFIG_NLS_CODEPAGE_1251 is not set
1042# CONFIG_NLS_ASCII is not set
1043CONFIG_NLS_ISO8859_1=y
1044# CONFIG_NLS_ISO8859_2 is not set
1045# CONFIG_NLS_ISO8859_3 is not set
1046# CONFIG_NLS_ISO8859_4 is not set
1047# CONFIG_NLS_ISO8859_5 is not set
1048# CONFIG_NLS_ISO8859_6 is not set
1049# CONFIG_NLS_ISO8859_7 is not set
1050# CONFIG_NLS_ISO8859_9 is not set
1051# CONFIG_NLS_ISO8859_13 is not set
1052# CONFIG_NLS_ISO8859_14 is not set
1053# CONFIG_NLS_ISO8859_15 is not set
1054# CONFIG_NLS_KOI8_R is not set
1055# CONFIG_NLS_KOI8_U is not set
1056CONFIG_NLS_UTF8=y
1057
1058#
1059# Distributed Lock Manager
1060#
1061# CONFIG_DLM is not set
1062
1063#
1064# Profiling support
1065#
1066# CONFIG_PROFILING is not set
1067
1068#
1069# Kernel hacking
1070#
1071# CONFIG_PRINTK_TIME is not set
1072CONFIG_ENABLE_MUST_CHECK=y
1073# CONFIG_MAGIC_SYSRQ is not set
1074# CONFIG_UNUSED_SYMBOLS is not set
1075# CONFIG_DEBUG_FS is not set
1076# CONFIG_HEADERS_CHECK is not set
1077CONFIG_DEBUG_KERNEL=y
1078CONFIG_LOG_BUF_SHIFT=14
1079CONFIG_DETECT_SOFTLOCKUP=y
1080# CONFIG_SCHEDSTATS is not set
1081# CONFIG_DEBUG_SLAB is not set
1082CONFIG_DEBUG_PREEMPT=y
1083# CONFIG_DEBUG_RT_MUTEXES is not set
1084# CONFIG_RT_MUTEX_TESTER is not set
1085# CONFIG_DEBUG_SPINLOCK is not set
1086# CONFIG_DEBUG_MUTEXES is not set
1087# CONFIG_DEBUG_RWSEMS is not set
1088# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1089# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1090# CONFIG_DEBUG_KOBJECT is not set
1091# CONFIG_DEBUG_BUGVERBOSE is not set
1092# CONFIG_DEBUG_INFO is not set
1093# CONFIG_DEBUG_VM is not set
1094# CONFIG_DEBUG_LIST is not set
1095CONFIG_FRAME_POINTER=y
1096CONFIG_FORCED_INLINING=y
1097# CONFIG_RCU_TORTURE_TEST is not set
1098# CONFIG_DEBUG_USER is not set
1099CONFIG_DEBUG_ERRORS=y
1100CONFIG_DEBUG_LL=y
1101# CONFIG_DEBUG_ICEDCC is not set
1102
1103#
1104# Security options
1105#
1106# CONFIG_KEYS is not set
1107# CONFIG_SECURITY is not set
1108
1109#
1110# Cryptographic options
1111#
1112CONFIG_CRYPTO=y
1113CONFIG_CRYPTO_ALGAPI=y
1114CONFIG_CRYPTO_BLKCIPHER=m
1115CONFIG_CRYPTO_MANAGER=m
1116# CONFIG_CRYPTO_HMAC is not set
1117# CONFIG_CRYPTO_XCBC is not set
1118# CONFIG_CRYPTO_NULL is not set
1119# CONFIG_CRYPTO_MD4 is not set
1120# CONFIG_CRYPTO_MD5 is not set
1121# CONFIG_CRYPTO_SHA1 is not set
1122# CONFIG_CRYPTO_SHA256 is not set
1123# CONFIG_CRYPTO_SHA512 is not set
1124# CONFIG_CRYPTO_WP512 is not set
1125# CONFIG_CRYPTO_TGR192 is not set
1126# CONFIG_CRYPTO_GF128MUL is not set
1127CONFIG_CRYPTO_ECB=m
1128CONFIG_CRYPTO_CBC=m
1129# CONFIG_CRYPTO_LRW is not set
1130# CONFIG_CRYPTO_DES is not set
1131# CONFIG_CRYPTO_BLOWFISH is not set
1132# CONFIG_CRYPTO_TWOFISH is not set
1133# CONFIG_CRYPTO_SERPENT is not set
1134# CONFIG_CRYPTO_AES is not set
1135# CONFIG_CRYPTO_CAST5 is not set
1136# CONFIG_CRYPTO_CAST6 is not set
1137# CONFIG_CRYPTO_TEA is not set
1138CONFIG_CRYPTO_ARC4=m
1139# CONFIG_CRYPTO_KHAZAD is not set
1140# CONFIG_CRYPTO_ANUBIS is not set
1141CONFIG_CRYPTO_DEFLATE=y
1142# CONFIG_CRYPTO_MICHAEL_MIC is not set
1143CONFIG_CRYPTO_CRC32C=y
1144# CONFIG_CRYPTO_TEST is not set
1145
1146#
1147# Hardware crypto devices
1148#
1149
1150#
1151# Library routines
1152#
1153CONFIG_BITREVERSE=y
1154CONFIG_CRC_CCITT=m
1155# CONFIG_CRC16 is not set
1156CONFIG_CRC32=y
1157CONFIG_LIBCRC32C=y
1158CONFIG_ZLIB_INFLATE=y
1159CONFIG_ZLIB_DEFLATE=y
1160CONFIG_PLIST=y
1161CONFIG_IOMAP_COPY=y
diff --git a/meta/packages/linux/linux-rp-2.6.21/defconfig-ipaq-pxa270 b/meta/packages/linux/linux-rp-2.6.21/defconfig-ipaq-pxa270
new file mode 100644
index 0000000000..cb7cce7bdd
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21/defconfig-ipaq-pxa270
@@ -0,0 +1,1021 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.15-rc1-git7
4# Sat Nov 19 23:13:51 2005
5#
6CONFIG_ARM=y
7CONFIG_MMU=y
8CONFIG_UID16=y
9CONFIG_RWSEM_GENERIC_SPINLOCK=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y
11
12#
13# Code maturity level options
14#
15CONFIG_EXPERIMENTAL=y
16# CONFIG_CLEAN_COMPILE is not set
17CONFIG_BROKEN=y
18CONFIG_BROKEN_ON_SMP=y
19CONFIG_LOCK_KERNEL=y
20CONFIG_INIT_ENV_ARG_LIMIT=32
21
22#
23# General setup
24#
25CONFIG_LOCALVERSION=""
26CONFIG_LOCALVERSION_AUTO=y
27# CONFIG_SWAP is not set
28# CONFIG_SYSVIPC is not set
29# CONFIG_POSIX_MQUEUE is not set
30# CONFIG_BSD_PROCESS_ACCT is not set
31CONFIG_SYSCTL=y
32# CONFIG_AUDIT is not set
33CONFIG_HOTPLUG=y
34CONFIG_KOBJECT_UEVENT=y
35# CONFIG_IKCONFIG is not set
36CONFIG_INITRAMFS_SOURCE=""
37CONFIG_EMBEDDED=y
38CONFIG_KALLSYMS=y
39# CONFIG_KALLSYMS_ALL is not set
40# CONFIG_KALLSYMS_EXTRA_PASS is not set
41CONFIG_PRINTK=y
42CONFIG_BUG=y
43CONFIG_BASE_FULL=y
44CONFIG_FUTEX=y
45CONFIG_EPOLL=y
46CONFIG_CC_OPTIMIZE_FOR_SIZE=y
47CONFIG_SHMEM=y
48CONFIG_CC_ALIGN_FUNCTIONS=0
49CONFIG_CC_ALIGN_LABELS=0
50CONFIG_CC_ALIGN_LOOPS=0
51CONFIG_CC_ALIGN_JUMPS=0
52# CONFIG_TINY_SHMEM is not set
53CONFIG_BASE_SMALL=0
54
55#
56# Loadable module support
57#
58CONFIG_MODULES=y
59CONFIG_MODULE_UNLOAD=y
60# CONFIG_MODULE_FORCE_UNLOAD is not set
61CONFIG_OBSOLETE_MODPARM=y
62# CONFIG_MODVERSIONS is not set
63# CONFIG_MODULE_SRCVERSION_ALL is not set
64# CONFIG_KMOD is not set
65
66#
67# Block layer
68#
69
70#
71# IO Schedulers
72#
73CONFIG_IOSCHED_NOOP=y
74CONFIG_IOSCHED_AS=y
75CONFIG_IOSCHED_DEADLINE=m
76CONFIG_IOSCHED_CFQ=m
77CONFIG_DEFAULT_AS=y
78# CONFIG_DEFAULT_DEADLINE is not set
79# CONFIG_DEFAULT_CFQ is not set
80# CONFIG_DEFAULT_NOOP is not set
81CONFIG_DEFAULT_IOSCHED="anticipatory"
82
83#
84# System Type
85#
86# CONFIG_ARCH_CLPS7500 is not set
87# CONFIG_ARCH_CLPS711X is not set
88# CONFIG_ARCH_CO285 is not set
89# CONFIG_ARCH_EBSA110 is not set
90# CONFIG_ARCH_CAMELOT is not set
91# CONFIG_ARCH_FOOTBRIDGE is not set
92# CONFIG_ARCH_INTEGRATOR is not set
93# CONFIG_ARCH_IOP3XX is not set
94# CONFIG_ARCH_IXP4XX is not set
95# CONFIG_ARCH_IXP2000 is not set
96# CONFIG_ARCH_L7200 is not set
97CONFIG_ARCH_PXA=y
98# CONFIG_ARCH_RPC is not set
99# CONFIG_ARCH_SA1100 is not set
100# CONFIG_ARCH_S3C2410 is not set
101# CONFIG_ARCH_SHARK is not set
102# CONFIG_ARCH_LH7A40X is not set
103# CONFIG_ARCH_OMAP is not set
104# CONFIG_ARCH_VERSATILE is not set
105# CONFIG_ARCH_REALVIEW is not set
106# CONFIG_ARCH_IMX is not set
107# CONFIG_ARCH_H720X is not set
108# CONFIG_ARCH_AAEC2000 is not set
109
110#
111# Intel PXA2xx Implementations
112#
113# CONFIG_ARCH_LUBBOCK is not set
114# CONFIG_MACH_MAINSTONE is not set
115# CONFIG_ARCH_PXA_IDP is not set
116# CONFIG_PXA_SHARPSL is not set
117CONFIG_MACH_HX2750=y
118CONFIG_PXA27x=y
119CONFIG_PXA_KEYS=y
120CONFIG_PXA_SSP=y
121
122#
123# Processor Type
124#
125CONFIG_CPU_32=y
126CONFIG_CPU_XSCALE=y
127CONFIG_CPU_32v5=y
128CONFIG_CPU_ABRT_EV5T=y
129CONFIG_CPU_CACHE_VIVT=y
130CONFIG_CPU_TLB_V4WBI=y
131
132#
133# Processor Features
134#
135CONFIG_ARM_THUMB=y
136CONFIG_XSCALE_PMU=y
137
138#
139# Bus support
140#
141CONFIG_ISA_DMA_API=y
142
143#
144# PCCARD (PCMCIA/CardBus) support
145#
146CONFIG_PCCARD=y
147# CONFIG_PCMCIA_DEBUG is not set
148CONFIG_PCMCIA=y
149CONFIG_PCMCIA_LOAD_CIS=y
150CONFIG_PCMCIA_IOCTL=y
151
152#
153# PC-card bridges
154#
155CONFIG_PCMCIA_PXA2XX=y
156
157#
158# Kernel Features
159#
160CONFIG_PREEMPT=y
161CONFIG_NO_IDLE_HZ=y
162# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
163CONFIG_SELECT_MEMORY_MODEL=y
164CONFIG_FLATMEM_MANUAL=y
165# CONFIG_DISCONTIGMEM_MANUAL is not set
166# CONFIG_SPARSEMEM_MANUAL is not set
167CONFIG_FLATMEM=y
168CONFIG_FLAT_NODE_MEM_MAP=y
169# CONFIG_SPARSEMEM_STATIC is not set
170CONFIG_SPLIT_PTLOCK_CPUS=4096
171CONFIG_ALIGNMENT_TRAP=y
172
173#
174# Boot options
175#
176CONFIG_ZBOOT_ROM_TEXT=0x0
177CONFIG_ZBOOT_ROM_BSS=0x0
178# CONFIG_XIP_KERNEL is not set
179
180#
181# CPU Frequency scaling
182#
183# CONFIG_CPU_FREQ is not set
184
185#
186# Floating point emulation
187#
188
189#
190# At least one emulation must be selected
191#
192CONFIG_FPE_NWFPE=y
193# CONFIG_FPE_NWFPE_XP is not set
194# CONFIG_FPE_FASTFPE is not set
195
196#
197# Userspace binary formats
198#
199CONFIG_BINFMT_ELF=y
200# CONFIG_BINFMT_AOUT is not set
201# CONFIG_BINFMT_MISC is not set
202# CONFIG_ARTHUR is not set
203
204#
205# Power management options
206#
207CONFIG_PM=y
208# CONFIG_PM_LEGACY is not set
209# CONFIG_PM_DEBUG is not set
210CONFIG_APM=y
211
212#
213# Networking
214#
215CONFIG_NET=y
216
217#
218# Networking options
219#
220CONFIG_PACKET=y
221CONFIG_PACKET_MMAP=y
222CONFIG_UNIX=y
223# CONFIG_NET_KEY is not set
224CONFIG_INET=y
225# CONFIG_IP_MULTICAST is not set
226# CONFIG_IP_ADVANCED_ROUTER is not set
227CONFIG_IP_FIB_HASH=y
228# CONFIG_IP_PNP is not set
229# CONFIG_NET_IPIP is not set
230# CONFIG_NET_IPGRE is not set
231# CONFIG_ARPD is not set
232CONFIG_SYN_COOKIES=y
233# CONFIG_INET_AH is not set
234# CONFIG_INET_ESP is not set
235# CONFIG_INET_IPCOMP is not set
236# CONFIG_INET_TUNNEL is not set
237CONFIG_INET_DIAG=m
238CONFIG_INET_TCP_DIAG=m
239# CONFIG_TCP_CONG_ADVANCED is not set
240CONFIG_TCP_CONG_BIC=y
241# CONFIG_IPV6 is not set
242# CONFIG_NETFILTER is not set
243
244#
245# DCCP Configuration (EXPERIMENTAL)
246#
247# CONFIG_IP_DCCP is not set
248
249#
250# SCTP Configuration (EXPERIMENTAL)
251#
252# CONFIG_IP_SCTP is not set
253# CONFIG_ATM is not set
254# CONFIG_BRIDGE is not set
255# CONFIG_VLAN_8021Q is not set
256# CONFIG_DECNET is not set
257# CONFIG_LLC2 is not set
258# CONFIG_IPX is not set
259# CONFIG_ATALK is not set
260# CONFIG_X25 is not set
261# CONFIG_LAPB is not set
262# CONFIG_NET_DIVERT is not set
263# CONFIG_ECONET is not set
264# CONFIG_WAN_ROUTER is not set
265
266#
267# QoS and/or fair queueing
268#
269# CONFIG_NET_SCHED is not set
270
271#
272# Network testing
273#
274# CONFIG_NET_PKTGEN is not set
275# CONFIG_HAMRADIO is not set
276# CONFIG_IRDA is not set
277# CONFIG_BT is not set
278CONFIG_IEEE80211=m
279# CONFIG_IEEE80211_DEBUG is not set
280CONFIG_IEEE80211_CRYPT_WEP=m
281# CONFIG_IEEE80211_CRYPT_CCMP is not set
282# CONFIG_IEEE80211_CRYPT_TKIP is not set
283
284#
285# Device Drivers
286#
287
288#
289# Generic Driver Options
290#
291CONFIG_STANDALONE=y
292# CONFIG_PREVENT_FIRMWARE_BUILD is not set
293CONFIG_FW_LOADER=y
294# CONFIG_DEBUG_DRIVER is not set
295
296#
297# Connector - unified userspace <-> kernelspace linker
298#
299# CONFIG_CONNECTOR is not set
300
301#
302# Memory Technology Devices (MTD)
303#
304CONFIG_MTD=y
305# CONFIG_MTD_DEBUG is not set
306CONFIG_MTD_CONCAT=y
307CONFIG_MTD_PARTITIONS=y
308# CONFIG_MTD_REDBOOT_PARTS is not set
309CONFIG_MTD_CMDLINE_PARTS=y
310# CONFIG_MTD_AFS_PARTS is not set
311
312#
313# User Modules And Translation Layers
314#
315CONFIG_MTD_CHAR=y
316CONFIG_MTD_BLOCK=y
317# CONFIG_FTL is not set
318# CONFIG_NFTL is not set
319# CONFIG_INFTL is not set
320# CONFIG_RFD_FTL is not set
321
322#
323# RAM/ROM/Flash chip drivers
324#
325CONFIG_MTD_CFI=y
326# CONFIG_MTD_JEDECPROBE is not set
327CONFIG_MTD_GEN_PROBE=y
328CONFIG_MTD_CFI_ADV_OPTIONS=y
329CONFIG_MTD_CFI_NOSWAP=y
330# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
331# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
332CONFIG_MTD_CFI_GEOMETRY=y
333CONFIG_MTD_MAP_BANK_WIDTH_1=y
334CONFIG_MTD_MAP_BANK_WIDTH_2=y
335CONFIG_MTD_MAP_BANK_WIDTH_4=y
336# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
337# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
338# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
339CONFIG_MTD_CFI_I1=y
340CONFIG_MTD_CFI_I2=y
341# CONFIG_MTD_CFI_I4 is not set
342# CONFIG_MTD_CFI_I8 is not set
343# CONFIG_MTD_OTP is not set
344CONFIG_MTD_CFI_INTELEXT=y
345# CONFIG_MTD_CFI_AMDSTD is not set
346# CONFIG_MTD_CFI_STAA is not set
347CONFIG_MTD_CFI_UTIL=y
348# CONFIG_MTD_RAM is not set
349# CONFIG_MTD_ROM is not set
350# CONFIG_MTD_ABSENT is not set
351# CONFIG_MTD_OBSOLETE_CHIPS is not set
352# CONFIG_MTD_XIP is not set
353
354#
355# Mapping drivers for chip access
356#
357# CONFIG_MTD_COMPLEX_MAPPINGS is not set
358# CONFIG_MTD_PHYSMAP is not set
359# CONFIG_MTD_ARM_INTEGRATOR is not set
360# CONFIG_MTD_SHARP_SL is not set
361# CONFIG_MTD_PLATRAM is not set
362
363#
364# Self-contained MTD device drivers
365#
366# CONFIG_MTD_SLRAM is not set
367# CONFIG_MTD_PHRAM is not set
368# CONFIG_MTD_MTDRAM is not set
369# CONFIG_MTD_BLKMTD is not set
370# CONFIG_MTD_BLOCK2MTD is not set
371
372#
373# Disk-On-Chip Device Drivers
374#
375# CONFIG_MTD_DOC2000 is not set
376# CONFIG_MTD_DOC2001 is not set
377# CONFIG_MTD_DOC2001PLUS is not set
378
379#
380# NAND Flash Device Drivers
381#
382# CONFIG_MTD_NAND is not set
383
384#
385# OneNAND Flash Device Drivers
386#
387# CONFIG_MTD_ONENAND is not set
388
389#
390# Parallel port support
391#
392# CONFIG_PARPORT is not set
393
394#
395# Plug and Play support
396#
397
398#
399# Block devices
400#
401# CONFIG_BLK_DEV_COW_COMMON is not set
402CONFIG_BLK_DEV_LOOP=y
403# CONFIG_BLK_DEV_CRYPTOLOOP is not set
404# CONFIG_BLK_DEV_NBD is not set
405CONFIG_BLK_DEV_RAM=y
406CONFIG_BLK_DEV_RAM_COUNT=16
407CONFIG_BLK_DEV_RAM_SIZE=8192
408CONFIG_BLK_DEV_INITRD=y
409# CONFIG_CDROM_PKTCDVD is not set
410# CONFIG_ATA_OVER_ETH is not set
411
412#
413# ATA/ATAPI/MFM/RLL support
414#
415CONFIG_IDE=y
416CONFIG_BLK_DEV_IDE=y
417
418#
419# Please see Documentation/ide.txt for help/info on IDE drives
420#
421# CONFIG_BLK_DEV_IDE_SATA is not set
422CONFIG_BLK_DEV_IDEDISK=y
423# CONFIG_IDEDISK_MULTI_MODE is not set
424CONFIG_BLK_DEV_IDECS=y
425# CONFIG_BLK_DEV_IDECD is not set
426# CONFIG_BLK_DEV_IDETAPE is not set
427# CONFIG_BLK_DEV_IDEFLOPPY is not set
428# CONFIG_IDE_TASK_IOCTL is not set
429
430#
431# IDE chipset support/bugfixes
432#
433CONFIG_IDE_GENERIC=y
434# CONFIG_IDE_ARM is not set
435# CONFIG_BLK_DEV_IDEDMA is not set
436# CONFIG_IDEDMA_AUTO is not set
437# CONFIG_BLK_DEV_HD is not set
438
439#
440# SCSI device support
441#
442# CONFIG_RAID_ATTRS is not set
443# CONFIG_SCSI is not set
444
445#
446# Multi-device support (RAID and LVM)
447#
448# CONFIG_MD is not set
449
450#
451# Fusion MPT device support
452#
453# CONFIG_FUSION is not set
454
455#
456# IEEE 1394 (FireWire) support
457#
458# CONFIG_IEEE1394 is not set
459
460#
461# I2O device support
462#
463
464#
465# Network device support
466#
467CONFIG_NETDEVICES=y
468# CONFIG_DUMMY is not set
469# CONFIG_BONDING is not set
470# CONFIG_EQUALIZER is not set
471CONFIG_TUN=m
472
473#
474# PHY device support
475#
476# CONFIG_PHYLIB is not set
477
478#
479# Ethernet (10 or 100Mbit)
480#
481CONFIG_NET_ETHERNET=y
482CONFIG_MII=m
483# CONFIG_SMC91X is not set
484# CONFIG_DM9000 is not set
485
486#
487# Ethernet (1000 Mbit)
488#
489
490#
491# Ethernet (10000 Mbit)
492#
493
494#
495# Token Ring devices
496#
497
498#
499# Wireless LAN (non-hamradio)
500#
501CONFIG_NET_RADIO=y
502
503#
504# Obsolete Wireless cards support (pre-802.11)
505#
506# CONFIG_STRIP is not set
507# CONFIG_PCMCIA_WAVELAN is not set
508# CONFIG_PCMCIA_NETWAVE is not set
509
510#
511# Wireless 802.11 Frequency Hopping cards support
512#
513# CONFIG_PCMCIA_RAYCS is not set
514
515#
516# Wireless 802.11b ISA/PCI cards support
517#
518# CONFIG_AIRO is not set
519CONFIG_HERMES=m
520# CONFIG_ATMEL is not set
521
522#
523# Wireless 802.11b Pcmcia/Cardbus cards support
524#
525CONFIG_PCMCIA_HERMES=m
526CONFIG_PCMCIA_SPECTRUM=m
527# CONFIG_AIRO_CS is not set
528# CONFIG_PCMCIA_WL3501 is not set
529CONFIG_HOSTAP=m
530CONFIG_HOSTAP_FIRMWARE=y
531CONFIG_HOSTAP_CS=m
532CONFIG_NET_WIRELESS=y
533
534#
535# PCMCIA network device support
536#
537CONFIG_NET_PCMCIA=y
538# CONFIG_PCMCIA_3C589 is not set
539# CONFIG_PCMCIA_3C574 is not set
540# CONFIG_PCMCIA_FMVJ18X is not set
541CONFIG_PCMCIA_PCNET=m
542# CONFIG_PCMCIA_NMCLAN is not set
543# CONFIG_PCMCIA_SMC91C92 is not set
544# CONFIG_PCMCIA_XIRC2PS is not set
545# CONFIG_PCMCIA_AXNET is not set
546
547#
548# Wan interfaces
549#
550# CONFIG_WAN is not set
551CONFIG_PPP=m
552# CONFIG_PPP_MULTILINK is not set
553# CONFIG_PPP_FILTER is not set
554CONFIG_PPP_ASYNC=m
555# CONFIG_PPP_SYNC_TTY is not set
556CONFIG_PPP_DEFLATE=m
557CONFIG_PPP_BSDCOMP=m
558# CONFIG_PPP_MPPE is not set
559# CONFIG_PPPOE is not set
560# CONFIG_SLIP is not set
561# CONFIG_SHAPER is not set
562# CONFIG_NETCONSOLE is not set
563# CONFIG_NETPOLL is not set
564# CONFIG_NET_POLL_CONTROLLER is not set
565
566#
567# ISDN subsystem
568#
569# CONFIG_ISDN is not set
570
571#
572# Input device support
573#
574CONFIG_INPUT=y
575
576#
577# Userland interfaces
578#
579CONFIG_INPUT_MOUSEDEV=y
580# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
581CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
582CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
583# CONFIG_INPUT_JOYDEV is not set
584# CONFIG_INPUT_TSDEV is not set
585CONFIG_INPUT_EVDEV=y
586# CONFIG_INPUT_EVBUG is not set
587# CONFIG_INPUT_POWER is not set
588
589#
590# Input Device Drivers
591#
592# CONFIG_INPUT_KEYBOARD is not set
593# CONFIG_INPUT_MOUSE is not set
594# CONFIG_INPUT_JOYSTICK is not set
595CONFIG_INPUT_TOUCHSCREEN=y
596# CONFIG_TOUCHSCREEN_GUNZE is not set
597# CONFIG_TOUCHSCREEN_ELO is not set
598# CONFIG_TOUCHSCREEN_MTOUCH is not set
599# CONFIG_TOUCHSCREEN_MK712 is not set
600CONFIG_TOUCHSCREEN_TSC2101=y
601# CONFIG_INPUT_MISC is not set
602
603#
604# Hardware I/O ports
605#
606# CONFIG_SERIO is not set
607# CONFIG_GAMEPORT is not set
608
609#
610# Character devices
611#
612CONFIG_VT=y
613CONFIG_VT_CONSOLE=y
614CONFIG_HW_CONSOLE=y
615# CONFIG_SERIAL_NONSTANDARD is not set
616
617#
618# Serial drivers
619#
620# CONFIG_SERIAL_8250 is not set
621
622#
623# Non-8250 serial port support
624#
625CONFIG_SERIAL_PXA=y
626CONFIG_SERIAL_PXA_CONSOLE=y
627CONFIG_SERIAL_CORE=y
628CONFIG_SERIAL_CORE_CONSOLE=y
629CONFIG_UNIX98_PTYS=y
630# CONFIG_LEGACY_PTYS is not set
631
632#
633# IPMI
634#
635# CONFIG_IPMI_HANDLER is not set
636
637#
638# Watchdog Cards
639#
640# CONFIG_WATCHDOG is not set
641# CONFIG_NVRAM is not set
642# CONFIG_SA1100_RTC is not set
643# CONFIG_DTLK is not set
644# CONFIG_R3964 is not set
645
646#
647# Ftape, the floppy tape device driver
648#
649
650#
651# PCMCIA character devices
652#
653# CONFIG_SYNCLINK_CS is not set
654# CONFIG_CARDMAN_4000 is not set
655# CONFIG_CARDMAN_4040 is not set
656# CONFIG_RAW_DRIVER is not set
657
658#
659# TPM devices
660#
661# CONFIG_TCG_TPM is not set
662# CONFIG_TELCLOCK is not set
663
664#
665# I2C support
666#
667# CONFIG_I2C is not set
668
669#
670# Hardware Monitoring support
671#
672# CONFIG_HWMON is not set
673
674#
675# Misc devices
676#
677
678#
679# Multimedia Capabilities Port drivers
680#
681
682#
683# Multi-Function Devices
684#
685CONFIG_MFD_TSC2101=y
686
687#
688# Multimedia devices
689#
690# CONFIG_VIDEO_DEV is not set
691
692#
693# Digital Video Broadcasting Devices
694#
695# CONFIG_DVB is not set
696
697#
698# Graphics support
699#
700CONFIG_FB=y
701CONFIG_FB_CFB_FILLRECT=y
702CONFIG_FB_CFB_COPYAREA=y
703CONFIG_FB_CFB_IMAGEBLIT=y
704# CONFIG_FB_MACMODES is not set
705# CONFIG_FB_MODE_HELPERS is not set
706# CONFIG_FB_TILEBLITTING is not set
707# CONFIG_FB_S1D13XXX is not set
708CONFIG_FB_PXA=y
709# CONFIG_FB_PXA_PARAMETERS is not set
710# CONFIG_FB_VIRTUAL is not set
711
712#
713# Console display driver support
714#
715# CONFIG_VGA_CONSOLE is not set
716CONFIG_DUMMY_CONSOLE=y
717CONFIG_FRAMEBUFFER_CONSOLE=y
718# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
719# CONFIG_FONTS is not set
720CONFIG_FONT_8x8=y
721CONFIG_FONT_8x16=y
722
723#
724# Logo configuration
725#
726# CONFIG_LOGO is not set
727CONFIG_BACKLIGHT_LCD_SUPPORT=y
728CONFIG_BACKLIGHT_CLASS_DEVICE=y
729CONFIG_BACKLIGHT_DEVICE=y
730CONFIG_LCD_CLASS_DEVICE=y
731CONFIG_LCD_DEVICE=y
732CONFIG_BACKLIGHT_HX2750=y
733
734#
735# Sound
736#
737# CONFIG_SOUND is not set
738
739#
740# USB support
741#
742CONFIG_USB_ARCH_HAS_HCD=y
743CONFIG_USB_ARCH_HAS_OHCI=y
744# CONFIG_USB is not set
745
746#
747# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
748#
749
750#
751# USB Gadget Support
752#
753# CONFIG_USB_GADGET is not set
754
755#
756# MMC/SD Card support
757#
758CONFIG_MMC=y
759# CONFIG_MMC_DEBUG is not set
760CONFIG_MMC_BLOCK=y
761CONFIG_MMC_PXA=y
762# CONFIG_MMC_WBSD is not set
763
764#
765# Real Time Clock
766#
767CONFIG_RTC_CLASS=y
768CONFIG_RTC_HCTOSYS=y
769CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
770
771#
772# RTC interfaces
773#
774CONFIG_RTC_INTF_SYSFS=y
775CONFIG_RTC_INTF_PROC=y
776CONFIG_RTC_INTF_DEV=y
777
778#
779# RTC drivers
780#
781# CONFIG_RTC_DRV_X1205 is not set
782# CONFIG_RTC_DRV_DS1672 is not set
783# CONFIG_RTC_DRV_PCF8563 is not set
784CONFIG_RTC_DRV_SA1100=y
785# CONFIG_RTC_DRV_TEST is not set
786
787#
788# File systems
789#
790CONFIG_EXT2_FS=y
791# CONFIG_EXT2_FS_XATTR is not set
792# CONFIG_EXT2_FS_XIP is not set
793# CONFIG_EXT3_FS is not set
794# CONFIG_JBD is not set
795# CONFIG_REISERFS_FS is not set
796# CONFIG_JFS_FS is not set
797# CONFIG_FS_POSIX_ACL is not set
798# CONFIG_XFS_FS is not set
799# CONFIG_MINIX_FS is not set
800# CONFIG_ROMFS_FS is not set
801CONFIG_INOTIFY=y
802# CONFIG_QUOTA is not set
803CONFIG_DNOTIFY=y
804# CONFIG_AUTOFS_FS is not set
805# CONFIG_AUTOFS4_FS is not set
806# CONFIG_FUSE_FS is not set
807
808#
809# CD-ROM/DVD Filesystems
810#
811# CONFIG_ISO9660_FS is not set
812# CONFIG_UDF_FS is not set
813
814#
815# DOS/FAT/NT Filesystems
816#
817CONFIG_FAT_FS=y
818# CONFIG_MSDOS_FS is not set
819CONFIG_VFAT_FS=y
820CONFIG_FAT_DEFAULT_CODEPAGE=437
821CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
822# CONFIG_NTFS_FS is not set
823
824#
825# Pseudo filesystems
826#
827CONFIG_PROC_FS=y
828CONFIG_SYSFS=y
829# CONFIG_TMPFS is not set
830# CONFIG_HUGETLBFS is not set
831# CONFIG_HUGETLB_PAGE is not set
832CONFIG_RAMFS=y
833# CONFIG_RELAYFS_FS is not set
834
835#
836# Miscellaneous filesystems
837#
838# CONFIG_ADFS_FS is not set
839# CONFIG_AFFS_FS is not set
840# CONFIG_HFS_FS is not set
841# CONFIG_HFSPLUS_FS is not set
842# CONFIG_BEFS_FS is not set
843# CONFIG_BFS_FS is not set
844# CONFIG_EFS_FS is not set
845# CONFIG_JFFS_FS is not set
846CONFIG_JFFS2_FS=y
847CONFIG_JFFS2_FS_DEBUG=0
848CONFIG_JFFS2_FS_WRITEBUFFER=y
849# CONFIG_JFFS2_SUMMARY is not set
850# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
851CONFIG_JFFS2_ZLIB=y
852CONFIG_JFFS2_RTIME=y
853CONFIG_JFFS2_SUMMARY=y
854# CONFIG_JFFS2_RUBIN is not set
855CONFIG_CRAMFS=y
856CONFIG_SQUASHFS=m
857# CONFIG_SQUASHFS_EMBEDDED is not set
858CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
859# CONFIG_SQUASHFS_VMALLOC is not set
860# CONFIG_VXFS_FS is not set
861# CONFIG_HPFS_FS is not set
862# CONFIG_QNX4FS_FS is not set
863# CONFIG_SYSV_FS is not set
864# CONFIG_UFS_FS is not set
865
866#
867# Network File Systems
868#
869# CONFIG_NFS_FS is not set
870# CONFIG_NFSD is not set
871# CONFIG_SMB_FS is not set
872# CONFIG_CIFS is not set
873# CONFIG_NCP_FS is not set
874# CONFIG_CODA_FS is not set
875# CONFIG_AFS_FS is not set
876# CONFIG_9P_FS is not set
877
878#
879# Partition Types
880#
881CONFIG_PARTITION_ADVANCED=y
882# CONFIG_ACORN_PARTITION is not set
883# CONFIG_OSF_PARTITION is not set
884# CONFIG_AMIGA_PARTITION is not set
885# CONFIG_ATARI_PARTITION is not set
886# CONFIG_MAC_PARTITION is not set
887CONFIG_MSDOS_PARTITION=y
888# CONFIG_BSD_DISKLABEL is not set
889# CONFIG_MINIX_SUBPARTITION is not set
890# CONFIG_SOLARIS_X86_PARTITION is not set
891# CONFIG_UNIXWARE_DISKLABEL is not set
892# CONFIG_LDM_PARTITION is not set
893# CONFIG_SGI_PARTITION is not set
894# CONFIG_ULTRIX_PARTITION is not set
895# CONFIG_SUN_PARTITION is not set
896# CONFIG_EFI_PARTITION is not set
897
898#
899# Native Language Support
900#
901CONFIG_NLS=y
902CONFIG_NLS_DEFAULT="cp437"
903CONFIG_NLS_CODEPAGE_437=y
904# CONFIG_NLS_CODEPAGE_737 is not set
905# CONFIG_NLS_CODEPAGE_775 is not set
906# CONFIG_NLS_CODEPAGE_850 is not set
907# CONFIG_NLS_CODEPAGE_852 is not set
908# CONFIG_NLS_CODEPAGE_855 is not set
909# CONFIG_NLS_CODEPAGE_857 is not set
910# CONFIG_NLS_CODEPAGE_860 is not set
911# CONFIG_NLS_CODEPAGE_861 is not set
912# CONFIG_NLS_CODEPAGE_862 is not set
913# CONFIG_NLS_CODEPAGE_863 is not set
914# CONFIG_NLS_CODEPAGE_864 is not set
915# CONFIG_NLS_CODEPAGE_865 is not set
916# CONFIG_NLS_CODEPAGE_866 is not set
917# CONFIG_NLS_CODEPAGE_869 is not set
918# CONFIG_NLS_CODEPAGE_936 is not set
919# CONFIG_NLS_CODEPAGE_950 is not set
920# CONFIG_NLS_CODEPAGE_932 is not set
921# CONFIG_NLS_CODEPAGE_949 is not set
922# CONFIG_NLS_CODEPAGE_874 is not set
923# CONFIG_NLS_ISO8859_8 is not set
924# CONFIG_NLS_CODEPAGE_1250 is not set
925# CONFIG_NLS_CODEPAGE_1251 is not set
926# CONFIG_NLS_ASCII is not set
927CONFIG_NLS_ISO8859_1=y
928# CONFIG_NLS_ISO8859_2 is not set
929# CONFIG_NLS_ISO8859_3 is not set
930# CONFIG_NLS_ISO8859_4 is not set
931# CONFIG_NLS_ISO8859_5 is not set
932# CONFIG_NLS_ISO8859_6 is not set
933# CONFIG_NLS_ISO8859_7 is not set
934# CONFIG_NLS_ISO8859_9 is not set
935# CONFIG_NLS_ISO8859_13 is not set
936# CONFIG_NLS_ISO8859_14 is not set
937# CONFIG_NLS_ISO8859_15 is not set
938# CONFIG_NLS_KOI8_R is not set
939# CONFIG_NLS_KOI8_U is not set
940CONFIG_NLS_UTF8=y
941
942#
943# Profiling support
944#
945# CONFIG_PROFILING is not set
946
947#
948# Kernel hacking
949#
950# CONFIG_PRINTK_TIME is not set
951CONFIG_DEBUG_KERNEL=y
952# CONFIG_MAGIC_SYSRQ is not set
953CONFIG_LOG_BUF_SHIFT=14
954CONFIG_DETECT_SOFTLOCKUP=y
955# CONFIG_SCHEDSTATS is not set
956# CONFIG_DEBUG_SLAB is not set
957CONFIG_DEBUG_PREEMPT=y
958# CONFIG_DEBUG_SPINLOCK is not set
959# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
960# CONFIG_DEBUG_KOBJECT is not set
961# CONFIG_DEBUG_BUGVERBOSE is not set
962# CONFIG_DEBUG_INFO is not set
963# CONFIG_DEBUG_FS is not set
964# CONFIG_DEBUG_VM is not set
965CONFIG_FRAME_POINTER=y
966# CONFIG_RCU_TORTURE_TEST is not set
967# CONFIG_DEBUG_USER is not set
968# CONFIG_DEBUG_WAITQ is not set
969CONFIG_DEBUG_ERRORS=y
970CONFIG_DEBUG_LL=y
971# CONFIG_DEBUG_ICEDCC is not set
972
973#
974# Security options
975#
976# CONFIG_KEYS is not set
977# CONFIG_SECURITY is not set
978
979#
980# Cryptographic options
981#
982CONFIG_CRYPTO=y
983# CONFIG_CRYPTO_HMAC is not set
984# CONFIG_CRYPTO_NULL is not set
985# CONFIG_CRYPTO_MD4 is not set
986# CONFIG_CRYPTO_MD5 is not set
987# CONFIG_CRYPTO_SHA1 is not set
988# CONFIG_CRYPTO_SHA256 is not set
989# CONFIG_CRYPTO_SHA512 is not set
990# CONFIG_CRYPTO_WP512 is not set
991# CONFIG_CRYPTO_TGR192 is not set
992# CONFIG_CRYPTO_DES is not set
993# CONFIG_CRYPTO_BLOWFISH is not set
994# CONFIG_CRYPTO_TWOFISH is not set
995# CONFIG_CRYPTO_SERPENT is not set
996# CONFIG_CRYPTO_AES is not set
997# CONFIG_CRYPTO_CAST5 is not set
998# CONFIG_CRYPTO_CAST6 is not set
999# CONFIG_CRYPTO_TEA is not set
1000CONFIG_CRYPTO_ARC4=m
1001# CONFIG_CRYPTO_KHAZAD is not set
1002# CONFIG_CRYPTO_ANUBIS is not set
1003CONFIG_CRYPTO_DEFLATE=y
1004# CONFIG_CRYPTO_MICHAEL_MIC is not set
1005CONFIG_CRYPTO_CRC32C=y
1006# CONFIG_CRYPTO_TEST is not set
1007
1008#
1009# Hardware crypto devices
1010#
1011
1012#
1013# Library routines
1014#
1015CONFIG_CRC_CCITT=m
1016# CONFIG_CRC16 is not set
1017CONFIG_CRC32=y
1018CONFIG_LIBCRC32C=y
1019CONFIG_ZLIB_INFLATE=y
1020CONFIG_ZLIB_DEFLATE=y
1021
diff --git a/meta/packages/linux/linux-rp-2.6.21/defconfig-poodle b/meta/packages/linux/linux-rp-2.6.21/defconfig-poodle
new file mode 100644
index 0000000000..deacd170f2
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21/defconfig-poodle
@@ -0,0 +1,1655 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.17
4# Mon Jul 10 23:38:56 2006
5#
6CONFIG_ARM=y
7CONFIG_MMU=y
8CONFIG_RWSEM_GENERIC_SPINLOCK=y
9CONFIG_GENERIC_HWEIGHT=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y
11CONFIG_ARCH_MTD_XIP=y
12CONFIG_VECTORS_BASE=0xffff0000
13
14#
15# Code maturity level options
16#
17CONFIG_EXPERIMENTAL=y
18CONFIG_BROKEN_ON_SMP=y
19CONFIG_LOCK_KERNEL=y
20CONFIG_INIT_ENV_ARG_LIMIT=32
21
22#
23# General setup
24#
25CONFIG_LOCALVERSION=""
26CONFIG_LOCALVERSION_AUTO=y
27CONFIG_SWAP=y
28CONFIG_SYSVIPC=y
29# CONFIG_POSIX_MQUEUE is not set
30CONFIG_BSD_PROCESS_ACCT=y
31# CONFIG_BSD_PROCESS_ACCT_V3 is not set
32CONFIG_SYSCTL=y
33# CONFIG_AUDIT is not set
34# CONFIG_IKCONFIG is not set
35# CONFIG_RELAY is not set
36CONFIG_INITRAMFS_SOURCE=""
37CONFIG_UID16=y
38CONFIG_CC_OPTIMIZE_FOR_SIZE=y
39CONFIG_EMBEDDED=y
40CONFIG_KALLSYMS=y
41# CONFIG_KALLSYMS_ALL is not set
42# CONFIG_KALLSYMS_EXTRA_PASS is not set
43CONFIG_HOTPLUG=y
44CONFIG_PRINTK=y
45CONFIG_BUG=y
46CONFIG_ELF_CORE=y
47CONFIG_BASE_FULL=y
48CONFIG_FUTEX=y
49CONFIG_EPOLL=y
50CONFIG_SHMEM=y
51CONFIG_SLAB=y
52# CONFIG_TINY_SHMEM is not set
53CONFIG_BASE_SMALL=0
54# CONFIG_SLOB is not set
55
56#
57# Loadable module support
58#
59CONFIG_MODULES=y
60CONFIG_MODULE_UNLOAD=y
61CONFIG_MODULE_FORCE_UNLOAD=y
62# CONFIG_MODVERSIONS is not set
63# CONFIG_MODULE_SRCVERSION_ALL is not set
64CONFIG_KMOD=y
65
66#
67# Block layer
68#
69# CONFIG_BLK_DEV_IO_TRACE is not set
70
71#
72# IO Schedulers
73#
74CONFIG_IOSCHED_NOOP=y
75CONFIG_IOSCHED_AS=y
76CONFIG_IOSCHED_DEADLINE=m
77CONFIG_IOSCHED_CFQ=m
78CONFIG_DEFAULT_AS=y
79# CONFIG_DEFAULT_DEADLINE is not set
80# CONFIG_DEFAULT_CFQ is not set
81# CONFIG_DEFAULT_NOOP is not set
82CONFIG_DEFAULT_IOSCHED="anticipatory"
83
84#
85# System Type
86#
87# CONFIG_ARCH_CLPS7500 is not set
88# CONFIG_ARCH_CLPS711X is not set
89# CONFIG_ARCH_CO285 is not set
90# CONFIG_ARCH_EBSA110 is not set
91# CONFIG_ARCH_EP93XX is not set
92# CONFIG_ARCH_FOOTBRIDGE is not set
93# CONFIG_ARCH_INTEGRATOR is not set
94# CONFIG_ARCH_IOP3XX is not set
95# CONFIG_ARCH_IXP4XX is not set
96# CONFIG_ARCH_IXP2000 is not set
97# CONFIG_ARCH_IXP23XX is not set
98# CONFIG_ARCH_L7200 is not set
99CONFIG_ARCH_PXA=y
100# CONFIG_ARCH_RPC is not set
101# CONFIG_ARCH_SA1100 is not set
102# CONFIG_ARCH_S3C2410 is not set
103# CONFIG_ARCH_SHARK is not set
104# CONFIG_ARCH_LH7A40X is not set
105# CONFIG_ARCH_OMAP is not set
106# CONFIG_ARCH_VERSATILE is not set
107# CONFIG_ARCH_REALVIEW is not set
108# CONFIG_ARCH_IMX is not set
109# CONFIG_ARCH_H720X is not set
110# CONFIG_ARCH_AAEC2000 is not set
111# CONFIG_ARCH_AT91RM9200 is not set
112
113#
114# Intel PXA2xx Implementations
115#
116# CONFIG_ARCH_LUBBOCK is not set
117# CONFIG_MACH_LOGICPD_PXA270 is not set
118# CONFIG_MACH_MAINSTONE is not set
119# CONFIG_ARCH_PXA_IDP is not set
120CONFIG_PXA_SHARPSL=y
121# CONFIG_MACH_HX2750 is not set
122CONFIG_PXA_SHARPSL_25x=y
123# CONFIG_PXA_SHARPSL_27x is not set
124CONFIG_MACH_POODLE=y
125# CONFIG_MACH_CORGI is not set
126# CONFIG_MACH_SHEPHERD is not set
127# CONFIG_MACH_HUSKY is not set
128# CONFIG_MACH_TOSA is not set
129CONFIG_PXA25x=y
130# CONFIG_PXA_KEYS is not set
131CONFIG_PXA_SSP=y
132
133#
134# Processor Type
135#
136CONFIG_CPU_32=y
137CONFIG_CPU_XSCALE=y
138CONFIG_CPU_32v5=y
139CONFIG_CPU_ABRT_EV5T=y
140CONFIG_CPU_CACHE_VIVT=y
141CONFIG_CPU_TLB_V4WBI=y
142
143#
144# Processor Features
145#
146CONFIG_ARM_THUMB=y
147CONFIG_XSCALE_PMU=y
148CONFIG_KEXEC=y
149CONFIG_SHARP_LOCOMO=y
150CONFIG_SHARP_PARAM=y
151CONFIG_SHARPSL_PM=y
152CONFIG_SHARP_SCOOP=y
153
154#
155# Bus support
156#
157
158#
159# PCCARD (PCMCIA/CardBus) support
160#
161CONFIG_PCCARD=y
162# CONFIG_PCMCIA_DEBUG is not set
163CONFIG_PCMCIA=y
164CONFIG_PCMCIA_LOAD_CIS=y
165CONFIG_PCMCIA_IOCTL=y
166
167#
168# PC-card bridges
169#
170CONFIG_PCMCIA_PXA2XX=y
171
172#
173# Kernel Features
174#
175CONFIG_PREEMPT=y
176CONFIG_NO_IDLE_HZ=y
177CONFIG_HZ=100
178# CONFIG_AEABI is not set
179# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
180CONFIG_SELECT_MEMORY_MODEL=y
181CONFIG_FLATMEM_MANUAL=y
182# CONFIG_DISCONTIGMEM_MANUAL is not set
183# CONFIG_SPARSEMEM_MANUAL is not set
184CONFIG_FLATMEM=y
185CONFIG_FLAT_NODE_MEM_MAP=y
186# CONFIG_SPARSEMEM_STATIC is not set
187CONFIG_SPLIT_PTLOCK_CPUS=4096
188CONFIG_ALIGNMENT_TRAP=y
189
190#
191# Boot options
192#
193CONFIG_ZBOOT_ROM_TEXT=0x0
194CONFIG_ZBOOT_ROM_BSS=0x0
195CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2 fbcon=rotate:1 dyntick=enable debug"
196# CONFIG_XIP_KERNEL is not set
197
198#
199# CPU Frequency scaling
200#
201CONFIG_CPU_FREQ=y
202CONFIG_CPU_FREQ_TABLE=y
203CONFIG_CPU_FREQ_DEBUG=y
204CONFIG_CPU_FREQ_STAT=y
205# CONFIG_CPU_FREQ_STAT_DETAILS is not set
206CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
207# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
208CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
209CONFIG_CPU_FREQ_GOV_POWERSAVE=y
210CONFIG_CPU_FREQ_GOV_USERSPACE=y
211CONFIG_CPU_FREQ_GOV_ONDEMAND=y
212CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
213CONFIG_CPU_FREQ_PXA25x=y
214
215#
216# Floating point emulation
217#
218
219#
220# At least one emulation must be selected
221#
222CONFIG_FPE_NWFPE=y
223# CONFIG_FPE_NWFPE_XP is not set
224# CONFIG_FPE_FASTFPE is not set
225
226#
227# Userspace binary formats
228#
229CONFIG_BINFMT_ELF=y
230CONFIG_BINFMT_AOUT=m
231CONFIG_BINFMT_MISC=m
232# CONFIG_ARTHUR is not set
233
234#
235# Power management options
236#
237CONFIG_PM=y
238# CONFIG_PM_LEGACY is not set
239# CONFIG_PM_DEBUG is not set
240CONFIG_APM=y
241
242#
243# Networking
244#
245CONFIG_NET=y
246
247#
248# Networking options
249#
250# CONFIG_NETDEBUG is not set
251CONFIG_PACKET=y
252CONFIG_PACKET_MMAP=y
253CONFIG_UNIX=y
254CONFIG_XFRM=y
255# CONFIG_XFRM_USER is not set
256# CONFIG_NET_KEY is not set
257CONFIG_INET=y
258# CONFIG_IP_MULTICAST is not set
259# CONFIG_IP_ADVANCED_ROUTER is not set
260CONFIG_IP_FIB_HASH=y
261# CONFIG_IP_PNP is not set
262# CONFIG_NET_IPIP is not set
263# CONFIG_NET_IPGRE is not set
264# CONFIG_ARPD is not set
265CONFIG_SYN_COOKIES=y
266# CONFIG_INET_AH is not set
267# CONFIG_INET_ESP is not set
268# CONFIG_INET_IPCOMP is not set
269# CONFIG_INET_XFRM_TUNNEL is not set
270# CONFIG_INET_TUNNEL is not set
271CONFIG_INET_DIAG=m
272CONFIG_INET_TCP_DIAG=m
273# CONFIG_TCP_CONG_ADVANCED is not set
274CONFIG_TCP_CONG_BIC=y
275
276#
277# IP: Virtual Server Configuration
278#
279# CONFIG_IP_VS is not set
280CONFIG_IPV6=m
281# CONFIG_IPV6_PRIVACY is not set
282# CONFIG_IPV6_ROUTER_PREF is not set
283CONFIG_INET6_AH=m
284CONFIG_INET6_ESP=m
285CONFIG_INET6_IPCOMP=m
286CONFIG_INET6_XFRM_TUNNEL=m
287CONFIG_INET6_TUNNEL=m
288CONFIG_IPV6_TUNNEL=m
289CONFIG_NETFILTER=y
290# CONFIG_NETFILTER_DEBUG is not set
291
292#
293# Core Netfilter Configuration
294#
295# CONFIG_NETFILTER_NETLINK is not set
296# CONFIG_NETFILTER_XTABLES is not set
297
298#
299# IP: Netfilter Configuration
300#
301CONFIG_IP_NF_CONNTRACK=m
302# CONFIG_IP_NF_CT_ACCT is not set
303# CONFIG_IP_NF_CONNTRACK_MARK is not set
304# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
305CONFIG_IP_NF_CT_PROTO_SCTP=m
306CONFIG_IP_NF_FTP=m
307CONFIG_IP_NF_IRC=m
308# CONFIG_IP_NF_NETBIOS_NS is not set
309CONFIG_IP_NF_TFTP=m
310CONFIG_IP_NF_AMANDA=m
311# CONFIG_IP_NF_PPTP is not set
312# CONFIG_IP_NF_H323 is not set
313CONFIG_IP_NF_QUEUE=m
314
315#
316# IPv6: Netfilter Configuration (EXPERIMENTAL)
317#
318# CONFIG_IP6_NF_QUEUE is not set
319
320#
321# DCCP Configuration (EXPERIMENTAL)
322#
323# CONFIG_IP_DCCP is not set
324
325#
326# SCTP Configuration (EXPERIMENTAL)
327#
328# CONFIG_IP_SCTP is not set
329
330#
331# TIPC Configuration (EXPERIMENTAL)
332#
333# CONFIG_TIPC is not set
334# CONFIG_ATM is not set
335# CONFIG_BRIDGE is not set
336# CONFIG_VLAN_8021Q is not set
337# CONFIG_DECNET is not set
338# CONFIG_LLC2 is not set
339# CONFIG_IPX is not set
340# CONFIG_ATALK is not set
341# CONFIG_X25 is not set
342# CONFIG_LAPB is not set
343# CONFIG_NET_DIVERT is not set
344# CONFIG_ECONET is not set
345# CONFIG_WAN_ROUTER is not set
346
347#
348# QoS and/or fair queueing
349#
350# CONFIG_NET_SCHED is not set
351
352#
353# Network testing
354#
355# CONFIG_NET_PKTGEN is not set
356# CONFIG_HAMRADIO is not set
357CONFIG_IRDA=m
358
359#
360# IrDA protocols
361#
362CONFIG_IRLAN=m
363CONFIG_IRNET=m
364CONFIG_IRCOMM=m
365# CONFIG_IRDA_ULTRA is not set
366
367#
368# IrDA options
369#
370# CONFIG_IRDA_CACHE_LAST_LSAP is not set
371# CONFIG_IRDA_FAST_RR is not set
372# CONFIG_IRDA_DEBUG is not set
373
374#
375# Infrared-port device drivers
376#
377
378#
379# SIR device drivers
380#
381# CONFIG_IRTTY_SIR is not set
382
383#
384# Dongle support
385#
386
387#
388# Old SIR device drivers
389#
390# CONFIG_IRPORT_SIR is not set
391
392#
393# Old Serial dongle support
394#
395
396#
397# FIR device drivers
398#
399# CONFIG_USB_IRDA is not set
400# CONFIG_SIGMATEL_FIR is not set
401CONFIG_PXA_FICP=m
402CONFIG_BT=m
403CONFIG_BT_L2CAP=m
404CONFIG_BT_SCO=m
405CONFIG_BT_RFCOMM=m
406CONFIG_BT_RFCOMM_TTY=y
407CONFIG_BT_BNEP=m
408CONFIG_BT_BNEP_MC_FILTER=y
409CONFIG_BT_BNEP_PROTO_FILTER=y
410CONFIG_BT_HIDP=m
411
412#
413# Bluetooth device drivers
414#
415CONFIG_BT_HCIUSB=m
416# CONFIG_BT_HCIUSB_SCO is not set
417CONFIG_BT_HCIUART=m
418CONFIG_BT_HCIUART_H4=y
419CONFIG_BT_HCIUART_BCSP=y
420CONFIG_BT_HCIBCM203X=m
421CONFIG_BT_HCIBPA10X=m
422CONFIG_BT_HCIBFUSB=m
423CONFIG_BT_HCIDTL1=m
424CONFIG_BT_HCIBT3C=m
425CONFIG_BT_HCIBLUECARD=m
426CONFIG_BT_HCIBTUART=m
427CONFIG_BT_HCIVHCI=m
428CONFIG_IEEE80211=m
429# CONFIG_IEEE80211_DEBUG is not set
430CONFIG_IEEE80211_CRYPT_WEP=m
431CONFIG_IEEE80211_CRYPT_CCMP=m
432CONFIG_IEEE80211_CRYPT_TKIP=m
433# CONFIG_IEEE80211_SOFTMAC is not set
434CONFIG_WIRELESS_EXT=y
435
436#
437# Device Drivers
438#
439
440#
441# Generic Driver Options
442#
443CONFIG_STANDALONE=y
444CONFIG_PREVENT_FIRMWARE_BUILD=y
445CONFIG_FW_LOADER=y
446# CONFIG_DEBUG_DRIVER is not set
447
448#
449# Connector - unified userspace <-> kernelspace linker
450#
451# CONFIG_CONNECTOR is not set
452
453#
454# Memory Technology Devices (MTD)
455#
456CONFIG_MTD=y
457# CONFIG_MTD_DEBUG is not set
458# CONFIG_MTD_CONCAT is not set
459CONFIG_MTD_PARTITIONS=y
460# CONFIG_MTD_REDBOOT_PARTS is not set
461CONFIG_MTD_CMDLINE_PARTS=y
462# CONFIG_MTD_AFS_PARTS is not set
463
464#
465# User Modules And Translation Layers
466#
467CONFIG_MTD_CHAR=y
468CONFIG_MTD_BLOCK=y
469# CONFIG_FTL is not set
470# CONFIG_NFTL is not set
471# CONFIG_INFTL is not set
472# CONFIG_RFD_FTL is not set
473
474#
475# RAM/ROM/Flash chip drivers
476#
477# CONFIG_MTD_CFI is not set
478# CONFIG_MTD_JEDECPROBE is not set
479CONFIG_MTD_MAP_BANK_WIDTH_1=y
480CONFIG_MTD_MAP_BANK_WIDTH_2=y
481CONFIG_MTD_MAP_BANK_WIDTH_4=y
482# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
483# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
484# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
485CONFIG_MTD_CFI_I1=y
486CONFIG_MTD_CFI_I2=y
487# CONFIG_MTD_CFI_I4 is not set
488# CONFIG_MTD_CFI_I8 is not set
489# CONFIG_MTD_RAM is not set
490CONFIG_MTD_ROM=y
491# CONFIG_MTD_ABSENT is not set
492# CONFIG_MTD_OBSOLETE_CHIPS is not set
493
494#
495# Mapping drivers for chip access
496#
497CONFIG_MTD_COMPLEX_MAPPINGS=y
498CONFIG_MTD_SHARP_SL=y
499# CONFIG_MTD_PLATRAM is not set
500
501#
502# Self-contained MTD device drivers
503#
504# CONFIG_MTD_SLRAM is not set
505# CONFIG_MTD_PHRAM is not set
506# CONFIG_MTD_MTDRAM is not set
507# CONFIG_MTD_BLOCK2MTD is not set
508
509#
510# Disk-On-Chip Device Drivers
511#
512# CONFIG_MTD_DOC2000 is not set
513# CONFIG_MTD_DOC2001 is not set
514# CONFIG_MTD_DOC2001PLUS is not set
515
516#
517# NAND Flash Device Drivers
518#
519CONFIG_MTD_NAND=y
520CONFIG_MTD_NAND_VERIFY_WRITE=y
521# CONFIG_MTD_NAND_H1900 is not set
522CONFIG_MTD_NAND_IDS=y
523# CONFIG_MTD_NAND_DISKONCHIP is not set
524CONFIG_MTD_NAND_SHARPSL=y
525# CONFIG_MTD_NAND_NANDSIM is not set
526
527#
528# OneNAND Flash Device Drivers
529#
530# CONFIG_MTD_ONENAND is not set
531
532#
533# Parallel port support
534#
535# CONFIG_PARPORT is not set
536
537#
538# Plug and Play support
539#
540
541#
542# Block devices
543#
544# CONFIG_BLK_DEV_COW_COMMON is not set
545CONFIG_BLK_DEV_LOOP=y
546# CONFIG_BLK_DEV_CRYPTOLOOP is not set
547# CONFIG_BLK_DEV_NBD is not set
548# CONFIG_BLK_DEV_UB is not set
549# CONFIG_BLK_DEV_RAM is not set
550# CONFIG_BLK_DEV_INITRD is not set
551# CONFIG_CDROM_PKTCDVD is not set
552# CONFIG_ATA_OVER_ETH is not set
553
554#
555# ATA/ATAPI/MFM/RLL support
556#
557CONFIG_IDE=y
558CONFIG_BLK_DEV_IDE=y
559
560#
561# Please see Documentation/ide.txt for help/info on IDE drives
562#
563# CONFIG_BLK_DEV_IDE_SATA is not set
564CONFIG_BLK_DEV_IDEDISK=y
565# CONFIG_IDEDISK_MULTI_MODE is not set
566CONFIG_BLK_DEV_IDECS=y
567# CONFIG_BLK_DEV_IDECD is not set
568# CONFIG_BLK_DEV_IDETAPE is not set
569# CONFIG_BLK_DEV_IDEFLOPPY is not set
570# CONFIG_BLK_DEV_IDESCSI is not set
571# CONFIG_IDE_TASK_IOCTL is not set
572
573#
574# IDE chipset support/bugfixes
575#
576CONFIG_IDE_GENERIC=y
577# CONFIG_IDE_ARM is not set
578# CONFIG_BLK_DEV_IDEDMA is not set
579# CONFIG_IDEDMA_AUTO is not set
580# CONFIG_BLK_DEV_HD is not set
581
582#
583# SCSI device support
584#
585# CONFIG_RAID_ATTRS is not set
586CONFIG_SCSI=m
587CONFIG_SCSI_PROC_FS=y
588
589#
590# SCSI support type (disk, tape, CD-ROM)
591#
592CONFIG_BLK_DEV_SD=m
593CONFIG_CHR_DEV_ST=m
594CONFIG_CHR_DEV_OSST=m
595CONFIG_BLK_DEV_SR=m
596# CONFIG_BLK_DEV_SR_VENDOR is not set
597CONFIG_CHR_DEV_SG=m
598# CONFIG_CHR_DEV_SCH is not set
599
600#
601# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
602#
603CONFIG_SCSI_MULTI_LUN=y
604# CONFIG_SCSI_CONSTANTS is not set
605# CONFIG_SCSI_LOGGING is not set
606
607#
608# SCSI Transport Attributes
609#
610# CONFIG_SCSI_SPI_ATTRS is not set
611# CONFIG_SCSI_FC_ATTRS is not set
612# CONFIG_SCSI_ISCSI_ATTRS is not set
613# CONFIG_SCSI_SAS_ATTRS is not set
614
615#
616# SCSI low-level drivers
617#
618# CONFIG_ISCSI_TCP is not set
619# CONFIG_SCSI_SATA is not set
620# CONFIG_SCSI_DEBUG is not set
621
622#
623# PCMCIA SCSI adapter support
624#
625# CONFIG_PCMCIA_AHA152X is not set
626# CONFIG_PCMCIA_FDOMAIN is not set
627# CONFIG_PCMCIA_NINJA_SCSI is not set
628# CONFIG_PCMCIA_QLOGIC is not set
629# CONFIG_PCMCIA_SYM53C500 is not set
630
631#
632# Multi-device support (RAID and LVM)
633#
634CONFIG_MD=y
635CONFIG_BLK_DEV_DM=m
636CONFIG_DM_CRYPT=m
637CONFIG_DM_SNAPSHOT=m
638CONFIG_DM_MIRROR=m
639CONFIG_DM_ZERO=m
640CONFIG_DM_MULTIPATH=m
641CONFIG_DM_MULTIPATH_EMC=m
642
643#
644# Fusion MPT device support
645#
646# CONFIG_FUSION is not set
647
648#
649# IEEE 1394 (FireWire) support
650#
651
652#
653# I2O device support
654#
655
656#
657# Network device support
658#
659CONFIG_NETDEVICES=y
660# CONFIG_DUMMY is not set
661# CONFIG_BONDING is not set
662# CONFIG_EQUALIZER is not set
663CONFIG_TUN=m
664
665#
666# PHY device support
667#
668# CONFIG_PHYLIB is not set
669
670#
671# Ethernet (10 or 100Mbit)
672#
673CONFIG_NET_ETHERNET=y
674CONFIG_MII=m
675# CONFIG_SMC91X is not set
676# CONFIG_DM9000 is not set
677
678#
679# Ethernet (1000 Mbit)
680#
681
682#
683# Ethernet (10000 Mbit)
684#
685
686#
687# Token Ring devices
688#
689
690#
691# Wireless LAN (non-hamradio)
692#
693CONFIG_NET_RADIO=y
694# CONFIG_NET_WIRELESS_RTNETLINK is not set
695
696#
697# Obsolete Wireless cards support (pre-802.11)
698#
699# CONFIG_STRIP is not set
700# CONFIG_PCMCIA_WAVELAN is not set
701# CONFIG_PCMCIA_NETWAVE is not set
702
703#
704# Wireless 802.11 Frequency Hopping cards support
705#
706# CONFIG_PCMCIA_RAYCS is not set
707
708#
709# Wireless 802.11b ISA/PCI cards support
710#
711CONFIG_HERMES=m
712# CONFIG_ATMEL is not set
713
714#
715# Wireless 802.11b Pcmcia/Cardbus cards support
716#
717CONFIG_PCMCIA_HERMES=m
718CONFIG_PCMCIA_SPECTRUM=m
719# CONFIG_AIRO_CS is not set
720# CONFIG_PCMCIA_WL3501 is not set
721CONFIG_HOSTAP=m
722CONFIG_HOSTAP_FIRMWARE=y
723# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
724CONFIG_HOSTAP_CS=m
725CONFIG_NET_WIRELESS=y
726
727#
728# PCMCIA network device support
729#
730CONFIG_NET_PCMCIA=y
731# CONFIG_PCMCIA_3C589 is not set
732# CONFIG_PCMCIA_3C574 is not set
733# CONFIG_PCMCIA_FMVJ18X is not set
734CONFIG_PCMCIA_PCNET=m
735# CONFIG_PCMCIA_NMCLAN is not set
736# CONFIG_PCMCIA_SMC91C92 is not set
737# CONFIG_PCMCIA_XIRC2PS is not set
738# CONFIG_PCMCIA_AXNET is not set
739
740#
741# Wan interfaces
742#
743# CONFIG_WAN is not set
744CONFIG_PPP=m
745# CONFIG_PPP_MULTILINK is not set
746# CONFIG_PPP_FILTER is not set
747CONFIG_PPP_ASYNC=m
748# CONFIG_PPP_SYNC_TTY is not set
749CONFIG_PPP_DEFLATE=m
750CONFIG_PPP_BSDCOMP=m
751# CONFIG_PPP_MPPE is not set
752# CONFIG_PPPOE is not set
753# CONFIG_SLIP is not set
754# CONFIG_SHAPER is not set
755# CONFIG_NETCONSOLE is not set
756# CONFIG_NETPOLL is not set
757# CONFIG_NET_POLL_CONTROLLER is not set
758
759#
760# ISDN subsystem
761#
762# CONFIG_ISDN is not set
763
764#
765# Input device support
766#
767CONFIG_INPUT=y
768
769#
770# Userland interfaces
771#
772CONFIG_INPUT_MOUSEDEV=m
773# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
774CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
775CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
776# CONFIG_INPUT_JOYDEV is not set
777# CONFIG_INPUT_TSDEV is not set
778CONFIG_INPUT_EVDEV=y
779# CONFIG_INPUT_EVBUG is not set
780CONFIG_INPUT_POWER=y
781
782#
783# Input Device Drivers
784#
785CONFIG_INPUT_KEYBOARD=y
786# CONFIG_KEYBOARD_ATKBD is not set
787# CONFIG_KEYBOARD_SUNKBD is not set
788# CONFIG_KEYBOARD_LKKBD is not set
789CONFIG_KEYBOARD_LOCOMO=y
790# CONFIG_KEYBOARD_XTKBD is not set
791# CONFIG_KEYBOARD_NEWTON is not set
792# CONFIG_KEYBOARD_CORGI is not set
793# CONFIG_KEYBOARD_SPITZ is not set
794# CONFIG_INPUT_MOUSE is not set
795# CONFIG_INPUT_JOYSTICK is not set
796CONFIG_INPUT_TOUCHSCREEN=y
797CONFIG_TOUCHSCREEN_CORGI=y
798# CONFIG_TOUCHSCREEN_GUNZE is not set
799# CONFIG_TOUCHSCREEN_ELO is not set
800# CONFIG_TOUCHSCREEN_MTOUCH is not set
801# CONFIG_TOUCHSCREEN_MK712 is not set
802CONFIG_INPUT_MISC=y
803CONFIG_INPUT_UINPUT=m
804
805#
806# Hardware I/O ports
807#
808# CONFIG_SERIO is not set
809# CONFIG_GAMEPORT is not set
810
811#
812# Character devices
813#
814CONFIG_VT=y
815CONFIG_VT_CONSOLE=y
816CONFIG_HW_CONSOLE=y
817# CONFIG_SERIAL_NONSTANDARD is not set
818
819#
820# Serial drivers
821#
822CONFIG_SERIAL_8250=m
823CONFIG_SERIAL_8250_CS=m
824CONFIG_SERIAL_8250_NR_UARTS=4
825CONFIG_SERIAL_8250_RUNTIME_UARTS=4
826# CONFIG_SERIAL_8250_EXTENDED is not set
827
828#
829# Non-8250 serial port support
830#
831CONFIG_SERIAL_PXA=y
832CONFIG_SERIAL_PXA_CONSOLE=y
833CONFIG_SERIAL_CORE=y
834CONFIG_SERIAL_CORE_CONSOLE=y
835CONFIG_UNIX98_PTYS=y
836# CONFIG_LEGACY_PTYS is not set
837
838#
839# IPMI
840#
841# CONFIG_IPMI_HANDLER is not set
842
843#
844# Watchdog Cards
845#
846# CONFIG_WATCHDOG is not set
847# CONFIG_NVRAM is not set
848# CONFIG_DTLK is not set
849# CONFIG_R3964 is not set
850
851#
852# Ftape, the floppy tape device driver
853#
854
855#
856# PCMCIA character devices
857#
858# CONFIG_SYNCLINK_CS is not set
859# CONFIG_CARDMAN_4000 is not set
860# CONFIG_CARDMAN_4040 is not set
861# CONFIG_RAW_DRIVER is not set
862
863#
864# TPM devices
865#
866# CONFIG_TCG_TPM is not set
867# CONFIG_TELCLOCK is not set
868
869#
870# I2C support
871#
872CONFIG_I2C=y
873# CONFIG_I2C_CHARDEV is not set
874
875#
876# I2C Algorithms
877#
878CONFIG_I2C_ALGOBIT=y
879# CONFIG_I2C_ALGOPCF is not set
880# CONFIG_I2C_ALGOPCA is not set
881
882#
883# I2C Hardware Bus support
884#
885CONFIG_I2C_PXA=y
886# CONFIG_I2C_PXA_SLAVE is not set
887# CONFIG_I2C_PARPORT_LIGHT is not set
888# CONFIG_I2C_STUB is not set
889# CONFIG_I2C_PCA_ISA is not set
890
891#
892# Miscellaneous I2C Chip support
893#
894# CONFIG_SENSORS_DS1337 is not set
895# CONFIG_SENSORS_DS1374 is not set
896# CONFIG_SENSORS_EEPROM is not set
897# CONFIG_SENSORS_PCF8574 is not set
898# CONFIG_SENSORS_PCA9539 is not set
899# CONFIG_SENSORS_PCF8591 is not set
900# CONFIG_SENSORS_MAX6875 is not set
901# CONFIG_I2C_DEBUG_CORE is not set
902# CONFIG_I2C_DEBUG_ALGO is not set
903# CONFIG_I2C_DEBUG_BUS is not set
904# CONFIG_I2C_DEBUG_CHIP is not set
905
906#
907# SPI support
908#
909# CONFIG_SPI is not set
910# CONFIG_SPI_MASTER is not set
911
912#
913# Dallas's 1-wire bus
914#
915# CONFIG_W1 is not set
916
917#
918# Hardware Monitoring support
919#
920# CONFIG_HWMON is not set
921# CONFIG_HWMON_VID is not set
922
923#
924# Misc devices
925#
926
927#
928# Multi-Function Devices
929#
930
931#
932# LED devices
933#
934CONFIG_NEW_LEDS=y
935CONFIG_LEDS_CLASS=y
936
937#
938# LED drivers
939#
940CONFIG_LEDS_LOCOMO=y
941# CONFIG_LEDS_TOSA is not set
942
943#
944# LED Triggers
945#
946CONFIG_LEDS_TRIGGERS=y
947CONFIG_LEDS_TRIGGER_TIMER=y
948CONFIG_LEDS_TRIGGER_IDE_DISK=y
949
950#
951# Multimedia devices
952#
953CONFIG_VIDEO_DEV=m
954CONFIG_VIDEO_V4L1=y
955CONFIG_VIDEO_V4L1_COMPAT=y
956CONFIG_VIDEO_V4L2=y
957
958#
959# Video Capture Adapters
960#
961
962#
963# Video Capture Adapters
964#
965# CONFIG_VIDEO_ADV_DEBUG is not set
966# CONFIG_VIDEO_VIVI is not set
967# CONFIG_VIDEO_CPIA is not set
968# CONFIG_VIDEO_CPIA2 is not set
969# CONFIG_VIDEO_SAA5246A is not set
970# CONFIG_VIDEO_SAA5249 is not set
971# CONFIG_TUNER_3036 is not set
972# CONFIG_VIDEO_OVCAMCHIP is not set
973
974#
975# Encoders and Decoders
976#
977# CONFIG_VIDEO_MSP3400 is not set
978# CONFIG_VIDEO_CS53L32A is not set
979# CONFIG_VIDEO_WM8775 is not set
980# CONFIG_VIDEO_WM8739 is not set
981# CONFIG_VIDEO_CX25840 is not set
982# CONFIG_VIDEO_SAA711X is not set
983# CONFIG_VIDEO_SAA7127 is not set
984# CONFIG_VIDEO_UPD64031A is not set
985# CONFIG_VIDEO_UPD64083 is not set
986
987#
988# V4L USB devices
989#
990# CONFIG_VIDEO_EM28XX is not set
991CONFIG_USB_DSBR=m
992CONFIG_VIDEO_USBVIDEO=m
993CONFIG_USB_VICAM=m
994CONFIG_USB_IBMCAM=m
995CONFIG_USB_KONICAWC=m
996# CONFIG_USB_ET61X251 is not set
997CONFIG_USB_OV511=m
998CONFIG_USB_SE401=m
999CONFIG_USB_SN9C102=m
1000CONFIG_USB_STV680=m
1001# CONFIG_USB_W9968CF is not set
1002# CONFIG_USB_ZC0301 is not set
1003# CONFIG_USB_PWC is not set
1004
1005#
1006# Radio Adapters
1007#
1008# CONFIG_RADIO_MAESTRO is not set
1009
1010#
1011# Digital Video Broadcasting Devices
1012#
1013# CONFIG_DVB is not set
1014CONFIG_USB_DABUSB=m
1015
1016#
1017# Graphics support
1018#
1019CONFIG_FB=y
1020CONFIG_FB_CFB_FILLRECT=y
1021CONFIG_FB_CFB_COPYAREA=y
1022CONFIG_FB_CFB_IMAGEBLIT=y
1023# CONFIG_FB_MACMODES is not set
1024CONFIG_FB_FIRMWARE_EDID=y
1025CONFIG_FB_MODE_HELPERS=y
1026# CONFIG_FB_TILEBLITTING is not set
1027# CONFIG_FB_S1D13XXX is not set
1028CONFIG_FB_PXA=y
1029# CONFIG_FB_PXA_PARAMETERS is not set
1030# CONFIG_FB_W100 is not set
1031# CONFIG_FB_VIRTUAL is not set
1032
1033#
1034# Console display driver support
1035#
1036# CONFIG_VGA_CONSOLE is not set
1037CONFIG_DUMMY_CONSOLE=y
1038CONFIG_FRAMEBUFFER_CONSOLE=y
1039CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
1040CONFIG_FONTS=y
1041# CONFIG_FONT_8x8 is not set
1042# CONFIG_FONT_8x16 is not set
1043# CONFIG_FONT_6x11 is not set
1044# CONFIG_FONT_7x14 is not set
1045# CONFIG_FONT_PEARL_8x8 is not set
1046# CONFIG_FONT_ACORN_8x8 is not set
1047CONFIG_FONT_MINI_4x6=y
1048# CONFIG_FONT_SUN8x16 is not set
1049# CONFIG_FONT_SUN12x22 is not set
1050# CONFIG_FONT_10x18 is not set
1051
1052#
1053# Logo configuration
1054#
1055CONFIG_LOGO=y
1056CONFIG_LOGO_LINUX_MONO=y
1057CONFIG_LOGO_LINUX_VGA16=y
1058# CONFIG_LOGO_LINUX_CLUT224 is not set
1059# CONFIG_LOGO_OHAND_CLUT224 is not set
1060CONFIG_LOGO_OZ240_CLUT224=y
1061# CONFIG_LOGO_OZ480_CLUT224 is not set
1062# CONFIG_LOGO_OZ640_CLUT224 is not set
1063CONFIG_BACKLIGHT_LCD_SUPPORT=y
1064CONFIG_BACKLIGHT_CLASS_DEVICE=y
1065CONFIG_BACKLIGHT_DEVICE=y
1066CONFIG_LCD_CLASS_DEVICE=m
1067CONFIG_LCD_DEVICE=y
1068# CONFIG_BACKLIGHT_CORGI is not set
1069CONFIG_BACKLIGHT_LOCOMO=y
1070
1071#
1072# Sound
1073#
1074CONFIG_SOUND=m
1075
1076#
1077# Advanced Linux Sound Architecture
1078#
1079CONFIG_SND=m
1080CONFIG_SND_TIMER=m
1081CONFIG_SND_PCM=m
1082# CONFIG_SND_SEQUENCER is not set
1083CONFIG_SND_OSSEMUL=y
1084CONFIG_SND_MIXER_OSS=m
1085CONFIG_SND_PCM_OSS=m
1086CONFIG_SND_PCM_OSS_PLUGINS=y
1087# CONFIG_SND_DYNAMIC_MINORS is not set
1088CONFIG_SND_SUPPORT_OLD_API=y
1089CONFIG_SND_VERBOSE_PROCFS=y
1090# CONFIG_SND_VERBOSE_PRINTK is not set
1091# CONFIG_SND_DEBUG is not set
1092
1093#
1094# Generic devices
1095#
1096# CONFIG_SND_DUMMY is not set
1097# CONFIG_SND_MTPAV is not set
1098# CONFIG_SND_SERIAL_U16550 is not set
1099# CONFIG_SND_MPU401 is not set
1100
1101#
1102# ALSA ARM devices
1103#
1104# CONFIG_SND_PXA2XX_AC97 is not set
1105
1106#
1107# USB devices
1108#
1109# CONFIG_SND_USB_AUDIO is not set
1110
1111#
1112# PCMCIA devices
1113#
1114# CONFIG_SND_VXPOCKET is not set
1115# CONFIG_SND_PDAUDIOCF is not set
1116
1117#
1118# SoC audio support
1119#
1120CONFIG_SND_SOC=m
1121
1122#
1123# Soc Platforms
1124#
1125
1126#
1127# SoC Audio for the Intel PXA2xx
1128#
1129CONFIG_SND_PXA2xx_SOC=m
1130# CONFIG_SND_PXA2xx_SOC_MAINSTONE is not set
1131# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM8731 is not set
1132# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM8753 is not set
1133# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM8974 is not set
1134# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9713 is not set
1135# CONFIG_SND_MAINSTONE_BASEBAND is not set
1136# CONFIG_SND_MAINSTONE_BLUETOOTH is not set
1137# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9712 is not set
1138# CONFIG_SND_PXA2xx_SOC_CORGI is not set
1139# CONFIG_SND_PXA2xx_SOC_SPITZ is not set
1140CONFIG_SND_PXA2xx_SOC_POODLE=m
1141# CONFIG_SND_PXA2xx_SOC_TOSA is not set
1142
1143#
1144# Soc Codecs
1145#
1146# CONFIG_SND_SOC_AC97_CODEC is not set
1147CONFIG_SND_SOC_WM8731=m
1148# CONFIG_SND_SOC_WM8750 is not set
1149# CONFIG_SND_SOC_WM8753 is not set
1150# CONFIG_SND_SOC_WM8772 is not set
1151# CONFIG_SND_SOC_WM8971 is not set
1152# CONFIG_SND_SOC_WM8974 is not set
1153# CONFIG_SND_SOC_WM9713 is not set
1154# CONFIG_SND_SOC_WM9712 is not set
1155# CONFIG_SND_SOC_UDA1380 is not set
1156# CONFIG_SND_SOC_AK4535 is not set
1157
1158#
1159# Open Sound System
1160#
1161# CONFIG_SOUND_PRIME is not set
1162
1163#
1164# USB support
1165#
1166CONFIG_USB_ARCH_HAS_HCD=y
1167# CONFIG_USB_ARCH_HAS_OHCI is not set
1168# CONFIG_USB_ARCH_HAS_EHCI is not set
1169CONFIG_USB=m
1170# CONFIG_USB_DEBUG is not set
1171
1172#
1173# Miscellaneous USB options
1174#
1175CONFIG_USB_DEVICEFS=y
1176# CONFIG_USB_BANDWIDTH is not set
1177# CONFIG_USB_DYNAMIC_MINORS is not set
1178# CONFIG_USB_SUSPEND is not set
1179# CONFIG_USB_OTG is not set
1180
1181#
1182# USB Host Controller Drivers
1183#
1184# CONFIG_USB_ISP116X_HCD is not set
1185CONFIG_USB_SL811_HCD=m
1186CONFIG_USB_SL811_CS=m
1187
1188#
1189# USB Device Class drivers
1190#
1191CONFIG_USB_ACM=m
1192CONFIG_USB_PRINTER=m
1193
1194#
1195# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1196#
1197
1198#
1199# may also be needed; see USB_STORAGE Help for more information
1200#
1201CONFIG_USB_STORAGE=m
1202# CONFIG_USB_STORAGE_DEBUG is not set
1203# CONFIG_USB_STORAGE_DATAFAB is not set
1204# CONFIG_USB_STORAGE_FREECOM is not set
1205# CONFIG_USB_STORAGE_ISD200 is not set
1206# CONFIG_USB_STORAGE_DPCM is not set
1207# CONFIG_USB_STORAGE_USBAT is not set
1208# CONFIG_USB_STORAGE_SDDR09 is not set
1209# CONFIG_USB_STORAGE_SDDR55 is not set
1210# CONFIG_USB_STORAGE_JUMPSHOT is not set
1211# CONFIG_USB_STORAGE_ALAUDA is not set
1212# CONFIG_USB_LIBUSUAL is not set
1213
1214#
1215# USB Input Devices
1216#
1217CONFIG_USB_HID=m
1218CONFIG_USB_HIDINPUT=y
1219# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1220# CONFIG_HID_FF is not set
1221# CONFIG_USB_HIDDEV is not set
1222
1223#
1224# USB HID Boot Protocol drivers
1225#
1226CONFIG_USB_KBD=m
1227CONFIG_USB_MOUSE=m
1228CONFIG_USB_AIPTEK=m
1229CONFIG_USB_WACOM=m
1230# CONFIG_USB_ACECAD is not set
1231CONFIG_USB_KBTAB=m
1232CONFIG_USB_POWERMATE=m
1233# CONFIG_USB_TOUCHSCREEN is not set
1234# CONFIG_USB_YEALINK is not set
1235CONFIG_USB_XPAD=m
1236CONFIG_USB_ATI_REMOTE=m
1237# CONFIG_USB_ATI_REMOTE2 is not set
1238# CONFIG_USB_KEYSPAN_REMOTE is not set
1239# CONFIG_USB_APPLETOUCH is not set
1240
1241#
1242# USB Imaging devices
1243#
1244CONFIG_USB_MDC800=m
1245CONFIG_USB_MICROTEK=m
1246
1247#
1248# USB Network Adapters
1249#
1250CONFIG_USB_CATC=m
1251CONFIG_USB_KAWETH=m
1252CONFIG_USB_PEGASUS=m
1253CONFIG_USB_RTL8150=m
1254CONFIG_USB_USBNET=m
1255CONFIG_USB_NET_AX8817X=m
1256CONFIG_USB_NET_CDCETHER=m
1257# CONFIG_USB_NET_GL620A is not set
1258CONFIG_USB_NET_NET1080=m
1259# CONFIG_USB_NET_PLUSB is not set
1260# CONFIG_USB_NET_RNDIS_HOST is not set
1261# CONFIG_USB_NET_CDC_SUBSET is not set
1262CONFIG_USB_NET_ZAURUS=m
1263# CONFIG_USB_ZD1201 is not set
1264CONFIG_USB_MON=y
1265
1266#
1267# USB port drivers
1268#
1269
1270#
1271# USB Serial Converter support
1272#
1273CONFIG_USB_SERIAL=m
1274CONFIG_USB_SERIAL_GENERIC=y
1275# CONFIG_USB_SERIAL_AIRPRIME is not set
1276# CONFIG_USB_SERIAL_ANYDATA is not set
1277# CONFIG_USB_SERIAL_ARK3116 is not set
1278CONFIG_USB_SERIAL_BELKIN=m
1279# CONFIG_USB_SERIAL_WHITEHEAT is not set
1280CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
1281# CONFIG_USB_SERIAL_CP2101 is not set
1282CONFIG_USB_SERIAL_CYPRESS_M8=m
1283CONFIG_USB_SERIAL_EMPEG=m
1284CONFIG_USB_SERIAL_FTDI_SIO=m
1285# CONFIG_USB_SERIAL_FUNSOFT is not set
1286CONFIG_USB_SERIAL_VISOR=m
1287CONFIG_USB_SERIAL_IPAQ=m
1288CONFIG_USB_SERIAL_IR=m
1289CONFIG_USB_SERIAL_EDGEPORT=m
1290CONFIG_USB_SERIAL_EDGEPORT_TI=m
1291CONFIG_USB_SERIAL_GARMIN=m
1292CONFIG_USB_SERIAL_IPW=m
1293CONFIG_USB_SERIAL_KEYSPAN_PDA=m
1294CONFIG_USB_SERIAL_KEYSPAN=m
1295# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
1296# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
1297# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
1298# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
1299# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
1300# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
1301# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
1302# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
1303# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
1304# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
1305# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
1306# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
1307CONFIG_USB_SERIAL_KLSI=m
1308CONFIG_USB_SERIAL_KOBIL_SCT=m
1309CONFIG_USB_SERIAL_MCT_U232=m
1310# CONFIG_USB_SERIAL_NAVMAN is not set
1311CONFIG_USB_SERIAL_PL2303=m
1312# CONFIG_USB_SERIAL_HP4X is not set
1313CONFIG_USB_SERIAL_SAFE=m
1314# CONFIG_USB_SERIAL_SAFE_PADDED is not set
1315CONFIG_USB_SERIAL_TI=m
1316CONFIG_USB_SERIAL_CYBERJACK=m
1317CONFIG_USB_SERIAL_XIRCOM=m
1318CONFIG_USB_SERIAL_OMNINET=m
1319CONFIG_USB_EZUSB=y
1320
1321#
1322# USB Miscellaneous drivers
1323#
1324CONFIG_USB_EMI62=m
1325CONFIG_USB_EMI26=m
1326CONFIG_USB_AUERSWALD=m
1327CONFIG_USB_RIO500=m
1328CONFIG_USB_LEGOTOWER=m
1329CONFIG_USB_LCD=m
1330CONFIG_USB_LED=m
1331CONFIG_USB_CYTHERM=m
1332CONFIG_USB_PHIDGETKIT=m
1333CONFIG_USB_PHIDGETSERVO=m
1334CONFIG_USB_IDMOUSE=m
1335# CONFIG_USB_LD is not set
1336# CONFIG_USB_TEST is not set
1337
1338#
1339# USB DSL modem support
1340#
1341
1342#
1343# USB Gadget Support
1344#
1345CONFIG_USB_GADGET=y
1346# CONFIG_USB_GADGET_DEBUG_FILES is not set
1347CONFIG_USB_GADGET_SELECTED=y
1348# CONFIG_USB_GADGET_NET2280 is not set
1349CONFIG_USB_GADGET_PXA2XX=y
1350CONFIG_USB_PXA2XX=y
1351# CONFIG_USB_PXA2XX_SMALL is not set
1352# CONFIG_USB_GADGET_PXA27X is not set
1353# CONFIG_USB_GADGET_GOKU is not set
1354# CONFIG_USB_GADGET_LH7A40X is not set
1355# CONFIG_USB_GADGET_OMAP is not set
1356# CONFIG_USB_GADGET_AT91 is not set
1357# CONFIG_USB_GADGET_DUMMY_HCD is not set
1358# CONFIG_USB_GADGET_DUALSPEED is not set
1359CONFIG_USB_ZERO=m
1360CONFIG_USB_ETH=m
1361CONFIG_USB_ETH_RNDIS=y
1362CONFIG_USB_GADGETFS=m
1363CONFIG_USB_FILE_STORAGE=m
1364# CONFIG_USB_FILE_STORAGE_TEST is not set
1365CONFIG_USB_G_SERIAL=m
1366
1367#
1368# MMC/SD Card support
1369#
1370CONFIG_MMC=y
1371# CONFIG_MMC_DEBUG is not set
1372CONFIG_MMC_BLOCK=y
1373CONFIG_MMC_PXA=y
1374
1375#
1376# Real Time Clock
1377#
1378CONFIG_RTC_LIB=y
1379CONFIG_RTC_CLASS=y
1380CONFIG_RTC_HCTOSYS=y
1381CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1382
1383#
1384# RTC interfaces
1385#
1386CONFIG_RTC_INTF_SYSFS=y
1387CONFIG_RTC_INTF_PROC=y
1388CONFIG_RTC_INTF_DEV=y
1389
1390#
1391# RTC drivers
1392#
1393# CONFIG_RTC_DRV_X1205 is not set
1394# CONFIG_RTC_DRV_DS1672 is not set
1395# CONFIG_RTC_DRV_PCF8563 is not set
1396# CONFIG_RTC_DRV_RS5C372 is not set
1397# CONFIG_RTC_DRV_M48T86 is not set
1398CONFIG_RTC_DRV_SA1100=y
1399# CONFIG_RTC_DRV_TEST is not set
1400
1401#
1402# File systems
1403#
1404CONFIG_EXT2_FS=y
1405# CONFIG_EXT2_FS_XATTR is not set
1406# CONFIG_EXT2_FS_XIP is not set
1407# CONFIG_EXT3_FS is not set
1408# CONFIG_REISERFS_FS is not set
1409# CONFIG_JFS_FS is not set
1410# CONFIG_FS_POSIX_ACL is not set
1411# CONFIG_XFS_FS is not set
1412# CONFIG_OCFS2_FS is not set
1413# CONFIG_MINIX_FS is not set
1414# CONFIG_ROMFS_FS is not set
1415CONFIG_INOTIFY=y
1416# CONFIG_QUOTA is not set
1417CONFIG_DNOTIFY=y
1418# CONFIG_AUTOFS_FS is not set
1419# CONFIG_AUTOFS4_FS is not set
1420# CONFIG_FUSE_FS is not set
1421
1422#
1423# CD-ROM/DVD Filesystems
1424#
1425# CONFIG_ISO9660_FS is not set
1426# CONFIG_UDF_FS is not set
1427
1428#
1429# DOS/FAT/NT Filesystems
1430#
1431CONFIG_FAT_FS=y
1432# CONFIG_MSDOS_FS is not set
1433CONFIG_VFAT_FS=y
1434CONFIG_FAT_DEFAULT_CODEPAGE=437
1435CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1436# CONFIG_NTFS_FS is not set
1437
1438#
1439# Pseudo filesystems
1440#
1441CONFIG_PROC_FS=y
1442CONFIG_SYSFS=y
1443CONFIG_TMPFS=y
1444# CONFIG_HUGETLB_PAGE is not set
1445CONFIG_RAMFS=y
1446# CONFIG_CONFIGFS_FS is not set
1447
1448#
1449# Miscellaneous filesystems
1450#
1451# CONFIG_ADFS_FS is not set
1452# CONFIG_AFFS_FS is not set
1453# CONFIG_HFS_FS is not set
1454# CONFIG_HFSPLUS_FS is not set
1455# CONFIG_BEFS_FS is not set
1456# CONFIG_BFS_FS is not set
1457# CONFIG_EFS_FS is not set
1458# CONFIG_JFFS_FS is not set
1459CONFIG_JFFS2_FS=y
1460CONFIG_JFFS2_FS_DEBUG=0
1461CONFIG_JFFS2_FS_WRITEBUFFER=y
1462CONFIG_JFFS2_SUMMARY=y
1463CONFIG_JFFS2_COMPRESSION_OPTIONS=y
1464CONFIG_JFFS2_ZLIB=y
1465CONFIG_JFFS2_RTIME=y
1466CONFIG_JFFS2_RUBIN=y
1467# CONFIG_JFFS2_CMODE_NONE is not set
1468CONFIG_JFFS2_CMODE_PRIORITY=y
1469# CONFIG_JFFS2_CMODE_SIZE is not set
1470CONFIG_CRAMFS=m
1471CONFIG_SQUASHFS=m
1472# CONFIG_SQUASHFS_EMBEDDED is not set
1473CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
1474# CONFIG_SQUASHFS_VMALLOC is not set
1475# CONFIG_VXFS_FS is not set
1476# CONFIG_HPFS_FS is not set
1477# CONFIG_QNX4FS_FS is not set
1478# CONFIG_SYSV_FS is not set
1479# CONFIG_UFS_FS is not set
1480
1481#
1482# Network File Systems
1483#
1484CONFIG_NFS_FS=m
1485CONFIG_NFS_V3=y
1486# CONFIG_NFS_V3_ACL is not set
1487CONFIG_NFS_V4=y
1488# CONFIG_NFS_DIRECTIO is not set
1489# CONFIG_NFSD is not set
1490CONFIG_LOCKD=m
1491CONFIG_LOCKD_V4=y
1492CONFIG_NFS_COMMON=y
1493CONFIG_SUNRPC=m
1494CONFIG_SUNRPC_GSS=m
1495CONFIG_RPCSEC_GSS_KRB5=m
1496# CONFIG_RPCSEC_GSS_SPKM3 is not set
1497CONFIG_SMB_FS=m
1498CONFIG_SMB_NLS_DEFAULT=y
1499CONFIG_SMB_NLS_REMOTE="cp437"
1500CONFIG_CIFS=m
1501# CONFIG_CIFS_STATS is not set
1502# CONFIG_CIFS_XATTR is not set
1503# CONFIG_CIFS_EXPERIMENTAL is not set
1504# CONFIG_NCP_FS is not set
1505# CONFIG_CODA_FS is not set
1506# CONFIG_AFS_FS is not set
1507# CONFIG_9P_FS is not set
1508
1509#
1510# Partition Types
1511#
1512CONFIG_PARTITION_ADVANCED=y
1513# CONFIG_ACORN_PARTITION is not set
1514# CONFIG_OSF_PARTITION is not set
1515# CONFIG_AMIGA_PARTITION is not set
1516# CONFIG_ATARI_PARTITION is not set
1517# CONFIG_MAC_PARTITION is not set
1518CONFIG_MSDOS_PARTITION=y
1519# CONFIG_BSD_DISKLABEL is not set
1520# CONFIG_MINIX_SUBPARTITION is not set
1521# CONFIG_SOLARIS_X86_PARTITION is not set
1522# CONFIG_UNIXWARE_DISKLABEL is not set
1523# CONFIG_LDM_PARTITION is not set
1524# CONFIG_SGI_PARTITION is not set
1525# CONFIG_ULTRIX_PARTITION is not set
1526# CONFIG_SUN_PARTITION is not set
1527# CONFIG_KARMA_PARTITION is not set
1528# CONFIG_EFI_PARTITION is not set
1529
1530#
1531# Native Language Support
1532#
1533CONFIG_NLS=y
1534CONFIG_NLS_DEFAULT="cp437"
1535CONFIG_NLS_CODEPAGE_437=y
1536CONFIG_NLS_CODEPAGE_737=m
1537CONFIG_NLS_CODEPAGE_775=m
1538CONFIG_NLS_CODEPAGE_850=m
1539CONFIG_NLS_CODEPAGE_852=m
1540CONFIG_NLS_CODEPAGE_855=m
1541CONFIG_NLS_CODEPAGE_857=m
1542CONFIG_NLS_CODEPAGE_860=m
1543CONFIG_NLS_CODEPAGE_861=m
1544CONFIG_NLS_CODEPAGE_862=m
1545CONFIG_NLS_CODEPAGE_863=m
1546CONFIG_NLS_CODEPAGE_864=m
1547CONFIG_NLS_CODEPAGE_865=m
1548CONFIG_NLS_CODEPAGE_866=m
1549CONFIG_NLS_CODEPAGE_869=m
1550CONFIG_NLS_CODEPAGE_936=m
1551CONFIG_NLS_CODEPAGE_950=m
1552CONFIG_NLS_CODEPAGE_932=m
1553CONFIG_NLS_CODEPAGE_949=m
1554CONFIG_NLS_CODEPAGE_874=m
1555CONFIG_NLS_ISO8859_8=m
1556CONFIG_NLS_CODEPAGE_1250=m
1557CONFIG_NLS_CODEPAGE_1251=m
1558CONFIG_NLS_ASCII=m
1559CONFIG_NLS_ISO8859_1=y
1560CONFIG_NLS_ISO8859_2=m
1561CONFIG_NLS_ISO8859_3=m
1562CONFIG_NLS_ISO8859_4=m
1563CONFIG_NLS_ISO8859_5=m
1564CONFIG_NLS_ISO8859_6=m
1565CONFIG_NLS_ISO8859_7=m
1566CONFIG_NLS_ISO8859_9=m
1567CONFIG_NLS_ISO8859_13=m
1568CONFIG_NLS_ISO8859_14=m
1569CONFIG_NLS_ISO8859_15=m
1570CONFIG_NLS_KOI8_R=m
1571CONFIG_NLS_KOI8_U=m
1572CONFIG_NLS_UTF8=y
1573
1574#
1575# Profiling support
1576#
1577CONFIG_PROFILING=y
1578CONFIG_OPROFILE=m
1579
1580#
1581# Kernel hacking
1582#
1583# CONFIG_PRINTK_TIME is not set
1584CONFIG_MAGIC_SYSRQ=y
1585CONFIG_DEBUG_KERNEL=y
1586CONFIG_LOG_BUF_SHIFT=14
1587CONFIG_DETECT_SOFTLOCKUP=y
1588# CONFIG_SCHEDSTATS is not set
1589# CONFIG_DEBUG_SLAB is not set
1590# CONFIG_DEBUG_PREEMPT is not set
1591# CONFIG_DEBUG_MUTEXES is not set
1592# CONFIG_DEBUG_SPINLOCK is not set
1593# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1594# CONFIG_DEBUG_KOBJECT is not set
1595CONFIG_DEBUG_BUGVERBOSE=y
1596# CONFIG_DEBUG_INFO is not set
1597# CONFIG_DEBUG_FS is not set
1598# CONFIG_DEBUG_VM is not set
1599CONFIG_FRAME_POINTER=y
1600# CONFIG_UNWIND_INFO is not set
1601# CONFIG_FORCED_INLINING is not set
1602# CONFIG_RCU_TORTURE_TEST is not set
1603# CONFIG_DEBUG_USER is not set
1604# CONFIG_DEBUG_WAITQ is not set
1605CONFIG_DEBUG_ERRORS=y
1606# CONFIG_DEBUG_LL is not set
1607
1608#
1609# Security options
1610#
1611# CONFIG_KEYS is not set
1612# CONFIG_SECURITY is not set
1613
1614#
1615# Cryptographic options
1616#
1617CONFIG_CRYPTO=y
1618CONFIG_CRYPTO_HMAC=y
1619CONFIG_CRYPTO_NULL=m
1620CONFIG_CRYPTO_MD4=m
1621CONFIG_CRYPTO_MD5=m
1622CONFIG_CRYPTO_SHA1=m
1623CONFIG_CRYPTO_SHA256=m
1624CONFIG_CRYPTO_SHA512=m
1625CONFIG_CRYPTO_WP512=m
1626# CONFIG_CRYPTO_TGR192 is not set
1627CONFIG_CRYPTO_DES=m
1628CONFIG_CRYPTO_BLOWFISH=m
1629CONFIG_CRYPTO_TWOFISH=m
1630CONFIG_CRYPTO_SERPENT=m
1631CONFIG_CRYPTO_AES=m
1632CONFIG_CRYPTO_CAST5=m
1633CONFIG_CRYPTO_CAST6=m
1634CONFIG_CRYPTO_TEA=m
1635CONFIG_CRYPTO_ARC4=m
1636CONFIG_CRYPTO_KHAZAD=m
1637CONFIG_CRYPTO_ANUBIS=m
1638CONFIG_CRYPTO_DEFLATE=m
1639CONFIG_CRYPTO_MICHAEL_MIC=m
1640CONFIG_CRYPTO_CRC32C=m
1641CONFIG_CRYPTO_TEST=m
1642
1643#
1644# Hardware crypto devices
1645#
1646
1647#
1648# Library routines
1649#
1650CONFIG_CRC_CCITT=y
1651# CONFIG_CRC16 is not set
1652CONFIG_CRC32=y
1653CONFIG_LIBCRC32C=m
1654CONFIG_ZLIB_INFLATE=y
1655CONFIG_ZLIB_DEFLATE=y
diff --git a/meta/packages/linux/linux-rp-2.6.21/defconfig-qemuarm b/meta/packages/linux/linux-rp-2.6.21/defconfig-qemuarm
new file mode 100644
index 0000000000..e34fe5c090
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21/defconfig-qemuarm
@@ -0,0 +1,1190 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.17
4# Sat Aug 26 22:45:02 2006
5#
6CONFIG_ARM=y
7CONFIG_MMU=y
8CONFIG_RWSEM_GENERIC_SPINLOCK=y
9CONFIG_GENERIC_HWEIGHT=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y
11CONFIG_VECTORS_BASE=0xffff0000
12
13#
14# Code maturity level options
15#
16CONFIG_EXPERIMENTAL=y
17CONFIG_BROKEN_ON_SMP=y
18CONFIG_INIT_ENV_ARG_LIMIT=32
19
20#
21# General setup
22#
23CONFIG_LOCALVERSION=""
24CONFIG_LOCALVERSION_AUTO=y
25CONFIG_SWAP=y
26CONFIG_SYSVIPC=y
27# CONFIG_POSIX_MQUEUE is not set
28# CONFIG_BSD_PROCESS_ACCT is not set
29CONFIG_SYSCTL=y
30# CONFIG_AUDIT is not set
31CONFIG_IKCONFIG=y
32CONFIG_IKCONFIG_PROC=y
33# CONFIG_RELAY is not set
34CONFIG_INITRAMFS_SOURCE=""
35CONFIG_UID16=y
36CONFIG_CC_OPTIMIZE_FOR_SIZE=y
37# CONFIG_EMBEDDED is not set
38CONFIG_KALLSYMS=y
39# CONFIG_KALLSYMS_ALL is not set
40# CONFIG_KALLSYMS_EXTRA_PASS is not set
41CONFIG_HOTPLUG=y
42CONFIG_PRINTK=y
43CONFIG_BUG=y
44CONFIG_ELF_CORE=y
45CONFIG_BASE_FULL=y
46CONFIG_FUTEX=y
47CONFIG_EPOLL=y
48CONFIG_SHMEM=y
49CONFIG_SLAB=y
50# CONFIG_TINY_SHMEM is not set
51CONFIG_BASE_SMALL=0
52# CONFIG_SLOB is not set
53CONFIG_OBSOLETE_INTERMODULE=y
54
55#
56# Loadable module support
57#
58CONFIG_MODULES=y
59CONFIG_MODULE_UNLOAD=y
60# CONFIG_MODULE_FORCE_UNLOAD is not set
61# CONFIG_MODVERSIONS is not set
62# CONFIG_MODULE_SRCVERSION_ALL is not set
63CONFIG_KMOD=y
64
65#
66# Block layer
67#
68# CONFIG_BLK_DEV_IO_TRACE is not set
69
70#
71# IO Schedulers
72#
73CONFIG_IOSCHED_NOOP=y
74CONFIG_IOSCHED_AS=y
75CONFIG_IOSCHED_DEADLINE=y
76CONFIG_IOSCHED_CFQ=y
77CONFIG_DEFAULT_AS=y
78# CONFIG_DEFAULT_DEADLINE is not set
79# CONFIG_DEFAULT_CFQ is not set
80# CONFIG_DEFAULT_NOOP is not set
81CONFIG_DEFAULT_IOSCHED="anticipatory"
82
83#
84# System Type
85#
86# CONFIG_ARCH_CLPS7500 is not set
87# CONFIG_ARCH_CLPS711X is not set
88# CONFIG_ARCH_CO285 is not set
89# CONFIG_ARCH_EBSA110 is not set
90# CONFIG_ARCH_EP93XX is not set
91# CONFIG_ARCH_FOOTBRIDGE is not set
92# CONFIG_ARCH_INTEGRATOR is not set
93# CONFIG_ARCH_IOP3XX is not set
94# CONFIG_ARCH_IXP4XX is not set
95# CONFIG_ARCH_IXP2000 is not set
96# CONFIG_ARCH_IXP23XX is not set
97# CONFIG_ARCH_L7200 is not set
98# CONFIG_ARCH_PXA is not set
99# CONFIG_ARCH_RPC is not set
100# CONFIG_ARCH_SA1100 is not set
101# CONFIG_ARCH_S3C2410 is not set
102# CONFIG_ARCH_SHARK is not set
103# CONFIG_ARCH_LH7A40X is not set
104# CONFIG_ARCH_OMAP is not set
105CONFIG_ARCH_VERSATILE=y
106# CONFIG_ARCH_REALVIEW is not set
107# CONFIG_ARCH_IMX is not set
108# CONFIG_ARCH_H720X is not set
109# CONFIG_ARCH_AAEC2000 is not set
110# CONFIG_ARCH_AT91RM9200 is not set
111
112#
113# Versatile platform type
114#
115CONFIG_ARCH_VERSATILE_PB=y
116# CONFIG_MACH_VERSATILE_AB is not set
117
118#
119# Processor Type
120#
121CONFIG_CPU_32=y
122CONFIG_CPU_ARM926T=y
123CONFIG_CPU_32v5=y
124CONFIG_CPU_ABRT_EV5TJ=y
125CONFIG_CPU_CACHE_VIVT=y
126CONFIG_CPU_COPY_V4WB=y
127CONFIG_CPU_TLB_V4WBI=y
128
129#
130# Processor Features
131#
132CONFIG_ARM_THUMB=y
133# CONFIG_CPU_ICACHE_DISABLE is not set
134# CONFIG_CPU_DCACHE_DISABLE is not set
135# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
136# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
137# CONFIG_KEXEC is not set
138CONFIG_ARM_VIC=y
139CONFIG_ICST307=y
140
141#
142# Bus support
143#
144CONFIG_ARM_AMBA=y
145CONFIG_PCI=y
146# CONFIG_PCI_DEBUG is not set
147
148#
149# PCCARD (PCMCIA/CardBus) support
150#
151# CONFIG_PCCARD is not set
152
153#
154# Kernel Features
155#
156# CONFIG_PREEMPT is not set
157# CONFIG_NO_IDLE_HZ is not set
158CONFIG_HZ=100
159# CONFIG_AEABI is not set
160# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
161CONFIG_SELECT_MEMORY_MODEL=y
162CONFIG_FLATMEM_MANUAL=y
163# CONFIG_DISCONTIGMEM_MANUAL is not set
164# CONFIG_SPARSEMEM_MANUAL is not set
165CONFIG_FLATMEM=y
166CONFIG_FLAT_NODE_MEM_MAP=y
167# CONFIG_SPARSEMEM_STATIC is not set
168CONFIG_SPLIT_PTLOCK_CPUS=4096
169CONFIG_LEDS=y
170CONFIG_LEDS_TIMER=y
171CONFIG_LEDS_CPU=y
172CONFIG_ALIGNMENT_TRAP=y
173
174#
175# Boot options
176#
177CONFIG_ZBOOT_ROM_TEXT=0x0
178CONFIG_ZBOOT_ROM_BSS=0x0
179CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2 dyntick=enable debug"
180# CONFIG_XIP_KERNEL is not set
181
182#
183# Floating point emulation
184#
185
186#
187# At least one emulation must be selected
188#
189CONFIG_FPE_NWFPE=y
190# CONFIG_FPE_NWFPE_XP is not set
191# CONFIG_FPE_FASTFPE is not set
192CONFIG_VFP=y
193
194#
195# Userspace binary formats
196#
197CONFIG_BINFMT_ELF=y
198# CONFIG_BINFMT_AOUT is not set
199# CONFIG_BINFMT_MISC is not set
200# CONFIG_ARTHUR is not set
201
202#
203# Power management options
204#
205CONFIG_PM=y
206# CONFIG_PM_LEGACY is not set
207# CONFIG_PM_DEBUG is not set
208# CONFIG_APM is not set
209
210#
211# Networking
212#
213CONFIG_NET=y
214
215#
216# Networking options
217#
218# CONFIG_NETDEBUG is not set
219CONFIG_PACKET=y
220CONFIG_PACKET_MMAP=y
221CONFIG_UNIX=y
222# CONFIG_NET_KEY is not set
223CONFIG_INET=y
224CONFIG_IP_MULTICAST=y
225# CONFIG_IP_ADVANCED_ROUTER is not set
226CONFIG_IP_FIB_HASH=y
227CONFIG_IP_PNP=y
228CONFIG_IP_PNP_DHCP=y
229CONFIG_IP_PNP_BOOTP=y
230# CONFIG_IP_PNP_RARP is not set
231# CONFIG_NET_IPIP is not set
232# CONFIG_NET_IPGRE is not set
233# CONFIG_IP_MROUTE is not set
234# CONFIG_ARPD is not set
235# CONFIG_SYN_COOKIES is not set
236# CONFIG_INET_AH is not set
237# CONFIG_INET_ESP is not set
238# CONFIG_INET_IPCOMP is not set
239# CONFIG_INET_XFRM_TUNNEL is not set
240# CONFIG_INET_TUNNEL is not set
241CONFIG_INET_DIAG=y
242CONFIG_INET_TCP_DIAG=y
243# CONFIG_TCP_CONG_ADVANCED is not set
244CONFIG_TCP_CONG_BIC=y
245# CONFIG_IPV6 is not set
246# CONFIG_INET6_XFRM_TUNNEL is not set
247# CONFIG_INET6_TUNNEL is not set
248# CONFIG_NETFILTER is not set
249
250#
251# DCCP Configuration (EXPERIMENTAL)
252#
253# CONFIG_IP_DCCP is not set
254
255#
256# SCTP Configuration (EXPERIMENTAL)
257#
258# CONFIG_IP_SCTP is not set
259
260#
261# TIPC Configuration (EXPERIMENTAL)
262#
263# CONFIG_TIPC is not set
264# CONFIG_ATM is not set
265# CONFIG_BRIDGE is not set
266# CONFIG_VLAN_8021Q is not set
267# CONFIG_DECNET is not set
268# CONFIG_LLC2 is not set
269# CONFIG_IPX is not set
270# CONFIG_ATALK is not set
271# CONFIG_X25 is not set
272# CONFIG_LAPB is not set
273# CONFIG_NET_DIVERT is not set
274# CONFIG_ECONET is not set
275# CONFIG_WAN_ROUTER is not set
276
277#
278# QoS and/or fair queueing
279#
280# CONFIG_NET_SCHED is not set
281
282#
283# Network testing
284#
285# CONFIG_NET_PKTGEN is not set
286# CONFIG_HAMRADIO is not set
287# CONFIG_IRDA is not set
288# CONFIG_BT is not set
289# CONFIG_IEEE80211 is not set
290
291#
292# Device Drivers
293#
294
295#
296# Generic Driver Options
297#
298CONFIG_STANDALONE=y
299CONFIG_PREVENT_FIRMWARE_BUILD=y
300# CONFIG_FW_LOADER is not set
301# CONFIG_DEBUG_DRIVER is not set
302
303#
304# Connector - unified userspace <-> kernelspace linker
305#
306# CONFIG_CONNECTOR is not set
307
308#
309# Memory Technology Devices (MTD)
310#
311CONFIG_MTD=y
312# CONFIG_MTD_DEBUG is not set
313# CONFIG_MTD_CONCAT is not set
314CONFIG_MTD_PARTITIONS=y
315# CONFIG_MTD_REDBOOT_PARTS is not set
316CONFIG_MTD_CMDLINE_PARTS=y
317CONFIG_MTD_AFS_PARTS=y
318
319#
320# User Modules And Translation Layers
321#
322CONFIG_MTD_CHAR=y
323CONFIG_MTD_BLOCK=y
324# CONFIG_FTL is not set
325# CONFIG_NFTL is not set
326# CONFIG_INFTL is not set
327# CONFIG_RFD_FTL is not set
328
329#
330# RAM/ROM/Flash chip drivers
331#
332CONFIG_MTD_CFI=y
333# CONFIG_MTD_JEDECPROBE is not set
334CONFIG_MTD_GEN_PROBE=y
335CONFIG_MTD_CFI_ADV_OPTIONS=y
336CONFIG_MTD_CFI_NOSWAP=y
337# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
338# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
339# CONFIG_MTD_CFI_GEOMETRY is not set
340CONFIG_MTD_MAP_BANK_WIDTH_1=y
341CONFIG_MTD_MAP_BANK_WIDTH_2=y
342CONFIG_MTD_MAP_BANK_WIDTH_4=y
343# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
344# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
345# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
346CONFIG_MTD_CFI_I1=y
347CONFIG_MTD_CFI_I2=y
348# CONFIG_MTD_CFI_I4 is not set
349# CONFIG_MTD_CFI_I8 is not set
350# CONFIG_MTD_OTP is not set
351CONFIG_MTD_CFI_INTELEXT=y
352# CONFIG_MTD_CFI_AMDSTD is not set
353# CONFIG_MTD_CFI_STAA is not set
354CONFIG_MTD_CFI_UTIL=y
355# CONFIG_MTD_RAM is not set
356# CONFIG_MTD_ROM is not set
357# CONFIG_MTD_ABSENT is not set
358# CONFIG_MTD_OBSOLETE_CHIPS is not set
359
360#
361# Mapping drivers for chip access
362#
363# CONFIG_MTD_COMPLEX_MAPPINGS is not set
364# CONFIG_MTD_PHYSMAP is not set
365# CONFIG_MTD_ARM_INTEGRATOR is not set
366# CONFIG_MTD_PLATRAM is not set
367
368#
369# Self-contained MTD device drivers
370#
371# CONFIG_MTD_PMC551 is not set
372# CONFIG_MTD_SLRAM is not set
373# CONFIG_MTD_PHRAM is not set
374# CONFIG_MTD_MTDRAM is not set
375# CONFIG_MTD_BLOCK2MTD is not set
376
377#
378# Disk-On-Chip Device Drivers
379#
380# CONFIG_MTD_DOC2000 is not set
381# CONFIG_MTD_DOC2001 is not set
382# CONFIG_MTD_DOC2001PLUS is not set
383
384#
385# NAND Flash Device Drivers
386#
387# CONFIG_MTD_NAND is not set
388
389#
390# OneNAND Flash Device Drivers
391#
392# CONFIG_MTD_ONENAND is not set
393
394#
395# Parallel port support
396#
397# CONFIG_PARPORT is not set
398
399#
400# Plug and Play support
401#
402
403#
404# Block devices
405#
406# CONFIG_BLK_CPQ_DA is not set
407# CONFIG_BLK_CPQ_CISS_DA is not set
408# CONFIG_BLK_DEV_DAC960 is not set
409# CONFIG_BLK_DEV_UMEM is not set
410# CONFIG_BLK_DEV_COW_COMMON is not set
411CONFIG_BLK_DEV_LOOP=y
412# CONFIG_BLK_DEV_CRYPTOLOOP is not set
413# CONFIG_BLK_DEV_NBD is not set
414# CONFIG_BLK_DEV_SX8 is not set
415# CONFIG_BLK_DEV_UB is not set
416CONFIG_BLK_DEV_RAM=y
417CONFIG_BLK_DEV_RAM_COUNT=16
418CONFIG_BLK_DEV_RAM_SIZE=8192
419CONFIG_BLK_DEV_INITRD=y
420# CONFIG_CDROM_PKTCDVD is not set
421# CONFIG_ATA_OVER_ETH is not set
422
423#
424# SCSI device support
425#
426# CONFIG_RAID_ATTRS is not set
427CONFIG_SCSI=y
428CONFIG_SCSI_PROC_FS=y
429
430#
431# SCSI support type (disk, tape, CD-ROM)
432#
433CONFIG_BLK_DEV_SD=y
434# CONFIG_CHR_DEV_ST is not set
435# CONFIG_CHR_DEV_OSST is not set
436# CONFIG_BLK_DEV_SR is not set
437# CONFIG_CHR_DEV_SG is not set
438# CONFIG_CHR_DEV_SCH is not set
439
440#
441# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
442#
443# CONFIG_SCSI_MULTI_LUN is not set
444# CONFIG_SCSI_CONSTANTS is not set
445# CONFIG_SCSI_LOGGING is not set
446
447#
448# SCSI Transport Attributes
449#
450CONFIG_SCSI_SPI_ATTRS=y
451# CONFIG_SCSI_FC_ATTRS is not set
452# CONFIG_SCSI_ISCSI_ATTRS is not set
453# CONFIG_SCSI_SAS_ATTRS is not set
454
455#
456# SCSI low-level drivers
457#
458# CONFIG_ISCSI_TCP is not set
459# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
460# CONFIG_SCSI_3W_9XXX is not set
461# CONFIG_SCSI_ACARD is not set
462# CONFIG_SCSI_AACRAID is not set
463# CONFIG_SCSI_AIC7XXX is not set
464# CONFIG_SCSI_AIC7XXX_OLD is not set
465# CONFIG_SCSI_AIC79XX is not set
466# CONFIG_SCSI_DPT_I2O is not set
467# CONFIG_MEGARAID_NEWGEN is not set
468# CONFIG_MEGARAID_LEGACY is not set
469# CONFIG_MEGARAID_SAS is not set
470# CONFIG_SCSI_SATA is not set
471# CONFIG_SCSI_DMX3191D is not set
472# CONFIG_SCSI_FUTURE_DOMAIN is not set
473# CONFIG_SCSI_IPS is not set
474# CONFIG_SCSI_INITIO is not set
475# CONFIG_SCSI_INIA100 is not set
476CONFIG_SCSI_SYM53C8XX_2=y
477CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
478CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
479CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
480CONFIG_SCSI_SYM53C8XX_MMIO=y
481# CONFIG_SCSI_IPR is not set
482# CONFIG_SCSI_QLOGIC_1280 is not set
483# CONFIG_SCSI_QLA_FC is not set
484# CONFIG_SCSI_LPFC is not set
485# CONFIG_SCSI_DC395x is not set
486# CONFIG_SCSI_DC390T is not set
487# CONFIG_SCSI_NSP32 is not set
488# CONFIG_SCSI_DEBUG is not set
489
490#
491# Multi-device support (RAID and LVM)
492#
493CONFIG_MD=y
494CONFIG_BLK_DEV_DM=m
495CONFIG_DM_CRYPT=m
496CONFIG_DM_SNAPSHOT=m
497CONFIG_DM_MIRROR=m
498CONFIG_DM_ZERO=m
499CONFIG_DM_MULTIPATH=m
500CONFIG_DM_MULTIPATH_EMC=m
501
502#
503# Fusion MPT device support
504#
505# CONFIG_FUSION is not set
506# CONFIG_FUSION_SPI is not set
507# CONFIG_FUSION_FC is not set
508# CONFIG_FUSION_SAS is not set
509
510#
511# IEEE 1394 (FireWire) support
512#
513# CONFIG_IEEE1394 is not set
514
515#
516# I2O device support
517#
518# CONFIG_I2O is not set
519
520#
521# Network device support
522#
523CONFIG_NETDEVICES=y
524# CONFIG_DUMMY is not set
525# CONFIG_BONDING is not set
526# CONFIG_EQUALIZER is not set
527CONFIG_TUN=m
528
529#
530# ARCnet devices
531#
532# CONFIG_ARCNET is not set
533
534#
535# PHY device support
536#
537# CONFIG_PHYLIB is not set
538
539#
540# Ethernet (10 or 100Mbit)
541#
542CONFIG_NET_ETHERNET=y
543CONFIG_MII=y
544# CONFIG_HAPPYMEAL is not set
545# CONFIG_SUNGEM is not set
546# CONFIG_CASSINI is not set
547# CONFIG_NET_VENDOR_3COM is not set
548CONFIG_SMC91X=y
549# CONFIG_DM9000 is not set
550
551#
552# Tulip family network device support
553#
554# CONFIG_NET_TULIP is not set
555# CONFIG_HP100 is not set
556# CONFIG_NET_PCI is not set
557
558#
559# Ethernet (1000 Mbit)
560#
561# CONFIG_ACENIC is not set
562# CONFIG_DL2K is not set
563# CONFIG_E1000 is not set
564# CONFIG_NS83820 is not set
565# CONFIG_HAMACHI is not set
566# CONFIG_YELLOWFIN is not set
567# CONFIG_R8169 is not set
568# CONFIG_SIS190 is not set
569# CONFIG_SKGE is not set
570# CONFIG_SKY2 is not set
571# CONFIG_SK98LIN is not set
572# CONFIG_TIGON3 is not set
573# CONFIG_BNX2 is not set
574
575#
576# Ethernet (10000 Mbit)
577#
578# CONFIG_CHELSIO_T1 is not set
579# CONFIG_IXGB is not set
580# CONFIG_S2IO is not set
581
582#
583# Token Ring devices
584#
585# CONFIG_TR is not set
586
587#
588# Wireless LAN (non-hamradio)
589#
590# CONFIG_NET_RADIO is not set
591
592#
593# Wan interfaces
594#
595# CONFIG_WAN is not set
596# CONFIG_FDDI is not set
597# CONFIG_HIPPI is not set
598# CONFIG_PPP is not set
599# CONFIG_SLIP is not set
600# CONFIG_NET_FC is not set
601# CONFIG_SHAPER is not set
602# CONFIG_NETCONSOLE is not set
603# CONFIG_NETPOLL is not set
604# CONFIG_NET_POLL_CONTROLLER is not set
605
606#
607# ISDN subsystem
608#
609# CONFIG_ISDN is not set
610
611#
612# Input device support
613#
614CONFIG_INPUT=y
615
616#
617# Userland interfaces
618#
619# CONFIG_INPUT_MOUSEDEV is not set
620# CONFIG_INPUT_JOYDEV is not set
621# CONFIG_INPUT_TSDEV is not set
622CONFIG_INPUT_EVDEV=y
623# CONFIG_INPUT_EVBUG is not set
624# CONFIG_INPUT_POWER is not set
625
626#
627# Input Device Drivers
628#
629CONFIG_INPUT_KEYBOARD=y
630CONFIG_KEYBOARD_ATKBD=y
631# CONFIG_KEYBOARD_SUNKBD is not set
632# CONFIG_KEYBOARD_LKKBD is not set
633# CONFIG_KEYBOARD_XTKBD is not set
634# CONFIG_KEYBOARD_NEWTON is not set
635CONFIG_INPUT_MOUSE=y
636CONFIG_MOUSE_PS2=y
637# CONFIG_MOUSE_SERIAL is not set
638# CONFIG_MOUSE_VSXXXAA is not set
639# CONFIG_INPUT_JOYSTICK is not set
640# CONFIG_INPUT_TOUCHSCREEN is not set
641CONFIG_INPUT_MISC=y
642# CONFIG_INPUT_UINPUT is not set
643
644#
645# Hardware I/O ports
646#
647CONFIG_SERIO=y
648# CONFIG_SERIO_SERPORT is not set
649CONFIG_SERIO_AMBAKMI=y
650# CONFIG_SERIO_PCIPS2 is not set
651CONFIG_SERIO_LIBPS2=y
652# CONFIG_SERIO_RAW is not set
653# CONFIG_GAMEPORT is not set
654
655#
656# Character devices
657#
658CONFIG_VT=y
659CONFIG_VT_CONSOLE=y
660CONFIG_HW_CONSOLE=y
661# CONFIG_SERIAL_NONSTANDARD is not set
662
663#
664# Serial drivers
665#
666# CONFIG_SERIAL_8250 is not set
667
668#
669# Non-8250 serial port support
670#
671CONFIG_SERIAL_AMBA_PL011=y
672CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
673CONFIG_SERIAL_CORE=y
674CONFIG_SERIAL_CORE_CONSOLE=y
675# CONFIG_SERIAL_JSM is not set
676CONFIG_UNIX98_PTYS=y
677# CONFIG_LEGACY_PTYS is not set
678
679#
680# IPMI
681#
682# CONFIG_IPMI_HANDLER is not set
683
684#
685# Watchdog Cards
686#
687# CONFIG_WATCHDOG is not set
688# CONFIG_NVRAM is not set
689# CONFIG_DTLK is not set
690# CONFIG_R3964 is not set
691# CONFIG_APPLICOM is not set
692
693#
694# Ftape, the floppy tape device driver
695#
696# CONFIG_DRM is not set
697# CONFIG_RAW_DRIVER is not set
698
699#
700# TPM devices
701#
702# CONFIG_TCG_TPM is not set
703# CONFIG_TELCLOCK is not set
704
705#
706# I2C support
707#
708# CONFIG_I2C is not set
709
710#
711# SPI support
712#
713# CONFIG_SPI is not set
714# CONFIG_SPI_MASTER is not set
715
716#
717# Dallas's 1-wire bus
718#
719# CONFIG_W1 is not set
720
721#
722# Hardware Monitoring support
723#
724CONFIG_HWMON=y
725# CONFIG_HWMON_VID is not set
726# CONFIG_SENSORS_F71805F is not set
727# CONFIG_HWMON_DEBUG_CHIP is not set
728
729#
730# Misc devices
731#
732
733#
734# Multi-Function Devices
735#
736
737#
738# LED devices
739#
740CONFIG_NEW_LEDS=y
741# CONFIG_LEDS_CLASS is not set
742
743#
744# LED drivers
745#
746
747#
748# LED Triggers
749#
750# CONFIG_LEDS_TRIGGERS is not set
751
752#
753# Multimedia devices
754#
755# CONFIG_VIDEO_DEV is not set
756CONFIG_VIDEO_V4L2=y
757
758#
759# Digital Video Broadcasting Devices
760#
761# CONFIG_DVB is not set
762# CONFIG_USB_DABUSB is not set
763
764#
765# Graphics support
766#
767CONFIG_FB=y
768CONFIG_FB_CFB_FILLRECT=y
769CONFIG_FB_CFB_COPYAREA=y
770CONFIG_FB_CFB_IMAGEBLIT=y
771# CONFIG_FB_MACMODES is not set
772CONFIG_FB_FIRMWARE_EDID=y
773CONFIG_FB_MODE_HELPERS=y
774CONFIG_FB_TILEBLITTING=y
775# CONFIG_FB_CIRRUS is not set
776# CONFIG_FB_PM2 is not set
777CONFIG_FB_ARMCLCD=y
778# CONFIG_FB_CYBER2000 is not set
779# CONFIG_FB_ASILIANT is not set
780# CONFIG_FB_IMSTT is not set
781# CONFIG_FB_S1D13XXX is not set
782# CONFIG_FB_NVIDIA is not set
783# CONFIG_FB_RIVA is not set
784# CONFIG_FB_MATROX is not set
785# CONFIG_FB_RADEON is not set
786# CONFIG_FB_ATY128 is not set
787# CONFIG_FB_ATY is not set
788# CONFIG_FB_SAVAGE is not set
789# CONFIG_FB_SIS is not set
790# CONFIG_FB_NEOMAGIC is not set
791# CONFIG_FB_KYRO is not set
792# CONFIG_FB_3DFX is not set
793# CONFIG_FB_VOODOO1 is not set
794# CONFIG_FB_TRIDENT is not set
795# CONFIG_FB_VIRTUAL is not set
796
797#
798# Console display driver support
799#
800CONFIG_DUMMY_CONSOLE=y
801CONFIG_FRAMEBUFFER_CONSOLE=y
802# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
803# CONFIG_FONTS is not set
804CONFIG_FONT_8x8=y
805CONFIG_FONT_8x16=y
806
807#
808# Logo configuration
809#
810CONFIG_LOGO=y
811CONFIG_LOGO_LINUX_MONO=y
812CONFIG_LOGO_LINUX_VGA16=y
813# CONFIG_LOGO_LINUX_CLUT224 is not set
814CONFIG_LOGO_OHAND_CLUT224=y
815# CONFIG_LOGO_OZ240_CLUT224 is not set
816# CONFIG_LOGO_OZ480_CLUT224 is not set
817# CONFIG_LOGO_OZ640_CLUT224 is not set
818# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
819
820#
821# Sound
822#
823# CONFIG_SOUND is not set
824
825#
826# USB support
827#
828CONFIG_USB_ARCH_HAS_HCD=y
829CONFIG_USB_ARCH_HAS_OHCI=y
830CONFIG_USB_ARCH_HAS_EHCI=y
831CONFIG_USB=y
832# CONFIG_USB_DEBUG is not set
833
834#
835# Miscellaneous USB options
836#
837# CONFIG_USB_DEVICEFS is not set
838# CONFIG_USB_BANDWIDTH is not set
839# CONFIG_USB_DYNAMIC_MINORS is not set
840# CONFIG_USB_SUSPEND is not set
841# CONFIG_USB_OTG is not set
842
843#
844# USB Host Controller Drivers
845#
846# CONFIG_USB_EHCI_HCD is not set
847# CONFIG_USB_ISP116X_HCD is not set
848CONFIG_USB_OHCI_HCD=y
849# CONFIG_USB_OHCI_BIG_ENDIAN is not set
850CONFIG_USB_OHCI_LITTLE_ENDIAN=y
851# CONFIG_USB_UHCI_HCD is not set
852# CONFIG_USB_SL811_HCD is not set
853
854#
855# USB Device Class drivers
856#
857# CONFIG_USB_ACM is not set
858# CONFIG_USB_PRINTER is not set
859
860#
861# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
862#
863
864#
865# may also be needed; see USB_STORAGE Help for more information
866#
867# CONFIG_USB_STORAGE is not set
868# CONFIG_USB_LIBUSUAL is not set
869
870#
871# USB Input Devices
872#
873CONFIG_USB_HID=y
874
875#
876# USB HID Boot Protocol drivers
877#
878# CONFIG_USB_KBD is not set
879# CONFIG_USB_MOUSE is not set
880# CONFIG_USB_AIPTEK is not set
881CONFIG_USB_WACOM=y
882# CONFIG_USB_ACECAD is not set
883# CONFIG_USB_KBTAB is not set
884# CONFIG_USB_POWERMATE is not set
885# CONFIG_USB_TOUCHSCREEN is not set
886# CONFIG_USB_YEALINK is not set
887# CONFIG_USB_XPAD is not set
888# CONFIG_USB_ATI_REMOTE is not set
889# CONFIG_USB_ATI_REMOTE2 is not set
890# CONFIG_USB_KEYSPAN_REMOTE is not set
891# CONFIG_USB_APPLETOUCH is not set
892
893#
894# USB Imaging devices
895#
896# CONFIG_USB_MDC800 is not set
897# CONFIG_USB_MICROTEK is not set
898
899#
900# USB Network Adapters
901#
902# CONFIG_USB_CATC is not set
903# CONFIG_USB_KAWETH is not set
904# CONFIG_USB_PEGASUS is not set
905# CONFIG_USB_RTL8150 is not set
906# CONFIG_USB_USBNET is not set
907CONFIG_USB_MON=y
908
909#
910# USB port drivers
911#
912
913#
914# USB Serial Converter support
915#
916# CONFIG_USB_SERIAL is not set
917
918#
919# USB Miscellaneous drivers
920#
921# CONFIG_USB_EMI62 is not set
922# CONFIG_USB_EMI26 is not set
923# CONFIG_USB_AUERSWALD is not set
924# CONFIG_USB_RIO500 is not set
925# CONFIG_USB_LEGOTOWER is not set
926# CONFIG_USB_LCD is not set
927# CONFIG_USB_LED is not set
928# CONFIG_USB_CYTHERM is not set
929# CONFIG_USB_PHIDGETKIT is not set
930# CONFIG_USB_PHIDGETSERVO is not set
931# CONFIG_USB_IDMOUSE is not set
932# CONFIG_USB_LD is not set
933
934#
935# USB DSL modem support
936#
937
938#
939# USB Gadget Support
940#
941# CONFIG_USB_GADGET is not set
942
943#
944# MMC/SD Card support
945#
946# CONFIG_MMC is not set
947
948#
949# Real Time Clock
950#
951CONFIG_RTC_LIB=y
952CONFIG_RTC_CLASS=y
953CONFIG_RTC_HCTOSYS=y
954CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
955
956#
957# RTC interfaces
958#
959CONFIG_RTC_INTF_SYSFS=y
960CONFIG_RTC_INTF_PROC=y
961CONFIG_RTC_INTF_DEV=y
962
963#
964# RTC drivers
965#
966# CONFIG_RTC_DRV_M48T86 is not set
967# CONFIG_RTC_DRV_TEST is not set
968
969#
970# File systems
971#
972CONFIG_EXT2_FS=y
973# CONFIG_EXT2_FS_XATTR is not set
974# CONFIG_EXT2_FS_XIP is not set
975# CONFIG_EXT3_FS is not set
976# CONFIG_REISERFS_FS is not set
977# CONFIG_JFS_FS is not set
978# CONFIG_FS_POSIX_ACL is not set
979# CONFIG_XFS_FS is not set
980# CONFIG_OCFS2_FS is not set
981# CONFIG_MINIX_FS is not set
982# CONFIG_ROMFS_FS is not set
983CONFIG_INOTIFY=y
984# CONFIG_QUOTA is not set
985CONFIG_DNOTIFY=y
986# CONFIG_AUTOFS_FS is not set
987# CONFIG_AUTOFS4_FS is not set
988# CONFIG_FUSE_FS is not set
989
990#
991# CD-ROM/DVD Filesystems
992#
993# CONFIG_ISO9660_FS is not set
994# CONFIG_UDF_FS is not set
995
996#
997# DOS/FAT/NT Filesystems
998#
999# CONFIG_MSDOS_FS is not set
1000# CONFIG_VFAT_FS is not set
1001# CONFIG_NTFS_FS is not set
1002
1003#
1004# Pseudo filesystems
1005#
1006CONFIG_PROC_FS=y
1007CONFIG_SYSFS=y
1008CONFIG_TMPFS=y
1009# CONFIG_HUGETLB_PAGE is not set
1010CONFIG_RAMFS=y
1011# CONFIG_CONFIGFS_FS is not set
1012
1013#
1014# Miscellaneous filesystems
1015#
1016# CONFIG_ADFS_FS is not set
1017# CONFIG_AFFS_FS is not set
1018# CONFIG_HFS_FS is not set
1019# CONFIG_HFSPLUS_FS is not set
1020# CONFIG_BEFS_FS is not set
1021# CONFIG_BFS_FS is not set
1022# CONFIG_EFS_FS is not set
1023# CONFIG_JFFS_FS is not set
1024CONFIG_JFFS2_FS=y
1025CONFIG_JFFS2_FS_DEBUG=0
1026CONFIG_JFFS2_FS_WRITEBUFFER=y
1027# CONFIG_JFFS2_SUMMARY is not set
1028# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
1029CONFIG_JFFS2_ZLIB=y
1030CONFIG_JFFS2_RTIME=y
1031# CONFIG_JFFS2_RUBIN is not set
1032CONFIG_CRAMFS=y
1033# CONFIG_SQUASHFS is not set
1034# CONFIG_VXFS_FS is not set
1035# CONFIG_HPFS_FS is not set
1036# CONFIG_QNX4FS_FS is not set
1037# CONFIG_SYSV_FS is not set
1038# CONFIG_UFS_FS is not set
1039
1040#
1041# Network File Systems
1042#
1043CONFIG_NFS_FS=y
1044CONFIG_NFS_V3=y
1045# CONFIG_NFS_V3_ACL is not set
1046# CONFIG_NFS_V4 is not set
1047# CONFIG_NFS_DIRECTIO is not set
1048CONFIG_NFSD=y
1049CONFIG_NFSD_V3=y
1050# CONFIG_NFSD_V3_ACL is not set
1051# CONFIG_NFSD_V4 is not set
1052# CONFIG_NFSD_TCP is not set
1053CONFIG_ROOT_NFS=y
1054CONFIG_LOCKD=y
1055CONFIG_LOCKD_V4=y
1056CONFIG_EXPORTFS=y
1057CONFIG_NFS_COMMON=y
1058CONFIG_SUNRPC=y
1059# CONFIG_RPCSEC_GSS_KRB5 is not set
1060# CONFIG_RPCSEC_GSS_SPKM3 is not set
1061CONFIG_SMB_FS=y
1062# CONFIG_SMB_NLS_DEFAULT is not set
1063# CONFIG_CIFS is not set
1064# CONFIG_NCP_FS is not set
1065# CONFIG_CODA_FS is not set
1066# CONFIG_AFS_FS is not set
1067# CONFIG_9P_FS is not set
1068
1069#
1070# Partition Types
1071#
1072CONFIG_PARTITION_ADVANCED=y
1073# CONFIG_ACORN_PARTITION is not set
1074# CONFIG_OSF_PARTITION is not set
1075# CONFIG_AMIGA_PARTITION is not set
1076# CONFIG_ATARI_PARTITION is not set
1077# CONFIG_MAC_PARTITION is not set
1078CONFIG_MSDOS_PARTITION=y
1079# CONFIG_BSD_DISKLABEL is not set
1080# CONFIG_MINIX_SUBPARTITION is not set
1081# CONFIG_SOLARIS_X86_PARTITION is not set
1082# CONFIG_UNIXWARE_DISKLABEL is not set
1083# CONFIG_LDM_PARTITION is not set
1084# CONFIG_SGI_PARTITION is not set
1085# CONFIG_ULTRIX_PARTITION is not set
1086# CONFIG_SUN_PARTITION is not set
1087# CONFIG_KARMA_PARTITION is not set
1088# CONFIG_EFI_PARTITION is not set
1089
1090#
1091# Native Language Support
1092#
1093CONFIG_NLS=y
1094CONFIG_NLS_DEFAULT="iso8859-1"
1095# CONFIG_NLS_CODEPAGE_437 is not set
1096# CONFIG_NLS_CODEPAGE_737 is not set
1097# CONFIG_NLS_CODEPAGE_775 is not set
1098# CONFIG_NLS_CODEPAGE_850 is not set
1099# CONFIG_NLS_CODEPAGE_852 is not set
1100# CONFIG_NLS_CODEPAGE_855 is not set
1101# CONFIG_NLS_CODEPAGE_857 is not set
1102# CONFIG_NLS_CODEPAGE_860 is not set
1103# CONFIG_NLS_CODEPAGE_861 is not set
1104# CONFIG_NLS_CODEPAGE_862 is not set
1105# CONFIG_NLS_CODEPAGE_863 is not set
1106# CONFIG_NLS_CODEPAGE_864 is not set
1107# CONFIG_NLS_CODEPAGE_865 is not set
1108# CONFIG_NLS_CODEPAGE_866 is not set
1109# CONFIG_NLS_CODEPAGE_869 is not set
1110# CONFIG_NLS_CODEPAGE_936 is not set
1111# CONFIG_NLS_CODEPAGE_950 is not set
1112# CONFIG_NLS_CODEPAGE_932 is not set
1113# CONFIG_NLS_CODEPAGE_949 is not set
1114# CONFIG_NLS_CODEPAGE_874 is not set
1115# CONFIG_NLS_ISO8859_8 is not set
1116# CONFIG_NLS_CODEPAGE_1250 is not set
1117# CONFIG_NLS_CODEPAGE_1251 is not set
1118# CONFIG_NLS_ASCII is not set
1119# CONFIG_NLS_ISO8859_1 is not set
1120# CONFIG_NLS_ISO8859_2 is not set
1121# CONFIG_NLS_ISO8859_3 is not set
1122# CONFIG_NLS_ISO8859_4 is not set
1123# CONFIG_NLS_ISO8859_5 is not set
1124# CONFIG_NLS_ISO8859_6 is not set
1125# CONFIG_NLS_ISO8859_7 is not set
1126# CONFIG_NLS_ISO8859_9 is not set
1127# CONFIG_NLS_ISO8859_13 is not set
1128# CONFIG_NLS_ISO8859_14 is not set
1129# CONFIG_NLS_ISO8859_15 is not set
1130# CONFIG_NLS_KOI8_R is not set
1131# CONFIG_NLS_KOI8_U is not set
1132# CONFIG_NLS_UTF8 is not set
1133
1134#
1135# Profiling support
1136#
1137CONFIG_PROFILING=y
1138CONFIG_OPROFILE=m
1139
1140#
1141# Kernel hacking
1142#
1143# CONFIG_PRINTK_TIME is not set
1144CONFIG_MAGIC_SYSRQ=y
1145CONFIG_DEBUG_KERNEL=y
1146CONFIG_LOG_BUF_SHIFT=14
1147CONFIG_DETECT_SOFTLOCKUP=y
1148# CONFIG_SCHEDSTATS is not set
1149# CONFIG_DEBUG_SLAB is not set
1150# CONFIG_DEBUG_MUTEXES is not set
1151# CONFIG_DEBUG_SPINLOCK is not set
1152# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1153# CONFIG_DEBUG_KOBJECT is not set
1154CONFIG_DEBUG_BUGVERBOSE=y
1155CONFIG_DEBUG_INFO=y
1156# CONFIG_DEBUG_FS is not set
1157# CONFIG_DEBUG_VM is not set
1158CONFIG_FRAME_POINTER=y
1159# CONFIG_UNWIND_INFO is not set
1160CONFIG_FORCED_INLINING=y
1161# CONFIG_RCU_TORTURE_TEST is not set
1162# CONFIG_DEBUG_USER is not set
1163# CONFIG_DEBUG_WAITQ is not set
1164CONFIG_DEBUG_ERRORS=y
1165# CONFIG_DEBUG_LL is not set
1166
1167#
1168# Security options
1169#
1170# CONFIG_KEYS is not set
1171# CONFIG_SECURITY is not set
1172
1173#
1174# Cryptographic options
1175#
1176# CONFIG_CRYPTO is not set
1177
1178#
1179# Hardware crypto devices
1180#
1181
1182#
1183# Library routines
1184#
1185# CONFIG_CRC_CCITT is not set
1186# CONFIG_CRC16 is not set
1187CONFIG_CRC32=y
1188# CONFIG_LIBCRC32C is not set
1189CONFIG_ZLIB_INFLATE=y
1190CONFIG_ZLIB_DEFLATE=y
diff --git a/meta/packages/linux/linux-rp-2.6.21/defconfig-qemux86 b/meta/packages/linux/linux-rp-2.6.21/defconfig-qemux86
new file mode 100644
index 0000000000..6fe280985f
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21/defconfig-qemux86
@@ -0,0 +1,1562 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.17
4# Mon Oct 16 19:42:42 2006
5#
6CONFIG_X86_32=y
7CONFIG_SEMAPHORE_SLEEPERS=y
8CONFIG_X86=y
9CONFIG_MMU=y
10CONFIG_GENERIC_ISA_DMA=y
11CONFIG_GENERIC_IOMAP=y
12CONFIG_GENERIC_HWEIGHT=y
13CONFIG_ARCH_MAY_HAVE_PC_FDC=y
14CONFIG_DMI=y
15
16#
17# Code maturity level options
18#
19CONFIG_EXPERIMENTAL=y
20CONFIG_LOCK_KERNEL=y
21CONFIG_INIT_ENV_ARG_LIMIT=32
22
23#
24# General setup
25#
26CONFIG_LOCALVERSION=""
27CONFIG_LOCALVERSION_AUTO=y
28CONFIG_SWAP=y
29CONFIG_SYSVIPC=y
30CONFIG_POSIX_MQUEUE=y
31# CONFIG_BSD_PROCESS_ACCT is not set
32CONFIG_SYSCTL=y
33CONFIG_AUDIT=y
34CONFIG_AUDITSYSCALL=y
35# CONFIG_IKCONFIG is not set
36# CONFIG_CPUSETS is not set
37# CONFIG_RELAY is not set
38CONFIG_INITRAMFS_SOURCE=""
39CONFIG_UID16=y
40CONFIG_VM86=y
41# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
42CONFIG_EMBEDDED=y
43CONFIG_KALLSYMS=y
44# CONFIG_KALLSYMS_EXTRA_PASS is not set
45CONFIG_HOTPLUG=y
46CONFIG_PRINTK=y
47CONFIG_BUG=y
48CONFIG_ELF_CORE=y
49CONFIG_BASE_FULL=y
50CONFIG_FUTEX=y
51CONFIG_EPOLL=y
52CONFIG_SHMEM=y
53CONFIG_SLAB=y
54# CONFIG_TINY_SHMEM is not set
55CONFIG_BASE_SMALL=0
56# CONFIG_SLOB is not set
57
58#
59# Loadable module support
60#
61CONFIG_MODULES=y
62# CONFIG_MODULE_UNLOAD is not set
63# CONFIG_MODVERSIONS is not set
64# CONFIG_MODULE_SRCVERSION_ALL is not set
65CONFIG_KMOD=y
66
67#
68# Block layer
69#
70CONFIG_LBD=y
71# CONFIG_BLK_DEV_IO_TRACE is not set
72# CONFIG_LSF is not set
73
74#
75# IO Schedulers
76#
77CONFIG_IOSCHED_NOOP=y
78CONFIG_IOSCHED_AS=y
79CONFIG_IOSCHED_DEADLINE=y
80CONFIG_IOSCHED_CFQ=y
81CONFIG_DEFAULT_AS=y
82# CONFIG_DEFAULT_DEADLINE is not set
83# CONFIG_DEFAULT_CFQ is not set
84# CONFIG_DEFAULT_NOOP is not set
85CONFIG_DEFAULT_IOSCHED="anticipatory"
86
87#
88# Processor type and features
89#
90CONFIG_SMP=y
91CONFIG_X86_PC=y
92# CONFIG_X86_ELAN is not set
93# CONFIG_X86_VOYAGER is not set
94# CONFIG_X86_NUMAQ is not set
95# CONFIG_X86_SUMMIT is not set
96# CONFIG_X86_BIGSMP is not set
97# CONFIG_X86_VISWS is not set
98# CONFIG_X86_GENERICARCH is not set
99# CONFIG_X86_ES7000 is not set
100CONFIG_M386=y
101# CONFIG_M486 is not set
102# CONFIG_M586 is not set
103# CONFIG_M586TSC is not set
104# CONFIG_M586MMX is not set
105# CONFIG_M686 is not set
106# CONFIG_MPENTIUMII is not set
107# CONFIG_MPENTIUMIII is not set
108# CONFIG_MPENTIUMM is not set
109# CONFIG_MPENTIUM4 is not set
110# CONFIG_MK6 is not set
111# CONFIG_MK7 is not set
112# CONFIG_MK8 is not set
113# CONFIG_MCRUSOE is not set
114# CONFIG_MEFFICEON is not set
115# CONFIG_MWINCHIPC6 is not set
116# CONFIG_MWINCHIP2 is not set
117# CONFIG_MWINCHIP3D is not set
118# CONFIG_MGEODEGX1 is not set
119# CONFIG_MGEODE_LX is not set
120# CONFIG_MCYRIXIII is not set
121# CONFIG_MVIAC3_2 is not set
122CONFIG_X86_GENERIC=y
123CONFIG_X86_L1_CACHE_SHIFT=7
124CONFIG_RWSEM_GENERIC_SPINLOCK=y
125CONFIG_GENERIC_CALIBRATE_DELAY=y
126CONFIG_X86_PPRO_FENCE=y
127CONFIG_X86_F00F_BUG=y
128CONFIG_X86_INTEL_USERCOPY=y
129# CONFIG_HPET_TIMER is not set
130CONFIG_NR_CPUS=8
131CONFIG_SCHED_SMT=y
132CONFIG_SCHED_MC=y
133CONFIG_PREEMPT_NONE=y
134# CONFIG_PREEMPT_VOLUNTARY is not set
135# CONFIG_PREEMPT is not set
136CONFIG_PREEMPT_BKL=y
137CONFIG_X86_LOCAL_APIC=y
138CONFIG_X86_IO_APIC=y
139CONFIG_X86_MCE=y
140CONFIG_X86_MCE_NONFATAL=y
141CONFIG_X86_MCE_P4THERMAL=y
142# CONFIG_TOSHIBA is not set
143# CONFIG_I8K is not set
144# CONFIG_X86_REBOOTFIXUPS is not set
145# CONFIG_MICROCODE is not set
146# CONFIG_X86_MSR is not set
147# CONFIG_X86_CPUID is not set
148
149#
150# Firmware Drivers
151#
152# CONFIG_EDD is not set
153# CONFIG_DELL_RBU is not set
154# CONFIG_DCDBAS is not set
155CONFIG_NOHIGHMEM=y
156# CONFIG_HIGHMEM4G is not set
157# CONFIG_HIGHMEM64G is not set
158CONFIG_PAGE_OFFSET=0xC0000000
159CONFIG_ARCH_FLATMEM_ENABLE=y
160CONFIG_ARCH_SPARSEMEM_ENABLE=y
161CONFIG_ARCH_SELECT_MEMORY_MODEL=y
162CONFIG_SELECT_MEMORY_MODEL=y
163CONFIG_FLATMEM_MANUAL=y
164# CONFIG_DISCONTIGMEM_MANUAL is not set
165# CONFIG_SPARSEMEM_MANUAL is not set
166CONFIG_FLATMEM=y
167CONFIG_FLAT_NODE_MEM_MAP=y
168CONFIG_SPARSEMEM_STATIC=y
169CONFIG_SPLIT_PTLOCK_CPUS=4
170# CONFIG_MATH_EMULATION is not set
171CONFIG_MTRR=y
172# CONFIG_EFI is not set
173CONFIG_IRQBALANCE=y
174# CONFIG_REGPARM is not set
175CONFIG_SECCOMP=y
176# CONFIG_HZ_100 is not set
177CONFIG_HZ_250=y
178# CONFIG_HZ_1000 is not set
179CONFIG_HZ=250
180# CONFIG_KEXEC is not set
181CONFIG_PHYSICAL_START=0x100000
182# CONFIG_HOTPLUG_CPU is not set
183
184#
185# Power management options (ACPI, APM)
186#
187CONFIG_PM=y
188CONFIG_PM_LEGACY=y
189# CONFIG_PM_DEBUG is not set
190
191#
192# ACPI (Advanced Configuration and Power Interface) Support
193#
194CONFIG_ACPI=y
195CONFIG_ACPI_AC=y
196CONFIG_ACPI_BATTERY=y
197CONFIG_ACPI_BUTTON=y
198CONFIG_ACPI_VIDEO=m
199# CONFIG_ACPI_HOTKEY is not set
200CONFIG_ACPI_FAN=y
201CONFIG_ACPI_PROCESSOR=y
202CONFIG_ACPI_THERMAL=y
203# CONFIG_ACPI_ASUS is not set
204CONFIG_ACPI_IBM=m
205# CONFIG_ACPI_IBM_DOCK is not set
206# CONFIG_ACPI_TOSHIBA is not set
207CONFIG_ACPI_BLACKLIST_YEAR=0
208# CONFIG_ACPI_DEBUG is not set
209CONFIG_ACPI_EC=y
210CONFIG_ACPI_POWER=y
211CONFIG_ACPI_SYSTEM=y
212CONFIG_X86_PM_TIMER=y
213# CONFIG_ACPI_CONTAINER is not set
214
215#
216# APM (Advanced Power Management) BIOS Support
217#
218# CONFIG_APM is not set
219
220#
221# CPU Frequency scaling
222#
223# CONFIG_CPU_FREQ is not set
224
225#
226# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
227#
228CONFIG_PCI=y
229# CONFIG_PCI_GOBIOS is not set
230# CONFIG_PCI_GOMMCONFIG is not set
231# CONFIG_PCI_GODIRECT is not set
232CONFIG_PCI_GOANY=y
233CONFIG_PCI_BIOS=y
234CONFIG_PCI_DIRECT=y
235CONFIG_PCI_MMCONFIG=y
236# CONFIG_PCIEPORTBUS is not set
237# CONFIG_PCI_MSI is not set
238CONFIG_ISA_DMA_API=y
239CONFIG_ISA=y
240# CONFIG_EISA is not set
241# CONFIG_MCA is not set
242# CONFIG_SCx200 is not set
243
244#
245# PCCARD (PCMCIA/CardBus) support
246#
247# CONFIG_PCCARD is not set
248
249#
250# PCI Hotplug Support
251#
252# CONFIG_HOTPLUG_PCI is not set
253
254#
255# Executable file formats
256#
257CONFIG_BINFMT_ELF=y
258CONFIG_BINFMT_AOUT=y
259CONFIG_BINFMT_MISC=y
260
261#
262# Networking
263#
264CONFIG_NET=y
265
266#
267# Networking options
268#
269# CONFIG_NETDEBUG is not set
270CONFIG_PACKET=y
271# CONFIG_PACKET_MMAP is not set
272CONFIG_UNIX=y
273# CONFIG_NET_KEY is not set
274CONFIG_INET=y
275CONFIG_IP_MULTICAST=y
276# CONFIG_IP_ADVANCED_ROUTER is not set
277CONFIG_IP_FIB_HASH=y
278CONFIG_IP_PNP=y
279CONFIG_IP_PNP_DHCP=y
280CONFIG_IP_PNP_BOOTP=y
281# CONFIG_IP_PNP_RARP is not set
282# CONFIG_NET_IPIP is not set
283# CONFIG_NET_IPGRE is not set
284# CONFIG_IP_MROUTE is not set
285# CONFIG_ARPD is not set
286# CONFIG_SYN_COOKIES is not set
287# CONFIG_INET_AH is not set
288# CONFIG_INET_ESP is not set
289# CONFIG_INET_IPCOMP is not set
290# CONFIG_INET_XFRM_TUNNEL is not set
291# CONFIG_INET_TUNNEL is not set
292CONFIG_INET_DIAG=y
293CONFIG_INET_TCP_DIAG=y
294# CONFIG_TCP_CONG_ADVANCED is not set
295CONFIG_TCP_CONG_BIC=y
296
297#
298# IP: Virtual Server Configuration
299#
300# CONFIG_IP_VS is not set
301# CONFIG_IPV6 is not set
302# CONFIG_INET6_XFRM_TUNNEL is not set
303# CONFIG_INET6_TUNNEL is not set
304CONFIG_NETFILTER=y
305# CONFIG_NETFILTER_DEBUG is not set
306
307#
308# Core Netfilter Configuration
309#
310# CONFIG_NETFILTER_NETLINK is not set
311# CONFIG_NETFILTER_XTABLES is not set
312
313#
314# IP: Netfilter Configuration
315#
316CONFIG_IP_NF_CONNTRACK=y
317# CONFIG_IP_NF_CT_ACCT is not set
318# CONFIG_IP_NF_CONNTRACK_MARK is not set
319# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
320# CONFIG_IP_NF_CT_PROTO_SCTP is not set
321# CONFIG_IP_NF_FTP is not set
322# CONFIG_IP_NF_IRC is not set
323# CONFIG_IP_NF_NETBIOS_NS is not set
324# CONFIG_IP_NF_TFTP is not set
325# CONFIG_IP_NF_AMANDA is not set
326# CONFIG_IP_NF_PPTP is not set
327# CONFIG_IP_NF_H323 is not set
328CONFIG_IP_NF_QUEUE=y
329
330#
331# DCCP Configuration (EXPERIMENTAL)
332#
333# CONFIG_IP_DCCP is not set
334
335#
336# SCTP Configuration (EXPERIMENTAL)
337#
338# CONFIG_IP_SCTP is not set
339
340#
341# TIPC Configuration (EXPERIMENTAL)
342#
343# CONFIG_TIPC is not set
344# CONFIG_ATM is not set
345# CONFIG_BRIDGE is not set
346# CONFIG_VLAN_8021Q is not set
347# CONFIG_DECNET is not set
348# CONFIG_LLC2 is not set
349# CONFIG_IPX is not set
350# CONFIG_ATALK is not set
351# CONFIG_X25 is not set
352# CONFIG_LAPB is not set
353# CONFIG_NET_DIVERT is not set
354# CONFIG_ECONET is not set
355# CONFIG_WAN_ROUTER is not set
356
357#
358# QoS and/or fair queueing
359#
360# CONFIG_NET_SCHED is not set
361
362#
363# Network testing
364#
365# CONFIG_NET_PKTGEN is not set
366# CONFIG_HAMRADIO is not set
367# CONFIG_IRDA is not set
368# CONFIG_BT is not set
369# CONFIG_IEEE80211 is not set
370
371#
372# Device Drivers
373#
374
375#
376# Generic Driver Options
377#
378CONFIG_STANDALONE=y
379CONFIG_PREVENT_FIRMWARE_BUILD=y
380CONFIG_FW_LOADER=m
381
382#
383# Connector - unified userspace <-> kernelspace linker
384#
385# CONFIG_CONNECTOR is not set
386
387#
388# Memory Technology Devices (MTD)
389#
390# CONFIG_MTD is not set
391
392#
393# Parallel port support
394#
395CONFIG_PARPORT=y
396CONFIG_PARPORT_PC=y
397# CONFIG_PARPORT_SERIAL is not set
398# CONFIG_PARPORT_PC_FIFO is not set
399# CONFIG_PARPORT_PC_SUPERIO is not set
400# CONFIG_PARPORT_GSC is not set
401# CONFIG_PARPORT_1284 is not set
402
403#
404# Plug and Play support
405#
406CONFIG_PNP=y
407# CONFIG_PNP_DEBUG is not set
408
409#
410# Protocols
411#
412# CONFIG_ISAPNP is not set
413# CONFIG_PNPBIOS is not set
414CONFIG_PNPACPI=y
415
416#
417# Block devices
418#
419CONFIG_BLK_DEV_FD=y
420# CONFIG_BLK_DEV_XD is not set
421# CONFIG_PARIDE is not set
422# CONFIG_BLK_CPQ_DA is not set
423# CONFIG_BLK_CPQ_CISS_DA is not set
424# CONFIG_BLK_DEV_DAC960 is not set
425# CONFIG_BLK_DEV_UMEM is not set
426# CONFIG_BLK_DEV_COW_COMMON is not set
427# CONFIG_BLK_DEV_LOOP is not set
428# CONFIG_BLK_DEV_NBD is not set
429# CONFIG_BLK_DEV_SX8 is not set
430# CONFIG_BLK_DEV_UB is not set
431# CONFIG_BLK_DEV_RAM is not set
432# CONFIG_BLK_DEV_INITRD is not set
433# CONFIG_CDROM_PKTCDVD is not set
434# CONFIG_ATA_OVER_ETH is not set
435
436#
437# ATA/ATAPI/MFM/RLL support
438#
439CONFIG_IDE=y
440CONFIG_BLK_DEV_IDE=y
441
442#
443# Please see Documentation/ide.txt for help/info on IDE drives
444#
445# CONFIG_BLK_DEV_IDE_SATA is not set
446# CONFIG_BLK_DEV_HD_IDE is not set
447CONFIG_BLK_DEV_IDEDISK=y
448CONFIG_IDEDISK_MULTI_MODE=y
449CONFIG_BLK_DEV_IDECD=y
450# CONFIG_BLK_DEV_IDETAPE is not set
451# CONFIG_BLK_DEV_IDEFLOPPY is not set
452# CONFIG_BLK_DEV_IDESCSI is not set
453# CONFIG_IDE_TASK_IOCTL is not set
454
455#
456# IDE chipset support/bugfixes
457#
458CONFIG_IDE_GENERIC=y
459CONFIG_BLK_DEV_CMD640=y
460# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
461# CONFIG_BLK_DEV_IDEPNP is not set
462CONFIG_BLK_DEV_IDEPCI=y
463CONFIG_IDEPCI_SHARE_IRQ=y
464# CONFIG_BLK_DEV_OFFBOARD is not set
465CONFIG_BLK_DEV_GENERIC=y
466# CONFIG_BLK_DEV_OPTI621 is not set
467CONFIG_BLK_DEV_RZ1000=y
468CONFIG_BLK_DEV_IDEDMA_PCI=y
469# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
470CONFIG_IDEDMA_PCI_AUTO=y
471# CONFIG_IDEDMA_ONLYDISK is not set
472# CONFIG_BLK_DEV_AEC62XX is not set
473# CONFIG_BLK_DEV_ALI15X3 is not set
474# CONFIG_BLK_DEV_AMD74XX is not set
475# CONFIG_BLK_DEV_ATIIXP is not set
476# CONFIG_BLK_DEV_CMD64X is not set
477# CONFIG_BLK_DEV_TRIFLEX is not set
478# CONFIG_BLK_DEV_CY82C693 is not set
479# CONFIG_BLK_DEV_CS5520 is not set
480# CONFIG_BLK_DEV_CS5530 is not set
481# CONFIG_BLK_DEV_CS5535 is not set
482# CONFIG_BLK_DEV_HPT34X is not set
483# CONFIG_BLK_DEV_HPT366 is not set
484# CONFIG_BLK_DEV_SC1200 is not set
485CONFIG_BLK_DEV_PIIX=y
486# CONFIG_BLK_DEV_IT821X is not set
487# CONFIG_BLK_DEV_NS87415 is not set
488# CONFIG_BLK_DEV_PDC202XX_OLD is not set
489# CONFIG_BLK_DEV_PDC202XX_NEW is not set
490# CONFIG_BLK_DEV_SVWKS is not set
491# CONFIG_BLK_DEV_SIIMAGE is not set
492# CONFIG_BLK_DEV_SIS5513 is not set
493# CONFIG_BLK_DEV_SLC90E66 is not set
494# CONFIG_BLK_DEV_TRM290 is not set
495# CONFIG_BLK_DEV_VIA82CXXX is not set
496# CONFIG_IDE_ARM is not set
497# CONFIG_IDE_CHIPSETS is not set
498CONFIG_BLK_DEV_IDEDMA=y
499# CONFIG_IDEDMA_IVB is not set
500CONFIG_IDEDMA_AUTO=y
501# CONFIG_BLK_DEV_HD is not set
502
503#
504# SCSI device support
505#
506# CONFIG_RAID_ATTRS is not set
507CONFIG_SCSI=y
508CONFIG_SCSI_PROC_FS=y
509
510#
511# SCSI support type (disk, tape, CD-ROM)
512#
513CONFIG_BLK_DEV_SD=y
514# CONFIG_CHR_DEV_ST is not set
515# CONFIG_CHR_DEV_OSST is not set
516# CONFIG_BLK_DEV_SR is not set
517CONFIG_CHR_DEV_SG=y
518# CONFIG_CHR_DEV_SCH is not set
519
520#
521# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
522#
523# CONFIG_SCSI_MULTI_LUN is not set
524# CONFIG_SCSI_CONSTANTS is not set
525# CONFIG_SCSI_LOGGING is not set
526
527#
528# SCSI Transport Attributes
529#
530# CONFIG_SCSI_SPI_ATTRS is not set
531# CONFIG_SCSI_FC_ATTRS is not set
532# CONFIG_SCSI_ISCSI_ATTRS is not set
533# CONFIG_SCSI_SAS_ATTRS is not set
534
535#
536# SCSI low-level drivers
537#
538# CONFIG_ISCSI_TCP is not set
539# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
540# CONFIG_SCSI_3W_9XXX is not set
541# CONFIG_SCSI_7000FASST is not set
542# CONFIG_SCSI_ACARD is not set
543# CONFIG_SCSI_AHA152X is not set
544# CONFIG_SCSI_AHA1542 is not set
545# CONFIG_SCSI_AACRAID is not set
546# CONFIG_SCSI_AIC7XXX is not set
547# CONFIG_SCSI_AIC7XXX_OLD is not set
548# CONFIG_SCSI_AIC79XX is not set
549CONFIG_SCSI_DPT_I2O=m
550# CONFIG_SCSI_ADVANSYS is not set
551# CONFIG_SCSI_IN2000 is not set
552# CONFIG_MEGARAID_NEWGEN is not set
553# CONFIG_MEGARAID_LEGACY is not set
554# CONFIG_MEGARAID_SAS is not set
555CONFIG_SCSI_SATA=y
556# CONFIG_SCSI_SATA_AHCI is not set
557# CONFIG_SCSI_SATA_SVW is not set
558CONFIG_SCSI_ATA_PIIX=y
559# CONFIG_SCSI_SATA_MV is not set
560# CONFIG_SCSI_SATA_NV is not set
561# CONFIG_SCSI_PDC_ADMA is not set
562# CONFIG_SCSI_SATA_QSTOR is not set
563# CONFIG_SCSI_SATA_PROMISE is not set
564CONFIG_SCSI_SATA_SX4=m
565# CONFIG_SCSI_SATA_SIL is not set
566# CONFIG_SCSI_SATA_SIL24 is not set
567CONFIG_SCSI_SATA_SIS=m
568# CONFIG_SCSI_SATA_ULI is not set
569# CONFIG_SCSI_SATA_VIA is not set
570# CONFIG_SCSI_SATA_VITESSE is not set
571CONFIG_SCSI_SATA_INTEL_COMBINED=y
572# CONFIG_SCSI_BUSLOGIC is not set
573# CONFIG_SCSI_DMX3191D is not set
574# CONFIG_SCSI_DTC3280 is not set
575# CONFIG_SCSI_EATA is not set
576# CONFIG_SCSI_FUTURE_DOMAIN is not set
577# CONFIG_SCSI_GDTH is not set
578# CONFIG_SCSI_GENERIC_NCR5380 is not set
579# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
580# CONFIG_SCSI_IPS is not set
581# CONFIG_SCSI_INITIO is not set
582# CONFIG_SCSI_INIA100 is not set
583# CONFIG_SCSI_PPA is not set
584# CONFIG_SCSI_IMM is not set
585# CONFIG_SCSI_NCR53C406A is not set
586# CONFIG_SCSI_SYM53C8XX_2 is not set
587CONFIG_SCSI_IPR=m
588# CONFIG_SCSI_IPR_TRACE is not set
589# CONFIG_SCSI_IPR_DUMP is not set
590# CONFIG_SCSI_PAS16 is not set
591# CONFIG_SCSI_PSI240I is not set
592# CONFIG_SCSI_QLOGIC_FAS is not set
593# CONFIG_SCSI_QLOGIC_1280 is not set
594# CONFIG_SCSI_QLA_FC is not set
595# CONFIG_SCSI_LPFC is not set
596# CONFIG_SCSI_SYM53C416 is not set
597# CONFIG_SCSI_DC395x is not set
598# CONFIG_SCSI_DC390T is not set
599# CONFIG_SCSI_T128 is not set
600# CONFIG_SCSI_U14_34F is not set
601# CONFIG_SCSI_ULTRASTOR is not set
602# CONFIG_SCSI_NSP32 is not set
603# CONFIG_SCSI_DEBUG is not set
604
605#
606# Old CD-ROM drivers (not SCSI, not IDE)
607#
608# CONFIG_CD_NO_IDESCSI is not set
609
610#
611# Multi-device support (RAID and LVM)
612#
613CONFIG_MD=y
614CONFIG_BLK_DEV_DM=m
615CONFIG_DM_CRYPT=m
616CONFIG_DM_SNAPSHOT=m
617CONFIG_DM_MIRROR=m
618CONFIG_DM_ZERO=m
619CONFIG_DM_MULTIPATH=m
620CONFIG_DM_MULTIPATH_EMC=m
621
622#
623# Fusion MPT device support
624#
625# CONFIG_FUSION is not set
626# CONFIG_FUSION_SPI is not set
627# CONFIG_FUSION_FC is not set
628# CONFIG_FUSION_SAS is not set
629
630#
631# IEEE 1394 (FireWire) support
632#
633CONFIG_IEEE1394=y
634
635#
636# Subsystem Options
637#
638# CONFIG_IEEE1394_VERBOSEDEBUG is not set
639# CONFIG_IEEE1394_OUI_DB is not set
640# CONFIG_IEEE1394_EXTRA_CONFIG_ROMS is not set
641# CONFIG_IEEE1394_EXPORT_FULL_API is not set
642
643#
644# Device Drivers
645#
646
647#
648# Texas Instruments PCILynx requires I2C
649#
650CONFIG_IEEE1394_OHCI1394=y
651
652#
653# Protocol Drivers
654#
655# CONFIG_IEEE1394_VIDEO1394 is not set
656# CONFIG_IEEE1394_SBP2 is not set
657# CONFIG_IEEE1394_ETH1394 is not set
658# CONFIG_IEEE1394_DV1394 is not set
659CONFIG_IEEE1394_RAWIO=y
660
661#
662# I2O device support
663#
664# CONFIG_I2O is not set
665
666#
667# Network device support
668#
669CONFIG_NETDEVICES=y
670CONFIG_DUMMY=m
671# CONFIG_BONDING is not set
672# CONFIG_EQUALIZER is not set
673# CONFIG_TUN is not set
674# CONFIG_NET_SB1000 is not set
675
676#
677# ARCnet devices
678#
679# CONFIG_ARCNET is not set
680
681#
682# PHY device support
683#
684# CONFIG_PHYLIB is not set
685
686#
687# Ethernet (10 or 100Mbit)
688#
689CONFIG_NET_ETHERNET=y
690CONFIG_MII=y
691# CONFIG_HAPPYMEAL is not set
692# CONFIG_SUNGEM is not set
693# CONFIG_CASSINI is not set
694# CONFIG_NET_VENDOR_3COM is not set
695# CONFIG_LANCE is not set
696# CONFIG_NET_VENDOR_SMC is not set
697# CONFIG_NET_VENDOR_RACAL is not set
698
699#
700# Tulip family network device support
701#
702# CONFIG_NET_TULIP is not set
703# CONFIG_AT1700 is not set
704# CONFIG_DEPCA is not set
705# CONFIG_HP100 is not set
706CONFIG_NET_ISA=y
707# CONFIG_E2100 is not set
708# CONFIG_EWRK3 is not set
709# CONFIG_EEXPRESS is not set
710# CONFIG_EEXPRESS_PRO is not set
711# CONFIG_HPLAN_PLUS is not set
712# CONFIG_HPLAN is not set
713# CONFIG_LP486E is not set
714# CONFIG_ETH16I is not set
715CONFIG_NE2000=y
716# CONFIG_ZNET is not set
717# CONFIG_SEEQ8005 is not set
718CONFIG_NET_PCI=y
719# CONFIG_PCNET32 is not set
720# CONFIG_AMD8111_ETH is not set
721# CONFIG_ADAPTEC_STARFIRE is not set
722# CONFIG_AC3200 is not set
723# CONFIG_APRICOT is not set
724# CONFIG_B44 is not set
725# CONFIG_FORCEDETH is not set
726# CONFIG_CS89x0 is not set
727# CONFIG_DGRS is not set
728# CONFIG_EEPRO100 is not set
729# CONFIG_E100 is not set
730# CONFIG_FEALNX is not set
731# CONFIG_NATSEMI is not set
732CONFIG_NE2K_PCI=y
733# CONFIG_8139CP is not set
734CONFIG_8139TOO=y
735CONFIG_8139TOO_PIO=y
736# CONFIG_8139TOO_TUNE_TWISTER is not set
737# CONFIG_8139TOO_8129 is not set
738# CONFIG_8139_OLD_RX_RESET is not set
739# CONFIG_SIS900 is not set
740# CONFIG_EPIC100 is not set
741# CONFIG_SUNDANCE is not set
742# CONFIG_TLAN is not set
743# CONFIG_VIA_RHINE is not set
744# CONFIG_NET_POCKET is not set
745
746#
747# Ethernet (1000 Mbit)
748#
749# CONFIG_ACENIC is not set
750# CONFIG_DL2K is not set
751# CONFIG_E1000 is not set
752# CONFIG_NS83820 is not set
753# CONFIG_HAMACHI is not set
754# CONFIG_YELLOWFIN is not set
755# CONFIG_R8169 is not set
756# CONFIG_SIS190 is not set
757# CONFIG_SKGE is not set
758# CONFIG_SKY2 is not set
759# CONFIG_SK98LIN is not set
760# CONFIG_VIA_VELOCITY is not set
761# CONFIG_TIGON3 is not set
762# CONFIG_BNX2 is not set
763
764#
765# Ethernet (10000 Mbit)
766#
767# CONFIG_CHELSIO_T1 is not set
768# CONFIG_IXGB is not set
769CONFIG_S2IO=m
770# CONFIG_S2IO_NAPI is not set
771
772#
773# Token Ring devices
774#
775# CONFIG_TR is not set
776
777#
778# Wireless LAN (non-hamradio)
779#
780# CONFIG_NET_RADIO is not set
781
782#
783# Wan interfaces
784#
785# CONFIG_WAN is not set
786# CONFIG_FDDI is not set
787# CONFIG_HIPPI is not set
788# CONFIG_PLIP is not set
789# CONFIG_PPP is not set
790# CONFIG_SLIP is not set
791# CONFIG_NET_FC is not set
792# CONFIG_SHAPER is not set
793# CONFIG_NETCONSOLE is not set
794# CONFIG_NETPOLL is not set
795# CONFIG_NET_POLL_CONTROLLER is not set
796
797#
798# ISDN subsystem
799#
800# CONFIG_ISDN is not set
801
802#
803# Telephony Support
804#
805# CONFIG_PHONE is not set
806
807#
808# Input device support
809#
810CONFIG_INPUT=y
811
812#
813# Userland interfaces
814#
815# CONFIG_INPUT_MOUSEDEV is not set
816# CONFIG_INPUT_JOYDEV is not set
817# CONFIG_INPUT_TSDEV is not set
818CONFIG_INPUT_EVDEV=y
819# CONFIG_INPUT_EVBUG is not set
820# CONFIG_INPUT_POWER is not set
821
822#
823# Input Device Drivers
824#
825CONFIG_INPUT_KEYBOARD=y
826CONFIG_KEYBOARD_ATKBD=y
827# CONFIG_KEYBOARD_SUNKBD is not set
828# CONFIG_KEYBOARD_LKKBD is not set
829# CONFIG_KEYBOARD_XTKBD is not set
830# CONFIG_KEYBOARD_NEWTON is not set
831# CONFIG_INPUT_MOUSE is not set
832# CONFIG_MOUSE_PS2 is not set
833# CONFIG_MOUSE_SERIAL is not set
834# CONFIG_MOUSE_INPORT is not set
835# CONFIG_MOUSE_LOGIBM is not set
836# CONFIG_MOUSE_PC110PAD is not set
837# CONFIG_MOUSE_VSXXXAA is not set
838# CONFIG_INPUT_JOYSTICK is not set
839# CONFIG_INPUT_TOUCHSCREEN is not set
840# CONFIG_INPUT_MISC is not set
841
842#
843# Hardware I/O ports
844#
845CONFIG_SERIO=y
846CONFIG_SERIO_I8042=y
847# CONFIG_SERIO_SERPORT is not set
848# CONFIG_SERIO_CT82C710 is not set
849# CONFIG_SERIO_PARKBD is not set
850# CONFIG_SERIO_PCIPS2 is not set
851CONFIG_SERIO_LIBPS2=y
852# CONFIG_SERIO_RAW is not set
853# CONFIG_GAMEPORT is not set
854
855#
856# Character devices
857#
858CONFIG_VT=y
859CONFIG_VT_CONSOLE=y
860CONFIG_HW_CONSOLE=y
861# CONFIG_SERIAL_NONSTANDARD is not set
862
863#
864# Serial drivers
865#
866CONFIG_SERIAL_8250=y
867# CONFIG_SERIAL_8250_CONSOLE is not set
868CONFIG_SERIAL_8250_PCI=y
869CONFIG_SERIAL_8250_PNP=y
870CONFIG_SERIAL_8250_NR_UARTS=4
871CONFIG_SERIAL_8250_RUNTIME_UARTS=4
872# CONFIG_SERIAL_8250_EXTENDED is not set
873
874#
875# Non-8250 serial port support
876#
877CONFIG_SERIAL_CORE=y
878# CONFIG_SERIAL_JSM is not set
879CONFIG_UNIX98_PTYS=y
880# CONFIG_LEGACY_PTYS is not set
881CONFIG_PRINTER=y
882# CONFIG_LP_CONSOLE is not set
883# CONFIG_PPDEV is not set
884# CONFIG_TIPAR is not set
885
886#
887# IPMI
888#
889# CONFIG_IPMI_HANDLER is not set
890
891#
892# Watchdog Cards
893#
894# CONFIG_WATCHDOG is not set
895# CONFIG_HW_RANDOM is not set
896# CONFIG_NVRAM is not set
897# CONFIG_RTC is not set
898# CONFIG_GEN_RTC is not set
899# CONFIG_DTLK is not set
900# CONFIG_R3964 is not set
901# CONFIG_APPLICOM is not set
902# CONFIG_SONYPI is not set
903
904#
905# Ftape, the floppy tape device driver
906#
907CONFIG_AGP=y
908# CONFIG_AGP_ALI is not set
909# CONFIG_AGP_ATI is not set
910# CONFIG_AGP_AMD is not set
911# CONFIG_AGP_AMD64 is not set
912CONFIG_AGP_INTEL=y
913# CONFIG_AGP_NVIDIA is not set
914# CONFIG_AGP_SIS is not set
915# CONFIG_AGP_SWORKS is not set
916# CONFIG_AGP_VIA is not set
917# CONFIG_AGP_EFFICEON is not set
918CONFIG_DRM=y
919# CONFIG_DRM_TDFX is not set
920# CONFIG_DRM_R128 is not set
921# CONFIG_DRM_RADEON is not set
922# CONFIG_DRM_I810 is not set
923# CONFIG_DRM_I830 is not set
924# CONFIG_DRM_I915 is not set
925# CONFIG_DRM_MGA is not set
926# CONFIG_DRM_SIS is not set
927# CONFIG_DRM_VIA is not set
928# CONFIG_DRM_SAVAGE is not set
929# CONFIG_MWAVE is not set
930# CONFIG_CS5535_GPIO is not set
931# CONFIG_RAW_DRIVER is not set
932# CONFIG_HPET is not set
933# CONFIG_HANGCHECK_TIMER is not set
934
935#
936# TPM devices
937#
938# CONFIG_TCG_TPM is not set
939# CONFIG_TELCLOCK is not set
940
941#
942# I2C support
943#
944# CONFIG_I2C is not set
945
946#
947# SPI support
948#
949# CONFIG_SPI is not set
950# CONFIG_SPI_MASTER is not set
951
952#
953# Dallas's 1-wire bus
954#
955# CONFIG_W1 is not set
956
957#
958# Hardware Monitoring support
959#
960CONFIG_HWMON=y
961# CONFIG_HWMON_VID is not set
962# CONFIG_SENSORS_F71805F is not set
963# CONFIG_SENSORS_HDAPS is not set
964# CONFIG_HWMON_DEBUG_CHIP is not set
965
966#
967# Misc devices
968#
969# CONFIG_IBM_ASM is not set
970
971#
972# Multi-Function Devices
973#
974
975#
976# Multimedia devices
977#
978# CONFIG_VIDEO_DEV is not set
979CONFIG_VIDEO_V4L2=y
980
981#
982# Digital Video Broadcasting Devices
983#
984# CONFIG_DVB is not set
985# CONFIG_USB_DABUSB is not set
986
987#
988# Graphics support
989#
990CONFIG_FB=y
991CONFIG_FB_CFB_FILLRECT=y
992CONFIG_FB_CFB_COPYAREA=y
993CONFIG_FB_CFB_IMAGEBLIT=y
994# CONFIG_FB_MACMODES is not set
995CONFIG_FB_FIRMWARE_EDID=y
996CONFIG_FB_MODE_HELPERS=y
997# CONFIG_FB_TILEBLITTING is not set
998# CONFIG_FB_CIRRUS is not set
999# CONFIG_FB_PM2 is not set
1000# CONFIG_FB_CYBER2000 is not set
1001# CONFIG_FB_ARC is not set
1002# CONFIG_FB_ASILIANT is not set
1003# CONFIG_FB_IMSTT is not set
1004CONFIG_FB_VGA16=y
1005CONFIG_FB_VESA=y
1006# CONFIG_FB_VESA_STD is not set
1007CONFIG_FB_VESA_TNG=y
1008CONFIG_FB_VESA_DEFAULT_MODE="640x480-32@60"
1009CONFIG_VIDEO_SELECT=y
1010# CONFIG_FB_HGA is not set
1011# CONFIG_FB_S1D13XXX is not set
1012# CONFIG_FB_NVIDIA is not set
1013# CONFIG_FB_RIVA is not set
1014# CONFIG_FB_I810 is not set
1015# CONFIG_FB_INTEL is not set
1016# CONFIG_FB_MATROX is not set
1017# CONFIG_FB_RADEON is not set
1018# CONFIG_FB_ATY128 is not set
1019# CONFIG_FB_ATY is not set
1020# CONFIG_FB_SAVAGE is not set
1021# CONFIG_FB_SIS is not set
1022# CONFIG_FB_NEOMAGIC is not set
1023# CONFIG_FB_KYRO is not set
1024# CONFIG_FB_3DFX is not set
1025# CONFIG_FB_VOODOO1 is not set
1026# CONFIG_FB_CYBLA is not set
1027# CONFIG_FB_TRIDENT is not set
1028# CONFIG_FB_GEODE is not set
1029# CONFIG_FB_VIRTUAL is not set
1030
1031#
1032# Console display driver support
1033#
1034CONFIG_VGA_CONSOLE=y
1035# CONFIG_VGACON_SOFT_SCROLLBACK is not set
1036# CONFIG_MDA_CONSOLE is not set
1037CONFIG_DUMMY_CONSOLE=y
1038CONFIG_FRAMEBUFFER_CONSOLE=y
1039# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
1040CONFIG_FONTS=y
1041CONFIG_FONT_8x8=y
1042CONFIG_FONT_8x16=y
1043# CONFIG_FONT_6x11 is not set
1044# CONFIG_FONT_7x14 is not set
1045# CONFIG_FONT_PEARL_8x8 is not set
1046# CONFIG_FONT_ACORN_8x8 is not set
1047# CONFIG_FONT_MINI_4x6 is not set
1048# CONFIG_FONT_SUN8x16 is not set
1049# CONFIG_FONT_SUN12x22 is not set
1050# CONFIG_FONT_10x18 is not set
1051
1052#
1053# Logo configuration
1054#
1055CONFIG_LOGO=y
1056# CONFIG_LOGO_LINUX_MONO is not set
1057# CONFIG_LOGO_LINUX_VGA16 is not set
1058# CONFIG_LOGO_LINUX_CLUT224 is not set
1059CONFIG_LOGO_OHAND_CLUT224=y
1060# CONFIG_LOGO_OZ240_CLUT224 is not set
1061# CONFIG_LOGO_OZ480_CLUT224 is not set
1062# CONFIG_LOGO_OZ640_CLUT224 is not set
1063# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
1064
1065#
1066# Sound
1067#
1068CONFIG_SOUND=y
1069
1070#
1071# Advanced Linux Sound Architecture
1072#
1073CONFIG_SND=y
1074CONFIG_SND_TIMER=y
1075CONFIG_SND_PCM=y
1076CONFIG_SND_SEQUENCER=y
1077# CONFIG_SND_SEQ_DUMMY is not set
1078CONFIG_SND_OSSEMUL=y
1079CONFIG_SND_MIXER_OSS=y
1080CONFIG_SND_PCM_OSS=y
1081CONFIG_SND_PCM_OSS_PLUGINS=y
1082CONFIG_SND_SEQUENCER_OSS=y
1083# CONFIG_SND_DYNAMIC_MINORS is not set
1084CONFIG_SND_SUPPORT_OLD_API=y
1085CONFIG_SND_VERBOSE_PROCFS=y
1086# CONFIG_SND_VERBOSE_PRINTK is not set
1087# CONFIG_SND_DEBUG is not set
1088
1089#
1090# Generic devices
1091#
1092CONFIG_SND_AC97_CODEC=y
1093CONFIG_SND_AC97_BUS=y
1094# CONFIG_SND_DUMMY is not set
1095# CONFIG_SND_VIRMIDI is not set
1096# CONFIG_SND_MTPAV is not set
1097# CONFIG_SND_SERIAL_U16550 is not set
1098# CONFIG_SND_MPU401 is not set
1099
1100#
1101# ISA devices
1102#
1103# CONFIG_SND_ADLIB is not set
1104# CONFIG_SND_AD1816A is not set
1105# CONFIG_SND_AD1848 is not set
1106# CONFIG_SND_ALS100 is not set
1107# CONFIG_SND_AZT2320 is not set
1108# CONFIG_SND_CMI8330 is not set
1109# CONFIG_SND_CS4231 is not set
1110# CONFIG_SND_CS4232 is not set
1111# CONFIG_SND_CS4236 is not set
1112# CONFIG_SND_DT019X is not set
1113# CONFIG_SND_ES968 is not set
1114# CONFIG_SND_ES1688 is not set
1115# CONFIG_SND_ES18XX is not set
1116# CONFIG_SND_GUSCLASSIC is not set
1117# CONFIG_SND_GUSEXTREME is not set
1118# CONFIG_SND_GUSMAX is not set
1119# CONFIG_SND_INTERWAVE is not set
1120# CONFIG_SND_INTERWAVE_STB is not set
1121# CONFIG_SND_OPL3SA2 is not set
1122# CONFIG_SND_OPTI92X_AD1848 is not set
1123# CONFIG_SND_OPTI92X_CS4231 is not set
1124# CONFIG_SND_OPTI93X is not set
1125# CONFIG_SND_MIRO is not set
1126# CONFIG_SND_SB8 is not set
1127# CONFIG_SND_SB16 is not set
1128# CONFIG_SND_SBAWE is not set
1129# CONFIG_SND_SGALAXY is not set
1130# CONFIG_SND_SSCAPE is not set
1131# CONFIG_SND_WAVEFRONT is not set
1132
1133#
1134# PCI devices
1135#
1136# CONFIG_SND_AD1889 is not set
1137# CONFIG_SND_ALS300 is not set
1138# CONFIG_SND_ALS4000 is not set
1139# CONFIG_SND_ALI5451 is not set
1140# CONFIG_SND_ATIIXP is not set
1141# CONFIG_SND_ATIIXP_MODEM is not set
1142# CONFIG_SND_AU8810 is not set
1143# CONFIG_SND_AU8820 is not set
1144# CONFIG_SND_AU8830 is not set
1145# CONFIG_SND_AZT3328 is not set
1146# CONFIG_SND_BT87X is not set
1147# CONFIG_SND_CA0106 is not set
1148# CONFIG_SND_CMIPCI is not set
1149# CONFIG_SND_CS4281 is not set
1150# CONFIG_SND_CS46XX is not set
1151# CONFIG_SND_CS5535AUDIO is not set
1152# CONFIG_SND_EMU10K1 is not set
1153# CONFIG_SND_EMU10K1X is not set
1154# CONFIG_SND_ENS1370 is not set
1155# CONFIG_SND_ENS1371 is not set
1156# CONFIG_SND_ES1938 is not set
1157# CONFIG_SND_ES1968 is not set
1158# CONFIG_SND_FM801 is not set
1159# CONFIG_SND_HDA_INTEL is not set
1160# CONFIG_SND_HDSP is not set
1161# CONFIG_SND_HDSPM is not set
1162# CONFIG_SND_ICE1712 is not set
1163# CONFIG_SND_ICE1724 is not set
1164CONFIG_SND_INTEL8X0=y
1165# CONFIG_SND_INTEL8X0M is not set
1166# CONFIG_SND_KORG1212 is not set
1167# CONFIG_SND_MAESTRO3 is not set
1168# CONFIG_SND_MIXART is not set
1169# CONFIG_SND_NM256 is not set
1170# CONFIG_SND_PCXHR is not set
1171# CONFIG_SND_RIPTIDE is not set
1172# CONFIG_SND_RME32 is not set
1173# CONFIG_SND_RME96 is not set
1174# CONFIG_SND_RME9652 is not set
1175# CONFIG_SND_SONICVIBES is not set
1176# CONFIG_SND_TRIDENT is not set
1177# CONFIG_SND_VIA82XX is not set
1178# CONFIG_SND_VIA82XX_MODEM is not set
1179# CONFIG_SND_VX222 is not set
1180# CONFIG_SND_YMFPCI is not set
1181
1182#
1183# USB devices
1184#
1185# CONFIG_SND_USB_AUDIO is not set
1186# CONFIG_SND_USB_USX2Y is not set
1187
1188#
1189# SoC audio support
1190#
1191# CONFIG_SND_SOC is not set
1192
1193#
1194# Open Sound System
1195#
1196# CONFIG_SOUND_PRIME is not set
1197
1198#
1199# USB support
1200#
1201CONFIG_USB_ARCH_HAS_HCD=y
1202CONFIG_USB_ARCH_HAS_OHCI=y
1203CONFIG_USB_ARCH_HAS_EHCI=y
1204CONFIG_USB=y
1205# CONFIG_USB_DEBUG is not set
1206
1207#
1208# Miscellaneous USB options
1209#
1210CONFIG_USB_DEVICEFS=y
1211# CONFIG_USB_BANDWIDTH is not set
1212# CONFIG_USB_DYNAMIC_MINORS is not set
1213# CONFIG_USB_SUSPEND is not set
1214# CONFIG_USB_OTG is not set
1215
1216#
1217# USB Host Controller Drivers
1218#
1219CONFIG_USB_EHCI_HCD=y
1220# CONFIG_USB_EHCI_SPLIT_ISO is not set
1221# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1222# CONFIG_USB_ISP116X_HCD is not set
1223CONFIG_USB_OHCI_HCD=y
1224CONFIG_USB_UHCI_HCD=y
1225# CONFIG_USB_SL811_HCD is not set
1226
1227#
1228# USB Device Class drivers
1229#
1230# CONFIG_USB_ACM is not set
1231CONFIG_USB_PRINTER=y
1232
1233#
1234# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1235#
1236
1237#
1238# may also be needed; see USB_STORAGE Help for more information
1239#
1240CONFIG_USB_STORAGE=y
1241# CONFIG_USB_STORAGE_DEBUG is not set
1242# CONFIG_USB_STORAGE_DATAFAB is not set
1243# CONFIG_USB_STORAGE_FREECOM is not set
1244# CONFIG_USB_STORAGE_ISD200 is not set
1245# CONFIG_USB_STORAGE_DPCM is not set
1246# CONFIG_USB_STORAGE_USBAT is not set
1247# CONFIG_USB_STORAGE_SDDR09 is not set
1248# CONFIG_USB_STORAGE_SDDR55 is not set
1249# CONFIG_USB_STORAGE_JUMPSHOT is not set
1250# CONFIG_USB_STORAGE_ALAUDA is not set
1251# CONFIG_USB_LIBUSUAL is not set
1252
1253#
1254# USB Input Devices
1255#
1256CONFIG_USB_HID=y
1257CONFIG_USB_HIDINPUT=y
1258# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1259# CONFIG_HID_FF is not set
1260# CONFIG_USB_HIDDEV is not set
1261# CONFIG_USB_AIPTEK is not set
1262CONFIG_USB_WACOM=y
1263# CONFIG_USB_ACECAD is not set
1264# CONFIG_USB_KBTAB is not set
1265# CONFIG_USB_POWERMATE is not set
1266# CONFIG_USB_TOUCHSCREEN is not set
1267# CONFIG_USB_YEALINK is not set
1268# CONFIG_USB_XPAD is not set
1269# CONFIG_USB_ATI_REMOTE is not set
1270# CONFIG_USB_ATI_REMOTE2 is not set
1271# CONFIG_USB_KEYSPAN_REMOTE is not set
1272# CONFIG_USB_APPLETOUCH is not set
1273
1274#
1275# USB Imaging devices
1276#
1277# CONFIG_USB_MDC800 is not set
1278# CONFIG_USB_MICROTEK is not set
1279
1280#
1281# USB Network Adapters
1282#
1283# CONFIG_USB_CATC is not set
1284# CONFIG_USB_KAWETH is not set
1285# CONFIG_USB_PEGASUS is not set
1286# CONFIG_USB_RTL8150 is not set
1287# CONFIG_USB_USBNET is not set
1288CONFIG_USB_MON=y
1289
1290#
1291# USB port drivers
1292#
1293# CONFIG_USB_USS720 is not set
1294
1295#
1296# USB Serial Converter support
1297#
1298# CONFIG_USB_SERIAL is not set
1299
1300#
1301# USB Miscellaneous drivers
1302#
1303# CONFIG_USB_EMI62 is not set
1304# CONFIG_USB_EMI26 is not set
1305# CONFIG_USB_AUERSWALD is not set
1306# CONFIG_USB_RIO500 is not set
1307# CONFIG_USB_LEGOTOWER is not set
1308# CONFIG_USB_LCD is not set
1309# CONFIG_USB_LED is not set
1310CONFIG_USB_CYTHERM=m
1311# CONFIG_USB_PHIDGETKIT is not set
1312CONFIG_USB_PHIDGETSERVO=m
1313# CONFIG_USB_IDMOUSE is not set
1314# CONFIG_USB_SISUSBVGA is not set
1315# CONFIG_USB_LD is not set
1316# CONFIG_USB_TEST is not set
1317
1318#
1319# USB DSL modem support
1320#
1321
1322#
1323# USB Gadget Support
1324#
1325# CONFIG_USB_GADGET is not set
1326
1327#
1328# MMC/SD Card support
1329#
1330# CONFIG_MMC is not set
1331
1332#
1333# LED devices
1334#
1335# CONFIG_NEW_LEDS is not set
1336
1337#
1338# LED drivers
1339#
1340
1341#
1342# LED Triggers
1343#
1344
1345#
1346# InfiniBand support
1347#
1348# CONFIG_INFINIBAND is not set
1349
1350#
1351# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
1352#
1353# CONFIG_EDAC is not set
1354
1355#
1356# Real Time Clock
1357#
1358# CONFIG_RTC_CLASS is not set
1359
1360#
1361# File systems
1362#
1363CONFIG_EXT2_FS=y
1364# CONFIG_EXT2_FS_XATTR is not set
1365# CONFIG_EXT2_FS_XIP is not set
1366CONFIG_EXT3_FS=y
1367CONFIG_EXT3_FS_XATTR=y
1368# CONFIG_EXT3_FS_POSIX_ACL is not set
1369# CONFIG_EXT3_FS_SECURITY is not set
1370CONFIG_JBD=y
1371# CONFIG_JBD_DEBUG is not set
1372CONFIG_FS_MBCACHE=y
1373# CONFIG_REISERFS_FS is not set
1374# CONFIG_JFS_FS is not set
1375# CONFIG_FS_POSIX_ACL is not set
1376# CONFIG_XFS_FS is not set
1377# CONFIG_OCFS2_FS is not set
1378# CONFIG_MINIX_FS is not set
1379# CONFIG_ROMFS_FS is not set
1380CONFIG_INOTIFY=y
1381# CONFIG_QUOTA is not set
1382CONFIG_DNOTIFY=y
1383# CONFIG_AUTOFS_FS is not set
1384CONFIG_AUTOFS4_FS=y
1385# CONFIG_FUSE_FS is not set
1386
1387#
1388# CD-ROM/DVD Filesystems
1389#
1390CONFIG_ISO9660_FS=y
1391CONFIG_JOLIET=y
1392# CONFIG_ZISOFS is not set
1393CONFIG_UDF_FS=y
1394CONFIG_UDF_NLS=y
1395
1396#
1397# DOS/FAT/NT Filesystems
1398#
1399CONFIG_FAT_FS=y
1400CONFIG_MSDOS_FS=y
1401CONFIG_VFAT_FS=y
1402CONFIG_FAT_DEFAULT_CODEPAGE=437
1403CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1404# CONFIG_NTFS_FS is not set
1405
1406#
1407# Pseudo filesystems
1408#
1409CONFIG_PROC_FS=y
1410CONFIG_PROC_KCORE=y
1411CONFIG_SYSFS=y
1412CONFIG_TMPFS=y
1413# CONFIG_HUGETLBFS is not set
1414# CONFIG_HUGETLB_PAGE is not set
1415CONFIG_RAMFS=y
1416# CONFIG_CONFIGFS_FS is not set
1417
1418#
1419# Miscellaneous filesystems
1420#
1421# CONFIG_ADFS_FS is not set
1422# CONFIG_AFFS_FS is not set
1423# CONFIG_HFS_FS is not set
1424# CONFIG_HFSPLUS_FS is not set
1425# CONFIG_BEFS_FS is not set
1426# CONFIG_BFS_FS is not set
1427# CONFIG_EFS_FS is not set
1428# CONFIG_CRAMFS is not set
1429# CONFIG_SQUASHFS is not set
1430# CONFIG_VXFS_FS is not set
1431# CONFIG_HPFS_FS is not set
1432# CONFIG_QNX4FS_FS is not set
1433# CONFIG_SYSV_FS is not set
1434# CONFIG_UFS_FS is not set
1435
1436#
1437# Network File Systems
1438#
1439CONFIG_NFS_FS=y
1440# CONFIG_NFS_V3 is not set
1441# CONFIG_NFS_V4 is not set
1442# CONFIG_NFS_DIRECTIO is not set
1443CONFIG_NFSD=y
1444# CONFIG_NFSD_V3 is not set
1445CONFIG_NFSD_TCP=y
1446CONFIG_ROOT_NFS=y
1447CONFIG_LOCKD=y
1448CONFIG_EXPORTFS=y
1449CONFIG_NFS_COMMON=y
1450CONFIG_SUNRPC=y
1451# CONFIG_RPCSEC_GSS_KRB5 is not set
1452# CONFIG_RPCSEC_GSS_SPKM3 is not set
1453# CONFIG_SMB_FS is not set
1454# CONFIG_CIFS is not set
1455# CONFIG_NCP_FS is not set
1456# CONFIG_CODA_FS is not set
1457# CONFIG_AFS_FS is not set
1458# CONFIG_9P_FS is not set
1459
1460#
1461# Partition Types
1462#
1463# CONFIG_PARTITION_ADVANCED is not set
1464CONFIG_MSDOS_PARTITION=y
1465
1466#
1467# Native Language Support
1468#
1469CONFIG_NLS=y
1470CONFIG_NLS_DEFAULT="iso8859-1"
1471CONFIG_NLS_CODEPAGE_437=y
1472# CONFIG_NLS_CODEPAGE_737 is not set
1473# CONFIG_NLS_CODEPAGE_775 is not set
1474# CONFIG_NLS_CODEPAGE_850 is not set
1475# CONFIG_NLS_CODEPAGE_852 is not set
1476# CONFIG_NLS_CODEPAGE_855 is not set
1477# CONFIG_NLS_CODEPAGE_857 is not set
1478# CONFIG_NLS_CODEPAGE_860 is not set
1479# CONFIG_NLS_CODEPAGE_861 is not set
1480# CONFIG_NLS_CODEPAGE_862 is not set
1481# CONFIG_NLS_CODEPAGE_863 is not set
1482# CONFIG_NLS_CODEPAGE_864 is not set
1483# CONFIG_NLS_CODEPAGE_865 is not set
1484# CONFIG_NLS_CODEPAGE_866 is not set
1485# CONFIG_NLS_CODEPAGE_869 is not set
1486# CONFIG_NLS_CODEPAGE_936 is not set
1487# CONFIG_NLS_CODEPAGE_950 is not set
1488# CONFIG_NLS_CODEPAGE_932 is not set
1489# CONFIG_NLS_CODEPAGE_949 is not set
1490# CONFIG_NLS_CODEPAGE_874 is not set
1491# CONFIG_NLS_ISO8859_8 is not set
1492# CONFIG_NLS_CODEPAGE_1250 is not set
1493# CONFIG_NLS_CODEPAGE_1251 is not set
1494# CONFIG_NLS_ASCII is not set
1495CONFIG_NLS_ISO8859_1=y
1496# CONFIG_NLS_ISO8859_2 is not set
1497# CONFIG_NLS_ISO8859_3 is not set
1498# CONFIG_NLS_ISO8859_4 is not set
1499# CONFIG_NLS_ISO8859_5 is not set
1500# CONFIG_NLS_ISO8859_6 is not set
1501# CONFIG_NLS_ISO8859_7 is not set
1502# CONFIG_NLS_ISO8859_9 is not set
1503# CONFIG_NLS_ISO8859_13 is not set
1504# CONFIG_NLS_ISO8859_14 is not set
1505# CONFIG_NLS_ISO8859_15 is not set
1506# CONFIG_NLS_KOI8_R is not set
1507# CONFIG_NLS_KOI8_U is not set
1508# CONFIG_NLS_UTF8 is not set
1509
1510#
1511# Instrumentation Support
1512#
1513CONFIG_PROFILING=y
1514CONFIG_OPROFILE=y
1515# CONFIG_KPROBES is not set
1516
1517#
1518# Kernel hacking
1519#
1520# CONFIG_PRINTK_TIME is not set
1521# CONFIG_MAGIC_SYSRQ is not set
1522# CONFIG_DEBUG_KERNEL is not set
1523CONFIG_LOG_BUF_SHIFT=15
1524CONFIG_DEBUG_BUGVERBOSE=y
1525# CONFIG_DEBUG_FS is not set
1526# CONFIG_UNWIND_INFO is not set
1527CONFIG_EARLY_PRINTK=y
1528CONFIG_STACK_BACKTRACE_COLS=2
1529CONFIG_X86_FIND_SMP_CONFIG=y
1530CONFIG_X86_MPPARSE=y
1531CONFIG_DOUBLEFAULT=y
1532
1533#
1534# Security options
1535#
1536# CONFIG_KEYS is not set
1537# CONFIG_SECURITY is not set
1538
1539#
1540# Cryptographic options
1541#
1542# CONFIG_CRYPTO is not set
1543
1544#
1545# Hardware crypto devices
1546#
1547
1548#
1549# Library routines
1550#
1551# CONFIG_CRC_CCITT is not set
1552# CONFIG_CRC16 is not set
1553CONFIG_CRC32=y
1554CONFIG_LIBCRC32C=m
1555CONFIG_GENERIC_HARDIRQS=y
1556CONFIG_GENERIC_IRQ_PROBE=y
1557CONFIG_GENERIC_PENDING_IRQ=y
1558CONFIG_X86_SMP=y
1559CONFIG_X86_HT=y
1560CONFIG_X86_BIOS_REBOOT=y
1561CONFIG_X86_TRAMPOLINE=y
1562CONFIG_KTIME_SCALAR=y
diff --git a/meta/packages/linux/linux-rp-2.6.21/defconfig-spitz b/meta/packages/linux/linux-rp-2.6.21/defconfig-spitz
new file mode 100644
index 0000000000..3f0d1c3dd8
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21/defconfig-spitz
@@ -0,0 +1,1735 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20
4# Thu Mar 29 12:56:02 2007
5#
6CONFIG_ARM=y
7# CONFIG_GENERIC_TIME is not set
8CONFIG_MMU=y
9CONFIG_GENERIC_HARDIRQS=y
10CONFIG_TRACE_IRQFLAGS_SUPPORT=y
11CONFIG_HARDIRQS_SW_RESEND=y
12CONFIG_GENERIC_IRQ_PROBE=y
13CONFIG_RWSEM_GENERIC_SPINLOCK=y
14# CONFIG_ARCH_HAS_ILOG2_U32 is not set
15# CONFIG_ARCH_HAS_ILOG2_U64 is not set
16CONFIG_GENERIC_HWEIGHT=y
17CONFIG_GENERIC_CALIBRATE_DELAY=y
18CONFIG_ARCH_MTD_XIP=y
19CONFIG_VECTORS_BASE=0xffff0000
20CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
21
22#
23# Code maturity level options
24#
25CONFIG_EXPERIMENTAL=y
26CONFIG_BROKEN_ON_SMP=y
27CONFIG_LOCK_KERNEL=y
28CONFIG_INIT_ENV_ARG_LIMIT=32
29
30#
31# General setup
32#
33CONFIG_LOCALVERSION=""
34CONFIG_LOCALVERSION_AUTO=y
35CONFIG_SWAP=y
36CONFIG_SYSVIPC=y
37# CONFIG_IPC_NS is not set
38# CONFIG_POSIX_MQUEUE is not set
39CONFIG_BSD_PROCESS_ACCT=y
40# CONFIG_BSD_PROCESS_ACCT_V3 is not set
41# CONFIG_TASKSTATS is not set
42# CONFIG_UTS_NS is not set
43# CONFIG_AUDIT is not set
44# CONFIG_IKCONFIG is not set
45CONFIG_SYSFS_DEPRECATED=y
46# CONFIG_RELAY is not set
47CONFIG_INITRAMFS_SOURCE=""
48CONFIG_CC_OPTIMIZE_FOR_SIZE=y
49CONFIG_SYSCTL=y
50CONFIG_EMBEDDED=y
51CONFIG_UID16=y
52CONFIG_SYSCTL_SYSCALL=y
53CONFIG_KALLSYMS=y
54# CONFIG_KALLSYMS_ALL is not set
55# CONFIG_KALLSYMS_EXTRA_PASS is not set
56CONFIG_HOTPLUG=y
57CONFIG_PRINTK=y
58CONFIG_BUG=y
59CONFIG_ELF_CORE=y
60CONFIG_BASE_FULL=y
61CONFIG_FUTEX=y
62CONFIG_EPOLL=y
63CONFIG_SHMEM=y
64CONFIG_SLAB=y
65CONFIG_VM_EVENT_COUNTERS=y
66CONFIG_RT_MUTEXES=y
67# CONFIG_TINY_SHMEM is not set
68CONFIG_BASE_SMALL=0
69# CONFIG_SLOB is not set
70
71#
72# Loadable module support
73#
74CONFIG_MODULES=y
75CONFIG_MODULE_UNLOAD=y
76CONFIG_MODULE_FORCE_UNLOAD=y
77# CONFIG_MODVERSIONS is not set
78# CONFIG_MODULE_SRCVERSION_ALL is not set
79CONFIG_KMOD=y
80
81#
82# Block layer
83#
84CONFIG_BLOCK=y
85# CONFIG_LBD is not set
86# CONFIG_BLK_DEV_IO_TRACE is not set
87# CONFIG_LSF is not set
88
89#
90# IO Schedulers
91#
92CONFIG_IOSCHED_NOOP=y
93CONFIG_IOSCHED_AS=y
94CONFIG_IOSCHED_DEADLINE=m
95CONFIG_IOSCHED_CFQ=m
96CONFIG_DEFAULT_AS=y
97# CONFIG_DEFAULT_DEADLINE is not set
98# CONFIG_DEFAULT_CFQ is not set
99# CONFIG_DEFAULT_NOOP is not set
100CONFIG_DEFAULT_IOSCHED="anticipatory"
101
102#
103# System Type
104#
105# CONFIG_ARCH_AAEC2000 is not set
106# CONFIG_ARCH_INTEGRATOR is not set
107# CONFIG_ARCH_REALVIEW is not set
108# CONFIG_ARCH_VERSATILE is not set
109# CONFIG_ARCH_AT91 is not set
110# CONFIG_ARCH_CLPS7500 is not set
111# CONFIG_ARCH_CLPS711X is not set
112# CONFIG_ARCH_CO285 is not set
113# CONFIG_ARCH_EBSA110 is not set
114# CONFIG_ARCH_EP93XX is not set
115# CONFIG_ARCH_FOOTBRIDGE is not set
116# CONFIG_ARCH_NETX is not set
117# CONFIG_ARCH_H720X is not set
118# CONFIG_ARCH_IMX is not set
119# CONFIG_ARCH_IOP32X is not set
120# CONFIG_ARCH_IOP33X is not set
121# CONFIG_ARCH_IOP13XX is not set
122# CONFIG_ARCH_IXP4XX is not set
123# CONFIG_ARCH_IXP2000 is not set
124# CONFIG_ARCH_IXP23XX is not set
125# CONFIG_ARCH_L7200 is not set
126# CONFIG_ARCH_PNX4008 is not set
127CONFIG_ARCH_PXA=y
128# CONFIG_ARCH_RPC is not set
129# CONFIG_ARCH_SA1100 is not set
130# CONFIG_ARCH_S3C2410 is not set
131# CONFIG_ARCH_SHARK is not set
132# CONFIG_ARCH_LH7A40X is not set
133# CONFIG_ARCH_OMAP is not set
134
135#
136# Intel PXA2xx Implementations
137#
138# CONFIG_ARCH_LUBBOCK is not set
139# CONFIG_MACH_LOGICPD_PXA270 is not set
140# CONFIG_MACH_MAINSTONE is not set
141# CONFIG_ARCH_PXA_IDP is not set
142CONFIG_PXA_SHARPSL=y
143# CONFIG_MACH_TRIZEPS4 is not set
144# CONFIG_MACH_HX2750 is not set
145# CONFIG_PXA_SHARPSL_25x is not set
146CONFIG_PXA_SHARPSL_27x=y
147CONFIG_MACH_AKITA=y
148CONFIG_MACH_SPITZ=y
149CONFIG_MACH_BORZOI=y
150CONFIG_PXA27x=y
151CONFIG_PXA_SHARP_Cxx00=y
152CONFIG_PXA_SSP=y
153# CONFIG_PXA_KEYS is not set
154
155#
156# Processor Type
157#
158CONFIG_CPU_32=y
159CONFIG_CPU_XSCALE=y
160CONFIG_CPU_32v5=y
161CONFIG_CPU_ABRT_EV5T=y
162CONFIG_CPU_CACHE_VIVT=y
163CONFIG_CPU_TLB_V4WBI=y
164CONFIG_CPU_CP15=y
165CONFIG_CPU_CP15_MMU=y
166
167#
168# Processor Features
169#
170CONFIG_ARM_THUMB=y
171# CONFIG_CPU_DCACHE_DISABLE is not set
172CONFIG_IWMMXT=y
173CONFIG_XSCALE_PMU=y
174CONFIG_SHARP_PARAM=y
175CONFIG_SHARPSL_PM=y
176CONFIG_SHARP_SCOOP=y
177
178#
179# Bus support
180#
181
182#
183# PCCARD (PCMCIA/CardBus) support
184#
185CONFIG_PCCARD=y
186# CONFIG_PCMCIA_DEBUG is not set
187CONFIG_PCMCIA=y
188CONFIG_PCMCIA_LOAD_CIS=y
189CONFIG_PCMCIA_IOCTL=y
190
191#
192# PC-card bridges
193#
194CONFIG_PCMCIA_PXA2XX=y
195
196#
197# Kernel Features
198#
199CONFIG_PREEMPT=y
200CONFIG_NO_IDLE_HZ=y
201CONFIG_HZ=100
202CONFIG_AEABI=y
203CONFIG_OABI_COMPAT=y
204# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
205CONFIG_SELECT_MEMORY_MODEL=y
206CONFIG_FLATMEM_MANUAL=y
207# CONFIG_DISCONTIGMEM_MANUAL is not set
208# CONFIG_SPARSEMEM_MANUAL is not set
209CONFIG_FLATMEM=y
210CONFIG_FLAT_NODE_MEM_MAP=y
211# CONFIG_SPARSEMEM_STATIC is not set
212CONFIG_SPLIT_PTLOCK_CPUS=4096
213# CONFIG_RESOURCES_64BIT is not set
214CONFIG_ALIGNMENT_TRAP=y
215
216#
217# Boot options
218#
219CONFIG_ZBOOT_ROM_TEXT=0x0
220CONFIG_ZBOOT_ROM_BSS=0x0
221CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/hda1 rootfstype=ext3 rootdelay=1 rw fbcon=rotate:1 dyntick=enable quiet"
222# CONFIG_XIP_KERNEL is not set
223CONFIG_KEXEC=y
224
225#
226# CPU Frequency scaling
227#
228# CONFIG_CPU_FREQ is not set
229
230#
231# Floating point emulation
232#
233
234#
235# At least one emulation must be selected
236#
237CONFIG_FPE_NWFPE=y
238# CONFIG_FPE_NWFPE_XP is not set
239# CONFIG_FPE_FASTFPE is not set
240
241#
242# Userspace binary formats
243#
244CONFIG_BINFMT_ELF=y
245CONFIG_BINFMT_AOUT=m
246CONFIG_BINFMT_MISC=m
247
248#
249# Power management options
250#
251CONFIG_PM=y
252# CONFIG_PM_LEGACY is not set
253# CONFIG_PM_DEBUG is not set
254# CONFIG_PM_SYSFS_DEPRECATED is not set
255CONFIG_APM=y
256
257#
258# Networking
259#
260CONFIG_NET=y
261
262#
263# Networking options
264#
265# CONFIG_NETDEBUG is not set
266CONFIG_PACKET=y
267CONFIG_PACKET_MMAP=y
268CONFIG_UNIX=y
269CONFIG_XFRM=y
270# CONFIG_XFRM_USER is not set
271# CONFIG_XFRM_SUB_POLICY is not set
272# CONFIG_NET_KEY is not set
273CONFIG_INET=y
274# CONFIG_IP_MULTICAST is not set
275# CONFIG_IP_ADVANCED_ROUTER is not set
276CONFIG_IP_FIB_HASH=y
277# CONFIG_IP_PNP is not set
278# CONFIG_NET_IPIP is not set
279# CONFIG_NET_IPGRE is not set
280# CONFIG_ARPD is not set
281CONFIG_SYN_COOKIES=y
282# CONFIG_INET_AH is not set
283# CONFIG_INET_ESP is not set
284# CONFIG_INET_IPCOMP is not set
285# CONFIG_INET_XFRM_TUNNEL is not set
286# CONFIG_INET_TUNNEL is not set
287CONFIG_INET_XFRM_MODE_TRANSPORT=y
288CONFIG_INET_XFRM_MODE_TUNNEL=y
289CONFIG_INET_XFRM_MODE_BEET=y
290CONFIG_INET_DIAG=m
291CONFIG_INET_TCP_DIAG=m
292# CONFIG_TCP_CONG_ADVANCED is not set
293CONFIG_TCP_CONG_CUBIC=y
294CONFIG_DEFAULT_TCP_CONG="cubic"
295# CONFIG_TCP_MD5SIG is not set
296
297#
298# IP: Virtual Server Configuration
299#
300# CONFIG_IP_VS is not set
301CONFIG_IPV6=m
302# CONFIG_IPV6_PRIVACY is not set
303# CONFIG_IPV6_ROUTER_PREF is not set
304CONFIG_INET6_AH=m
305CONFIG_INET6_ESP=m
306CONFIG_INET6_IPCOMP=m
307# CONFIG_IPV6_MIP6 is not set
308CONFIG_INET6_XFRM_TUNNEL=m
309CONFIG_INET6_TUNNEL=m
310CONFIG_INET6_XFRM_MODE_TRANSPORT=m
311CONFIG_INET6_XFRM_MODE_TUNNEL=m
312CONFIG_INET6_XFRM_MODE_BEET=m
313# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
314CONFIG_IPV6_SIT=m
315CONFIG_IPV6_TUNNEL=m
316# CONFIG_IPV6_MULTIPLE_TABLES is not set
317# CONFIG_NETWORK_SECMARK is not set
318CONFIG_NETFILTER=y
319# CONFIG_NETFILTER_DEBUG is not set
320
321#
322# Core Netfilter Configuration
323#
324# CONFIG_NETFILTER_NETLINK is not set
325# CONFIG_NF_CONNTRACK_ENABLED is not set
326# CONFIG_NETFILTER_XTABLES is not set
327
328#
329# IP: Netfilter Configuration
330#
331CONFIG_IP_NF_QUEUE=m
332
333#
334# IPv6: Netfilter Configuration (EXPERIMENTAL)
335#
336# CONFIG_IP6_NF_QUEUE is not set
337
338#
339# DCCP Configuration (EXPERIMENTAL)
340#
341# CONFIG_IP_DCCP is not set
342
343#
344# SCTP Configuration (EXPERIMENTAL)
345#
346# CONFIG_IP_SCTP is not set
347
348#
349# TIPC Configuration (EXPERIMENTAL)
350#
351# CONFIG_TIPC is not set
352# CONFIG_ATM is not set
353# CONFIG_BRIDGE is not set
354# CONFIG_VLAN_8021Q is not set
355# CONFIG_DECNET is not set
356# CONFIG_LLC2 is not set
357# CONFIG_IPX is not set
358# CONFIG_ATALK is not set
359# CONFIG_X25 is not set
360# CONFIG_LAPB is not set
361# CONFIG_ECONET is not set
362# CONFIG_WAN_ROUTER is not set
363
364#
365# QoS and/or fair queueing
366#
367# CONFIG_NET_SCHED is not set
368
369#
370# Network testing
371#
372# CONFIG_NET_PKTGEN is not set
373# CONFIG_HAMRADIO is not set
374CONFIG_IRDA=m
375
376#
377# IrDA protocols
378#
379CONFIG_IRLAN=m
380CONFIG_IRNET=m
381CONFIG_IRCOMM=m
382# CONFIG_IRDA_ULTRA is not set
383
384#
385# IrDA options
386#
387# CONFIG_IRDA_CACHE_LAST_LSAP is not set
388# CONFIG_IRDA_FAST_RR is not set
389# CONFIG_IRDA_DEBUG is not set
390
391#
392# Infrared-port device drivers
393#
394
395#
396# SIR device drivers
397#
398# CONFIG_IRTTY_SIR is not set
399
400#
401# Dongle support
402#
403
404#
405# Old SIR device drivers
406#
407# CONFIG_IRPORT_SIR is not set
408
409#
410# Old Serial dongle support
411#
412
413#
414# FIR device drivers
415#
416# CONFIG_USB_IRDA is not set
417# CONFIG_SIGMATEL_FIR is not set
418CONFIG_PXA_FICP=m
419# CONFIG_MCS_FIR is not set
420CONFIG_BT=m
421CONFIG_BT_L2CAP=m
422CONFIG_BT_SCO=m
423CONFIG_BT_RFCOMM=m
424CONFIG_BT_RFCOMM_TTY=y
425CONFIG_BT_BNEP=m
426CONFIG_BT_BNEP_MC_FILTER=y
427CONFIG_BT_BNEP_PROTO_FILTER=y
428CONFIG_BT_HIDP=m
429
430#
431# Bluetooth device drivers
432#
433CONFIG_BT_HCIUSB=m
434# CONFIG_BT_HCIUSB_SCO is not set
435CONFIG_BT_HCIUART=m
436CONFIG_BT_HCIUART_H4=y
437CONFIG_BT_HCIUART_BCSP=y
438CONFIG_BT_HCIBCM203X=m
439CONFIG_BT_HCIBPA10X=m
440CONFIG_BT_HCIBFUSB=m
441CONFIG_BT_HCIDTL1=m
442CONFIG_BT_HCIBT3C=m
443CONFIG_BT_HCIBLUECARD=m
444CONFIG_BT_HCIBTUART=m
445CONFIG_BT_HCIVHCI=m
446CONFIG_IEEE80211=m
447# CONFIG_IEEE80211_DEBUG is not set
448CONFIG_IEEE80211_CRYPT_WEP=m
449CONFIG_IEEE80211_CRYPT_CCMP=m
450CONFIG_IEEE80211_CRYPT_TKIP=m
451# CONFIG_IEEE80211_SOFTMAC is not set
452CONFIG_WIRELESS_EXT=y
453
454#
455# Device Drivers
456#
457
458#
459# Generic Driver Options
460#
461CONFIG_STANDALONE=y
462CONFIG_PREVENT_FIRMWARE_BUILD=y
463CONFIG_FW_LOADER=y
464# CONFIG_DEBUG_DRIVER is not set
465# CONFIG_SYS_HYPERVISOR is not set
466
467#
468# Connector - unified userspace <-> kernelspace linker
469#
470# CONFIG_CONNECTOR is not set
471
472#
473# Memory Technology Devices (MTD)
474#
475CONFIG_MTD=y
476# CONFIG_MTD_DEBUG is not set
477# CONFIG_MTD_CONCAT is not set
478CONFIG_MTD_PARTITIONS=y
479# CONFIG_MTD_REDBOOT_PARTS is not set
480CONFIG_MTD_CMDLINE_PARTS=y
481# CONFIG_MTD_AFS_PARTS is not set
482
483#
484# User Modules And Translation Layers
485#
486CONFIG_MTD_CHAR=y
487CONFIG_MTD_BLKDEVS=y
488CONFIG_MTD_BLOCK=y
489# CONFIG_FTL is not set
490# CONFIG_NFTL is not set
491# CONFIG_INFTL is not set
492# CONFIG_RFD_FTL is not set
493# CONFIG_SSFDC is not set
494
495#
496# RAM/ROM/Flash chip drivers
497#
498# CONFIG_MTD_CFI is not set
499# CONFIG_MTD_JEDECPROBE is not set
500CONFIG_MTD_MAP_BANK_WIDTH_1=y
501CONFIG_MTD_MAP_BANK_WIDTH_2=y
502CONFIG_MTD_MAP_BANK_WIDTH_4=y
503# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
504# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
505# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
506CONFIG_MTD_CFI_I1=y
507CONFIG_MTD_CFI_I2=y
508# CONFIG_MTD_CFI_I4 is not set
509# CONFIG_MTD_CFI_I8 is not set
510# CONFIG_MTD_RAM is not set
511CONFIG_MTD_ROM=y
512# CONFIG_MTD_ABSENT is not set
513# CONFIG_MTD_OBSOLETE_CHIPS is not set
514
515#
516# Mapping drivers for chip access
517#
518CONFIG_MTD_COMPLEX_MAPPINGS=y
519# CONFIG_MTD_PHYSMAP is not set
520CONFIG_MTD_SHARP_SL=y
521# CONFIG_MTD_PLATRAM is not set
522
523#
524# Self-contained MTD device drivers
525#
526# CONFIG_MTD_SLRAM is not set
527# CONFIG_MTD_PHRAM is not set
528# CONFIG_MTD_MTDRAM is not set
529# CONFIG_MTD_BLOCK2MTD is not set
530
531#
532# Disk-On-Chip Device Drivers
533#
534# CONFIG_MTD_DOC2000 is not set
535# CONFIG_MTD_DOC2001 is not set
536# CONFIG_MTD_DOC2001PLUS is not set
537
538#
539# NAND Flash Device Drivers
540#
541CONFIG_MTD_NAND=y
542CONFIG_MTD_NAND_VERIFY_WRITE=y
543# CONFIG_MTD_NAND_ECC_SMC is not set
544# CONFIG_MTD_NAND_H1900 is not set
545CONFIG_MTD_NAND_IDS=y
546# CONFIG_MTD_NAND_DISKONCHIP is not set
547CONFIG_MTD_NAND_SHARPSL=y
548# CONFIG_MTD_NAND_NANDSIM is not set
549
550#
551# OneNAND Flash Device Drivers
552#
553# CONFIG_MTD_ONENAND is not set
554
555#
556# Parallel port support
557#
558# CONFIG_PARPORT is not set
559
560#
561# Plug and Play support
562#
563
564#
565# Block devices
566#
567# CONFIG_BLK_DEV_COW_COMMON is not set
568CONFIG_BLK_DEV_LOOP=y
569# CONFIG_BLK_DEV_CRYPTOLOOP is not set
570# CONFIG_BLK_DEV_NBD is not set
571# CONFIG_BLK_DEV_UB is not set
572# CONFIG_BLK_DEV_RAM is not set
573# CONFIG_BLK_DEV_INITRD is not set
574# CONFIG_CDROM_PKTCDVD is not set
575# CONFIG_ATA_OVER_ETH is not set
576
577#
578# ATA/ATAPI/MFM/RLL support
579#
580CONFIG_IDE=y
581CONFIG_IDE_MAX_HWIFS=4
582CONFIG_BLK_DEV_IDE=y
583
584#
585# Please see Documentation/ide.txt for help/info on IDE drives
586#
587# CONFIG_BLK_DEV_IDE_SATA is not set
588CONFIG_BLK_DEV_IDEDISK=y
589# CONFIG_IDEDISK_MULTI_MODE is not set
590CONFIG_BLK_DEV_IDECS=y
591# CONFIG_BLK_DEV_IDECD is not set
592# CONFIG_BLK_DEV_IDETAPE is not set
593# CONFIG_BLK_DEV_IDEFLOPPY is not set
594# CONFIG_BLK_DEV_IDESCSI is not set
595# CONFIG_IDE_TASK_IOCTL is not set
596
597#
598# IDE chipset support/bugfixes
599#
600CONFIG_IDE_GENERIC=y
601# CONFIG_IDE_ARM is not set
602# CONFIG_BLK_DEV_IDEDMA is not set
603# CONFIG_IDEDMA_AUTO is not set
604# CONFIG_BLK_DEV_HD is not set
605
606#
607# SCSI device support
608#
609# CONFIG_RAID_ATTRS is not set
610CONFIG_SCSI=m
611# CONFIG_SCSI_TGT is not set
612# CONFIG_SCSI_NETLINK is not set
613CONFIG_SCSI_PROC_FS=y
614
615#
616# SCSI support type (disk, tape, CD-ROM)
617#
618CONFIG_BLK_DEV_SD=m
619CONFIG_CHR_DEV_ST=m
620CONFIG_CHR_DEV_OSST=m
621CONFIG_BLK_DEV_SR=m
622# CONFIG_BLK_DEV_SR_VENDOR is not set
623CONFIG_CHR_DEV_SG=m
624# CONFIG_CHR_DEV_SCH is not set
625
626#
627# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
628#
629CONFIG_SCSI_MULTI_LUN=y
630# CONFIG_SCSI_CONSTANTS is not set
631# CONFIG_SCSI_LOGGING is not set
632# CONFIG_SCSI_SCAN_ASYNC is not set
633
634#
635# SCSI Transports
636#
637# CONFIG_SCSI_SPI_ATTRS is not set
638# CONFIG_SCSI_FC_ATTRS is not set
639# CONFIG_SCSI_ISCSI_ATTRS is not set
640# CONFIG_SCSI_SAS_ATTRS is not set
641# CONFIG_SCSI_SAS_LIBSAS is not set
642
643#
644# SCSI low-level drivers
645#
646# CONFIG_ISCSI_TCP is not set
647# CONFIG_SCSI_DEBUG is not set
648
649#
650# PCMCIA SCSI adapter support
651#
652# CONFIG_PCMCIA_AHA152X is not set
653# CONFIG_PCMCIA_FDOMAIN is not set
654# CONFIG_PCMCIA_NINJA_SCSI is not set
655# CONFIG_PCMCIA_QLOGIC is not set
656# CONFIG_PCMCIA_SYM53C500 is not set
657
658#
659# Serial ATA (prod) and Parallel ATA (experimental) drivers
660#
661# CONFIG_ATA is not set
662
663#
664# Multi-device support (RAID and LVM)
665#
666CONFIG_MD=y
667# CONFIG_BLK_DEV_MD is not set
668CONFIG_BLK_DEV_DM=m
669# CONFIG_DM_DEBUG is not set
670CONFIG_DM_CRYPT=m
671CONFIG_DM_SNAPSHOT=m
672CONFIG_DM_MIRROR=m
673CONFIG_DM_ZERO=m
674CONFIG_DM_MULTIPATH=m
675CONFIG_DM_MULTIPATH_EMC=m
676
677#
678# Fusion MPT device support
679#
680# CONFIG_FUSION is not set
681
682#
683# IEEE 1394 (FireWire) support
684#
685
686#
687# I2O device support
688#
689
690#
691# Network device support
692#
693CONFIG_NETDEVICES=y
694# CONFIG_DUMMY is not set
695# CONFIG_BONDING is not set
696# CONFIG_EQUALIZER is not set
697CONFIG_TUN=m
698
699#
700# PHY device support
701#
702# CONFIG_PHYLIB is not set
703
704#
705# Ethernet (10 or 100Mbit)
706#
707CONFIG_NET_ETHERNET=y
708CONFIG_MII=m
709# CONFIG_SMC91X is not set
710# CONFIG_DM9000 is not set
711# CONFIG_SMC911X is not set
712
713#
714# Ethernet (1000 Mbit)
715#
716
717#
718# Ethernet (10000 Mbit)
719#
720
721#
722# Token Ring devices
723#
724
725#
726# Wireless LAN (non-hamradio)
727#
728CONFIG_NET_RADIO=y
729# CONFIG_NET_WIRELESS_RTNETLINK is not set
730
731#
732# Obsolete Wireless cards support (pre-802.11)
733#
734# CONFIG_STRIP is not set
735# CONFIG_PCMCIA_WAVELAN is not set
736# CONFIG_PCMCIA_NETWAVE is not set
737
738#
739# Wireless 802.11 Frequency Hopping cards support
740#
741# CONFIG_PCMCIA_RAYCS is not set
742
743#
744# Wireless 802.11b ISA/PCI cards support
745#
746CONFIG_HERMES=m
747# CONFIG_ATMEL is not set
748
749#
750# Wireless 802.11b Pcmcia/Cardbus cards support
751#
752CONFIG_PCMCIA_HERMES=m
753CONFIG_PCMCIA_SPECTRUM=m
754# CONFIG_AIRO_CS is not set
755# CONFIG_PCMCIA_WL3501 is not set
756# CONFIG_USB_ZD1201 is not set
757CONFIG_HOSTAP=m
758CONFIG_HOSTAP_FIRMWARE=y
759# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
760CONFIG_HOSTAP_CS=m
761CONFIG_NET_WIRELESS=y
762
763#
764# PCMCIA network device support
765#
766CONFIG_NET_PCMCIA=y
767# CONFIG_PCMCIA_3C589 is not set
768# CONFIG_PCMCIA_3C574 is not set
769# CONFIG_PCMCIA_FMVJ18X is not set
770CONFIG_PCMCIA_PCNET=m
771# CONFIG_PCMCIA_NMCLAN is not set
772# CONFIG_PCMCIA_SMC91C92 is not set
773# CONFIG_PCMCIA_XIRC2PS is not set
774# CONFIG_PCMCIA_AXNET is not set
775
776#
777# Wan interfaces
778#
779# CONFIG_WAN is not set
780CONFIG_PPP=m
781# CONFIG_PPP_MULTILINK is not set
782# CONFIG_PPP_FILTER is not set
783CONFIG_PPP_ASYNC=m
784# CONFIG_PPP_SYNC_TTY is not set
785CONFIG_PPP_DEFLATE=m
786CONFIG_PPP_BSDCOMP=m
787# CONFIG_PPP_MPPE is not set
788# CONFIG_PPPOE is not set
789# CONFIG_SLIP is not set
790CONFIG_SLHC=m
791# CONFIG_SHAPER is not set
792# CONFIG_NETCONSOLE is not set
793# CONFIG_NETPOLL is not set
794# CONFIG_NET_POLL_CONTROLLER is not set
795
796#
797# ISDN subsystem
798#
799# CONFIG_ISDN is not set
800
801#
802# Input device support
803#
804CONFIG_INPUT=y
805# CONFIG_INPUT_FF_MEMLESS is not set
806
807#
808# Userland interfaces
809#
810CONFIG_INPUT_MOUSEDEV=m
811# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
812CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
813CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
814# CONFIG_INPUT_JOYDEV is not set
815# CONFIG_INPUT_TSDEV is not set
816CONFIG_INPUT_EVDEV=y
817# CONFIG_INPUT_EVBUG is not set
818CONFIG_INPUT_POWER=y
819
820#
821# Input Device Drivers
822#
823CONFIG_INPUT_KEYBOARD=y
824# CONFIG_KEYBOARD_ATKBD is not set
825# CONFIG_KEYBOARD_SUNKBD is not set
826# CONFIG_KEYBOARD_LKKBD is not set
827# CONFIG_KEYBOARD_XTKBD is not set
828# CONFIG_KEYBOARD_NEWTON is not set
829# CONFIG_KEYBOARD_STOWAWAY is not set
830# CONFIG_KEYBOARD_CORGI is not set
831CONFIG_KEYBOARD_SPITZ=y
832# CONFIG_INPUT_MOUSE is not set
833# CONFIG_INPUT_JOYSTICK is not set
834CONFIG_INPUT_TOUCHSCREEN=y
835CONFIG_TOUCHSCREEN_CORGI=y
836# CONFIG_TOUCHSCREEN_GUNZE is not set
837# CONFIG_TOUCHSCREEN_ELO is not set
838# CONFIG_TOUCHSCREEN_MTOUCH is not set
839# CONFIG_TOUCHSCREEN_MK712 is not set
840# CONFIG_TOUCHSCREEN_PENMOUNT is not set
841# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
842# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
843# CONFIG_TOUCHSCREEN_UCB1400 is not set
844CONFIG_INPUT_MISC=y
845CONFIG_INPUT_UINPUT=m
846
847#
848# Hardware I/O ports
849#
850# CONFIG_SERIO is not set
851# CONFIG_GAMEPORT is not set
852
853#
854# Character devices
855#
856CONFIG_VT=y
857CONFIG_VT_CONSOLE=y
858CONFIG_HW_CONSOLE=y
859# CONFIG_VT_HW_CONSOLE_BINDING is not set
860# CONFIG_SERIAL_NONSTANDARD is not set
861
862#
863# Serial drivers
864#
865CONFIG_SERIAL_8250=m
866CONFIG_SERIAL_8250_CS=m
867CONFIG_SERIAL_8250_NR_UARTS=4
868CONFIG_SERIAL_8250_RUNTIME_UARTS=4
869# CONFIG_SERIAL_8250_EXTENDED is not set
870
871#
872# Non-8250 serial port support
873#
874CONFIG_SERIAL_PXA=y
875CONFIG_SERIAL_PXA_CONSOLE=y
876CONFIG_SERIAL_CORE=y
877CONFIG_SERIAL_CORE_CONSOLE=y
878CONFIG_UNIX98_PTYS=y
879# CONFIG_LEGACY_PTYS is not set
880
881#
882# IPMI
883#
884# CONFIG_IPMI_HANDLER is not set
885
886#
887# Watchdog Cards
888#
889# CONFIG_WATCHDOG is not set
890CONFIG_HW_RANDOM=m
891# CONFIG_NVRAM is not set
892# CONFIG_DTLK is not set
893# CONFIG_R3964 is not set
894
895#
896# PCMCIA character devices
897#
898# CONFIG_SYNCLINK_CS is not set
899# CONFIG_CARDMAN_4000 is not set
900# CONFIG_CARDMAN_4040 is not set
901# CONFIG_RAW_DRIVER is not set
902
903#
904# TPM devices
905#
906# CONFIG_TCG_TPM is not set
907
908#
909# I2C support
910#
911CONFIG_I2C=y
912# CONFIG_I2C_CHARDEV is not set
913
914#
915# I2C Algorithms
916#
917# CONFIG_I2C_ALGOBIT is not set
918# CONFIG_I2C_ALGOPCF is not set
919# CONFIG_I2C_ALGOPCA is not set
920
921#
922# I2C Hardware Bus support
923#
924CONFIG_I2C_PXA=y
925# CONFIG_I2C_PXA_SLAVE is not set
926# CONFIG_I2C_OCORES is not set
927# CONFIG_I2C_PARPORT_LIGHT is not set
928# CONFIG_I2C_STUB is not set
929# CONFIG_I2C_PCA_ISA is not set
930
931#
932# Miscellaneous I2C Chip support
933#
934# CONFIG_SENSORS_DS1337 is not set
935# CONFIG_SENSORS_DS1374 is not set
936# CONFIG_SENSORS_EEPROM is not set
937# CONFIG_SENSORS_PCF8574 is not set
938# CONFIG_SENSORS_PCA9539 is not set
939# CONFIG_SENSORS_PCF8591 is not set
940# CONFIG_SENSORS_MAX6875 is not set
941# CONFIG_I2C_DEBUG_CORE is not set
942# CONFIG_I2C_DEBUG_ALGO is not set
943# CONFIG_I2C_DEBUG_BUS is not set
944# CONFIG_I2C_DEBUG_CHIP is not set
945
946#
947# SPI support
948#
949# CONFIG_SPI is not set
950# CONFIG_SPI_MASTER is not set
951
952#
953# Dallas's 1-wire bus
954#
955# CONFIG_W1 is not set
956
957#
958# Hardware Monitoring support
959#
960# CONFIG_HWMON is not set
961# CONFIG_HWMON_VID is not set
962
963#
964# Misc devices
965#
966# CONFIG_TIFM_CORE is not set
967
968#
969# Multi-Function Devices
970#
971
972#
973# LED devices
974#
975CONFIG_NEW_LEDS=y
976CONFIG_LEDS_CLASS=y
977
978#
979# LED drivers
980#
981CONFIG_LEDS_SPITZ=y
982# CONFIG_LEDS_TOSA is not set
983
984#
985# LED Triggers
986#
987CONFIG_LEDS_TRIGGERS=y
988CONFIG_LEDS_TRIGGER_TIMER=y
989CONFIG_LEDS_TRIGGER_IDE_DISK=y
990# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
991
992#
993# Multimedia devices
994#
995# CONFIG_VIDEO_DEV is not set
996
997#
998# Digital Video Broadcasting Devices
999#
1000# CONFIG_DVB is not set
1001CONFIG_USB_DABUSB=m
1002
1003#
1004# Graphics support
1005#
1006CONFIG_FIRMWARE_EDID=y
1007CONFIG_FB=y
1008CONFIG_FB_CFB_FILLRECT=y
1009CONFIG_FB_CFB_COPYAREA=y
1010CONFIG_FB_CFB_IMAGEBLIT=y
1011# CONFIG_FB_MACMODES is not set
1012# CONFIG_FB_BACKLIGHT is not set
1013# CONFIG_FB_MODE_HELPERS is not set
1014# CONFIG_FB_TILEBLITTING is not set
1015# CONFIG_FB_S1D13XXX is not set
1016CONFIG_FB_PXA=y
1017CONFIG_FB_PXA_LCD_QVGA=y
1018# CONFIG_FB_PXA_LCD_VGA is not set
1019CONFIG_FB_PXA_OVERLAY=y
1020# CONFIG_FB_PXA_PARAMETERS is not set
1021# CONFIG_FB_MBX is not set
1022# CONFIG_FB_W100 is not set
1023# CONFIG_FB_VIRTUAL is not set
1024
1025#
1026# Console display driver support
1027#
1028# CONFIG_VGA_CONSOLE is not set
1029CONFIG_DUMMY_CONSOLE=y
1030CONFIG_FRAMEBUFFER_CONSOLE=y
1031CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
1032CONFIG_FONTS=y
1033# CONFIG_FONT_8x8 is not set
1034CONFIG_FONT_8x16=y
1035# CONFIG_FONT_6x11 is not set
1036# CONFIG_FONT_7x14 is not set
1037# CONFIG_FONT_PEARL_8x8 is not set
1038# CONFIG_FONT_ACORN_8x8 is not set
1039# CONFIG_FONT_MINI_4x6 is not set
1040# CONFIG_FONT_SUN8x16 is not set
1041# CONFIG_FONT_SUN12x22 is not set
1042# CONFIG_FONT_10x18 is not set
1043
1044#
1045# Logo configuration
1046#
1047CONFIG_LOGO=y
1048CONFIG_LOGO_LINUX_MONO=y
1049CONFIG_LOGO_LINUX_VGA16=y
1050# CONFIG_LOGO_LINUX_CLUT224 is not set
1051CONFIG_LOGO_OHAND_CLUT224=y
1052# CONFIG_LOGO_OZ240_CLUT224 is not set
1053# CONFIG_LOGO_OZ480_CLUT224 is not set
1054# CONFIG_LOGO_OZ640_CLUT224 is not set
1055CONFIG_BACKLIGHT_LCD_SUPPORT=y
1056CONFIG_BACKLIGHT_CLASS_DEVICE=y
1057CONFIG_BACKLIGHT_DEVICE=y
1058CONFIG_LCD_CLASS_DEVICE=y
1059CONFIG_LCD_DEVICE=y
1060CONFIG_BACKLIGHT_CORGI=y
1061
1062#
1063# Sound
1064#
1065CONFIG_SOUND=m
1066
1067#
1068# Advanced Linux Sound Architecture
1069#
1070CONFIG_SND=m
1071CONFIG_SND_TIMER=m
1072CONFIG_SND_PCM=m
1073CONFIG_SND_HWDEP=m
1074CONFIG_SND_RAWMIDI=m
1075CONFIG_SND_SEQUENCER=m
1076# CONFIG_SND_SEQ_DUMMY is not set
1077CONFIG_SND_OSSEMUL=y
1078CONFIG_SND_MIXER_OSS=m
1079CONFIG_SND_PCM_OSS=m
1080CONFIG_SND_PCM_OSS_PLUGINS=y
1081# CONFIG_SND_SEQUENCER_OSS is not set
1082# CONFIG_SND_DYNAMIC_MINORS is not set
1083CONFIG_SND_SUPPORT_OLD_API=y
1084CONFIG_SND_VERBOSE_PROCFS=y
1085CONFIG_SND_VERBOSE_PRINTK=y
1086CONFIG_SND_DEBUG=y
1087# CONFIG_SND_DEBUG_DETECT is not set
1088# CONFIG_SND_PCM_XRUN_DEBUG is not set
1089
1090#
1091# Generic devices
1092#
1093CONFIG_SND_AC97_CODEC=m
1094# CONFIG_SND_DUMMY is not set
1095# CONFIG_SND_VIRMIDI is not set
1096# CONFIG_SND_MTPAV is not set
1097# CONFIG_SND_SERIAL_U16550 is not set
1098# CONFIG_SND_MPU401 is not set
1099
1100#
1101# ALSA ARM devices
1102#
1103CONFIG_SND_PXA2XX_PCM=m
1104CONFIG_SND_PXA2XX_AC97=m
1105
1106#
1107# USB devices
1108#
1109CONFIG_SND_USB_AUDIO=m
1110
1111#
1112# PCMCIA devices
1113#
1114# CONFIG_SND_VXPOCKET is not set
1115# CONFIG_SND_PDAUDIOCF is not set
1116
1117#
1118# SoC audio support
1119#
1120CONFIG_SND_SOC=m
1121
1122#
1123# Soc Platforms
1124#
1125
1126#
1127# SoC Audio for the Intel PXA2xx
1128#
1129CONFIG_SND_PXA2xx_SOC=m
1130CONFIG_SND_PXA2xx_SOC_I2S=m
1131CONFIG_SND_PXA2xx_SOC_SPITZ=m
1132# CONFIG_SND_PXA2xx_SOC_MAGICIAN is not set
1133
1134#
1135# SoC Audio for the Atmel AT91
1136#
1137
1138#
1139# SoC Audio for the Freescale i.MX
1140#
1141
1142#
1143# SoC Audio for the Samsung S3C24XX
1144#
1145
1146#
1147# Soc Codecs
1148#
1149# CONFIG_SND_SOC_AC97_CODEC is not set
1150# CONFIG_SND_SOC_WM8711 is not set
1151# CONFIG_SND_SOC_WM8510 is not set
1152# CONFIG_SND_SOC_WM8731 is not set
1153CONFIG_SND_SOC_WM8750=m
1154# CONFIG_SND_SOC_WM8753 is not set
1155# CONFIG_SND_SOC_WM8772 is not set
1156# CONFIG_SND_SOC_WM8971 is not set
1157# CONFIG_SND_SOC_WM8956 is not set
1158# CONFIG_SND_SOC_WM8960 is not set
1159# CONFIG_SND_SOC_WM8976 is not set
1160# CONFIG_SND_SOC_WM8974 is not set
1161# CONFIG_SND_SOC_WM8980 is not set
1162# CONFIG_SND_SOC_WM9713 is not set
1163# CONFIG_SND_SOC_WM9712 is not set
1164# CONFIG_SND_SOC_UDA1380 is not set
1165# CONFIG_SND_SOC_AK4535 is not set
1166
1167#
1168# Open Sound System
1169#
1170# CONFIG_SOUND_PRIME is not set
1171CONFIG_AC97_BUS=m
1172
1173#
1174# HID Devices
1175#
1176CONFIG_HID=y
1177
1178#
1179# USB support
1180#
1181CONFIG_USB_ARCH_HAS_HCD=y
1182CONFIG_USB_ARCH_HAS_OHCI=y
1183# CONFIG_USB_ARCH_HAS_EHCI is not set
1184CONFIG_USB=m
1185# CONFIG_USB_DEBUG is not set
1186
1187#
1188# Miscellaneous USB options
1189#
1190CONFIG_USB_DEVICEFS=y
1191# CONFIG_USB_BANDWIDTH is not set
1192# CONFIG_USB_DYNAMIC_MINORS is not set
1193# CONFIG_USB_SUSPEND is not set
1194# CONFIG_USB_OTG is not set
1195
1196#
1197# USB Host Controller Drivers
1198#
1199# CONFIG_USB_ISP116X_HCD is not set
1200CONFIG_USB_OHCI_HCD=m
1201# CONFIG_USB_OHCI_BIG_ENDIAN is not set
1202CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1203CONFIG_USB_SL811_HCD=m
1204CONFIG_USB_SL811_CS=m
1205
1206#
1207# USB Device Class drivers
1208#
1209CONFIG_USB_ACM=m
1210CONFIG_USB_PRINTER=m
1211
1212#
1213# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1214#
1215
1216#
1217# may also be needed; see USB_STORAGE Help for more information
1218#
1219CONFIG_USB_STORAGE=m
1220# CONFIG_USB_STORAGE_DEBUG is not set
1221# CONFIG_USB_STORAGE_DATAFAB is not set
1222# CONFIG_USB_STORAGE_FREECOM is not set
1223# CONFIG_USB_STORAGE_ISD200 is not set
1224# CONFIG_USB_STORAGE_DPCM is not set
1225# CONFIG_USB_STORAGE_USBAT is not set
1226# CONFIG_USB_STORAGE_SDDR09 is not set
1227# CONFIG_USB_STORAGE_SDDR55 is not set
1228# CONFIG_USB_STORAGE_JUMPSHOT is not set
1229# CONFIG_USB_STORAGE_ALAUDA is not set
1230# CONFIG_USB_STORAGE_KARMA is not set
1231# CONFIG_USB_LIBUSUAL is not set
1232
1233#
1234# USB Input Devices
1235#
1236CONFIG_USB_HID=m
1237# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1238# CONFIG_HID_FF is not set
1239# CONFIG_USB_HIDDEV is not set
1240
1241#
1242# USB HID Boot Protocol drivers
1243#
1244CONFIG_USB_KBD=m
1245CONFIG_USB_MOUSE=m
1246CONFIG_USB_AIPTEK=m
1247CONFIG_USB_WACOM=m
1248# CONFIG_USB_ACECAD is not set
1249CONFIG_USB_KBTAB=m
1250CONFIG_USB_POWERMATE=m
1251# CONFIG_USB_TOUCHSCREEN is not set
1252# CONFIG_USB_YEALINK is not set
1253CONFIG_USB_XPAD=m
1254CONFIG_USB_ATI_REMOTE=m
1255# CONFIG_USB_ATI_REMOTE2 is not set
1256# CONFIG_USB_KEYSPAN_REMOTE is not set
1257# CONFIG_USB_APPLETOUCH is not set
1258
1259#
1260# USB Imaging devices
1261#
1262CONFIG_USB_MDC800=m
1263CONFIG_USB_MICROTEK=m
1264
1265#
1266# USB Network Adapters
1267#
1268CONFIG_USB_CATC=m
1269CONFIG_USB_KAWETH=m
1270CONFIG_USB_PEGASUS=m
1271CONFIG_USB_RTL8150=m
1272CONFIG_USB_USBNET_MII=m
1273CONFIG_USB_USBNET=m
1274CONFIG_USB_NET_AX8817X=m
1275CONFIG_USB_NET_CDCETHER=m
1276# CONFIG_USB_NET_GL620A is not set
1277CONFIG_USB_NET_NET1080=m
1278# CONFIG_USB_NET_PLUSB is not set
1279# CONFIG_USB_NET_MCS7830 is not set
1280# CONFIG_USB_NET_RNDIS_HOST is not set
1281# CONFIG_USB_NET_CDC_SUBSET is not set
1282CONFIG_USB_NET_ZAURUS=m
1283CONFIG_USB_MON=y
1284
1285#
1286# USB port drivers
1287#
1288
1289#
1290# USB Serial Converter support
1291#
1292CONFIG_USB_SERIAL=m
1293CONFIG_USB_SERIAL_GENERIC=y
1294# CONFIG_USB_SERIAL_AIRCABLE is not set
1295# CONFIG_USB_SERIAL_AIRPRIME is not set
1296# CONFIG_USB_SERIAL_ARK3116 is not set
1297CONFIG_USB_SERIAL_BELKIN=m
1298# CONFIG_USB_SERIAL_WHITEHEAT is not set
1299CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
1300# CONFIG_USB_SERIAL_CP2101 is not set
1301CONFIG_USB_SERIAL_CYPRESS_M8=m
1302CONFIG_USB_SERIAL_EMPEG=m
1303CONFIG_USB_SERIAL_FTDI_SIO=m
1304# CONFIG_USB_SERIAL_FUNSOFT is not set
1305CONFIG_USB_SERIAL_VISOR=m
1306CONFIG_USB_SERIAL_IPAQ=m
1307CONFIG_USB_SERIAL_IR=m
1308CONFIG_USB_SERIAL_EDGEPORT=m
1309CONFIG_USB_SERIAL_EDGEPORT_TI=m
1310CONFIG_USB_SERIAL_GARMIN=m
1311CONFIG_USB_SERIAL_IPW=m
1312CONFIG_USB_SERIAL_KEYSPAN_PDA=m
1313CONFIG_USB_SERIAL_KEYSPAN=m
1314# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
1315# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
1316# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
1317# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
1318# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
1319# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
1320# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
1321# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
1322# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
1323# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
1324# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
1325# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
1326CONFIG_USB_SERIAL_KLSI=m
1327CONFIG_USB_SERIAL_KOBIL_SCT=m
1328CONFIG_USB_SERIAL_MCT_U232=m
1329# CONFIG_USB_SERIAL_MOS7720 is not set
1330# CONFIG_USB_SERIAL_MOS7840 is not set
1331# CONFIG_USB_SERIAL_NAVMAN is not set
1332CONFIG_USB_SERIAL_PL2303=m
1333# CONFIG_USB_SERIAL_HP4X is not set
1334CONFIG_USB_SERIAL_SAFE=m
1335# CONFIG_USB_SERIAL_SAFE_PADDED is not set
1336# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
1337CONFIG_USB_SERIAL_TI=m
1338CONFIG_USB_SERIAL_CYBERJACK=m
1339CONFIG_USB_SERIAL_XIRCOM=m
1340# CONFIG_USB_SERIAL_OPTION is not set
1341CONFIG_USB_SERIAL_OMNINET=m
1342# CONFIG_USB_SERIAL_DEBUG is not set
1343CONFIG_USB_EZUSB=y
1344
1345#
1346# USB Miscellaneous drivers
1347#
1348CONFIG_USB_EMI62=m
1349CONFIG_USB_EMI26=m
1350# CONFIG_USB_ADUTUX is not set
1351CONFIG_USB_AUERSWALD=m
1352CONFIG_USB_RIO500=m
1353CONFIG_USB_LEGOTOWER=m
1354CONFIG_USB_LCD=m
1355CONFIG_USB_LED=m
1356# CONFIG_USB_CYPRESS_CY7C63 is not set
1357CONFIG_USB_CYTHERM=m
1358# CONFIG_USB_PHIDGET is not set
1359CONFIG_USB_IDMOUSE=m
1360# CONFIG_USB_FTDI_ELAN is not set
1361# CONFIG_USB_APPLEDISPLAY is not set
1362# CONFIG_USB_LD is not set
1363# CONFIG_USB_TRANCEVIBRATOR is not set
1364# CONFIG_USB_TEST is not set
1365
1366#
1367# USB DSL modem support
1368#
1369
1370#
1371# USB Gadget Support
1372#
1373CONFIG_USB_GADGET=m
1374# CONFIG_USB_GADGET_DEBUG_FILES is not set
1375CONFIG_USB_GADGET_SELECTED=y
1376# CONFIG_USB_GADGET_NET2280 is not set
1377# CONFIG_USB_GADGET_PXA2XX is not set
1378CONFIG_USB_GADGET_PXA27X=y
1379CONFIG_USB_PXA27X=m
1380# CONFIG_USB_GADGET_GOKU is not set
1381# CONFIG_USB_GADGET_LH7A40X is not set
1382# CONFIG_USB_GADGET_OMAP is not set
1383# CONFIG_USB_GADGET_AT91 is not set
1384# CONFIG_USB_GADGET_DUMMY_HCD is not set
1385# CONFIG_USB_GADGET_DUALSPEED is not set
1386CONFIG_USB_ZERO=m
1387CONFIG_USB_ETH=m
1388CONFIG_USB_ETH_RNDIS=y
1389CONFIG_USB_GADGETFS=m
1390CONFIG_USB_FILE_STORAGE=m
1391# CONFIG_USB_FILE_STORAGE_TEST is not set
1392CONFIG_USB_G_SERIAL=m
1393# CONFIG_USB_MIDI_GADGET is not set
1394
1395#
1396# MMC/SD Card support
1397#
1398CONFIG_MMC=y
1399# CONFIG_MMC_DEBUG is not set
1400CONFIG_MMC_BLOCK=y
1401CONFIG_MMC_PXA=y
1402# CONFIG_MMC_TIFM_SD is not set
1403
1404#
1405# Real Time Clock
1406#
1407CONFIG_RTC_LIB=y
1408CONFIG_RTC_CLASS=y
1409CONFIG_RTC_HCTOSYS=y
1410CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1411# CONFIG_RTC_DEBUG is not set
1412
1413#
1414# RTC interfaces
1415#
1416CONFIG_RTC_INTF_SYSFS=y
1417CONFIG_RTC_INTF_PROC=y
1418CONFIG_RTC_INTF_DEV=y
1419# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1420
1421#
1422# RTC drivers
1423#
1424# CONFIG_RTC_DRV_X1205 is not set
1425# CONFIG_RTC_DRV_DS1307 is not set
1426# CONFIG_RTC_DRV_DS1553 is not set
1427# CONFIG_RTC_DRV_ISL1208 is not set
1428# CONFIG_RTC_DRV_DS1672 is not set
1429# CONFIG_RTC_DRV_DS1742 is not set
1430# CONFIG_RTC_DRV_PCF8563 is not set
1431# CONFIG_RTC_DRV_PCF8583 is not set
1432# CONFIG_RTC_DRV_RS5C372 is not set
1433# CONFIG_RTC_DRV_M48T86 is not set
1434CONFIG_RTC_DRV_SA1100=y
1435# CONFIG_RTC_DRV_TEST is not set
1436# CONFIG_RTC_DRV_V3020 is not set
1437
1438#
1439# File systems
1440#
1441CONFIG_EXT2_FS=y
1442# CONFIG_EXT2_FS_XATTR is not set
1443# CONFIG_EXT2_FS_XIP is not set
1444CONFIG_EXT3_FS=y
1445# CONFIG_EXT3_FS_XATTR is not set
1446# CONFIG_EXT4DEV_FS is not set
1447CONFIG_JBD=y
1448# CONFIG_JBD_DEBUG is not set
1449# CONFIG_REISERFS_FS is not set
1450# CONFIG_JFS_FS is not set
1451CONFIG_FS_POSIX_ACL=y
1452# CONFIG_XFS_FS is not set
1453# CONFIG_GFS2_FS is not set
1454# CONFIG_OCFS2_FS is not set
1455# CONFIG_MINIX_FS is not set
1456# CONFIG_ROMFS_FS is not set
1457CONFIG_INOTIFY=y
1458CONFIG_INOTIFY_USER=y
1459# CONFIG_QUOTA is not set
1460CONFIG_DNOTIFY=y
1461# CONFIG_AUTOFS_FS is not set
1462# CONFIG_AUTOFS4_FS is not set
1463# CONFIG_FUSE_FS is not set
1464
1465#
1466# CD-ROM/DVD Filesystems
1467#
1468# CONFIG_ISO9660_FS is not set
1469# CONFIG_UDF_FS is not set
1470
1471#
1472# DOS/FAT/NT Filesystems
1473#
1474CONFIG_FAT_FS=y
1475# CONFIG_MSDOS_FS is not set
1476CONFIG_VFAT_FS=y
1477CONFIG_FAT_DEFAULT_CODEPAGE=437
1478CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1479# CONFIG_NTFS_FS is not set
1480
1481#
1482# Pseudo filesystems
1483#
1484CONFIG_PROC_FS=y
1485CONFIG_PROC_SYSCTL=y
1486CONFIG_SYSFS=y
1487CONFIG_TMPFS=y
1488# CONFIG_TMPFS_POSIX_ACL is not set
1489# CONFIG_HUGETLB_PAGE is not set
1490CONFIG_RAMFS=y
1491# CONFIG_CONFIGFS_FS is not set
1492
1493#
1494# Miscellaneous filesystems
1495#
1496# CONFIG_ADFS_FS is not set
1497# CONFIG_AFFS_FS is not set
1498# CONFIG_HFS_FS is not set
1499# CONFIG_HFSPLUS_FS is not set
1500# CONFIG_BEFS_FS is not set
1501# CONFIG_BFS_FS is not set
1502# CONFIG_EFS_FS is not set
1503CONFIG_JFFS2_FS=m
1504CONFIG_JFFS2_FS_DEBUG=0
1505CONFIG_JFFS2_FS_WRITEBUFFER=y
1506CONFIG_JFFS2_SUMMARY=y
1507# CONFIG_JFFS2_FS_XATTR is not set
1508CONFIG_JFFS2_COMPRESSION_OPTIONS=y
1509CONFIG_JFFS2_ZLIB=y
1510CONFIG_JFFS2_LZO=y
1511CONFIG_JFFS2_RTIME=y
1512CONFIG_JFFS2_RUBIN=y
1513# CONFIG_JFFS2_CMODE_NONE is not set
1514CONFIG_JFFS2_CMODE_PRIORITY=y
1515# CONFIG_JFFS2_CMODE_SIZE is not set
1516# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
1517CONFIG_CRAMFS=m
1518CONFIG_SQUASHFS=m
1519# CONFIG_SQUASHFS_EMBEDDED is not set
1520CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
1521# CONFIG_SQUASHFS_VMALLOC is not set
1522# CONFIG_VXFS_FS is not set
1523# CONFIG_HPFS_FS is not set
1524# CONFIG_QNX4FS_FS is not set
1525# CONFIG_SYSV_FS is not set
1526# CONFIG_UFS_FS is not set
1527
1528#
1529# Network File Systems
1530#
1531CONFIG_NFS_FS=m
1532CONFIG_NFS_V3=y
1533# CONFIG_NFS_V3_ACL is not set
1534CONFIG_NFS_V4=y
1535# CONFIG_NFS_DIRECTIO is not set
1536CONFIG_NFSD=m
1537CONFIG_NFSD_V3=y
1538# CONFIG_NFSD_V3_ACL is not set
1539CONFIG_NFSD_V4=y
1540CONFIG_NFSD_TCP=y
1541CONFIG_LOCKD=m
1542CONFIG_LOCKD_V4=y
1543CONFIG_EXPORTFS=m
1544CONFIG_NFS_COMMON=y
1545CONFIG_SUNRPC=m
1546CONFIG_SUNRPC_GSS=m
1547CONFIG_RPCSEC_GSS_KRB5=m
1548# CONFIG_RPCSEC_GSS_SPKM3 is not set
1549CONFIG_SMB_FS=m
1550CONFIG_SMB_NLS_DEFAULT=y
1551CONFIG_SMB_NLS_REMOTE="cp437"
1552CONFIG_CIFS=m
1553# CONFIG_CIFS_STATS is not set
1554# CONFIG_CIFS_WEAK_PW_HASH is not set
1555# CONFIG_CIFS_XATTR is not set
1556# CONFIG_CIFS_DEBUG2 is not set
1557# CONFIG_CIFS_EXPERIMENTAL is not set
1558# CONFIG_NCP_FS is not set
1559# CONFIG_CODA_FS is not set
1560# CONFIG_AFS_FS is not set
1561# CONFIG_9P_FS is not set
1562
1563#
1564# Partition Types
1565#
1566CONFIG_PARTITION_ADVANCED=y
1567# CONFIG_ACORN_PARTITION is not set
1568# CONFIG_OSF_PARTITION is not set
1569# CONFIG_AMIGA_PARTITION is not set
1570# CONFIG_ATARI_PARTITION is not set
1571# CONFIG_MAC_PARTITION is not set
1572CONFIG_MSDOS_PARTITION=y
1573# CONFIG_BSD_DISKLABEL is not set
1574# CONFIG_MINIX_SUBPARTITION is not set
1575# CONFIG_SOLARIS_X86_PARTITION is not set
1576# CONFIG_UNIXWARE_DISKLABEL is not set
1577# CONFIG_LDM_PARTITION is not set
1578# CONFIG_SGI_PARTITION is not set
1579# CONFIG_ULTRIX_PARTITION is not set
1580# CONFIG_SUN_PARTITION is not set
1581# CONFIG_KARMA_PARTITION is not set
1582# CONFIG_EFI_PARTITION is not set
1583
1584#
1585# Native Language Support
1586#
1587CONFIG_NLS=y
1588CONFIG_NLS_DEFAULT="cp437"
1589CONFIG_NLS_CODEPAGE_437=y
1590CONFIG_NLS_CODEPAGE_737=m
1591CONFIG_NLS_CODEPAGE_775=m
1592CONFIG_NLS_CODEPAGE_850=m
1593CONFIG_NLS_CODEPAGE_852=m
1594CONFIG_NLS_CODEPAGE_855=m
1595CONFIG_NLS_CODEPAGE_857=m
1596CONFIG_NLS_CODEPAGE_860=m
1597CONFIG_NLS_CODEPAGE_861=m
1598CONFIG_NLS_CODEPAGE_862=m
1599CONFIG_NLS_CODEPAGE_863=m
1600CONFIG_NLS_CODEPAGE_864=m
1601CONFIG_NLS_CODEPAGE_865=m
1602CONFIG_NLS_CODEPAGE_866=m
1603CONFIG_NLS_CODEPAGE_869=m
1604CONFIG_NLS_CODEPAGE_936=m
1605CONFIG_NLS_CODEPAGE_950=m
1606CONFIG_NLS_CODEPAGE_932=m
1607CONFIG_NLS_CODEPAGE_949=m
1608CONFIG_NLS_CODEPAGE_874=m
1609CONFIG_NLS_ISO8859_8=m
1610CONFIG_NLS_CODEPAGE_1250=m
1611CONFIG_NLS_CODEPAGE_1251=m
1612CONFIG_NLS_ASCII=m
1613CONFIG_NLS_ISO8859_1=y
1614CONFIG_NLS_ISO8859_2=m
1615CONFIG_NLS_ISO8859_3=m
1616CONFIG_NLS_ISO8859_4=m
1617CONFIG_NLS_ISO8859_5=m
1618CONFIG_NLS_ISO8859_6=m
1619CONFIG_NLS_ISO8859_7=m
1620CONFIG_NLS_ISO8859_9=m
1621CONFIG_NLS_ISO8859_13=m
1622CONFIG_NLS_ISO8859_14=m
1623CONFIG_NLS_ISO8859_15=m
1624CONFIG_NLS_KOI8_R=m
1625CONFIG_NLS_KOI8_U=m
1626CONFIG_NLS_UTF8=y
1627
1628#
1629# Distributed Lock Manager
1630#
1631# CONFIG_DLM is not set
1632
1633#
1634# Profiling support
1635#
1636CONFIG_PROFILING=y
1637CONFIG_OPROFILE=m
1638
1639#
1640# Kernel hacking
1641#
1642# CONFIG_PRINTK_TIME is not set
1643CONFIG_ENABLE_MUST_CHECK=y
1644CONFIG_MAGIC_SYSRQ=y
1645# CONFIG_UNUSED_SYMBOLS is not set
1646# CONFIG_DEBUG_FS is not set
1647# CONFIG_HEADERS_CHECK is not set
1648CONFIG_DEBUG_KERNEL=y
1649CONFIG_LOG_BUF_SHIFT=14
1650# CONFIG_DETECT_SOFTLOCKUP is not set
1651# CONFIG_SCHEDSTATS is not set
1652# CONFIG_DEBUG_SLAB is not set
1653# CONFIG_DEBUG_PREEMPT is not set
1654# CONFIG_DEBUG_RT_MUTEXES is not set
1655# CONFIG_RT_MUTEX_TESTER is not set
1656# CONFIG_DEBUG_SPINLOCK is not set
1657# CONFIG_DEBUG_MUTEXES is not set
1658# CONFIG_DEBUG_RWSEMS is not set
1659# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1660# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1661# CONFIG_DEBUG_KOBJECT is not set
1662CONFIG_DEBUG_BUGVERBOSE=y
1663# CONFIG_DEBUG_INFO is not set
1664# CONFIG_DEBUG_VM is not set
1665# CONFIG_DEBUG_LIST is not set
1666CONFIG_FRAME_POINTER=y
1667# CONFIG_FORCED_INLINING is not set
1668# CONFIG_RCU_TORTURE_TEST is not set
1669# CONFIG_DEBUG_USER is not set
1670CONFIG_DEBUG_ERRORS=y
1671# CONFIG_DEBUG_LL is not set
1672
1673#
1674# Security options
1675#
1676# CONFIG_KEYS is not set
1677# CONFIG_SECURITY is not set
1678
1679#
1680# Cryptographic options
1681#
1682CONFIG_CRYPTO=y
1683CONFIG_CRYPTO_ALGAPI=y
1684CONFIG_CRYPTO_BLKCIPHER=m
1685CONFIG_CRYPTO_HASH=y
1686CONFIG_CRYPTO_MANAGER=y
1687CONFIG_CRYPTO_HMAC=y
1688# CONFIG_CRYPTO_XCBC is not set
1689CONFIG_CRYPTO_NULL=m
1690CONFIG_CRYPTO_MD4=m
1691CONFIG_CRYPTO_MD5=m
1692CONFIG_CRYPTO_SHA1=m
1693CONFIG_CRYPTO_SHA256=m
1694CONFIG_CRYPTO_SHA512=m
1695CONFIG_CRYPTO_WP512=m
1696# CONFIG_CRYPTO_TGR192 is not set
1697# CONFIG_CRYPTO_GF128MUL is not set
1698CONFIG_CRYPTO_ECB=m
1699CONFIG_CRYPTO_CBC=m
1700# CONFIG_CRYPTO_LRW is not set
1701CONFIG_CRYPTO_DES=m
1702CONFIG_CRYPTO_BLOWFISH=m
1703CONFIG_CRYPTO_TWOFISH=m
1704CONFIG_CRYPTO_TWOFISH_COMMON=m
1705CONFIG_CRYPTO_SERPENT=m
1706CONFIG_CRYPTO_AES=m
1707CONFIG_CRYPTO_CAST5=m
1708CONFIG_CRYPTO_CAST6=m
1709CONFIG_CRYPTO_TEA=m
1710CONFIG_CRYPTO_ARC4=m
1711CONFIG_CRYPTO_KHAZAD=m
1712CONFIG_CRYPTO_ANUBIS=m
1713CONFIG_CRYPTO_DEFLATE=m
1714# CONFIG_CRYPTO_LZO is not set
1715CONFIG_CRYPTO_MICHAEL_MIC=m
1716CONFIG_CRYPTO_CRC32C=m
1717CONFIG_CRYPTO_TEST=m
1718
1719#
1720# Hardware crypto devices
1721#
1722
1723#
1724# Library routines
1725#
1726CONFIG_BITREVERSE=y
1727CONFIG_CRC_CCITT=y
1728# CONFIG_CRC16 is not set
1729CONFIG_CRC32=y
1730CONFIG_LIBCRC32C=m
1731CONFIG_LZO=m
1732CONFIG_ZLIB_INFLATE=m
1733CONFIG_ZLIB_DEFLATE=m
1734CONFIG_PLIST=y
1735CONFIG_IOMAP_COPY=y
diff --git a/meta/packages/linux/linux-rp-2.6.21/defconfig-tosa b/meta/packages/linux/linux-rp-2.6.21/defconfig-tosa
new file mode 100644
index 0000000000..4144e5cf38
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21/defconfig-tosa
@@ -0,0 +1,1608 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc5-git5
4# Tue Mar 14 09:05:26 2006
5#
6CONFIG_ARM=y
7CONFIG_MMU=y
8CONFIG_RWSEM_GENERIC_SPINLOCK=y
9CONFIG_GENERIC_CALIBRATE_DELAY=y
10CONFIG_ARCH_MTD_XIP=y
11
12#
13# Code maturity level options
14#
15CONFIG_EXPERIMENTAL=y
16CONFIG_BROKEN_ON_SMP=y
17CONFIG_LOCK_KERNEL=y
18CONFIG_INIT_ENV_ARG_LIMIT=32
19
20#
21# General setup
22#
23CONFIG_LOCALVERSION=""
24CONFIG_LOCALVERSION_AUTO=y
25CONFIG_SWAP=y
26CONFIG_SYSVIPC=y
27# CONFIG_POSIX_MQUEUE is not set
28CONFIG_BSD_PROCESS_ACCT=y
29# CONFIG_BSD_PROCESS_ACCT_V3 is not set
30CONFIG_SYSCTL=y
31# CONFIG_AUDIT is not set
32# CONFIG_IKCONFIG is not set
33CONFIG_INITRAMFS_SOURCE=""
34CONFIG_UID16=y
35CONFIG_CC_OPTIMIZE_FOR_SIZE=y
36CONFIG_EMBEDDED=y
37CONFIG_KALLSYMS=y
38# CONFIG_KALLSYMS_ALL is not set
39# CONFIG_KALLSYMS_EXTRA_PASS is not set
40CONFIG_HOTPLUG=y
41CONFIG_PRINTK=y
42CONFIG_BUG=y
43CONFIG_ELF_CORE=y
44CONFIG_BASE_FULL=y
45CONFIG_FUTEX=y
46CONFIG_EPOLL=y
47CONFIG_SHMEM=y
48CONFIG_CC_ALIGN_FUNCTIONS=0
49CONFIG_CC_ALIGN_LABELS=0
50CONFIG_CC_ALIGN_LOOPS=0
51CONFIG_CC_ALIGN_JUMPS=0
52CONFIG_SLAB=y
53# CONFIG_TINY_SHMEM is not set
54CONFIG_BASE_SMALL=0
55# CONFIG_SLOB is not set
56
57#
58# Loadable module support
59#
60CONFIG_MODULES=y
61CONFIG_MODULE_UNLOAD=y
62CONFIG_MODULE_FORCE_UNLOAD=y
63CONFIG_OBSOLETE_MODPARM=y
64# CONFIG_MODVERSIONS is not set
65# CONFIG_MODULE_SRCVERSION_ALL is not set
66CONFIG_KMOD=y
67
68#
69# Block layer
70#
71
72#
73# IO Schedulers
74#
75CONFIG_IOSCHED_NOOP=y
76CONFIG_IOSCHED_AS=y
77CONFIG_IOSCHED_DEADLINE=m
78CONFIG_IOSCHED_CFQ=m
79CONFIG_DEFAULT_AS=y
80# CONFIG_DEFAULT_DEADLINE is not set
81# CONFIG_DEFAULT_CFQ is not set
82# CONFIG_DEFAULT_NOOP is not set
83CONFIG_DEFAULT_IOSCHED="anticipatory"
84
85#
86# System Type
87#
88# CONFIG_ARCH_CLPS7500 is not set
89# CONFIG_ARCH_CLPS711X is not set
90# CONFIG_ARCH_CO285 is not set
91# CONFIG_ARCH_EBSA110 is not set
92# CONFIG_ARCH_FOOTBRIDGE is not set
93# CONFIG_ARCH_INTEGRATOR is not set
94# CONFIG_ARCH_IOP3XX is not set
95# CONFIG_ARCH_IXP4XX is not set
96# CONFIG_ARCH_IXP2000 is not set
97# CONFIG_ARCH_L7200 is not set
98CONFIG_ARCH_PXA=y
99# CONFIG_ARCH_RPC is not set
100# CONFIG_ARCH_SA1100 is not set
101# CONFIG_ARCH_S3C2410 is not set
102# CONFIG_ARCH_SHARK is not set
103# CONFIG_ARCH_LH7A40X is not set
104# CONFIG_ARCH_OMAP is not set
105# CONFIG_ARCH_VERSATILE is not set
106# CONFIG_ARCH_REALVIEW is not set
107# CONFIG_ARCH_IMX is not set
108# CONFIG_ARCH_H720X is not set
109# CONFIG_ARCH_AAEC2000 is not set
110# CONFIG_ARCH_AT91RM9200 is not set
111
112#
113# Intel PXA2xx Implementations
114#
115# CONFIG_ARCH_LUBBOCK is not set
116# CONFIG_MACH_MAINSTONE is not set
117# CONFIG_ARCH_PXA_IDP is not set
118CONFIG_PXA_SHARPSL=y
119# CONFIG_MACH_HX2750 is not set
120CONFIG_PXA_SHARPSL_25x=y
121# CONFIG_PXA_SHARPSL_27x is not set
122# CONFIG_MACH_POODLE is not set
123# CONFIG_MACH_CORGI is not set
124# CONFIG_MACH_SHEPHERD is not set
125# CONFIG_MACH_HUSKY is not set
126CONFIG_MACH_TOSA=y
127CONFIG_PXA25x=y
128# CONFIG_PXA_KEYS is not set
129
130#
131# Processor Type
132#
133CONFIG_CPU_32=y
134CONFIG_CPU_XSCALE=y
135CONFIG_CPU_32v5=y
136CONFIG_CPU_ABRT_EV5T=y
137CONFIG_CPU_CACHE_VIVT=y
138CONFIG_CPU_TLB_V4WBI=y
139
140#
141# Processor Features
142#
143CONFIG_ARM_THUMB=y
144CONFIG_XSCALE_PMU=y
145CONFIG_KEXEC=y
146CONFIG_SHARP_PARAM=y
147CONFIG_SHARPSL_PM=y
148CONFIG_SHARP_SCOOP=y
149CONFIG_TOSHIBA_TC6393XB=y
150
151#
152# Bus support
153#
154
155#
156# PCCARD (PCMCIA/CardBus) support
157#
158CONFIG_PCCARD=y
159# CONFIG_PCMCIA_DEBUG is not set
160CONFIG_PCMCIA=y
161CONFIG_PCMCIA_LOAD_CIS=y
162CONFIG_PCMCIA_IOCTL=y
163
164#
165# PC-card bridges
166#
167CONFIG_PCMCIA_PXA2XX=y
168
169#
170# Kernel Features
171#
172CONFIG_PREEMPT=y
173CONFIG_NO_IDLE_HZ=y
174# CONFIG_AEABI is not set
175# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
176CONFIG_SELECT_MEMORY_MODEL=y
177CONFIG_FLATMEM_MANUAL=y
178# CONFIG_DISCONTIGMEM_MANUAL is not set
179# CONFIG_SPARSEMEM_MANUAL is not set
180CONFIG_FLATMEM=y
181CONFIG_FLAT_NODE_MEM_MAP=y
182# CONFIG_SPARSEMEM_STATIC is not set
183CONFIG_SPLIT_PTLOCK_CPUS=4096
184CONFIG_ALIGNMENT_TRAP=y
185
186#
187# Boot options
188#
189CONFIG_ZBOOT_ROM_TEXT=0x0
190CONFIG_ZBOOT_ROM_BSS=0x0
191# CONFIG_XIP_KERNEL is not set
192
193#
194# CPU Frequency scaling
195#
196CONFIG_CPU_FREQ=y
197CONFIG_CPU_FREQ_TABLE=y
198# CONFIG_CPU_FREQ_DEBUG is not set
199CONFIG_CPU_FREQ_STAT=y
200# CONFIG_CPU_FREQ_STAT_DETAILS is not set
201CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
202# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
203CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
204CONFIG_CPU_FREQ_GOV_POWERSAVE=m
205CONFIG_CPU_FREQ_GOV_USERSPACE=m
206CONFIG_CPU_FREQ_GOV_ONDEMAND=m
207CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
208CONFIG_CPU_FREQ_PXA25x=y
209
210#
211# Floating point emulation
212#
213
214#
215# At least one emulation must be selected
216#
217CONFIG_FPE_NWFPE=y
218# CONFIG_FPE_NWFPE_XP is not set
219# CONFIG_FPE_FASTFPE is not set
220
221#
222# Userspace binary formats
223#
224CONFIG_BINFMT_ELF=y
225CONFIG_BINFMT_AOUT=m
226CONFIG_BINFMT_MISC=m
227# CONFIG_ARTHUR is not set
228
229#
230# Power management options
231#
232CONFIG_PM=y
233# CONFIG_PM_LEGACY is not set
234# CONFIG_PM_DEBUG is not set
235CONFIG_APM=y
236
237#
238# Networking
239#
240CONFIG_NET=y
241
242#
243# Networking options
244#
245# CONFIG_NETDEBUG is not set
246CONFIG_PACKET=y
247CONFIG_PACKET_MMAP=y
248CONFIG_UNIX=y
249CONFIG_XFRM=y
250CONFIG_XFRM_USER=m
251# CONFIG_NET_KEY is not set
252CONFIG_INET=y
253# CONFIG_IP_MULTICAST is not set
254# CONFIG_IP_ADVANCED_ROUTER is not set
255CONFIG_IP_FIB_HASH=y
256# CONFIG_IP_PNP is not set
257# CONFIG_NET_IPIP is not set
258# CONFIG_NET_IPGRE is not set
259# CONFIG_ARPD is not set
260CONFIG_SYN_COOKIES=y
261# CONFIG_INET_AH is not set
262# CONFIG_INET_ESP is not set
263# CONFIG_INET_IPCOMP is not set
264# CONFIG_INET_TUNNEL is not set
265CONFIG_INET_DIAG=m
266CONFIG_INET_TCP_DIAG=m
267# CONFIG_TCP_CONG_ADVANCED is not set
268CONFIG_TCP_CONG_BIC=y
269
270#
271# IP: Virtual Server Configuration
272#
273# CONFIG_IP_VS is not set
274CONFIG_IPV6=m
275# CONFIG_IPV6_PRIVACY is not set
276CONFIG_INET6_AH=m
277CONFIG_INET6_ESP=m
278CONFIG_INET6_IPCOMP=m
279CONFIG_INET6_TUNNEL=m
280CONFIG_IPV6_TUNNEL=m
281CONFIG_NETFILTER=y
282# CONFIG_NETFILTER_DEBUG is not set
283
284#
285# Core Netfilter Configuration
286#
287# CONFIG_NETFILTER_NETLINK is not set
288# CONFIG_NETFILTER_XTABLES is not set
289
290#
291# IP: Netfilter Configuration
292#
293CONFIG_IP_NF_CONNTRACK=m
294# CONFIG_IP_NF_CT_ACCT is not set
295# CONFIG_IP_NF_CONNTRACK_MARK is not set
296# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
297CONFIG_IP_NF_CT_PROTO_SCTP=m
298CONFIG_IP_NF_FTP=m
299CONFIG_IP_NF_IRC=m
300# CONFIG_IP_NF_NETBIOS_NS is not set
301CONFIG_IP_NF_TFTP=m
302CONFIG_IP_NF_AMANDA=m
303# CONFIG_IP_NF_PPTP is not set
304CONFIG_IP_NF_QUEUE=m
305
306#
307# IPv6: Netfilter Configuration (EXPERIMENTAL)
308#
309# CONFIG_IP6_NF_QUEUE is not set
310
311#
312# DCCP Configuration (EXPERIMENTAL)
313#
314# CONFIG_IP_DCCP is not set
315
316#
317# SCTP Configuration (EXPERIMENTAL)
318#
319# CONFIG_IP_SCTP is not set
320
321#
322# TIPC Configuration (EXPERIMENTAL)
323#
324# CONFIG_TIPC is not set
325# CONFIG_ATM is not set
326# CONFIG_BRIDGE is not set
327# CONFIG_VLAN_8021Q is not set
328# CONFIG_DECNET is not set
329# CONFIG_LLC2 is not set
330# CONFIG_IPX is not set
331# CONFIG_ATALK is not set
332# CONFIG_X25 is not set
333# CONFIG_LAPB is not set
334# CONFIG_NET_DIVERT is not set
335# CONFIG_ECONET is not set
336# CONFIG_WAN_ROUTER is not set
337
338#
339# QoS and/or fair queueing
340#
341# CONFIG_NET_SCHED is not set
342
343#
344# Network testing
345#
346# CONFIG_NET_PKTGEN is not set
347# CONFIG_HAMRADIO is not set
348CONFIG_IRDA=m
349
350#
351# IrDA protocols
352#
353CONFIG_IRLAN=m
354CONFIG_IRNET=m
355CONFIG_IRCOMM=m
356# CONFIG_IRDA_ULTRA is not set
357
358#
359# IrDA options
360#
361# CONFIG_IRDA_CACHE_LAST_LSAP is not set
362# CONFIG_IRDA_FAST_RR is not set
363# CONFIG_IRDA_DEBUG is not set
364
365#
366# Infrared-port device drivers
367#
368
369#
370# SIR device drivers
371#
372# CONFIG_IRTTY_SIR is not set
373
374#
375# Dongle support
376#
377
378#
379# Old SIR device drivers
380#
381# CONFIG_IRPORT_SIR is not set
382
383#
384# Old Serial dongle support
385#
386
387#
388# FIR device drivers
389#
390# CONFIG_USB_IRDA is not set
391# CONFIG_SIGMATEL_FIR is not set
392CONFIG_PXA_FICP=m
393CONFIG_BT=m
394CONFIG_BT_L2CAP=m
395CONFIG_BT_SCO=m
396CONFIG_BT_RFCOMM=m
397CONFIG_BT_RFCOMM_TTY=y
398CONFIG_BT_BNEP=m
399CONFIG_BT_BNEP_MC_FILTER=y
400CONFIG_BT_BNEP_PROTO_FILTER=y
401CONFIG_BT_HIDP=m
402
403#
404# Bluetooth device drivers
405#
406CONFIG_BT_HCIUSB=m
407# CONFIG_BT_HCIUSB_SCO is not set
408CONFIG_BT_HCIUART=m
409CONFIG_BT_HCIUART_H4=y
410CONFIG_BT_HCIUART_BCSP=y
411CONFIG_BT_HCIBCM203X=m
412CONFIG_BT_HCIBPA10X=m
413CONFIG_BT_HCIBFUSB=m
414CONFIG_BT_HCIDTL1=m
415CONFIG_BT_HCIBT3C=m
416CONFIG_BT_HCIBLUECARD=m
417CONFIG_BT_HCIBTUART=m
418CONFIG_BT_HCIVHCI=m
419CONFIG_IEEE80211=m
420# CONFIG_IEEE80211_DEBUG is not set
421CONFIG_IEEE80211_CRYPT_WEP=m
422CONFIG_IEEE80211_CRYPT_CCMP=m
423CONFIG_IEEE80211_CRYPT_TKIP=m
424
425#
426# Device Drivers
427#
428
429#
430# Generic Driver Options
431#
432CONFIG_STANDALONE=y
433CONFIG_PREVENT_FIRMWARE_BUILD=y
434CONFIG_FW_LOADER=y
435# CONFIG_DEBUG_DRIVER is not set
436
437#
438# Connector - unified userspace <-> kernelspace linker
439#
440# CONFIG_CONNECTOR is not set
441
442#
443# Memory Technology Devices (MTD)
444#
445CONFIG_MTD=y
446# CONFIG_MTD_DEBUG is not set
447# CONFIG_MTD_CONCAT is not set
448CONFIG_MTD_PARTITIONS=y
449# CONFIG_MTD_REDBOOT_PARTS is not set
450# CONFIG_MTD_CMDLINE_PARTS is not set
451# CONFIG_MTD_AFS_PARTS is not set
452
453#
454# User Modules And Translation Layers
455#
456CONFIG_MTD_CHAR=y
457CONFIG_MTD_BLOCK=y
458# CONFIG_FTL is not set
459# CONFIG_NFTL is not set
460# CONFIG_INFTL is not set
461# CONFIG_RFD_FTL is not set
462
463#
464# RAM/ROM/Flash chip drivers
465#
466# CONFIG_MTD_CFI is not set
467# CONFIG_MTD_JEDECPROBE is not set
468CONFIG_MTD_MAP_BANK_WIDTH_1=y
469CONFIG_MTD_MAP_BANK_WIDTH_2=y
470CONFIG_MTD_MAP_BANK_WIDTH_4=y
471# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
472# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
473# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
474CONFIG_MTD_CFI_I1=y
475CONFIG_MTD_CFI_I2=y
476# CONFIG_MTD_CFI_I4 is not set
477# CONFIG_MTD_CFI_I8 is not set
478# CONFIG_MTD_RAM is not set
479CONFIG_MTD_ROM=y
480# CONFIG_MTD_ABSENT is not set
481# CONFIG_MTD_OBSOLETE_CHIPS is not set
482
483#
484# Mapping drivers for chip access
485#
486# CONFIG_MTD_COMPLEX_MAPPINGS is not set
487CONFIG_MTD_SHARP_SL=y
488# CONFIG_MTD_PLATRAM is not set
489
490#
491# Self-contained MTD device drivers
492#
493# CONFIG_MTD_SLRAM is not set
494# CONFIG_MTD_PHRAM is not set
495# CONFIG_MTD_MTDRAM is not set
496# CONFIG_MTD_BLKMTD is not set
497# CONFIG_MTD_BLOCK2MTD is not set
498
499#
500# Disk-On-Chip Device Drivers
501#
502# CONFIG_MTD_DOC2000 is not set
503# CONFIG_MTD_DOC2001 is not set
504# CONFIG_MTD_DOC2001PLUS is not set
505
506#
507# NAND Flash Device Drivers
508#
509CONFIG_MTD_NAND=y
510CONFIG_MTD_NAND_VERIFY_WRITE=y
511# CONFIG_MTD_NAND_H1900 is not set
512CONFIG_MTD_NAND_TMIO=y
513CONFIG_MTD_NAND_IDS=y
514# CONFIG_MTD_NAND_DISKONCHIP is not set
515# CONFIG_MTD_NAND_SHARPSL is not set
516# CONFIG_MTD_NAND_NANDSIM is not set
517
518#
519# OneNAND Flash Device Drivers
520#
521# CONFIG_MTD_ONENAND is not set
522
523#
524# Parallel port support
525#
526# CONFIG_PARPORT is not set
527
528#
529# Plug and Play support
530#
531
532#
533# Block devices
534#
535# CONFIG_BLK_DEV_COW_COMMON is not set
536CONFIG_BLK_DEV_LOOP=m
537# CONFIG_BLK_DEV_CRYPTOLOOP is not set
538# CONFIG_BLK_DEV_NBD is not set
539# CONFIG_BLK_DEV_UB is not set
540# CONFIG_BLK_DEV_RAM is not set
541CONFIG_BLK_DEV_RAM_COUNT=16
542# CONFIG_CDROM_PKTCDVD is not set
543# CONFIG_ATA_OVER_ETH is not set
544
545#
546# ATA/ATAPI/MFM/RLL support
547#
548CONFIG_IDE=y
549CONFIG_BLK_DEV_IDE=y
550
551#
552# Please see Documentation/ide.txt for help/info on IDE drives
553#
554# CONFIG_BLK_DEV_IDE_SATA is not set
555CONFIG_BLK_DEV_IDEDISK=y
556# CONFIG_IDEDISK_MULTI_MODE is not set
557CONFIG_BLK_DEV_IDECS=y
558# CONFIG_BLK_DEV_IDECD is not set
559# CONFIG_BLK_DEV_IDETAPE is not set
560# CONFIG_BLK_DEV_IDEFLOPPY is not set
561# CONFIG_BLK_DEV_IDESCSI is not set
562# CONFIG_IDE_TASK_IOCTL is not set
563
564#
565# IDE chipset support/bugfixes
566#
567# CONFIG_IDE_GENERIC is not set
568# CONFIG_IDE_ARM is not set
569# CONFIG_BLK_DEV_IDEDMA is not set
570# CONFIG_IDEDMA_AUTO is not set
571# CONFIG_BLK_DEV_HD is not set
572
573#
574# SCSI device support
575#
576# CONFIG_RAID_ATTRS is not set
577CONFIG_SCSI=m
578CONFIG_SCSI_PROC_FS=y
579
580#
581# SCSI support type (disk, tape, CD-ROM)
582#
583CONFIG_BLK_DEV_SD=m
584CONFIG_CHR_DEV_ST=m
585CONFIG_CHR_DEV_OSST=m
586CONFIG_BLK_DEV_SR=m
587# CONFIG_BLK_DEV_SR_VENDOR is not set
588CONFIG_CHR_DEV_SG=m
589# CONFIG_CHR_DEV_SCH is not set
590
591#
592# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
593#
594CONFIG_SCSI_MULTI_LUN=y
595# CONFIG_SCSI_CONSTANTS is not set
596# CONFIG_SCSI_LOGGING is not set
597
598#
599# SCSI Transport Attributes
600#
601# CONFIG_SCSI_SPI_ATTRS is not set
602# CONFIG_SCSI_FC_ATTRS is not set
603# CONFIG_SCSI_ISCSI_ATTRS is not set
604# CONFIG_SCSI_SAS_ATTRS is not set
605
606#
607# SCSI low-level drivers
608#
609# CONFIG_ISCSI_TCP is not set
610# CONFIG_SCSI_SATA is not set
611# CONFIG_SCSI_DEBUG is not set
612
613#
614# PCMCIA SCSI adapter support
615#
616# CONFIG_PCMCIA_AHA152X is not set
617# CONFIG_PCMCIA_FDOMAIN is not set
618# CONFIG_PCMCIA_NINJA_SCSI is not set
619# CONFIG_PCMCIA_QLOGIC is not set
620# CONFIG_PCMCIA_SYM53C500 is not set
621
622#
623# Multi-device support (RAID and LVM)
624#
625CONFIG_MD=y
626CONFIG_BLK_DEV_DM=m
627CONFIG_DM_CRYPT=m
628CONFIG_DM_SNAPSHOT=m
629CONFIG_DM_MIRROR=m
630CONFIG_DM_ZERO=m
631CONFIG_DM_MULTIPATH=m
632CONFIG_DM_MULTIPATH_EMC=m
633
634#
635# Fusion MPT device support
636#
637# CONFIG_FUSION is not set
638
639#
640# IEEE 1394 (FireWire) support
641#
642
643#
644# I2O device support
645#
646
647#
648# Network device support
649#
650CONFIG_NETDEVICES=y
651# CONFIG_DUMMY is not set
652# CONFIG_BONDING is not set
653# CONFIG_EQUALIZER is not set
654CONFIG_TUN=m
655
656#
657# PHY device support
658#
659# CONFIG_PHYLIB is not set
660
661#
662# Ethernet (10 or 100Mbit)
663#
664CONFIG_NET_ETHERNET=y
665CONFIG_MII=m
666# CONFIG_SMC91X is not set
667# CONFIG_DM9000 is not set
668
669#
670# Ethernet (1000 Mbit)
671#
672
673#
674# Ethernet (10000 Mbit)
675#
676
677#
678# Token Ring devices
679#
680
681#
682# Wireless LAN (non-hamradio)
683#
684CONFIG_NET_RADIO=y
685
686#
687# Obsolete Wireless cards support (pre-802.11)
688#
689# CONFIG_STRIP is not set
690# CONFIG_PCMCIA_WAVELAN is not set
691# CONFIG_PCMCIA_NETWAVE is not set
692
693#
694# Wireless 802.11 Frequency Hopping cards support
695#
696# CONFIG_PCMCIA_RAYCS is not set
697
698#
699# Wireless 802.11b ISA/PCI cards support
700#
701CONFIG_HERMES=m
702# CONFIG_ATMEL is not set
703
704#
705# Wireless 802.11b Pcmcia/Cardbus cards support
706#
707CONFIG_PCMCIA_HERMES=m
708CONFIG_PCMCIA_SPECTRUM=m
709# CONFIG_AIRO_CS is not set
710# CONFIG_PCMCIA_WL3501 is not set
711CONFIG_HOSTAP=m
712CONFIG_HOSTAP_FIRMWARE=y
713# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
714CONFIG_HOSTAP_CS=m
715CONFIG_NET_WIRELESS=y
716
717#
718# PCMCIA network device support
719#
720CONFIG_NET_PCMCIA=y
721# CONFIG_PCMCIA_3C589 is not set
722# CONFIG_PCMCIA_3C574 is not set
723# CONFIG_PCMCIA_FMVJ18X is not set
724CONFIG_PCMCIA_PCNET=m
725# CONFIG_PCMCIA_NMCLAN is not set
726# CONFIG_PCMCIA_SMC91C92 is not set
727# CONFIG_PCMCIA_XIRC2PS is not set
728# CONFIG_PCMCIA_AXNET is not set
729
730#
731# Wan interfaces
732#
733# CONFIG_WAN is not set
734CONFIG_PPP=m
735# CONFIG_PPP_MULTILINK is not set
736# CONFIG_PPP_FILTER is not set
737CONFIG_PPP_ASYNC=m
738# CONFIG_PPP_SYNC_TTY is not set
739CONFIG_PPP_DEFLATE=m
740CONFIG_PPP_BSDCOMP=m
741# CONFIG_PPP_MPPE is not set
742# CONFIG_PPPOE is not set
743# CONFIG_SLIP is not set
744# CONFIG_SHAPER is not set
745# CONFIG_NETCONSOLE is not set
746# CONFIG_NETPOLL is not set
747# CONFIG_NET_POLL_CONTROLLER is not set
748
749#
750# ISDN subsystem
751#
752# CONFIG_ISDN is not set
753
754#
755# Input device support
756#
757CONFIG_INPUT=y
758
759#
760# Userland interfaces
761#
762CONFIG_INPUT_MOUSEDEV=m
763# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
764CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
765CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
766# CONFIG_INPUT_JOYDEV is not set
767# CONFIG_INPUT_TSDEV is not set
768CONFIG_INPUT_EVDEV=y
769# CONFIG_INPUT_EVBUG is not set
770CONFIG_INPUT_POWER=y
771
772#
773# Input Device Drivers
774#
775CONFIG_INPUT_KEYBOARD=y
776# CONFIG_KEYBOARD_ATKBD is not set
777# CONFIG_KEYBOARD_SUNKBD is not set
778# CONFIG_KEYBOARD_LKKBD is not set
779# CONFIG_KEYBOARD_XTKBD is not set
780# CONFIG_KEYBOARD_NEWTON is not set
781# CONFIG_KEYBOARD_CORGI is not set
782# CONFIG_KEYBOARD_SPITZ is not set
783CONFIG_KEYBOARD_TOSA=y
784# CONFIG_INPUT_MOUSE is not set
785# CONFIG_INPUT_JOYSTICK is not set
786CONFIG_INPUT_TOUCHSCREEN=y
787# CONFIG_TOUCHSCREEN_CORGI is not set
788# CONFIG_TOUCHSCREEN_GUNZE is not set
789# CONFIG_TOUCHSCREEN_ELO is not set
790# CONFIG_TOUCHSCREEN_MTOUCH is not set
791# CONFIG_TOUCHSCREEN_MK712 is not set
792CONFIG_TOUCHSCREEN_WM97XX=y
793# CONFIG_TOUCHSCREEN_WM9705 is not set
794CONFIG_TOUCHSCREEN_WM9712=y
795# CONFIG_TOUCHSCREEN_WM9713 is not set
796# CONFIG_TOUCHSCREEN_WM97XX_PXA is not set
797# CONFIG_INPUT_MISC is not set
798
799#
800# Hardware I/O ports
801#
802# CONFIG_SERIO is not set
803# CONFIG_GAMEPORT is not set
804
805#
806# Character devices
807#
808CONFIG_VT=y
809CONFIG_VT_CONSOLE=y
810CONFIG_HW_CONSOLE=y
811# CONFIG_SERIAL_NONSTANDARD is not set
812
813#
814# Serial drivers
815#
816CONFIG_SERIAL_8250=m
817CONFIG_SERIAL_8250_CS=m
818CONFIG_SERIAL_8250_NR_UARTS=4
819CONFIG_SERIAL_8250_RUNTIME_UARTS=4
820# CONFIG_SERIAL_8250_EXTENDED is not set
821
822#
823# Non-8250 serial port support
824#
825CONFIG_SERIAL_PXA=y
826CONFIG_SERIAL_PXA_CONSOLE=y
827CONFIG_SERIAL_CORE=y
828CONFIG_SERIAL_CORE_CONSOLE=y
829CONFIG_UNIX98_PTYS=y
830# CONFIG_LEGACY_PTYS is not set
831
832#
833# IPMI
834#
835# CONFIG_IPMI_HANDLER is not set
836
837#
838# Watchdog Cards
839#
840# CONFIG_WATCHDOG is not set
841# CONFIG_NVRAM is not set
842# CONFIG_DTLK is not set
843# CONFIG_R3964 is not set
844
845#
846# Ftape, the floppy tape device driver
847#
848
849#
850# PCMCIA character devices
851#
852# CONFIG_SYNCLINK_CS is not set
853# CONFIG_CARDMAN_4000 is not set
854# CONFIG_CARDMAN_4040 is not set
855# CONFIG_RAW_DRIVER is not set
856
857#
858# TPM devices
859#
860# CONFIG_TCG_TPM is not set
861# CONFIG_TELCLOCK is not set
862
863#
864# I2C support
865#
866CONFIG_I2C=y
867# CONFIG_I2C_CHARDEV is not set
868
869#
870# I2C Algorithms
871#
872# CONFIG_I2C_ALGOBIT is not set
873# CONFIG_I2C_ALGOPCF is not set
874# CONFIG_I2C_ALGOPCA is not set
875
876#
877# I2C Hardware Bus support
878#
879CONFIG_I2C_PXA=y
880# CONFIG_I2C_PXA_SLAVE is not set
881# CONFIG_I2C_PARPORT_LIGHT is not set
882# CONFIG_I2C_STUB is not set
883# CONFIG_I2C_PCA_ISA is not set
884
885#
886# Miscellaneous I2C Chip support
887#
888# CONFIG_SENSORS_DS1337 is not set
889# CONFIG_SENSORS_DS1374 is not set
890# CONFIG_SENSORS_EEPROM is not set
891# CONFIG_SENSORS_PCF8574 is not set
892# CONFIG_SENSORS_PCA9539 is not set
893# CONFIG_SENSORS_PCF8591 is not set
894# CONFIG_SENSORS_MAX6875 is not set
895# CONFIG_I2C_DEBUG_CORE is not set
896# CONFIG_I2C_DEBUG_ALGO is not set
897# CONFIG_I2C_DEBUG_BUS is not set
898# CONFIG_I2C_DEBUG_CHIP is not set
899
900#
901# SPI support
902#
903# CONFIG_SPI is not set
904# CONFIG_SPI_MASTER is not set
905
906#
907# Hardware Monitoring support
908#
909# CONFIG_HWMON is not set
910# CONFIG_HWMON_VID is not set
911
912#
913# Misc devices
914#
915
916#
917# Multimedia Capabilities Port drivers
918#
919
920#
921# Multi-Function Devices
922#
923
924#
925# LED devices
926#
927CONFIG_NEW_LEDS=y
928CONFIG_LEDS_CLASS=y
929CONFIG_LEDS_TRIGGERS=y
930CONFIG_LEDS_TOSA=y
931CONFIG_LEDS_TRIGGER_TIMER=m
932CONFIG_LEDS_TRIGGER_IDE_DISK=y
933
934#
935# Multimedia devices
936#
937CONFIG_VIDEO_DEV=m
938
939#
940# Video For Linux
941#
942
943#
944# Video Adapters
945#
946# CONFIG_VIDEO_ADV_DEBUG is not set
947# CONFIG_VIDEO_CPIA is not set
948# CONFIG_VIDEO_SAA5246A is not set
949# CONFIG_VIDEO_SAA5249 is not set
950# CONFIG_TUNER_3036 is not set
951# CONFIG_VIDEO_EM28XX is not set
952# CONFIG_VIDEO_OVCAMCHIP is not set
953# CONFIG_VIDEO_AUDIO_DECODER is not set
954# CONFIG_VIDEO_DECODER is not set
955
956#
957# Radio Adapters
958#
959# CONFIG_RADIO_MAESTRO is not set
960
961#
962# Digital Video Broadcasting Devices
963#
964# CONFIG_DVB is not set
965
966#
967# Graphics support
968#
969CONFIG_FB=y
970CONFIG_FB_CFB_FILLRECT=y
971CONFIG_FB_CFB_COPYAREA=y
972CONFIG_FB_CFB_IMAGEBLIT=y
973# CONFIG_FB_MACMODES is not set
974# CONFIG_FB_MODE_HELPERS is not set
975# CONFIG_FB_TILEBLITTING is not set
976# CONFIG_FB_S1D13XXX is not set
977# CONFIG_FB_PXA is not set
978# CONFIG_FB_W100 is not set
979CONFIG_FB_TMIO=y
980# CONFIG_FB_VIRTUAL is not set
981
982#
983# Console display driver support
984#
985# CONFIG_VGA_CONSOLE is not set
986CONFIG_DUMMY_CONSOLE=y
987CONFIG_FRAMEBUFFER_CONSOLE=y
988# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
989CONFIG_FONTS=y
990CONFIG_FONT_8x8=y
991# CONFIG_FONT_8x16 is not set
992# CONFIG_FONT_6x11 is not set
993# CONFIG_FONT_7x14 is not set
994# CONFIG_FONT_PEARL_8x8 is not set
995# CONFIG_FONT_ACORN_8x8 is not set
996# CONFIG_FONT_MINI_4x6 is not set
997# CONFIG_FONT_SUN8x16 is not set
998# CONFIG_FONT_SUN12x22 is not set
999# CONFIG_FONT_10x18 is not set
1000
1001#
1002# Logo configuration
1003#
1004CONFIG_LOGO=y
1005# CONFIG_LOGO_LINUX_MONO is not set
1006# CONFIG_LOGO_LINUX_VGA16 is not set
1007CONFIG_LOGO_LINUX_CLUT224=y
1008CONFIG_BACKLIGHT_LCD_SUPPORT=y
1009CONFIG_BACKLIGHT_CLASS_DEVICE=y
1010CONFIG_BACKLIGHT_DEVICE=y
1011# CONFIG_LCD_CLASS_DEVICE is not set
1012CONFIG_BACKLIGHT_CORGI=y
1013# CONFIG_BACKLIGHT_HP680 is not set
1014
1015#
1016# Sound
1017#
1018CONFIG_SOUND=y
1019
1020#
1021# Advanced Linux Sound Architecture
1022#
1023CONFIG_SND=y
1024CONFIG_SND_TIMER=y
1025CONFIG_SND_PCM=y
1026CONFIG_SND_HWDEP=m
1027CONFIG_SND_RAWMIDI=m
1028# CONFIG_SND_SEQUENCER is not set
1029CONFIG_SND_OSSEMUL=y
1030CONFIG_SND_MIXER_OSS=m
1031CONFIG_SND_PCM_OSS=m
1032# CONFIG_SND_DYNAMIC_MINORS is not set
1033CONFIG_SND_SUPPORT_OLD_API=y
1034# CONFIG_SND_VERBOSE_PRINTK is not set
1035# CONFIG_SND_DEBUG is not set
1036
1037#
1038# Generic devices
1039#
1040CONFIG_SND_AC97_BUS=y
1041CONFIG_SND_DUMMY=m
1042# CONFIG_SND_MTPAV is not set
1043# CONFIG_SND_SERIAL_U16550 is not set
1044# CONFIG_SND_MPU401 is not set
1045
1046#
1047# ALSA ARM devices
1048#
1049# CONFIG_SND_PXA2XX_AC97 is not set
1050
1051#
1052# USB devices
1053#
1054CONFIG_SND_USB_AUDIO=m
1055
1056#
1057# PCMCIA devices
1058#
1059
1060#
1061# SoC audio support
1062#
1063CONFIG_SND_SOC=y
1064
1065#
1066# Soc Platforms
1067#
1068
1069#
1070# SoC Audio for the Intel PXA2xx
1071#
1072CONFIG_SND_PXA2xx_SOC=y
1073CONFIG_SND_PXA2xx_SOC_AC97=y
1074# CONFIG_SND_PXA2xx_SOC_MAINSTONE is not set
1075# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM8753 is not set
1076# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9713 is not set
1077# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9712 is not set
1078# CONFIG_SND_PXA2xx_SOC_CORGI is not set
1079# CONFIG_SND_PXA2xx_SOC_SPITZ is not set
1080CONFIG_SND_PXA2xx_SOC_TOSA=y
1081
1082#
1083# Soc Codecs
1084#
1085# CONFIG_SND_SOC_AC97_CODEC is not set
1086# CONFIG_SND_SOC_WM8731 is not set
1087# CONFIG_SND_SOC_WM8750 is not set
1088# CONFIG_SND_SOC_WM8753 is not set
1089# CONFIG_SND_SOC_WM8772 is not set
1090# CONFIG_SND_SOC_WM8971 is not set
1091# CONFIG_SND_SOC_WM9713 is not set
1092CONFIG_SND_SOC_WM9712=y
1093# CONFIG_SND_SOC_UDA1380 is not set
1094# CONFIG_SND_SOC_AK4535 is not set
1095
1096#
1097# Open Sound System
1098#
1099# CONFIG_SOUND_PRIME is not set
1100
1101#
1102# USB support
1103#
1104CONFIG_USB_ARCH_HAS_HCD=y
1105CONFIG_USB_ARCH_HAS_OHCI=y
1106CONFIG_USB=m
1107# CONFIG_USB_DEBUG is not set
1108
1109#
1110# Miscellaneous USB options
1111#
1112CONFIG_USB_DEVICEFS=y
1113# CONFIG_USB_BANDWIDTH is not set
1114# CONFIG_USB_DYNAMIC_MINORS is not set
1115# CONFIG_USB_SUSPEND is not set
1116# CONFIG_USB_OTG is not set
1117
1118#
1119# USB Host Controller Drivers
1120#
1121# CONFIG_USB_ISP116X_HCD is not set
1122CONFIG_USB_OHCI_HCD=m
1123# CONFIG_USB_OHCI_BIG_ENDIAN is not set
1124CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1125CONFIG_USB_SL811_HCD=m
1126CONFIG_USB_SL811_CS=m
1127
1128#
1129# USB Device Class drivers
1130#
1131# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
1132CONFIG_USB_ACM=m
1133CONFIG_USB_PRINTER=m
1134
1135#
1136# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1137#
1138
1139#
1140# may also be needed; see USB_STORAGE Help for more information
1141#
1142CONFIG_USB_STORAGE=m
1143# CONFIG_USB_STORAGE_DEBUG is not set
1144# CONFIG_USB_STORAGE_DATAFAB is not set
1145# CONFIG_USB_STORAGE_FREECOM is not set
1146# CONFIG_USB_STORAGE_ISD200 is not set
1147# CONFIG_USB_STORAGE_DPCM is not set
1148# CONFIG_USB_STORAGE_USBAT is not set
1149# CONFIG_USB_STORAGE_SDDR09 is not set
1150# CONFIG_USB_STORAGE_SDDR55 is not set
1151# CONFIG_USB_STORAGE_JUMPSHOT is not set
1152# CONFIG_USB_STORAGE_ALAUDA is not set
1153# CONFIG_USB_LIBUSUAL is not set
1154
1155#
1156# USB Input Devices
1157#
1158CONFIG_USB_HID=m
1159CONFIG_USB_HIDINPUT=y
1160# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1161# CONFIG_HID_FF is not set
1162# CONFIG_USB_HIDDEV is not set
1163
1164#
1165# USB HID Boot Protocol drivers
1166#
1167CONFIG_USB_KBD=m
1168CONFIG_USB_MOUSE=m
1169CONFIG_USB_AIPTEK=m
1170CONFIG_USB_WACOM=m
1171# CONFIG_USB_ACECAD is not set
1172CONFIG_USB_KBTAB=m
1173CONFIG_USB_POWERMATE=m
1174CONFIG_USB_MTOUCH=m
1175# CONFIG_USB_ITMTOUCH is not set
1176CONFIG_USB_EGALAX=m
1177# CONFIG_USB_YEALINK is not set
1178CONFIG_USB_XPAD=m
1179CONFIG_USB_ATI_REMOTE=m
1180# CONFIG_USB_ATI_REMOTE2 is not set
1181# CONFIG_USB_KEYSPAN_REMOTE is not set
1182# CONFIG_USB_APPLETOUCH is not set
1183
1184#
1185# USB Imaging devices
1186#
1187CONFIG_USB_MDC800=m
1188CONFIG_USB_MICROTEK=m
1189
1190#
1191# USB Multimedia devices
1192#
1193CONFIG_USB_DABUSB=m
1194CONFIG_USB_VICAM=m
1195CONFIG_USB_DSBR=m
1196# CONFIG_USB_ET61X251 is not set
1197CONFIG_USB_IBMCAM=m
1198CONFIG_USB_KONICAWC=m
1199CONFIG_USB_OV511=m
1200CONFIG_USB_SE401=m
1201CONFIG_USB_SN9C102=m
1202CONFIG_USB_STV680=m
1203# CONFIG_USB_PWC is not set
1204
1205#
1206# USB Network Adapters
1207#
1208CONFIG_USB_CATC=m
1209CONFIG_USB_KAWETH=m
1210CONFIG_USB_PEGASUS=m
1211CONFIG_USB_RTL8150=m
1212CONFIG_USB_USBNET=m
1213CONFIG_USB_NET_AX8817X=m
1214CONFIG_USB_NET_CDCETHER=m
1215CONFIG_USB_NET_GL620A=m
1216CONFIG_USB_NET_NET1080=m
1217CONFIG_USB_NET_PLUSB=m
1218# CONFIG_USB_NET_RNDIS_HOST is not set
1219# CONFIG_USB_NET_CDC_SUBSET is not set
1220# CONFIG_USB_NET_ZAURUS is not set
1221# CONFIG_USB_ZD1201 is not set
1222CONFIG_USB_MON=y
1223
1224#
1225# USB port drivers
1226#
1227
1228#
1229# USB Serial Converter support
1230#
1231CONFIG_USB_SERIAL=m
1232CONFIG_USB_SERIAL_GENERIC=y
1233# CONFIG_USB_SERIAL_AIRPRIME is not set
1234# CONFIG_USB_SERIAL_ANYDATA is not set
1235CONFIG_USB_SERIAL_BELKIN=m
1236# CONFIG_USB_SERIAL_WHITEHEAT is not set
1237CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
1238# CONFIG_USB_SERIAL_CP2101 is not set
1239CONFIG_USB_SERIAL_CYPRESS_M8=m
1240CONFIG_USB_SERIAL_EMPEG=m
1241CONFIG_USB_SERIAL_FTDI_SIO=m
1242CONFIG_USB_SERIAL_VISOR=m
1243CONFIG_USB_SERIAL_IPAQ=m
1244CONFIG_USB_SERIAL_IR=m
1245CONFIG_USB_SERIAL_EDGEPORT=m
1246CONFIG_USB_SERIAL_EDGEPORT_TI=m
1247CONFIG_USB_SERIAL_GARMIN=m
1248CONFIG_USB_SERIAL_IPW=m
1249CONFIG_USB_SERIAL_KEYSPAN_PDA=m
1250CONFIG_USB_SERIAL_KEYSPAN=m
1251# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
1252# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
1253# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
1254# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
1255# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
1256# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
1257# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
1258# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
1259# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
1260# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
1261# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
1262# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
1263CONFIG_USB_SERIAL_KLSI=m
1264CONFIG_USB_SERIAL_KOBIL_SCT=m
1265CONFIG_USB_SERIAL_MCT_U232=m
1266CONFIG_USB_SERIAL_PL2303=m
1267# CONFIG_USB_SERIAL_HP4X is not set
1268CONFIG_USB_SERIAL_SAFE=m
1269# CONFIG_USB_SERIAL_SAFE_PADDED is not set
1270CONFIG_USB_SERIAL_TI=m
1271CONFIG_USB_SERIAL_CYBERJACK=m
1272CONFIG_USB_SERIAL_XIRCOM=m
1273# CONFIG_USB_SERIAL_OPTION is not set
1274CONFIG_USB_SERIAL_OMNINET=m
1275CONFIG_USB_EZUSB=y
1276
1277#
1278# USB Miscellaneous drivers
1279#
1280CONFIG_USB_EMI62=m
1281CONFIG_USB_EMI26=m
1282CONFIG_USB_AUERSWALD=m
1283CONFIG_USB_RIO500=m
1284CONFIG_USB_LEGOTOWER=m
1285CONFIG_USB_LCD=m
1286CONFIG_USB_LED=m
1287CONFIG_USB_CYTHERM=m
1288CONFIG_USB_PHIDGETKIT=m
1289CONFIG_USB_PHIDGETSERVO=m
1290CONFIG_USB_IDMOUSE=m
1291# CONFIG_USB_LD is not set
1292# CONFIG_USB_TEST is not set
1293
1294#
1295# USB DSL modem support
1296#
1297
1298#
1299# USB Gadget Support
1300#
1301CONFIG_USB_GADGET=y
1302# CONFIG_USB_GADGET_DEBUG_FILES is not set
1303CONFIG_USB_GADGET_SELECTED=y
1304# CONFIG_USB_GADGET_NET2280 is not set
1305CONFIG_USB_GADGET_PXA2XX=y
1306CONFIG_USB_PXA2XX=y
1307# CONFIG_USB_PXA2XX_SMALL is not set
1308# CONFIG_USB_GADGET_PXA27X is not set
1309# CONFIG_USB_GADGET_GOKU is not set
1310# CONFIG_USB_GADGET_LH7A40X is not set
1311# CONFIG_USB_GADGET_OMAP is not set
1312# CONFIG_USB_GADGET_DUMMY_HCD is not set
1313# CONFIG_USB_GADGET_DUALSPEED is not set
1314CONFIG_USB_ZERO=m
1315CONFIG_USB_ETH=m
1316CONFIG_USB_ETH_RNDIS=y
1317CONFIG_USB_GADGETFS=m
1318CONFIG_USB_FILE_STORAGE=m
1319# CONFIG_USB_FILE_STORAGE_TEST is not set
1320CONFIG_USB_G_SERIAL=m
1321
1322#
1323# MMC/SD Card support
1324#
1325CONFIG_MMC=y
1326# CONFIG_MMC_DEBUG is not set
1327CONFIG_MMC_BLOCK=y
1328CONFIG_MMC_PXA=y
1329
1330#
1331# Real Time Clock
1332#
1333CONFIG_RTC_CLASS=y
1334CONFIG_RTC_HCTOSYS=y
1335CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1336
1337#
1338# RTC interfaces
1339#
1340CONFIG_RTC_INTF_SYSFS=y
1341CONFIG_RTC_INTF_PROC=y
1342CONFIG_RTC_INTF_DEV=y
1343
1344#
1345# RTC drivers
1346#
1347# CONFIG_RTC_DRV_X1205 is not set
1348# CONFIG_RTC_DRV_DS1672 is not set
1349# CONFIG_RTC_DRV_PCF8563 is not set
1350# CONFIG_RTC_DRV_RS5C372 is not set
1351CONFIG_RTC_DRV_SA1100=y
1352# CONFIG_RTC_DRV_TEST is not set
1353
1354#
1355# File systems
1356#
1357CONFIG_EXT2_FS=y
1358# CONFIG_EXT2_FS_XATTR is not set
1359# CONFIG_EXT2_FS_XIP is not set
1360# CONFIG_EXT3_FS is not set
1361# CONFIG_REISERFS_FS is not set
1362# CONFIG_JFS_FS is not set
1363# CONFIG_FS_POSIX_ACL is not set
1364# CONFIG_XFS_FS is not set
1365# CONFIG_OCFS2_FS is not set
1366# CONFIG_MINIX_FS is not set
1367# CONFIG_ROMFS_FS is not set
1368CONFIG_INOTIFY=y
1369# CONFIG_QUOTA is not set
1370CONFIG_DNOTIFY=y
1371# CONFIG_AUTOFS_FS is not set
1372# CONFIG_AUTOFS4_FS is not set
1373CONFIG_FUSE_FS=m
1374
1375#
1376# CD-ROM/DVD Filesystems
1377#
1378# CONFIG_ISO9660_FS is not set
1379# CONFIG_UDF_FS is not set
1380
1381#
1382# DOS/FAT/NT Filesystems
1383#
1384CONFIG_FAT_FS=m
1385CONFIG_MSDOS_FS=m
1386CONFIG_VFAT_FS=m
1387CONFIG_FAT_DEFAULT_CODEPAGE=437
1388CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1389# CONFIG_NTFS_FS is not set
1390
1391#
1392# Pseudo filesystems
1393#
1394CONFIG_PROC_FS=y
1395CONFIG_SYSFS=y
1396CONFIG_TMPFS=y
1397# CONFIG_HUGETLB_PAGE is not set
1398CONFIG_RAMFS=y
1399# CONFIG_RELAYFS_FS is not set
1400# CONFIG_CONFIGFS_FS is not set
1401
1402#
1403# Miscellaneous filesystems
1404#
1405# CONFIG_ADFS_FS is not set
1406# CONFIG_AFFS_FS is not set
1407# CONFIG_HFS_FS is not set
1408# CONFIG_HFSPLUS_FS is not set
1409# CONFIG_BEFS_FS is not set
1410# CONFIG_BFS_FS is not set
1411# CONFIG_EFS_FS is not set
1412# CONFIG_JFFS_FS is not set
1413CONFIG_JFFS2_FS=y
1414CONFIG_JFFS2_FS_DEBUG=0
1415CONFIG_JFFS2_FS_WRITEBUFFER=y
1416CONFIG_JFFS2_SUMMARY=y
1417CONFIG_JFFS2_COMPRESSION_OPTIONS=y
1418CONFIG_JFFS2_ZLIB=y
1419CONFIG_JFFS2_RTIME=y
1420CONFIG_JFFS2_RUBIN=y
1421# CONFIG_JFFS2_CMODE_NONE is not set
1422CONFIG_JFFS2_CMODE_PRIORITY=y
1423# CONFIG_JFFS2_CMODE_SIZE is not set
1424CONFIG_CRAMFS=m
1425CONFIG_SQUASHFS=m
1426# CONFIG_SQUASHFS_EMBEDDED is not set
1427CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
1428# CONFIG_SQUASHFS_VMALLOC is not set
1429# CONFIG_VXFS_FS is not set
1430# CONFIG_HPFS_FS is not set
1431# CONFIG_QNX4FS_FS is not set
1432# CONFIG_SYSV_FS is not set
1433# CONFIG_UFS_FS is not set
1434
1435#
1436# Network File Systems
1437#
1438CONFIG_NFS_FS=m
1439CONFIG_NFS_V3=y
1440# CONFIG_NFS_V3_ACL is not set
1441CONFIG_NFS_V4=y
1442# CONFIG_NFS_DIRECTIO is not set
1443# CONFIG_NFSD is not set
1444CONFIG_LOCKD=m
1445CONFIG_LOCKD_V4=y
1446CONFIG_NFS_COMMON=y
1447CONFIG_SUNRPC=m
1448CONFIG_SUNRPC_GSS=m
1449CONFIG_RPCSEC_GSS_KRB5=m
1450# CONFIG_RPCSEC_GSS_SPKM3 is not set
1451CONFIG_SMB_FS=m
1452CONFIG_SMB_NLS_DEFAULT=y
1453CONFIG_SMB_NLS_REMOTE="cp437"
1454CONFIG_CIFS=m
1455# CONFIG_CIFS_STATS is not set
1456# CONFIG_CIFS_XATTR is not set
1457# CONFIG_CIFS_EXPERIMENTAL is not set
1458# CONFIG_NCP_FS is not set
1459# CONFIG_CODA_FS is not set
1460# CONFIG_AFS_FS is not set
1461# CONFIG_9P_FS is not set
1462
1463#
1464# Partition Types
1465#
1466CONFIG_PARTITION_ADVANCED=y
1467# CONFIG_ACORN_PARTITION is not set
1468# CONFIG_OSF_PARTITION is not set
1469# CONFIG_AMIGA_PARTITION is not set
1470# CONFIG_ATARI_PARTITION is not set
1471# CONFIG_MAC_PARTITION is not set
1472CONFIG_MSDOS_PARTITION=y
1473# CONFIG_BSD_DISKLABEL is not set
1474# CONFIG_MINIX_SUBPARTITION is not set
1475# CONFIG_SOLARIS_X86_PARTITION is not set
1476# CONFIG_UNIXWARE_DISKLABEL is not set
1477# CONFIG_LDM_PARTITION is not set
1478# CONFIG_SGI_PARTITION is not set
1479# CONFIG_ULTRIX_PARTITION is not set
1480# CONFIG_SUN_PARTITION is not set
1481# CONFIG_KARMA_PARTITION is not set
1482# CONFIG_EFI_PARTITION is not set
1483
1484#
1485# Native Language Support
1486#
1487CONFIG_NLS=y
1488CONFIG_NLS_DEFAULT="cp437"
1489CONFIG_NLS_CODEPAGE_437=y
1490CONFIG_NLS_CODEPAGE_737=m
1491CONFIG_NLS_CODEPAGE_775=m
1492CONFIG_NLS_CODEPAGE_850=m
1493CONFIG_NLS_CODEPAGE_852=m
1494CONFIG_NLS_CODEPAGE_855=m
1495CONFIG_NLS_CODEPAGE_857=m
1496CONFIG_NLS_CODEPAGE_860=m
1497CONFIG_NLS_CODEPAGE_861=m
1498CONFIG_NLS_CODEPAGE_862=m
1499CONFIG_NLS_CODEPAGE_863=m
1500CONFIG_NLS_CODEPAGE_864=m
1501CONFIG_NLS_CODEPAGE_865=m
1502CONFIG_NLS_CODEPAGE_866=m
1503CONFIG_NLS_CODEPAGE_869=m
1504CONFIG_NLS_CODEPAGE_936=m
1505CONFIG_NLS_CODEPAGE_950=m
1506CONFIG_NLS_CODEPAGE_932=m
1507CONFIG_NLS_CODEPAGE_949=m
1508CONFIG_NLS_CODEPAGE_874=m
1509CONFIG_NLS_ISO8859_8=m
1510CONFIG_NLS_CODEPAGE_1250=m
1511CONFIG_NLS_CODEPAGE_1251=m
1512CONFIG_NLS_ASCII=m
1513CONFIG_NLS_ISO8859_1=y
1514CONFIG_NLS_ISO8859_2=m
1515CONFIG_NLS_ISO8859_3=m
1516CONFIG_NLS_ISO8859_4=m
1517CONFIG_NLS_ISO8859_5=m
1518CONFIG_NLS_ISO8859_6=m
1519CONFIG_NLS_ISO8859_7=m
1520CONFIG_NLS_ISO8859_9=m
1521CONFIG_NLS_ISO8859_13=m
1522CONFIG_NLS_ISO8859_14=m
1523CONFIG_NLS_ISO8859_15=m
1524CONFIG_NLS_KOI8_R=m
1525CONFIG_NLS_KOI8_U=m
1526CONFIG_NLS_UTF8=y
1527
1528#
1529# Profiling support
1530#
1531# CONFIG_PROFILING is not set
1532
1533#
1534# Kernel hacking
1535#
1536# CONFIG_PRINTK_TIME is not set
1537CONFIG_MAGIC_SYSRQ=y
1538CONFIG_DEBUG_KERNEL=y
1539CONFIG_LOG_BUF_SHIFT=14
1540CONFIG_DETECT_SOFTLOCKUP=y
1541# CONFIG_SCHEDSTATS is not set
1542# CONFIG_DEBUG_SLAB is not set
1543# CONFIG_DEBUG_PREEMPT is not set
1544# CONFIG_DEBUG_MUTEXES is not set
1545# CONFIG_DEBUG_SPINLOCK is not set
1546# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1547# CONFIG_DEBUG_KOBJECT is not set
1548# CONFIG_DEBUG_BUGVERBOSE is not set
1549# CONFIG_DEBUG_INFO is not set
1550# CONFIG_DEBUG_FS is not set
1551# CONFIG_DEBUG_VM is not set
1552CONFIG_FRAME_POINTER=y
1553# CONFIG_FORCED_INLINING is not set
1554# CONFIG_RCU_TORTURE_TEST is not set
1555# CONFIG_DEBUG_USER is not set
1556# CONFIG_DEBUG_WAITQ is not set
1557CONFIG_DEBUG_ERRORS=y
1558# CONFIG_DEBUG_LL is not set
1559
1560#
1561# Security options
1562#
1563# CONFIG_KEYS is not set
1564# CONFIG_SECURITY is not set
1565
1566#
1567# Cryptographic options
1568#
1569CONFIG_CRYPTO=y
1570CONFIG_CRYPTO_HMAC=y
1571CONFIG_CRYPTO_NULL=m
1572CONFIG_CRYPTO_MD4=m
1573CONFIG_CRYPTO_MD5=m
1574CONFIG_CRYPTO_SHA1=m
1575CONFIG_CRYPTO_SHA256=m
1576CONFIG_CRYPTO_SHA512=m
1577CONFIG_CRYPTO_WP512=m
1578# CONFIG_CRYPTO_TGR192 is not set
1579CONFIG_CRYPTO_DES=m
1580CONFIG_CRYPTO_BLOWFISH=m
1581CONFIG_CRYPTO_TWOFISH=m
1582CONFIG_CRYPTO_SERPENT=m
1583CONFIG_CRYPTO_AES=m
1584CONFIG_CRYPTO_CAST5=m
1585CONFIG_CRYPTO_CAST6=m
1586CONFIG_CRYPTO_TEA=m
1587CONFIG_CRYPTO_ARC4=m
1588CONFIG_CRYPTO_KHAZAD=m
1589CONFIG_CRYPTO_ANUBIS=m
1590CONFIG_CRYPTO_DEFLATE=m
1591CONFIG_CRYPTO_MICHAEL_MIC=m
1592CONFIG_CRYPTO_CRC32C=m
1593CONFIG_CRYPTO_TEST=m
1594
1595#
1596# Hardware crypto devices
1597#
1598
1599#
1600# Library routines
1601#
1602CONFIG_CRC_CCITT=m
1603# CONFIG_CRC16 is not set
1604CONFIG_CRC32=y
1605CONFIG_LIBCRC32C=m
1606CONFIG_ZLIB_INFLATE=y
1607CONFIG_ZLIB_DEFLATE=y
1608CONFIG_GENERIC_ALLOCATOR=y
diff --git a/meta/packages/linux/linux-rp-2.6.21/hrw-pcmcia-ids-r5.patch b/meta/packages/linux/linux-rp-2.6.21/hrw-pcmcia-ids-r5.patch
new file mode 100644
index 0000000000..b5a570d38c
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21/hrw-pcmcia-ids-r5.patch
@@ -0,0 +1,54 @@
1From: Marcin Juszkiewicz <openembedded@hrw.one.pl>
2
3Few cards informations submitted by OpenZaurus users.
4
5Seagate 8GB microdrive:
6 product info: "SEAGATE", "ST1"
7 manfid 0x0111, 0x0000
8
9One CF card:
10 product info: "SAMSUNG", "04/05/06", "", ""
11 manfid : 0x0000, 0x0000
12
13Ridata 8GB Pro 150X Compact Flash Card:
14 product info: "SMI VENDOR", "SMI PRODUCT", ""
15 manfid: 0x000a, 0x0000
16
17 product info: "M-Systems", "CF500", ""
18 manfid: 0x000a, 0x0000
19
20 product info: "TRANSCEND", "TS4GCF120", ""
21 manfid: 0x000a, 0x0000
22
23Signed-off-by: Marcin Juszkiewicz <openembedded@hrw.one.pl>
24
25---
26Patch follow kernel version 2.6.18
27
28Please Cc: me - I'm not subscribed to linux-pcmcia or linux-kernel
29
30 ide-cs.c | 5 +++++
31 1 file changed, 5 insertions(+)
32
33Index: linux-2.6/drivers/ide/legacy/ide-cs.c
34===================================================================
35--- linux-2.6.orig/drivers/ide/legacy/ide-cs.c 2006-08-23 11:02:37.958306000 +0200
36+++ linux-2.6/drivers/ide/legacy/ide-cs.c 2006-09-25 16:45:35.765780000 +0200
37@@ -398,12 +398,17 @@
38 PCMCIA_DEVICE_PROD_ID12("IO DATA", "PCIDE", 0x547e66dc, 0x5c5ab149),
39 PCMCIA_DEVICE_PROD_ID12("IO DATA", "PCIDEII", 0x547e66dc, 0xb3662674),
40 PCMCIA_DEVICE_PROD_ID12("LOOKMEET", "CBIDE2 ", 0xe37be2b5, 0x8671043b),
41+ PCMCIA_DEVICE_PROD_ID12("M-Systems", "CF500", 0x7ed2ad87, 0x7a13045c),
42 PCMCIA_DEVICE_PROD_ID2("NinjaATA-", 0xebe0bd79),
43 PCMCIA_DEVICE_PROD_ID12("PCMCIA", "CD-ROM", 0x281f1c5d, 0x66536591),
44 PCMCIA_DEVICE_PROD_ID12("PCMCIA", "PnPIDE", 0x281f1c5d, 0x0c694728),
45 PCMCIA_DEVICE_PROD_ID12("SHUTTLE TECHNOLOGY LTD.", "PCCARD-IDE/ATAPI Adapter", 0x4a3f0ba0, 0x322560e1),
46+ PCMCIA_DEVICE_PROD_ID12("SEAGATE", "ST1", 0x87c1b330, 0xe1f30883),
47+ PCMCIA_DEVICE_PROD_ID12("SAMSUNG", "04/05/06", 0x43d74cb4, 0x6a22777d),
48+ PCMCIA_DEVICE_PROD_ID12("SMI VENDOR", "SMI PRODUCT", 0x30896c92, 0x703cc5f6),
49 PCMCIA_DEVICE_PROD_ID12("TOSHIBA", "MK2001MPL", 0xb4585a1a, 0x3489e003),
50 PCMCIA_DEVICE_PROD_ID1("TRANSCEND 512M ", 0xd0909443),
51+ PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS4GCF120", 0x709b1bf1, 0xf54a91c8),
52 PCMCIA_DEVICE_PROD_ID12("WIT", "IDE16", 0x244e5994, 0x3e232852),
53 PCMCIA_DEVICE_PROD_ID1("STI Flash", 0xe4a13209),
54 PCMCIA_DEVICE_PROD_ID12("STI", "Flash 5.0", 0xbf2df18d, 0x8cb57a0e),
diff --git a/meta/packages/linux/linux-rp-2.6.21/orinoco-remove-all-which-are-in-hostap-HACK.patch b/meta/packages/linux/linux-rp-2.6.21/orinoco-remove-all-which-are-in-hostap-HACK.patch
new file mode 100644
index 0000000000..380349f809
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21/orinoco-remove-all-which-are-in-hostap-HACK.patch
@@ -0,0 +1,88 @@
1This patch should resolve problem when people get eth0 (orinoco_cs) instead of wlan0 (hostap_cs)
2with their WiFi cards.
3
4Patch will NEVER been accepted upstream.
5
6Signed-off-by: Marcin Juszkiewicz <openembedded@hrw.one.pl>
7
8Index: linux/drivers/net/wireless/orinoco_cs.c
9===================================================================
10--- linux.orig/drivers/net/wireless/orinoco_cs.c 2006-08-23 16:04:10.000000000 +0200
11+++ linux/drivers/net/wireless/orinoco_cs.c 2006-08-23 16:17:43.000000000 +0200
12@@ -453,33 +453,21 @@
13 "Pavel Roskin <proski@gnu.org>, et al)";
14
15 static struct pcmcia_device_id orinoco_cs_ids[] = {
16- PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7100), /* SonicWALL Long Range Wireless Card */
17- PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7300), /* Sohoware NCP110, Philips 802.11b */
18 PCMCIA_DEVICE_MANF_CARD(0x0089, 0x0002), /* AnyPoint(TM) Wireless II PC Card */
19- PCMCIA_DEVICE_MANF_CARD(0x0101, 0x0777), /* 3Com AirConnect PCI 777A */
20- PCMCIA_DEVICE_MANF_CARD(0x0126, 0x8000), /* PROXIM RangeLAN-DS/LAN PC CARD */
21 PCMCIA_DEVICE_MANF_CARD(0x0138, 0x0002), /* Compaq WL100 11 Mbps Wireless Adapter */
22 PCMCIA_DEVICE_MANF_CARD(0x0156, 0x0002), /* Lucent Orinoco and old Intersil */
23 PCMCIA_DEVICE_MANF_CARD(0x016b, 0x0001), /* Ericsson WLAN Card C11 */
24 PCMCIA_DEVICE_MANF_CARD(0x01eb, 0x080a), /* Nortel Networks eMobility 802.11 Wireless Adapter */
25 PCMCIA_DEVICE_MANF_CARD(0x01ff, 0x0008), /* Intermec MobileLAN 11Mbps 802.11b WLAN Card */
26- PCMCIA_DEVICE_MANF_CARD(0x0250, 0x0002), /* Samsung SWL2000-N 11Mb/s WLAN Card */
27 PCMCIA_DEVICE_MANF_CARD(0x0261, 0x0002), /* AirWay 802.11 Adapter (PCMCIA) */
28 PCMCIA_DEVICE_MANF_CARD(0x0268, 0x0001), /* ARtem Onair */
29 PCMCIA_DEVICE_MANF_CARD(0x026f, 0x0305), /* Buffalo WLI-PCM-S11 */
30- PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1612), /* Linksys WPC11 Version 2.5 */
31- PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1613), /* Linksys WPC11 Version 3 */
32- PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0002), /* Compaq HNW-100 11 Mbps Wireless Adapter */
33 PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0673), /* Linksys WCF12 Wireless CompactFlash Card */
34- PCMCIA_DEVICE_MANF_CARD(0x02aa, 0x0002), /* ASUS SpaceLink WL-100 */
35 PCMCIA_DEVICE_MANF_CARD(0x02ac, 0x0002), /* SpeedStream SS1021 Wireless Adapter */
36 PCMCIA_DEVICE_MANF_CARD(0x14ea, 0xb001), /* PLANEX RoadLannerWave GW-NS11H */
37- PCMCIA_DEVICE_MANF_CARD(0x50c2, 0x7300), /* Airvast WN-100 */
38 PCMCIA_DEVICE_MANF_CARD(0x9005, 0x0021), /* Adaptec Ultra Wireless ANW-8030 */
39 PCMCIA_DEVICE_MANF_CARD(0xc001, 0x0008), /* CONTEC FLEXSCAN/FX-DDS110-PCC */
40 PCMCIA_DEVICE_MANF_CARD(0xc250, 0x0002), /* Conceptronic CON11Cpro, EMTAC A2424i */
41- PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0002), /* Safeway 802.11b, ZCOMAX AirRunner/XI-300 */
42- PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0005), /* D-Link DCF660, Sandisk Connect SDWCFB-000 */
43 PCMCIA_DEVICE_PROD_ID12(" ", "IEEE 802.11 Wireless LAN/PC Card", 0x3b6e20c8, 0xefccafe9),
44 PCMCIA_DEVICE_PROD_ID12("3Com", "3CRWE737A AirConnect Wireless LAN PC Card", 0x41240e5b, 0x56010af3),
45 PCMCIA_DEVICE_PROD_ID12("ACTIONTEC", "PRISM Wireless LAN PC Card", 0x393089da, 0xa71e69d5),
46@@ -487,31 +475,25 @@
47 PCMCIA_DEVICE_PROD_ID123("AIRVAST", "IEEE 802.11b Wireless PCMCIA Card", "HFA3863", 0xea569531, 0x4bcb9645, 0x355cb092),
48 PCMCIA_DEVICE_PROD_ID12("Allied Telesyn", "AT-WCL452 Wireless PCMCIA Radio", 0x5cd01705, 0x4271660f),
49 PCMCIA_DEVICE_PROD_ID12("ASUS", "802_11b_PC_CARD_25", 0x78fc06ee, 0xdb9aa842),
50- PCMCIA_DEVICE_PROD_ID12("ASUS", "802_11B_CF_CARD_25", 0x78fc06ee, 0x45a50c1e),
51 PCMCIA_DEVICE_PROD_ID12("Avaya Communication", "Avaya Wireless PC Card", 0xd8a43b78, 0x0d341169),
52 PCMCIA_DEVICE_PROD_ID12("BENQ", "AWL100 PCMCIA ADAPTER", 0x35dadc74, 0x01f7fedb),
53 PCMCIA_DEVICE_PROD_ID12("BUFFALO", "WLI-PCM-L11G", 0x2decece3, 0xf57ca4b3),
54- PCMCIA_DEVICE_PROD_ID12("BUFFALO", "WLI-CF-S11G", 0x2decece3, 0x82067c18),
55 PCMCIA_DEVICE_PROD_ID12("Cabletron", "RoamAbout 802.11 DS", 0x32d445f5, 0xedeffd90),
56- PCMCIA_DEVICE_PROD_ID12("Compaq", "WL200_11Mbps_Wireless_PCI_Card", 0x54f7c49c, 0x15a75e5b),
57 PCMCIA_DEVICE_PROD_ID123("corega", "WL PCCL-11", "ISL37300P", 0x0a21501a, 0x59868926, 0xc9049a39),
58 PCMCIA_DEVICE_PROD_ID12("corega K.K.", "Wireless LAN PCC-11", 0x5261440f, 0xa6405584),
59 PCMCIA_DEVICE_PROD_ID12("corega K.K.", "Wireless LAN PCCA-11", 0x5261440f, 0xdf6115f9),
60 PCMCIA_DEVICE_PROD_ID12("corega_K.K.", "Wireless_LAN_PCCB-11", 0x29e33311, 0xee7a27ae),
61 PCMCIA_DEVICE_PROD_ID12("D", "Link DRC-650 11Mbps WLAN Card", 0x71b18589, 0xf144e3ac),
62- PCMCIA_DEVICE_PROD_ID12("D", "Link DWL-650 11Mbps WLAN Card", 0x71b18589, 0xb6f1b0ab),
63 PCMCIA_DEVICE_PROD_ID12("D-Link Corporation", "D-Link DWL-650H 11Mbps WLAN Adapter", 0xef544d24, 0xcd8ea916),
64 PCMCIA_DEVICE_PROD_ID12("Digital Data Communications", "WPC-0100", 0xfdd73470, 0xe0b6f146),
65 PCMCIA_DEVICE_PROD_ID12("ELSA", "AirLancer MC-11", 0x4507a33a, 0xef54f0e3),
66 PCMCIA_DEVICE_PROD_ID12("HyperLink", "Wireless PC Card 11Mbps", 0x56cc3f1a, 0x0bcf220c),
67 PCMCIA_DEVICE_PROD_ID123("Instant Wireless ", " Network PC CARD", "Version 01.02", 0x11d901af, 0x6e9bd926, 0x4b74baa0),
68 PCMCIA_DEVICE_PROD_ID12("Intel", "PRO/Wireless 2011 LAN PC Card", 0x816cc815, 0x07f58077),
69- PCMCIA_DEVICE_PROD_ID12("INTERSIL", "HFA384x/IEEE", 0x74c5e40d, 0xdb472a18),
70 PCMCIA_DEVICE_PROD_ID12("INTERSIL", "I-GATE 11M PC Card / PC Card plus", 0x74c5e40d, 0x8304ff77),
71 PCMCIA_DEVICE_PROD_ID12("Intersil", "PRISM 2_5 PCMCIA ADAPTER", 0x4b801a17, 0x6345a0bf),
72 PCMCIA_DEVICE_PROD_ID123("Intersil", "PRISM Freedom PCMCIA Adapter", "ISL37100P", 0x4b801a17, 0xf222ec2d, 0x630d52b2),
73 PCMCIA_DEVICE_PROD_ID12("LeArtery", "SYNCBYAIR 11Mbps Wireless LAN PC Card", 0x7e3b326a, 0x49893e92),
74- PCMCIA_DEVICE_PROD_ID12("Linksys", "Wireless CompactFlash Card", 0x0733cc81, 0x0c52f395),
75 PCMCIA_DEVICE_PROD_ID12("Lucent Technologies", "WaveLAN/IEEE", 0x23eb9949, 0xc562e72a),
76 PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11", 0x481e0094, 0x7360e410),
77 PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11G", 0x481e0094, 0xf57ca4b3),
78@@ -529,10 +511,8 @@
79 PCMCIA_DEVICE_PROD_ID12("PROXIM", "LAN PCI CARD HARMONY 80211B", 0xc6536a5e, 0x9f494e26),
80 PCMCIA_DEVICE_PROD_ID12("SAMSUNG", "11Mbps WLAN Card", 0x43d74cb4, 0x579bd91b),
81 PCMCIA_DEVICE_PROD_ID12("SMC", "SMC2532W-B EliteConnect Wireless Adapter", 0xc4f8b18b, 0x196bd757),
82- PCMCIA_DEVICE_PROD_ID12("SMC", "SMC2632W", 0xc4f8b18b, 0x474a1f2a),
83 PCMCIA_DEVICE_PROD_ID12("Symbol Technologies", "LA4111 Spectrum24 Wireless LAN PC Card", 0x3f02b4d6, 0x3663cb0e),
84 PCMCIA_DEVICE_PROD_ID123("The Linksys Group, Inc.", "Instant Wireless Network PC Card", "ISL37300P", 0xa5f472c2, 0x590eb502, 0xc9049a39),
85- PCMCIA_DEVICE_PROD_ID12("ZoomAir 11Mbps High", "Rate wireless Networking", 0x273fe3db, 0x32a1eaee),
86 PCMCIA_DEVICE_NULL,
87 };
88 MODULE_DEVICE_TABLE(pcmcia, orinoco_cs_ids);
diff --git a/meta/packages/linux/linux-rp-2.6.21/pxa-serial-hack.patch b/meta/packages/linux/linux-rp-2.6.21/pxa-serial-hack.patch
new file mode 100644
index 0000000000..9ece71331a
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21/pxa-serial-hack.patch
@@ -0,0 +1,80 @@
1---
2 drivers/serial/8250.c | 5 +++++
3 drivers/serial/serial_core.c | 1 +
4 drivers/serial/serial_cs.c | 12 +++++++++---
5 include/linux/serial_core.h | 1 +
6 4 files changed, 16 insertions(+), 3 deletions(-)
7
8Index: git/drivers/serial/8250.c
9===================================================================
10--- git.orig/drivers/serial/8250.c 2006-10-31 16:29:50.000000000 +0000
11+++ git/drivers/serial/8250.c 2006-10-31 16:29:53.000000000 +0000
12@@ -2429,7 +2429,12 @@ static struct uart_driver serial8250_reg
13 .driver_name = "serial",
14 .dev_name = "ttyS",
15 .major = TTY_MAJOR,
16+#ifdef CONFIG_SERIAL_PXA
17+ .minor = 64 + 3,
18+ .name_base = 3,
19+#else
20 .minor = 64,
21+#endif
22 .nr = UART_NR,
23 .cons = SERIAL8250_CONSOLE,
24 };
25Index: git/drivers/serial/serial_core.c
26===================================================================
27--- git.orig/drivers/serial/serial_core.c 2006-10-31 16:09:17.000000000 +0000
28+++ git/drivers/serial/serial_core.c 2006-10-31 16:29:53.000000000 +0000
29@@ -2183,6 +2183,7 @@ int uart_register_driver(struct uart_dri
30 normal->owner = drv->owner;
31 normal->driver_name = drv->driver_name;
32 normal->name = drv->dev_name;
33+ normal->name_base = drv->name_base;
34 normal->major = drv->major;
35 normal->minor_start = drv->minor;
36 normal->type = TTY_DRIVER_TYPE_SERIAL;
37Index: git/include/linux/serial_core.h
38===================================================================
39--- git.orig/include/linux/serial_core.h 2006-10-31 16:09:45.000000000 +0000
40+++ git/include/linux/serial_core.h 2006-10-31 16:30:36.000000000 +0000
41@@ -339,6 +339,7 @@ struct uart_driver {
42 struct module *owner;
43 const char *driver_name;
44 const char *dev_name;
45+ int name_base;
46 int major;
47 int minor;
48 int nr;
49Index: git/drivers/serial/serial_cs.c
50===================================================================
51--- git.orig/drivers/serial/serial_cs.c 2006-10-31 16:09:17.000000000 +0000
52+++ git/drivers/serial/serial_cs.c 2006-10-31 16:29:53.000000000 +0000
53@@ -390,7 +390,7 @@ static int setup_serial(struct pcmcia_de
54 kio_addr_t iobase, int irq)
55 {
56 struct uart_port port;
57- int line;
58+ int line, linestart;
59
60 memset(&port, 0, sizeof (struct uart_port));
61 port.iobase = iobase;
62@@ -411,10 +411,16 @@ static int setup_serial(struct pcmcia_de
63 return -EINVAL;
64 }
65
66+#if CONFIG_SERIAL_PXA
67+ linestart = 3;
68+#else
69+ linestart = 0;
70+#endif
71+
72 info->line[info->ndev] = line;
73- sprintf(info->node[info->ndev].dev_name, "ttyS%d", line);
74+ sprintf(info->node[info->ndev].dev_name, "ttyS%d", line+linestart);
75 info->node[info->ndev].major = TTY_MAJOR;
76- info->node[info->ndev].minor = 0x40 + line;
77+ info->node[info->ndev].minor = 0x40 + line + linestart;
78 if (info->ndev > 0)
79 info->node[info->ndev - 1].next = &info->node[info->ndev];
80 info->ndev++;
diff --git a/meta/packages/linux/linux-rp-2.6.21/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch b/meta/packages/linux/linux-rp-2.6.21/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
new file mode 100644
index 0000000000..18bf4268fc
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
@@ -0,0 +1,155 @@
1
2From: Petr Vandrovec <vandrove@vc.cvut.cz>
3
4Patch below adds support for using different prescaler than 16 for 16c950
5chips. This is needed for using Fujitsu-Siemens Connect2Air compact-flash
6card, which comes (apparently) with 806kHz clocks, and so you have to
7program prescaler for division by 7, and DLAB to 1, to get 115200Bd.
8
9To get card properly running you also have to add lines below to
10/etc/pcmcia/serial.opts so kernel knows that base speed is not 115200 but
1150400 (50400 * 16 = 806400; 806400 / 7 = 115200). As I've found no code
12specifying baud_rate in serial_cs, I assume that specifying it in
13serial.opts is right way to do this type of things.
14
15Patch also fixes problem that for UPF_MAGIC_MULTIPLIER maximum possible
16baud rate passed to uart code was uartclk / 16 while correct value for
17these devices (and for 16c950) is uartclk / 4.
18
19Patch also fixes problem that for UPF_MAGIC_MULTIPLIER devices with
20baud_rate 19200 or 9600 spd_cust did not work correctly. Not that such
21devices exist, but we should not ignore spd_cust, user probably knows why
22he asked for spd_cust.
23
24serial.opts:
25
26case "$MANFID-$FUNCID-$PRODID_1-$PRODID_2-$PRODID_3-$PRODID_4" in
27'0279,950b-2-GPRS Modem---')
28 SERIAL_OPTS="baud_base 50400"
29 ;;
30esac
31
32Cc: David Woodhouse <dwmw2@infradead.org>
33Signed-off-by: Andrew Morton <akpm@osdl.org>
34---
35
36 drivers/serial/8250.c | 82 +++++++++++++++++++++++++++++++++++++++-----------
37 1 files changed, 64 insertions(+), 18 deletions(-)
38
39diff -puN drivers/serial/8250.c~serial-add-support-for-non-standard-xtals-to-16c950-driver drivers/serial/8250.c
40--- devel/drivers/serial/8250.c~serial-add-support-for-non-standard-xtals-to-16c950-driver 2005-09-12 03:34:57.000000000 -0700
41+++ devel-akpm/drivers/serial/8250.c 2005-09-12 03:34:57.000000000 -0700
42@@ -1653,24 +1653,58 @@ static void serial8250_shutdown(struct u
43 serial_unlink_irq_chain(up);
44 }
45
46-static unsigned int serial8250_get_divisor(struct uart_port *port, unsigned int baud)
47+static unsigned int serial8250_get_divisor(struct uart_port *port, unsigned int baud,
48+ unsigned int *prescaler)
49 {
50- unsigned int quot;
51-
52- /*
53- * Handle magic divisors for baud rates above baud_base on
54- * SMSC SuperIO chips.
55+ /*
56+ * Use special handling only if user did not supply its own divider.
57+ * spd_cust is defined in terms of baud_base, so always use default
58+ * prescaler when spd_cust is requested.
59 */
60- if ((port->flags & UPF_MAGIC_MULTIPLIER) &&
61- baud == (port->uartclk/4))
62- quot = 0x8001;
63- else if ((port->flags & UPF_MAGIC_MULTIPLIER) &&
64- baud == (port->uartclk/8))
65- quot = 0x8002;
66- else
67- quot = uart_get_divisor(port, baud);
68
69- return quot;
70+ *prescaler = 16;
71+ if (baud != 38400 || (port->flags & UPF_SPD_MASK) != UPF_SPD_CUST) {
72+ unsigned int quot = port->uartclk / baud;
73+
74+ /*
75+ * Handle magic divisors for baud rates above baud_base on
76+ * SMSC SuperIO chips.
77+ */
78+ if (port->flags & UPF_MAGIC_MULTIPLIER) {
79+ if (quot == 4) {
80+ return 0x8001;
81+ } else if (quot == 8) {
82+ return 0x8002;
83+ }
84+ }
85+ if (port->type == PORT_16C950) {
86+ /*
87+ * This computes TCR value (4 to 16), not CPR value (which can
88+ * be between 1.000 and 31.875) - chip I have uses XTAL of
89+ * 806400Hz, and so a division by 7 is required to get 115200Bd.
90+ * I'm leaving CPR disabled for now, until someone will
91+ * hit even more exotic XTAL (it is needed to get 500kbps
92+ * or 1000kbps from 18.432MHz XTAL, but I have no device
93+ * which would benefit from doing that).
94+ *
95+ * If we can use divide by 16, use it. Otherwise look for
96+ * better prescaler, from 15 to 4. If quotient cannot
97+ * be divided by any integer value between 4 and 15, use 4.
98+ */
99+ if (quot & 0x0F) {
100+ unsigned int div;
101+
102+ for (div = 15; div > 4; div--) {
103+ if (quot % div == 0) {
104+ break;
105+ }
106+ }
107+ *prescaler = div;
108+ return quot / div;
109+ }
110+ }
111+ }
112+ return uart_get_divisor(port, baud);
113 }
114
115 static void
116@@ -1680,7 +1714,7 @@ serial8250_set_termios(struct uart_port
117 struct uart_8250_port *up = (struct uart_8250_port *)port;
118 unsigned char cval, fcr = 0;
119 unsigned long flags;
120- unsigned int baud, quot;
121+ unsigned int baud, quot, prescaler;
122
123 switch (termios->c_cflag & CSIZE) {
124 case CS5:
125@@ -1712,8 +1746,13 @@ serial8250_set_termios(struct uart_port
126 /*
127 * Ask the core to calculate the divisor for us.
128 */
129- baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk/16);
130- quot = serial8250_get_divisor(port, baud);
131+
132+ if (port->type == PORT_16C950 || (port->flags & UPF_MAGIC_MULTIPLIER)) {
133+ baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk/4);
134+ } else {
135+ baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk/16);
136+ }
137+ quot = serial8250_get_divisor(port, baud, &prescaler);
138
139 /*
140 * Oxford Semi 952 rev B workaround
141@@ -1817,6 +1856,13 @@ serial8250_set_termios(struct uart_port
142 serial_outp(up, UART_DLM, quot >> 8); /* MS of divisor */
143
144 /*
145+ * Program prescaler for 16C950 chips.
146+ */
147+ if (up->port.type == PORT_16C950) {
148+ serial_icr_write(up, UART_TCR, prescaler == 16 ? 0 : prescaler);
149+ }
150+
151+ /*
152 * LCR DLAB must be set to enable 64-byte FIFO mode. If the FCR
153 * is written without DLAB set, this mode will be disabled.
154 */
155_
diff --git a/meta/packages/linux/linux-rp-2.6.21/squashfs3.0-2.6.15.patch b/meta/packages/linux/linux-rp-2.6.21/squashfs3.0-2.6.15.patch
new file mode 100644
index 0000000000..405d4ec124
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21/squashfs3.0-2.6.15.patch
@@ -0,0 +1,4191 @@
1 fs/Kconfig | 65 +
2 fs/Makefile | 1
3 fs/squashfs/Makefile | 7
4 fs/squashfs/inode.c | 2124 +++++++++++++++++++++++++++++++++++++++++
5 fs/squashfs/squashfs.h | 86 +
6 fs/squashfs/squashfs2_0.c | 757 ++++++++++++++
7 include/linux/squashfs_fs.h | 911 +++++++++++++++++
8 include/linux/squashfs_fs_i.h | 45
9 include/linux/squashfs_fs_sb.h | 74 +
10 init/do_mounts_rd.c | 13
11 10 files changed, 4083 insertions(+)
12
13Index: git/fs/Kconfig
14===================================================================
15--- git.orig/fs/Kconfig 2006-10-31 16:09:22.000000000 +0000
16+++ git/fs/Kconfig 2006-10-31 21:26:45.000000000 +0000
17@@ -1407,6 +1407,71 @@ config CRAMFS
18
19 If unsure, say N.
20
21+config SQUASHFS
22+ tristate "SquashFS 3.0 - Squashed file system support"
23+ select ZLIB_INFLATE
24+ help
25+ Saying Y here includes support for SquashFS 3.0 (a Compressed Read-Only File
26+ System). Squashfs is a highly compressed read-only filesystem for Linux.
27+ It uses zlib compression to compress both files, inodes and directories.
28+ Inodes in the system are very small and all blocks are packed to minimise
29+ data overhead. Block sizes greater than 4K are supported up to a maximum of 64K.
30+ SquashFS 3.0 supports 64 bit filesystems and files (larger than 4GB), full
31+ uid/gid information, hard links and timestamps.
32+
33+ Squashfs is intended for general read-only filesystem use, for archival
34+ use (i.e. in cases where a .tar.gz file may be used), and in embedded
35+ systems where low overhead is needed. Further information and filesystem tools
36+ are available from http://squashfs.sourceforge.net.
37+
38+ If you want to compile this as a module ( = code which can be
39+ inserted in and removed from the running kernel whenever you want),
40+ say M here and read <file:Documentation/modules.txt>. The module
41+ will be called squashfs. Note that the root file system (the one
42+ containing the directory /) cannot be compiled as a module.
43+
44+ If unsure, say N.
45+
46+config SQUASHFS_EMBEDDED
47+
48+ bool "Additional options for memory-constrained systems"
49+ depends on SQUASHFS
50+ default n
51+ help
52+ Saying Y here allows you to specify cache sizes and how Squashfs
53+ allocates memory. This is only intended for memory constrained
54+ systems.
55+
56+ If unsure, say N.
57+
58+config SQUASHFS_FRAGMENT_CACHE_SIZE
59+ int "Number of fragments cached" if SQUASHFS_EMBEDDED
60+ depends on SQUASHFS
61+ default "3"
62+ help
63+ By default SquashFS caches the last 3 fragments read from
64+ the filesystem. Increasing this amount may mean SquashFS
65+ has to re-read fragments less often from disk, at the expense
66+ of extra system memory. Decreasing this amount will mean
67+ SquashFS uses less memory at the expense of extra reads from disk.
68+
69+ Note there must be at least one cached fragment. Anything
70+ much more than three will probably not make much difference.
71+
72+config SQUASHFS_VMALLOC
73+ bool "Use Vmalloc rather than Kmalloc" if SQUASHFS_EMBEDDED
74+ depends on SQUASHFS
75+ default n
76+ help
77+ By default SquashFS uses kmalloc to obtain fragment cache memory.
78+ Kmalloc memory is the standard kernel allocator, but it can fail
79+ on memory constrained systems. Because of the way Vmalloc works,
80+ Vmalloc can succeed when kmalloc fails. Specifying this option
81+ will make SquashFS always use Vmalloc to allocate the
82+ fragment cache memory.
83+
84+ If unsure, say N.
85+
86 config VXFS_FS
87 tristate "FreeVxFS file system support (VERITAS VxFS(TM) compatible)"
88 depends on BLOCK
89Index: git/fs/Makefile
90===================================================================
91--- git.orig/fs/Makefile 2006-10-31 16:09:22.000000000 +0000
92+++ git/fs/Makefile 2006-10-31 21:26:45.000000000 +0000
93@@ -67,6 +67,7 @@ obj-$(CONFIG_JBD) += jbd/
94 obj-$(CONFIG_JBD2) += jbd2/
95 obj-$(CONFIG_EXT2_FS) += ext2/
96 obj-$(CONFIG_CRAMFS) += cramfs/
97+obj-$(CONFIG_SQUASHFS) += squashfs/
98 obj-$(CONFIG_RAMFS) += ramfs/
99 obj-$(CONFIG_HUGETLBFS) += hugetlbfs/
100 obj-$(CONFIG_CODA_FS) += coda/
101Index: git/fs/squashfs/inode.c
102===================================================================
103--- /dev/null 1970-01-01 00:00:00.000000000 +0000
104+++ git/fs/squashfs/inode.c 2006-11-01 18:01:32.000000000 +0000
105@@ -0,0 +1,2124 @@
106+/*
107+ * Squashfs - a compressed read only filesystem for Linux
108+ *
109+ * Copyright (c) 2002, 2003, 2004, 2005, 2006
110+ * Phillip Lougher <phillip@lougher.org.uk>
111+ *
112+ * This program is free software; you can redistribute it and/or
113+ * modify it under the terms of the GNU General Public License
114+ * as published by the Free Software Foundation; either version 2,
115+ * or (at your option) any later version.
116+ *
117+ * This program is distributed in the hope that it will be useful,
118+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
119+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
120+ * GNU General Public License for more details.
121+ *
122+ * You should have received a copy of the GNU General Public License
123+ * along with this program; if not, write to the Free Software
124+ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
125+ *
126+ * inode.c
127+ */
128+
129+#include <linux/types.h>
130+#include <linux/squashfs_fs.h>
131+#include <linux/module.h>
132+#include <linux/errno.h>
133+#include <linux/slab.h>
134+#include <linux/fs.h>
135+#include <linux/smp_lock.h>
136+#include <linux/slab.h>
137+#include <linux/squashfs_fs_sb.h>
138+#include <linux/squashfs_fs_i.h>
139+#include <linux/buffer_head.h>
140+#include <linux/vfs.h>
141+#include <linux/init.h>
142+#include <linux/dcache.h>
143+#include <linux/wait.h>
144+#include <linux/zlib.h>
145+#include <linux/blkdev.h>
146+#include <linux/vmalloc.h>
147+#include <asm/uaccess.h>
148+#include <asm/semaphore.h>
149+
150+#include "squashfs.h"
151+
152+static void squashfs_put_super(struct super_block *);
153+static int squashfs_statfs(struct dentry *, struct kstatfs *);
154+static int squashfs_symlink_readpage(struct file *file, struct page *page);
155+static int squashfs_readpage(struct file *file, struct page *page);
156+static int squashfs_readpage4K(struct file *file, struct page *page);
157+static int squashfs_readdir(struct file *, void *, filldir_t);
158+static struct inode *squashfs_alloc_inode(struct super_block *sb);
159+static void squashfs_destroy_inode(struct inode *inode);
160+static int init_inodecache(void);
161+static void destroy_inodecache(void);
162+static struct dentry *squashfs_lookup(struct inode *, struct dentry *,
163+ struct nameidata *);
164+static struct inode *squashfs_iget(struct super_block *s, squashfs_inode_t inode);
165+static long long read_blocklist(struct inode *inode, int index,
166+ int readahead_blks, char *block_list,
167+ unsigned short **block_p, unsigned int *bsize);
168+static int squashfs_get_sb(struct file_system_type *, int,
169+ const char *, void *, struct vfsmount *);
170+
171+
172+static z_stream stream;
173+
174+static struct file_system_type squashfs_fs_type = {
175+ .owner = THIS_MODULE,
176+ .name = "squashfs",
177+ .get_sb = squashfs_get_sb,
178+ .kill_sb = kill_block_super,
179+ .fs_flags = FS_REQUIRES_DEV
180+};
181+
182+static unsigned char squashfs_filetype_table[] = {
183+ DT_UNKNOWN, DT_DIR, DT_REG, DT_LNK, DT_BLK, DT_CHR, DT_FIFO, DT_SOCK
184+};
185+
186+static struct super_operations squashfs_ops = {
187+ .alloc_inode = squashfs_alloc_inode,
188+ .destroy_inode = squashfs_destroy_inode,
189+ .statfs = squashfs_statfs,
190+ .put_super = squashfs_put_super,
191+};
192+
193+SQSH_EXTERN struct address_space_operations squashfs_symlink_aops = {
194+ .readpage = squashfs_symlink_readpage
195+};
196+
197+SQSH_EXTERN struct address_space_operations squashfs_aops = {
198+ .readpage = squashfs_readpage
199+};
200+
201+SQSH_EXTERN struct address_space_operations squashfs_aops_4K = {
202+ .readpage = squashfs_readpage4K
203+};
204+
205+static struct file_operations squashfs_dir_ops = {
206+ .read = generic_read_dir,
207+ .readdir = squashfs_readdir
208+};
209+
210+SQSH_EXTERN struct inode_operations squashfs_dir_inode_ops = {
211+ .lookup = squashfs_lookup
212+};
213+
214+
215+static struct buffer_head *get_block_length(struct super_block *s,
216+ int *cur_index, int *offset, int *c_byte)
217+{
218+ struct squashfs_sb_info *msblk = s->s_fs_info;
219+ unsigned short temp;
220+ struct buffer_head *bh;
221+
222+ if (!(bh = sb_bread(s, *cur_index)))
223+ goto out;
224+
225+ if (msblk->devblksize - *offset == 1) {
226+ if (msblk->swap)
227+ ((unsigned char *) &temp)[1] = *((unsigned char *)
228+ (bh->b_data + *offset));
229+ else
230+ ((unsigned char *) &temp)[0] = *((unsigned char *)
231+ (bh->b_data + *offset));
232+ brelse(bh);
233+ if (!(bh = sb_bread(s, ++(*cur_index))))
234+ goto out;
235+ if (msblk->swap)
236+ ((unsigned char *) &temp)[0] = *((unsigned char *)
237+ bh->b_data);
238+ else
239+ ((unsigned char *) &temp)[1] = *((unsigned char *)
240+ bh->b_data);
241+ *c_byte = temp;
242+ *offset = 1;
243+ } else {
244+ if (msblk->swap) {
245+ ((unsigned char *) &temp)[1] = *((unsigned char *)
246+ (bh->b_data + *offset));
247+ ((unsigned char *) &temp)[0] = *((unsigned char *)
248+ (bh->b_data + *offset + 1));
249+ } else {
250+ ((unsigned char *) &temp)[0] = *((unsigned char *)
251+ (bh->b_data + *offset));
252+ ((unsigned char *) &temp)[1] = *((unsigned char *)
253+ (bh->b_data + *offset + 1));
254+ }
255+ *c_byte = temp;
256+ *offset += 2;
257+ }
258+
259+ if (SQUASHFS_CHECK_DATA(msblk->sblk.flags)) {
260+ if (*offset == msblk->devblksize) {
261+ brelse(bh);
262+ if (!(bh = sb_bread(s, ++(*cur_index))))
263+ goto out;
264+ *offset = 0;
265+ }
266+ if (*((unsigned char *) (bh->b_data + *offset)) !=
267+ SQUASHFS_MARKER_BYTE) {
268+ ERROR("Metadata block marker corrupt @ %x\n",
269+ *cur_index);
270+ brelse(bh);
271+ goto out;
272+ }
273+ (*offset)++;
274+ }
275+ return bh;
276+
277+out:
278+ return NULL;
279+}
280+
281+
282+SQSH_EXTERN unsigned int squashfs_read_data(struct super_block *s, char *buffer,
283+ long long index, unsigned int length,
284+ long long *next_index)
285+{
286+ struct squashfs_sb_info *msblk = s->s_fs_info;
287+ struct buffer_head *bh[((SQUASHFS_FILE_MAX_SIZE - 1) >>
288+ msblk->devblksize_log2) + 2];
289+ unsigned int offset = index & ((1 << msblk->devblksize_log2) - 1);
290+ unsigned int cur_index = index >> msblk->devblksize_log2;
291+ int bytes, avail_bytes, b = 0, k;
292+ char *c_buffer;
293+ unsigned int compressed;
294+ unsigned int c_byte = length;
295+
296+ if (c_byte) {
297+ bytes = msblk->devblksize - offset;
298+ compressed = SQUASHFS_COMPRESSED_BLOCK(c_byte);
299+ c_buffer = compressed ? msblk->read_data : buffer;
300+ c_byte = SQUASHFS_COMPRESSED_SIZE_BLOCK(c_byte);
301+
302+ TRACE("Block @ 0x%llx, %scompressed size %d\n", index, compressed
303+ ? "" : "un", (unsigned int) c_byte);
304+
305+ if (!(bh[0] = sb_getblk(s, cur_index)))
306+ goto block_release;
307+
308+ for (b = 1; bytes < c_byte; b++) {
309+ if (!(bh[b] = sb_getblk(s, ++cur_index)))
310+ goto block_release;
311+ bytes += msblk->devblksize;
312+ }
313+ ll_rw_block(READ, b, bh);
314+ } else {
315+ if (!(bh[0] = get_block_length(s, &cur_index, &offset,
316+ &c_byte)))
317+ goto read_failure;
318+
319+ bytes = msblk->devblksize - offset;
320+ compressed = SQUASHFS_COMPRESSED(c_byte);
321+ c_buffer = compressed ? msblk->read_data : buffer;
322+ c_byte = SQUASHFS_COMPRESSED_SIZE(c_byte);
323+
324+ TRACE("Block @ 0x%llx, %scompressed size %d\n", index, compressed
325+ ? "" : "un", (unsigned int) c_byte);
326+
327+ for (b = 1; bytes < c_byte; b++) {
328+ if (!(bh[b] = sb_getblk(s, ++cur_index)))
329+ goto block_release;
330+ bytes += msblk->devblksize;
331+ }
332+ ll_rw_block(READ, b - 1, bh + 1);
333+ }
334+
335+ if (compressed)
336+ down(&msblk->read_data_mutex);
337+
338+ for (bytes = 0, k = 0; k < b; k++) {
339+ avail_bytes = (c_byte - bytes) > (msblk->devblksize - offset) ?
340+ msblk->devblksize - offset :
341+ c_byte - bytes;
342+ wait_on_buffer(bh[k]);
343+ if (!buffer_uptodate(bh[k]))
344+ goto block_release;
345+ memcpy(c_buffer + bytes, bh[k]->b_data + offset, avail_bytes);
346+ bytes += avail_bytes;
347+ offset = 0;
348+ brelse(bh[k]);
349+ }
350+
351+ /*
352+ * uncompress block
353+ */
354+ if (compressed) {
355+ int zlib_err;
356+
357+ stream.next_in = c_buffer;
358+ stream.avail_in = c_byte;
359+ stream.next_out = buffer;
360+ stream.avail_out = msblk->read_size;
361+
362+ if (((zlib_err = zlib_inflateInit(&stream)) != Z_OK) ||
363+ ((zlib_err = zlib_inflate(&stream, Z_FINISH))
364+ != Z_STREAM_END) || ((zlib_err =
365+ zlib_inflateEnd(&stream)) != Z_OK)) {
366+ ERROR("zlib_fs returned unexpected result 0x%x\n",
367+ zlib_err);
368+ bytes = 0;
369+ } else
370+ bytes = stream.total_out;
371+
372+ up(&msblk->read_data_mutex);
373+ }
374+
375+ if (next_index)
376+ *next_index = index + c_byte + (length ? 0 :
377+ (SQUASHFS_CHECK_DATA(msblk->sblk.flags)
378+ ? 3 : 2));
379+ return bytes;
380+
381+block_release:
382+ while (--b >= 0)
383+ brelse(bh[b]);
384+
385+read_failure:
386+ ERROR("sb_bread failed reading block 0x%x\n", cur_index);
387+ return 0;
388+}
389+
390+
391+SQSH_EXTERN int squashfs_get_cached_block(struct super_block *s, char *buffer,
392+ long long block, unsigned int offset,
393+ int length, long long *next_block,
394+ unsigned int *next_offset)
395+{
396+ struct squashfs_sb_info *msblk = s->s_fs_info;
397+ int n, i, bytes, return_length = length;
398+ long long next_index;
399+
400+ TRACE("Entered squashfs_get_cached_block [%llx:%x]\n", block, offset);
401+
402+ while ( 1 ) {
403+ for (i = 0; i < SQUASHFS_CACHED_BLKS; i++)
404+ if (msblk->block_cache[i].block == block)
405+ break;
406+
407+ down(&msblk->block_cache_mutex);
408+
409+ if (i == SQUASHFS_CACHED_BLKS) {
410+ /* read inode header block */
411+ for (i = msblk->next_cache, n = SQUASHFS_CACHED_BLKS;
412+ n ; n --, i = (i + 1) %
413+ SQUASHFS_CACHED_BLKS)
414+ if (msblk->block_cache[i].block !=
415+ SQUASHFS_USED_BLK)
416+ break;
417+
418+ if (n == 0) {
419+ wait_queue_t wait;
420+
421+ init_waitqueue_entry(&wait, current);
422+ add_wait_queue(&msblk->waitq, &wait);
423+ set_current_state(TASK_UNINTERRUPTIBLE);
424+ up(&msblk->block_cache_mutex);
425+ schedule();
426+ set_current_state(TASK_RUNNING);
427+ remove_wait_queue(&msblk->waitq, &wait);
428+ continue;
429+ }
430+ msblk->next_cache = (i + 1) % SQUASHFS_CACHED_BLKS;
431+
432+ if (msblk->block_cache[i].block ==
433+ SQUASHFS_INVALID_BLK) {
434+ if (!(msblk->block_cache[i].data =
435+ kmalloc(SQUASHFS_METADATA_SIZE,
436+ GFP_KERNEL))) {
437+ ERROR("Failed to allocate cache"
438+ "block\n");
439+ up(&msblk->block_cache_mutex);
440+ goto out;
441+ }
442+ }
443+
444+ msblk->block_cache[i].block = SQUASHFS_USED_BLK;
445+ up(&msblk->block_cache_mutex);
446+
447+ if (!(msblk->block_cache[i].length =
448+ squashfs_read_data(s,
449+ msblk->block_cache[i].data,
450+ block, 0, &next_index))) {
451+ ERROR("Unable to read cache block [%llx:%x]\n",
452+ block, offset);
453+ goto out;
454+ }
455+
456+ down(&msblk->block_cache_mutex);
457+ wake_up(&msblk->waitq);
458+ msblk->block_cache[i].block = block;
459+ msblk->block_cache[i].next_index = next_index;
460+ TRACE("Read cache block [%llx:%x]\n", block, offset);
461+ }
462+
463+ if (msblk->block_cache[i].block != block) {
464+ up(&msblk->block_cache_mutex);
465+ continue;
466+ }
467+
468+ if ((bytes = msblk->block_cache[i].length - offset) >= length) {
469+ if (buffer)
470+ memcpy(buffer, msblk->block_cache[i].data +
471+ offset, length);
472+ if (msblk->block_cache[i].length - offset == length) {
473+ *next_block = msblk->block_cache[i].next_index;
474+ *next_offset = 0;
475+ } else {
476+ *next_block = block;
477+ *next_offset = offset + length;
478+ }
479+ up(&msblk->block_cache_mutex);
480+ goto finish;
481+ } else {
482+ if (buffer) {
483+ memcpy(buffer, msblk->block_cache[i].data +
484+ offset, bytes);
485+ buffer += bytes;
486+ }
487+ block = msblk->block_cache[i].next_index;
488+ up(&msblk->block_cache_mutex);
489+ length -= bytes;
490+ offset = 0;
491+ }
492+ }
493+
494+finish:
495+ return return_length;
496+out:
497+ return 0;
498+}
499+
500+
501+static int get_fragment_location(struct super_block *s, unsigned int fragment,
502+ long long *fragment_start_block,
503+ unsigned int *fragment_size)
504+{
505+ struct squashfs_sb_info *msblk = s->s_fs_info;
506+ long long start_block =
507+ msblk->fragment_index[SQUASHFS_FRAGMENT_INDEX(fragment)];
508+ int offset = SQUASHFS_FRAGMENT_INDEX_OFFSET(fragment);
509+ struct squashfs_fragment_entry fragment_entry;
510+
511+ if (msblk->swap) {
512+ struct squashfs_fragment_entry sfragment_entry;
513+
514+ if (!squashfs_get_cached_block(s, (char *) &sfragment_entry,
515+ start_block, offset,
516+ sizeof(sfragment_entry), &start_block,
517+ &offset))
518+ goto out;
519+ SQUASHFS_SWAP_FRAGMENT_ENTRY(&fragment_entry, &sfragment_entry);
520+ } else
521+ if (!squashfs_get_cached_block(s, (char *) &fragment_entry,
522+ start_block, offset,
523+ sizeof(fragment_entry), &start_block,
524+ &offset))
525+ goto out;
526+
527+ *fragment_start_block = fragment_entry.start_block;
528+ *fragment_size = fragment_entry.size;
529+
530+ return 1;
531+
532+out:
533+ return 0;
534+}
535+
536+
537+SQSH_EXTERN void release_cached_fragment(struct squashfs_sb_info *msblk, struct
538+ squashfs_fragment_cache *fragment)
539+{
540+ down(&msblk->fragment_mutex);
541+ fragment->locked --;
542+ wake_up(&msblk->fragment_wait_queue);
543+ up(&msblk->fragment_mutex);
544+}
545+
546+
547+SQSH_EXTERN struct squashfs_fragment_cache *get_cached_fragment(struct super_block
548+ *s, long long start_block,
549+ int length)
550+{
551+ int i, n, nf;
552+ struct squashfs_sb_info *msblk = s->s_fs_info;
553+
554+ while ( 1 ) {
555+ down(&msblk->fragment_mutex);
556+
557+ for (i = 0; i < SQUASHFS_CACHED_FRAGMENTS &&
558+ msblk->fragment[i].block != start_block; i++);
559+
560+ if (i == SQUASHFS_CACHED_FRAGMENTS) {
561+ nf = (msblk->next_fragment + 1) %
562+ SQUASHFS_CACHED_FRAGMENTS;
563+ for (i = msblk->next_fragment, n =
564+ SQUASHFS_CACHED_FRAGMENTS; n &&
565+ msblk->fragment[i].locked; n--, i = (i + 1) %
566+ SQUASHFS_CACHED_FRAGMENTS);
567+
568+ if (n == 0) {
569+ wait_queue_t wait;
570+
571+ init_waitqueue_entry(&wait, current);
572+ add_wait_queue(&msblk->fragment_wait_queue,
573+ &wait);
574+ set_current_state(TASK_UNINTERRUPTIBLE);
575+ up(&msblk->fragment_mutex);
576+ schedule();
577+ set_current_state(TASK_RUNNING);
578+ remove_wait_queue(&msblk->fragment_wait_queue,
579+ &wait);
580+ continue;
581+ }
582+ msblk->next_fragment = nf;
583+
584+ if (msblk->fragment[i].data == NULL)
585+ if (!(msblk->fragment[i].data = SQUASHFS_ALLOC
586+ (SQUASHFS_FILE_MAX_SIZE))) {
587+ ERROR("Failed to allocate fragment "
588+ "cache block\n");
589+ up(&msblk->fragment_mutex);
590+ goto out;
591+ }
592+
593+ msblk->fragment[i].block = SQUASHFS_INVALID_BLK;
594+ msblk->fragment[i].locked = 1;
595+ up(&msblk->fragment_mutex);
596+
597+ if (!(msblk->fragment[i].length = squashfs_read_data(s,
598+ msblk->fragment[i].data,
599+ start_block, length, NULL))) {
600+ ERROR("Unable to read fragment cache block "
601+ "[%llx]\n", start_block);
602+ msblk->fragment[i].locked = 0;
603+ goto out;
604+ }
605+
606+ msblk->fragment[i].block = start_block;
607+ TRACE("New fragment %d, start block %lld, locked %d\n",
608+ i, msblk->fragment[i].block,
609+ msblk->fragment[i].locked);
610+ break;
611+ }
612+
613+ msblk->fragment[i].locked++;
614+ up(&msblk->fragment_mutex);
615+ TRACE("Got fragment %d, start block %lld, locked %d\n", i,
616+ msblk->fragment[i].block,
617+ msblk->fragment[i].locked);
618+ break;
619+ }
620+
621+ return &msblk->fragment[i];
622+
623+out:
624+ return NULL;
625+}
626+
627+
628+static struct inode *squashfs_new_inode(struct super_block *s,
629+ struct squashfs_base_inode_header *inodeb)
630+{
631+ struct squashfs_sb_info *msblk = s->s_fs_info;
632+ struct inode *i = new_inode(s);
633+
634+ if (i) {
635+ i->i_ino = inodeb->inode_number;
636+ i->i_mtime.tv_sec = inodeb->mtime;
637+ i->i_atime.tv_sec = inodeb->mtime;
638+ i->i_ctime.tv_sec = inodeb->mtime;
639+ i->i_uid = msblk->uid[inodeb->uid];
640+ i->i_mode = inodeb->mode;
641+ i->i_size = 0;
642+ if (inodeb->guid == SQUASHFS_GUIDS)
643+ i->i_gid = i->i_uid;
644+ else
645+ i->i_gid = msblk->guid[inodeb->guid];
646+ }
647+
648+ return i;
649+}
650+
651+
652+static struct inode *squashfs_iget(struct super_block *s, squashfs_inode_t inode)
653+{
654+ struct inode *i;
655+ struct squashfs_sb_info *msblk = s->s_fs_info;
656+ struct squashfs_super_block *sblk = &msblk->sblk;
657+ long long block = SQUASHFS_INODE_BLK(inode) +
658+ sblk->inode_table_start;
659+ unsigned int offset = SQUASHFS_INODE_OFFSET(inode);
660+ long long next_block;
661+ unsigned int next_offset;
662+ union squashfs_inode_header id, sid;
663+ struct squashfs_base_inode_header *inodeb = &id.base,
664+ *sinodeb = &sid.base;
665+
666+ TRACE("Entered squashfs_iget\n");
667+
668+ if (msblk->swap) {
669+ if (!squashfs_get_cached_block(s, (char *) sinodeb, block,
670+ offset, sizeof(*sinodeb), &next_block,
671+ &next_offset))
672+ goto failed_read;
673+ SQUASHFS_SWAP_BASE_INODE_HEADER(inodeb, sinodeb,
674+ sizeof(*sinodeb));
675+ } else
676+ if (!squashfs_get_cached_block(s, (char *) inodeb, block,
677+ offset, sizeof(*inodeb), &next_block,
678+ &next_offset))
679+ goto failed_read;
680+
681+ switch(inodeb->inode_type) {
682+ case SQUASHFS_FILE_TYPE: {
683+ unsigned int frag_size;
684+ long long frag_blk;
685+ struct squashfs_reg_inode_header *inodep = &id.reg;
686+ struct squashfs_reg_inode_header *sinodep = &sid.reg;
687+
688+ if (msblk->swap) {
689+ if (!squashfs_get_cached_block(s, (char *)
690+ sinodep, block, offset,
691+ sizeof(*sinodep), &next_block,
692+ &next_offset))
693+ goto failed_read;
694+ SQUASHFS_SWAP_REG_INODE_HEADER(inodep, sinodep);
695+ } else
696+ if (!squashfs_get_cached_block(s, (char *)
697+ inodep, block, offset,
698+ sizeof(*inodep), &next_block,
699+ &next_offset))
700+ goto failed_read;
701+
702+ frag_blk = SQUASHFS_INVALID_BLK;
703+ if (inodep->fragment != SQUASHFS_INVALID_FRAG &&
704+ !get_fragment_location(s,
705+ inodep->fragment, &frag_blk, &frag_size))
706+ goto failed_read;
707+
708+ if((i = squashfs_new_inode(s, inodeb)) == NULL)
709+ goto failed_read1;
710+
711+ i->i_nlink = 1;
712+ i->i_size = inodep->file_size;
713+ i->i_fop = &generic_ro_fops;
714+ i->i_mode |= S_IFREG;
715+ i->i_blocks = ((i->i_size - 1) >> 9) + 1;
716+ SQUASHFS_I(i)->u.s1.fragment_start_block = frag_blk;
717+ SQUASHFS_I(i)->u.s1.fragment_size = frag_size;
718+ SQUASHFS_I(i)->u.s1.fragment_offset = inodep->offset;
719+ SQUASHFS_I(i)->start_block = inodep->start_block;
720+ SQUASHFS_I(i)->u.s1.block_list_start = next_block;
721+ SQUASHFS_I(i)->offset = next_offset;
722+ if (sblk->block_size > 4096)
723+ i->i_data.a_ops = &squashfs_aops;
724+ else
725+ i->i_data.a_ops = &squashfs_aops_4K;
726+
727+ TRACE("File inode %x:%x, start_block %llx, "
728+ "block_list_start %llx, offset %x\n",
729+ SQUASHFS_INODE_BLK(inode), offset,
730+ inodep->start_block, next_block,
731+ next_offset);
732+ break;
733+ }
734+ case SQUASHFS_LREG_TYPE: {
735+ unsigned int frag_size;
736+ long long frag_blk;
737+ struct squashfs_lreg_inode_header *inodep = &id.lreg;
738+ struct squashfs_lreg_inode_header *sinodep = &sid.lreg;
739+
740+ if (msblk->swap) {
741+ if (!squashfs_get_cached_block(s, (char *)
742+ sinodep, block, offset,
743+ sizeof(*sinodep), &next_block,
744+ &next_offset))
745+ goto failed_read;
746+ SQUASHFS_SWAP_LREG_INODE_HEADER(inodep, sinodep);
747+ } else
748+ if (!squashfs_get_cached_block(s, (char *)
749+ inodep, block, offset,
750+ sizeof(*inodep), &next_block,
751+ &next_offset))
752+ goto failed_read;
753+
754+ frag_blk = SQUASHFS_INVALID_BLK;
755+ if (inodep->fragment != SQUASHFS_INVALID_FRAG &&
756+ !get_fragment_location(s,
757+ inodep->fragment, &frag_blk, &frag_size))
758+ goto failed_read;
759+
760+ if((i = squashfs_new_inode(s, inodeb)) == NULL)
761+ goto failed_read1;
762+
763+ i->i_nlink = inodep->nlink;
764+ i->i_size = inodep->file_size;
765+ i->i_fop = &generic_ro_fops;
766+ i->i_mode |= S_IFREG;
767+ i->i_blocks = ((i->i_size - 1) >> 9) + 1;
768+ SQUASHFS_I(i)->u.s1.fragment_start_block = frag_blk;
769+ SQUASHFS_I(i)->u.s1.fragment_size = frag_size;
770+ SQUASHFS_I(i)->u.s1.fragment_offset = inodep->offset;
771+ SQUASHFS_I(i)->start_block = inodep->start_block;
772+ SQUASHFS_I(i)->u.s1.block_list_start = next_block;
773+ SQUASHFS_I(i)->offset = next_offset;
774+ if (sblk->block_size > 4096)
775+ i->i_data.a_ops = &squashfs_aops;
776+ else
777+ i->i_data.a_ops = &squashfs_aops_4K;
778+
779+ TRACE("File inode %x:%x, start_block %llx, "
780+ "block_list_start %llx, offset %x\n",
781+ SQUASHFS_INODE_BLK(inode), offset,
782+ inodep->start_block, next_block,
783+ next_offset);
784+ break;
785+ }
786+ case SQUASHFS_DIR_TYPE: {
787+ struct squashfs_dir_inode_header *inodep = &id.dir;
788+ struct squashfs_dir_inode_header *sinodep = &sid.dir;
789+
790+ if (msblk->swap) {
791+ if (!squashfs_get_cached_block(s, (char *)
792+ sinodep, block, offset,
793+ sizeof(*sinodep), &next_block,
794+ &next_offset))
795+ goto failed_read;
796+ SQUASHFS_SWAP_DIR_INODE_HEADER(inodep, sinodep);
797+ } else
798+ if (!squashfs_get_cached_block(s, (char *)
799+ inodep, block, offset,
800+ sizeof(*inodep), &next_block,
801+ &next_offset))
802+ goto failed_read;
803+
804+ if((i = squashfs_new_inode(s, inodeb)) == NULL)
805+ goto failed_read1;
806+
807+ i->i_nlink = inodep->nlink;
808+ i->i_size = inodep->file_size;
809+ i->i_op = &squashfs_dir_inode_ops;
810+ i->i_fop = &squashfs_dir_ops;
811+ i->i_mode |= S_IFDIR;
812+ SQUASHFS_I(i)->start_block = inodep->start_block;
813+ SQUASHFS_I(i)->offset = inodep->offset;
814+ SQUASHFS_I(i)->u.s2.directory_index_count = 0;
815+ SQUASHFS_I(i)->u.s2.parent_inode = inodep->parent_inode;
816+
817+ TRACE("Directory inode %x:%x, start_block %x, offset "
818+ "%x\n", SQUASHFS_INODE_BLK(inode),
819+ offset, inodep->start_block,
820+ inodep->offset);
821+ break;
822+ }
823+ case SQUASHFS_LDIR_TYPE: {
824+ struct squashfs_ldir_inode_header *inodep = &id.ldir;
825+ struct squashfs_ldir_inode_header *sinodep = &sid.ldir;
826+
827+ if (msblk->swap) {
828+ if (!squashfs_get_cached_block(s, (char *)
829+ sinodep, block, offset,
830+ sizeof(*sinodep), &next_block,
831+ &next_offset))
832+ goto failed_read;
833+ SQUASHFS_SWAP_LDIR_INODE_HEADER(inodep,
834+ sinodep);
835+ } else
836+ if (!squashfs_get_cached_block(s, (char *)
837+ inodep, block, offset,
838+ sizeof(*inodep), &next_block,
839+ &next_offset))
840+ goto failed_read;
841+
842+ if((i = squashfs_new_inode(s, inodeb)) == NULL)
843+ goto failed_read1;
844+
845+ i->i_nlink = inodep->nlink;
846+ i->i_size = inodep->file_size;
847+ i->i_op = &squashfs_dir_inode_ops;
848+ i->i_fop = &squashfs_dir_ops;
849+ i->i_mode |= S_IFDIR;
850+ SQUASHFS_I(i)->start_block = inodep->start_block;
851+ SQUASHFS_I(i)->offset = inodep->offset;
852+ SQUASHFS_I(i)->u.s2.directory_index_start = next_block;
853+ SQUASHFS_I(i)->u.s2.directory_index_offset =
854+ next_offset;
855+ SQUASHFS_I(i)->u.s2.directory_index_count =
856+ inodep->i_count;
857+ SQUASHFS_I(i)->u.s2.parent_inode = inodep->parent_inode;
858+
859+ TRACE("Long directory inode %x:%x, start_block %x, "
860+ "offset %x\n",
861+ SQUASHFS_INODE_BLK(inode), offset,
862+ inodep->start_block, inodep->offset);
863+ break;
864+ }
865+ case SQUASHFS_SYMLINK_TYPE: {
866+ struct squashfs_symlink_inode_header *inodep =
867+ &id.symlink;
868+ struct squashfs_symlink_inode_header *sinodep =
869+ &sid.symlink;
870+
871+ if (msblk->swap) {
872+ if (!squashfs_get_cached_block(s, (char *)
873+ sinodep, block, offset,
874+ sizeof(*sinodep), &next_block,
875+ &next_offset))
876+ goto failed_read;
877+ SQUASHFS_SWAP_SYMLINK_INODE_HEADER(inodep,
878+ sinodep);
879+ } else
880+ if (!squashfs_get_cached_block(s, (char *)
881+ inodep, block, offset,
882+ sizeof(*inodep), &next_block,
883+ &next_offset))
884+ goto failed_read;
885+
886+ if((i = squashfs_new_inode(s, inodeb)) == NULL)
887+ goto failed_read1;
888+
889+ i->i_nlink = inodep->nlink;
890+ i->i_size = inodep->symlink_size;
891+ i->i_op = &page_symlink_inode_operations;
892+ i->i_data.a_ops = &squashfs_symlink_aops;
893+ i->i_mode |= S_IFLNK;
894+ SQUASHFS_I(i)->start_block = next_block;
895+ SQUASHFS_I(i)->offset = next_offset;
896+
897+ TRACE("Symbolic link inode %x:%x, start_block %llx, "
898+ "offset %x\n",
899+ SQUASHFS_INODE_BLK(inode), offset,
900+ next_block, next_offset);
901+ break;
902+ }
903+ case SQUASHFS_BLKDEV_TYPE:
904+ case SQUASHFS_CHRDEV_TYPE: {
905+ struct squashfs_dev_inode_header *inodep = &id.dev;
906+ struct squashfs_dev_inode_header *sinodep = &sid.dev;
907+
908+ if (msblk->swap) {
909+ if (!squashfs_get_cached_block(s, (char *)
910+ sinodep, block, offset,
911+ sizeof(*sinodep), &next_block,
912+ &next_offset))
913+ goto failed_read;
914+ SQUASHFS_SWAP_DEV_INODE_HEADER(inodep, sinodep);
915+ } else
916+ if (!squashfs_get_cached_block(s, (char *)
917+ inodep, block, offset,
918+ sizeof(*inodep), &next_block,
919+ &next_offset))
920+ goto failed_read;
921+
922+ if ((i = squashfs_new_inode(s, inodeb)) == NULL)
923+ goto failed_read1;
924+
925+ i->i_nlink = inodep->nlink;
926+ i->i_mode |= (inodeb->inode_type ==
927+ SQUASHFS_CHRDEV_TYPE) ? S_IFCHR :
928+ S_IFBLK;
929+ init_special_inode(i, i->i_mode,
930+ old_decode_dev(inodep->rdev));
931+
932+ TRACE("Device inode %x:%x, rdev %x\n",
933+ SQUASHFS_INODE_BLK(inode), offset,
934+ inodep->rdev);
935+ break;
936+ }
937+ case SQUASHFS_FIFO_TYPE:
938+ case SQUASHFS_SOCKET_TYPE: {
939+ struct squashfs_ipc_inode_header *inodep = &id.ipc;
940+ struct squashfs_ipc_inode_header *sinodep = &sid.ipc;
941+
942+ if (msblk->swap) {
943+ if (!squashfs_get_cached_block(s, (char *)
944+ sinodep, block, offset,
945+ sizeof(*sinodep), &next_block,
946+ &next_offset))
947+ goto failed_read;
948+ SQUASHFS_SWAP_IPC_INODE_HEADER(inodep, sinodep);
949+ } else
950+ if (!squashfs_get_cached_block(s, (char *)
951+ inodep, block, offset,
952+ sizeof(*inodep), &next_block,
953+ &next_offset))
954+ goto failed_read;
955+
956+ if ((i = squashfs_new_inode(s, inodeb)) == NULL)
957+ goto failed_read1;
958+
959+ i->i_nlink = inodep->nlink;
960+ i->i_mode |= (inodeb->inode_type == SQUASHFS_FIFO_TYPE)
961+ ? S_IFIFO : S_IFSOCK;
962+ init_special_inode(i, i->i_mode, 0);
963+ break;
964+ }
965+ default:
966+ ERROR("Unknown inode type %d in squashfs_iget!\n",
967+ inodeb->inode_type);
968+ goto failed_read1;
969+ }
970+
971+ insert_inode_hash(i);
972+ return i;
973+
974+failed_read:
975+ ERROR("Unable to read inode [%llx:%x]\n", block, offset);
976+
977+failed_read1:
978+ return NULL;
979+}
980+
981+
982+static int read_fragment_index_table(struct super_block *s)
983+{
984+ struct squashfs_sb_info *msblk = s->s_fs_info;
985+ struct squashfs_super_block *sblk = &msblk->sblk;
986+
987+ /* Allocate fragment index table */
988+ if (!(msblk->fragment_index = kmalloc(SQUASHFS_FRAGMENT_INDEX_BYTES
989+ (sblk->fragments), GFP_KERNEL))) {
990+ ERROR("Failed to allocate uid/gid table\n");
991+ return 0;
992+ }
993+
994+ if (SQUASHFS_FRAGMENT_INDEX_BYTES(sblk->fragments) &&
995+ !squashfs_read_data(s, (char *)
996+ msblk->fragment_index,
997+ sblk->fragment_table_start,
998+ SQUASHFS_FRAGMENT_INDEX_BYTES
999+ (sblk->fragments) |
1000+ SQUASHFS_COMPRESSED_BIT_BLOCK, NULL)) {
1001+ ERROR("unable to read fragment index table\n");
1002+ return 0;
1003+ }
1004+
1005+ if (msblk->swap) {
1006+ int i;
1007+ long long fragment;
1008+
1009+ for (i = 0; i < SQUASHFS_FRAGMENT_INDEXES(sblk->fragments);
1010+ i++) {
1011+ SQUASHFS_SWAP_FRAGMENT_INDEXES((&fragment),
1012+ &msblk->fragment_index[i], 1);
1013+ msblk->fragment_index[i] = fragment;
1014+ }
1015+ }
1016+
1017+ return 1;
1018+}
1019+
1020+
1021+static int supported_squashfs_filesystem(struct squashfs_sb_info *msblk, int silent)
1022+{
1023+ struct squashfs_super_block *sblk = &msblk->sblk;
1024+
1025+ msblk->iget = squashfs_iget;
1026+ msblk->read_blocklist = read_blocklist;
1027+ msblk->read_fragment_index_table = read_fragment_index_table;
1028+
1029+ if (sblk->s_major == 1) {
1030+ if (!squashfs_1_0_supported(msblk)) {
1031+ SERROR("Major/Minor mismatch, Squashfs 1.0 filesystems "
1032+ "are unsupported\n");
1033+ SERROR("Please recompile with "
1034+ "Squashfs 1.0 support enabled\n");
1035+ return 0;
1036+ }
1037+ } else if (sblk->s_major == 2) {
1038+ if (!squashfs_2_0_supported(msblk)) {
1039+ SERROR("Major/Minor mismatch, Squashfs 2.0 filesystems "
1040+ "are unsupported\n");
1041+ SERROR("Please recompile with "
1042+ "Squashfs 2.0 support enabled\n");
1043+ return 0;
1044+ }
1045+ } else if(sblk->s_major != SQUASHFS_MAJOR || sblk->s_minor >
1046+ SQUASHFS_MINOR) {
1047+ SERROR("Major/Minor mismatch, trying to mount newer %d.%d "
1048+ "filesystem\n", sblk->s_major, sblk->s_minor);
1049+ SERROR("Please update your kernel\n");
1050+ return 0;
1051+ }
1052+
1053+ return 1;
1054+}
1055+
1056+
1057+static int squashfs_fill_super(struct super_block *s, void *data, int silent)
1058+{
1059+ struct squashfs_sb_info *msblk;
1060+ struct squashfs_super_block *sblk;
1061+ int i;
1062+ char b[BDEVNAME_SIZE];
1063+ struct inode *root;
1064+
1065+ TRACE("Entered squashfs_read_superblock\n");
1066+
1067+ if (!(s->s_fs_info = kmalloc(sizeof(struct squashfs_sb_info),
1068+ GFP_KERNEL))) {
1069+ ERROR("Failed to allocate superblock\n");
1070+ goto failure;
1071+ }
1072+ memset(s->s_fs_info, 0, sizeof(struct squashfs_sb_info));
1073+ msblk = s->s_fs_info;
1074+ sblk = &msblk->sblk;
1075+
1076+ msblk->devblksize = sb_min_blocksize(s, BLOCK_SIZE);
1077+ msblk->devblksize_log2 = ffz(~msblk->devblksize);
1078+
1079+ init_MUTEX(&msblk->read_data_mutex);
1080+ init_MUTEX(&msblk->read_page_mutex);
1081+ init_MUTEX(&msblk->block_cache_mutex);
1082+ init_MUTEX(&msblk->fragment_mutex);
1083+ init_MUTEX(&msblk->meta_index_mutex);
1084+
1085+ init_waitqueue_head(&msblk->waitq);
1086+ init_waitqueue_head(&msblk->fragment_wait_queue);
1087+
1088+ if (!squashfs_read_data(s, (char *) sblk, SQUASHFS_START,
1089+ sizeof(struct squashfs_super_block) |
1090+ SQUASHFS_COMPRESSED_BIT_BLOCK, NULL)) {
1091+ SERROR("unable to read superblock\n");
1092+ goto failed_mount;
1093+ }
1094+
1095+ /* Check it is a SQUASHFS superblock */
1096+ msblk->swap = 0;
1097+ if ((s->s_magic = sblk->s_magic) != SQUASHFS_MAGIC) {
1098+ if (sblk->s_magic == SQUASHFS_MAGIC_SWAP) {
1099+ struct squashfs_super_block ssblk;
1100+
1101+ WARNING("Mounting a different endian SQUASHFS "
1102+ "filesystem on %s\n", bdevname(s->s_bdev, b));
1103+
1104+ SQUASHFS_SWAP_SUPER_BLOCK(&ssblk, sblk);
1105+ memcpy(sblk, &ssblk, sizeof(struct squashfs_super_block));
1106+ msblk->swap = 1;
1107+ } else {
1108+ SERROR("Can't find a SQUASHFS superblock on %s\n",
1109+ bdevname(s->s_bdev, b));
1110+ goto failed_mount;
1111+ }
1112+ }
1113+
1114+ /* Check the MAJOR & MINOR versions */
1115+ if(!supported_squashfs_filesystem(msblk, silent))
1116+ goto failed_mount;
1117+
1118+ TRACE("Found valid superblock on %s\n", bdevname(s->s_bdev, b));
1119+ TRACE("Inodes are %scompressed\n",
1120+ SQUASHFS_UNCOMPRESSED_INODES
1121+ (sblk->flags) ? "un" : "");
1122+ TRACE("Data is %scompressed\n",
1123+ SQUASHFS_UNCOMPRESSED_DATA(sblk->flags)
1124+ ? "un" : "");
1125+ TRACE("Check data is %s present in the filesystem\n",
1126+ SQUASHFS_CHECK_DATA(sblk->flags) ?
1127+ "" : "not");
1128+ TRACE("Filesystem size %lld bytes\n", sblk->bytes_used);
1129+ TRACE("Block size %d\n", sblk->block_size);
1130+ TRACE("Number of inodes %d\n", sblk->inodes);
1131+ if (sblk->s_major > 1)
1132+ TRACE("Number of fragments %d\n", sblk->fragments);
1133+ TRACE("Number of uids %d\n", sblk->no_uids);
1134+ TRACE("Number of gids %d\n", sblk->no_guids);
1135+ TRACE("sblk->inode_table_start %llx\n", sblk->inode_table_start);
1136+ TRACE("sblk->directory_table_start %llx\n", sblk->directory_table_start);
1137+ if (sblk->s_major > 1)
1138+ TRACE("sblk->fragment_table_start %llx\n",
1139+ sblk->fragment_table_start);
1140+ TRACE("sblk->uid_start %llx\n", sblk->uid_start);
1141+
1142+ s->s_flags |= MS_RDONLY;
1143+ s->s_op = &squashfs_ops;
1144+
1145+ /* Init inode_table block pointer array */
1146+ if (!(msblk->block_cache = kmalloc(sizeof(struct squashfs_cache) *
1147+ SQUASHFS_CACHED_BLKS, GFP_KERNEL))) {
1148+ ERROR("Failed to allocate block cache\n");
1149+ goto failed_mount;
1150+ }
1151+
1152+ for (i = 0; i < SQUASHFS_CACHED_BLKS; i++)
1153+ msblk->block_cache[i].block = SQUASHFS_INVALID_BLK;
1154+
1155+ msblk->next_cache = 0;
1156+
1157+ /* Allocate read_data block */
1158+ msblk->read_size = (sblk->block_size < SQUASHFS_METADATA_SIZE) ?
1159+ SQUASHFS_METADATA_SIZE :
1160+ sblk->block_size;
1161+
1162+ if (!(msblk->read_data = kmalloc(msblk->read_size, GFP_KERNEL))) {
1163+ ERROR("Failed to allocate read_data block\n");
1164+ goto failed_mount;
1165+ }
1166+
1167+ /* Allocate read_page block */
1168+ if (!(msblk->read_page = kmalloc(sblk->block_size, GFP_KERNEL))) {
1169+ ERROR("Failed to allocate read_page block\n");
1170+ goto failed_mount;
1171+ }
1172+
1173+ /* Allocate uid and gid tables */
1174+ if (!(msblk->uid = kmalloc((sblk->no_uids + sblk->no_guids) *
1175+ sizeof(unsigned int), GFP_KERNEL))) {
1176+ ERROR("Failed to allocate uid/gid table\n");
1177+ goto failed_mount;
1178+ }
1179+ msblk->guid = msblk->uid + sblk->no_uids;
1180+
1181+ if (msblk->swap) {
1182+ unsigned int suid[sblk->no_uids + sblk->no_guids];
1183+
1184+ if (!squashfs_read_data(s, (char *) &suid, sblk->uid_start,
1185+ ((sblk->no_uids + sblk->no_guids) *
1186+ sizeof(unsigned int)) |
1187+ SQUASHFS_COMPRESSED_BIT_BLOCK, NULL)) {
1188+ ERROR("unable to read uid/gid table\n");
1189+ goto failed_mount;
1190+ }
1191+
1192+ SQUASHFS_SWAP_DATA(msblk->uid, suid, (sblk->no_uids +
1193+ sblk->no_guids), (sizeof(unsigned int) * 8));
1194+ } else
1195+ if (!squashfs_read_data(s, (char *) msblk->uid, sblk->uid_start,
1196+ ((sblk->no_uids + sblk->no_guids) *
1197+ sizeof(unsigned int)) |
1198+ SQUASHFS_COMPRESSED_BIT_BLOCK, NULL)) {
1199+ ERROR("unable to read uid/gid table\n");
1200+ goto failed_mount;
1201+ }
1202+
1203+
1204+ if (sblk->s_major == 1 && squashfs_1_0_supported(msblk))
1205+ goto allocate_root;
1206+
1207+ if (!(msblk->fragment = kmalloc(sizeof(struct squashfs_fragment_cache) *
1208+ SQUASHFS_CACHED_FRAGMENTS, GFP_KERNEL))) {
1209+ ERROR("Failed to allocate fragment block cache\n");
1210+ goto failed_mount;
1211+ }
1212+
1213+ for (i = 0; i < SQUASHFS_CACHED_FRAGMENTS; i++) {
1214+ msblk->fragment[i].locked = 0;
1215+ msblk->fragment[i].block = SQUASHFS_INVALID_BLK;
1216+ msblk->fragment[i].data = NULL;
1217+ }
1218+
1219+ msblk->next_fragment = 0;
1220+
1221+ /* Allocate fragment index table */
1222+ if (msblk->read_fragment_index_table(s) == 0)
1223+ goto failed_mount;
1224+
1225+allocate_root:
1226+ if ((root = (msblk->iget)(s, sblk->root_inode)) == NULL)
1227+ goto failed_mount;
1228+
1229+ if ((s->s_root = d_alloc_root(root)) == NULL) {
1230+ ERROR("Root inode create failed\n");
1231+ iput(root);
1232+ goto failed_mount;
1233+ }
1234+
1235+ TRACE("Leaving squashfs_read_super\n");
1236+ return 0;
1237+
1238+failed_mount:
1239+ kfree(msblk->fragment_index);
1240+ kfree(msblk->fragment);
1241+ kfree(msblk->uid);
1242+ kfree(msblk->read_page);
1243+ kfree(msblk->read_data);
1244+ kfree(msblk->block_cache);
1245+ kfree(msblk->fragment_index_2);
1246+ kfree(s->s_fs_info);
1247+ s->s_fs_info = NULL;
1248+ return -EINVAL;
1249+
1250+failure:
1251+ return -ENOMEM;
1252+}
1253+
1254+
1255+static int squashfs_statfs(struct dentry *dentry, struct kstatfs *buf)
1256+{
1257+ struct super_block *s = dentry->d_sb;
1258+ struct squashfs_sb_info *msblk = s->s_fs_info;
1259+ struct squashfs_super_block *sblk = &msblk->sblk;
1260+
1261+ TRACE("Entered squashfs_statfs\n");
1262+
1263+ buf->f_type = SQUASHFS_MAGIC;
1264+ buf->f_bsize = sblk->block_size;
1265+ buf->f_blocks = ((sblk->bytes_used - 1) >> sblk->block_log) + 1;
1266+ buf->f_bfree = buf->f_bavail = 0;
1267+ buf->f_files = sblk->inodes;
1268+ buf->f_ffree = 0;
1269+ buf->f_namelen = SQUASHFS_NAME_LEN;
1270+
1271+ return 0;
1272+}
1273+
1274+
1275+static int squashfs_symlink_readpage(struct file *file, struct page *page)
1276+{
1277+ struct inode *inode = page->mapping->host;
1278+ int index = page->index << PAGE_CACHE_SHIFT, length, bytes;
1279+ long long block = SQUASHFS_I(inode)->start_block;
1280+ int offset = SQUASHFS_I(inode)->offset;
1281+ void *pageaddr = kmap(page);
1282+
1283+ TRACE("Entered squashfs_symlink_readpage, page index %ld, start block "
1284+ "%llx, offset %x\n", page->index,
1285+ SQUASHFS_I(inode)->start_block,
1286+ SQUASHFS_I(inode)->offset);
1287+
1288+ for (length = 0; length < index; length += bytes) {
1289+ if (!(bytes = squashfs_get_cached_block(inode->i_sb, NULL,
1290+ block, offset, PAGE_CACHE_SIZE, &block,
1291+ &offset))) {
1292+ ERROR("Unable to read symbolic link [%llx:%x]\n", block,
1293+ offset);
1294+ goto skip_read;
1295+ }
1296+ }
1297+
1298+ if (length != index) {
1299+ ERROR("(squashfs_symlink_readpage) length != index\n");
1300+ bytes = 0;
1301+ goto skip_read;
1302+ }
1303+
1304+ bytes = (i_size_read(inode) - length) > PAGE_CACHE_SIZE ? PAGE_CACHE_SIZE :
1305+ i_size_read(inode) - length;
1306+
1307+ if (!(bytes = squashfs_get_cached_block(inode->i_sb, pageaddr, block,
1308+ offset, bytes, &block, &offset)))
1309+ ERROR("Unable to read symbolic link [%llx:%x]\n", block, offset);
1310+
1311+skip_read:
1312+ memset(pageaddr + bytes, 0, PAGE_CACHE_SIZE - bytes);
1313+ kunmap(page);
1314+ SetPageUptodate(page);
1315+ unlock_page(page);
1316+
1317+ return 0;
1318+}
1319+
1320+
1321+struct meta_index *locate_meta_index(struct inode *inode, int index, int offset)
1322+{
1323+ struct meta_index *meta = NULL;
1324+ struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info;
1325+ int i;
1326+
1327+ down(&msblk->meta_index_mutex);
1328+
1329+ TRACE("locate_meta_index: index %d, offset %d\n", index, offset);
1330+
1331+ if(msblk->meta_index == NULL)
1332+ goto not_allocated;
1333+
1334+ for (i = 0; i < SQUASHFS_META_NUMBER; i ++)
1335+ if (msblk->meta_index[i].inode_number == inode->i_ino &&
1336+ msblk->meta_index[i].offset >= offset &&
1337+ msblk->meta_index[i].offset <= index &&
1338+ msblk->meta_index[i].locked == 0) {
1339+ TRACE("locate_meta_index: entry %d, offset %d\n", i,
1340+ msblk->meta_index[i].offset);
1341+ meta = &msblk->meta_index[i];
1342+ offset = meta->offset;
1343+ }
1344+
1345+ if (meta)
1346+ meta->locked = 1;
1347+
1348+not_allocated:
1349+ up(&msblk->meta_index_mutex);
1350+
1351+ return meta;
1352+}
1353+
1354+
1355+struct meta_index *empty_meta_index(struct inode *inode, int offset, int skip)
1356+{
1357+ struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info;
1358+ struct meta_index *meta = NULL;
1359+ int i;
1360+
1361+ down(&msblk->meta_index_mutex);
1362+
1363+ TRACE("empty_meta_index: offset %d, skip %d\n", offset, skip);
1364+
1365+ if(msblk->meta_index == NULL) {
1366+ if (!(msblk->meta_index = kmalloc(sizeof(struct meta_index) *
1367+ SQUASHFS_META_NUMBER, GFP_KERNEL))) {
1368+ ERROR("Failed to allocate meta_index\n");
1369+ goto failed;
1370+ }
1371+ for(i = 0; i < SQUASHFS_META_NUMBER; i++) {
1372+ msblk->meta_index[i].inode_number = 0;
1373+ msblk->meta_index[i].locked = 0;
1374+ }
1375+ msblk->next_meta_index = 0;
1376+ }
1377+
1378+ for(i = SQUASHFS_META_NUMBER; i &&
1379+ msblk->meta_index[msblk->next_meta_index].locked; i --)
1380+ msblk->next_meta_index = (msblk->next_meta_index + 1) %
1381+ SQUASHFS_META_NUMBER;
1382+
1383+ if(i == 0) {
1384+ TRACE("empty_meta_index: failed!\n");
1385+ goto failed;
1386+ }
1387+
1388+ TRACE("empty_meta_index: returned meta entry %d, %p\n",
1389+ msblk->next_meta_index,
1390+ &msblk->meta_index[msblk->next_meta_index]);
1391+
1392+ meta = &msblk->meta_index[msblk->next_meta_index];
1393+ msblk->next_meta_index = (msblk->next_meta_index + 1) %
1394+ SQUASHFS_META_NUMBER;
1395+
1396+ meta->inode_number = inode->i_ino;
1397+ meta->offset = offset;
1398+ meta->skip = skip;
1399+ meta->entries = 0;
1400+ meta->locked = 1;
1401+
1402+failed:
1403+ up(&msblk->meta_index_mutex);
1404+ return meta;
1405+}
1406+
1407+
1408+void release_meta_index(struct inode *inode, struct meta_index *meta)
1409+{
1410+ meta->locked = 0;
1411+}
1412+
1413+
1414+static int read_block_index(struct super_block *s, int blocks, char *block_list,
1415+ long long *start_block, int *offset)
1416+{
1417+ struct squashfs_sb_info *msblk = s->s_fs_info;
1418+ unsigned int *block_listp;
1419+ int block = 0;
1420+
1421+ if (msblk->swap) {
1422+ char sblock_list[blocks << 2];
1423+
1424+ if (!squashfs_get_cached_block(s, sblock_list, *start_block,
1425+ *offset, blocks << 2, start_block, offset)) {
1426+ ERROR("Unable to read block list [%llx:%x]\n",
1427+ *start_block, *offset);
1428+ goto failure;
1429+ }
1430+ SQUASHFS_SWAP_INTS(((unsigned int *)block_list),
1431+ ((unsigned int *)sblock_list), blocks);
1432+ } else
1433+ if (!squashfs_get_cached_block(s, block_list, *start_block,
1434+ *offset, blocks << 2, start_block, offset)) {
1435+ ERROR("Unable to read block list [%llx:%x]\n",
1436+ *start_block, *offset);
1437+ goto failure;
1438+ }
1439+
1440+ for (block_listp = (unsigned int *) block_list; blocks;
1441+ block_listp++, blocks --)
1442+ block += SQUASHFS_COMPRESSED_SIZE_BLOCK(*block_listp);
1443+
1444+ return block;
1445+
1446+failure:
1447+ return -1;
1448+}
1449+
1450+
1451+#define SIZE 256
1452+
1453+static inline int calculate_skip(int blocks) {
1454+ int skip = (blocks - 1) / ((SQUASHFS_SLOTS * SQUASHFS_META_ENTRIES + 1) * SQUASHFS_META_INDEXES);
1455+ return skip >= 7 ? 7 : skip + 1;
1456+}
1457+
1458+
1459+static int get_meta_index(struct inode *inode, int index,
1460+ long long *index_block, int *index_offset,
1461+ long long *data_block, char *block_list)
1462+{
1463+ struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info;
1464+ struct squashfs_super_block *sblk = &msblk->sblk;
1465+ int skip = calculate_skip(i_size_read(inode) >> sblk->block_log);
1466+ int offset = 0;
1467+ struct meta_index *meta;
1468+ struct meta_entry *meta_entry;
1469+ long long cur_index_block = SQUASHFS_I(inode)->u.s1.block_list_start;
1470+ int cur_offset = SQUASHFS_I(inode)->offset;
1471+ long long cur_data_block = SQUASHFS_I(inode)->start_block;
1472+ int i;
1473+
1474+ index /= SQUASHFS_META_INDEXES * skip;
1475+
1476+ while ( offset < index ) {
1477+ meta = locate_meta_index(inode, index, offset + 1);
1478+
1479+ if (meta == NULL) {
1480+ if ((meta = empty_meta_index(inode, offset + 1,
1481+ skip)) == NULL)
1482+ goto all_done;
1483+ } else {
1484+ offset = index < meta->offset + meta->entries ? index :
1485+ meta->offset + meta->entries - 1;
1486+ meta_entry = &meta->meta_entry[offset - meta->offset];
1487+ cur_index_block = meta_entry->index_block + sblk->inode_table_start;
1488+ cur_offset = meta_entry->offset;
1489+ cur_data_block = meta_entry->data_block;
1490+ TRACE("get_meta_index: offset %d, meta->offset %d, "
1491+ "meta->entries %d\n", offset, meta->offset,
1492+ meta->entries);
1493+ TRACE("get_meta_index: index_block 0x%llx, offset 0x%x"
1494+ " data_block 0x%llx\n", cur_index_block,
1495+ cur_offset, cur_data_block);
1496+ }
1497+
1498+ for (i = meta->offset + meta->entries; i <= index &&
1499+ i < meta->offset + SQUASHFS_META_ENTRIES; i++) {
1500+ int blocks = skip * SQUASHFS_META_INDEXES;
1501+
1502+ while (blocks) {
1503+ int block = blocks > (SIZE >> 2) ? (SIZE >> 2) :
1504+ blocks;
1505+ int res = read_block_index(inode->i_sb, block,
1506+ block_list, &cur_index_block,
1507+ &cur_offset);
1508+
1509+ if (res == -1)
1510+ goto failed;
1511+
1512+ cur_data_block += res;
1513+ blocks -= block;
1514+ }
1515+
1516+ meta_entry = &meta->meta_entry[i - meta->offset];
1517+ meta_entry->index_block = cur_index_block - sblk->inode_table_start;
1518+ meta_entry->offset = cur_offset;
1519+ meta_entry->data_block = cur_data_block;
1520+ meta->entries ++;
1521+ offset ++;
1522+ }
1523+
1524+ TRACE("get_meta_index: meta->offset %d, meta->entries %d\n",
1525+ meta->offset, meta->entries);
1526+
1527+ release_meta_index(inode, meta);
1528+ }
1529+
1530+all_done:
1531+ *index_block = cur_index_block;
1532+ *index_offset = cur_offset;
1533+ *data_block = cur_data_block;
1534+
1535+ return offset * SQUASHFS_META_INDEXES * skip;
1536+
1537+failed:
1538+ release_meta_index(inode, meta);
1539+ return -1;
1540+}
1541+
1542+
1543+static long long read_blocklist(struct inode *inode, int index,
1544+ int readahead_blks, char *block_list,
1545+ unsigned short **block_p, unsigned int *bsize)
1546+{
1547+ long long block_ptr;
1548+ int offset;
1549+ long long block;
1550+ int res = get_meta_index(inode, index, &block_ptr, &offset, &block,
1551+ block_list);
1552+
1553+ TRACE("read_blocklist: res %d, index %d, block_ptr 0x%llx, offset"
1554+ " 0x%x, block 0x%llx\n", res, index, block_ptr, offset,
1555+ block);
1556+
1557+ if(res == -1)
1558+ goto failure;
1559+
1560+ index -= res;
1561+
1562+ while ( index ) {
1563+ int blocks = index > (SIZE >> 2) ? (SIZE >> 2) : index;
1564+ int res = read_block_index(inode->i_sb, blocks, block_list,
1565+ &block_ptr, &offset);
1566+ if (res == -1)
1567+ goto failure;
1568+ block += res;
1569+ index -= blocks;
1570+ }
1571+
1572+ if (read_block_index(inode->i_sb, 1, block_list,
1573+ &block_ptr, &offset) == -1)
1574+ goto failure;
1575+ *bsize = *((unsigned int *) block_list);
1576+
1577+ return block;
1578+
1579+failure:
1580+ return 0;
1581+}
1582+
1583+
1584+static int squashfs_readpage(struct file *file, struct page *page)
1585+{
1586+ struct inode *inode = page->mapping->host;
1587+ struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info;
1588+ struct squashfs_super_block *sblk = &msblk->sblk;
1589+ unsigned char block_list[SIZE];
1590+ long long block;
1591+ unsigned int bsize, i = 0, bytes = 0, byte_offset = 0;
1592+ int index = page->index >> (sblk->block_log - PAGE_CACHE_SHIFT);
1593+ void *pageaddr;
1594+ struct squashfs_fragment_cache *fragment = NULL;
1595+ char *data_ptr = msblk->read_page;
1596+
1597+ int mask = (1 << (sblk->block_log - PAGE_CACHE_SHIFT)) - 1;
1598+ int start_index = page->index & ~mask;
1599+ int end_index = start_index | mask;
1600+
1601+ TRACE("Entered squashfs_readpage, page index %lx, start block %llx\n",
1602+ page->index,
1603+ SQUASHFS_I(inode)->start_block);
1604+
1605+ if (page->index >= ((i_size_read(inode) + PAGE_CACHE_SIZE - 1) >>
1606+ PAGE_CACHE_SHIFT))
1607+ goto skip_read;
1608+
1609+ if (SQUASHFS_I(inode)->u.s1.fragment_start_block == SQUASHFS_INVALID_BLK
1610+ || index < (i_size_read(inode) >>
1611+ sblk->block_log)) {
1612+ if ((block = (msblk->read_blocklist)(inode, index, 1,
1613+ block_list, NULL, &bsize)) == 0)
1614+ goto skip_read;
1615+
1616+ down(&msblk->read_page_mutex);
1617+
1618+ if (!(bytes = squashfs_read_data(inode->i_sb, msblk->read_page,
1619+ block, bsize, NULL))) {
1620+ ERROR("Unable to read page, block %llx, size %x\n", block,
1621+ bsize);
1622+ up(&msblk->read_page_mutex);
1623+ goto skip_read;
1624+ }
1625+ } else {
1626+ if ((fragment = get_cached_fragment(inode->i_sb,
1627+ SQUASHFS_I(inode)->
1628+ u.s1.fragment_start_block,
1629+ SQUASHFS_I(inode)->u.s1.fragment_size))
1630+ == NULL) {
1631+ ERROR("Unable to read page, block %llx, size %x\n",
1632+ SQUASHFS_I(inode)->
1633+ u.s1.fragment_start_block,
1634+ (int) SQUASHFS_I(inode)->
1635+ u.s1.fragment_size);
1636+ goto skip_read;
1637+ }
1638+ bytes = SQUASHFS_I(inode)->u.s1.fragment_offset +
1639+ (i_size_read(inode) & (sblk->block_size
1640+ - 1));
1641+ byte_offset = SQUASHFS_I(inode)->u.s1.fragment_offset;
1642+ data_ptr = fragment->data;
1643+ }
1644+
1645+ for (i = start_index; i <= end_index && byte_offset < bytes;
1646+ i++, byte_offset += PAGE_CACHE_SIZE) {
1647+ struct page *push_page;
1648+ int available_bytes = (bytes - byte_offset) > PAGE_CACHE_SIZE ?
1649+ PAGE_CACHE_SIZE : bytes - byte_offset;
1650+
1651+ TRACE("bytes %d, i %d, byte_offset %d, available_bytes %d\n",
1652+ bytes, i, byte_offset, available_bytes);
1653+
1654+ if (i == page->index) {
1655+ pageaddr = kmap_atomic(page, KM_USER0);
1656+ memcpy(pageaddr, data_ptr + byte_offset,
1657+ available_bytes);
1658+ memset(pageaddr + available_bytes, 0,
1659+ PAGE_CACHE_SIZE - available_bytes);
1660+ kunmap_atomic(pageaddr, KM_USER0);
1661+ flush_dcache_page(page);
1662+ SetPageUptodate(page);
1663+ unlock_page(page);
1664+ } else if ((push_page =
1665+ grab_cache_page_nowait(page->mapping, i))) {
1666+ pageaddr = kmap_atomic(push_page, KM_USER0);
1667+
1668+ memcpy(pageaddr, data_ptr + byte_offset,
1669+ available_bytes);
1670+ memset(pageaddr + available_bytes, 0,
1671+ PAGE_CACHE_SIZE - available_bytes);
1672+ kunmap_atomic(pageaddr, KM_USER0);
1673+ flush_dcache_page(push_page);
1674+ SetPageUptodate(push_page);
1675+ unlock_page(push_page);
1676+ page_cache_release(push_page);
1677+ }
1678+ }
1679+
1680+ if (SQUASHFS_I(inode)->u.s1.fragment_start_block == SQUASHFS_INVALID_BLK
1681+ || index < (i_size_read(inode) >>
1682+ sblk->block_log))
1683+ up(&msblk->read_page_mutex);
1684+ else
1685+ release_cached_fragment(msblk, fragment);
1686+
1687+ return 0;
1688+
1689+skip_read:
1690+ pageaddr = kmap_atomic(page, KM_USER0);
1691+ memset(pageaddr + bytes, 0, PAGE_CACHE_SIZE - bytes);
1692+ kunmap_atomic(pageaddr, KM_USER0);
1693+ flush_dcache_page(page);
1694+ SetPageUptodate(page);
1695+ unlock_page(page);
1696+
1697+ return 0;
1698+}
1699+
1700+
1701+static int squashfs_readpage4K(struct file *file, struct page *page)
1702+{
1703+ struct inode *inode = page->mapping->host;
1704+ struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info;
1705+ struct squashfs_super_block *sblk = &msblk->sblk;
1706+ unsigned char block_list[SIZE];
1707+ long long block;
1708+ unsigned int bsize, bytes = 0;
1709+ void *pageaddr;
1710+
1711+ TRACE("Entered squashfs_readpage4K, page index %lx, start block %llx\n",
1712+ page->index,
1713+ SQUASHFS_I(inode)->start_block);
1714+
1715+ if (page->index >= ((i_size_read(inode) + PAGE_CACHE_SIZE - 1) >>
1716+ PAGE_CACHE_SHIFT)) {
1717+ pageaddr = kmap_atomic(page, KM_USER0);
1718+ goto skip_read;
1719+ }
1720+
1721+ if (SQUASHFS_I(inode)->u.s1.fragment_start_block == SQUASHFS_INVALID_BLK
1722+ || page->index < (i_size_read(inode) >>
1723+ sblk->block_log)) {
1724+ block = (msblk->read_blocklist)(inode, page->index, 1,
1725+ block_list, NULL, &bsize);
1726+
1727+ down(&msblk->read_page_mutex);
1728+ bytes = squashfs_read_data(inode->i_sb, msblk->read_page, block,
1729+ bsize, NULL);
1730+ pageaddr = kmap_atomic(page, KM_USER0);
1731+ if (bytes)
1732+ memcpy(pageaddr, msblk->read_page, bytes);
1733+ else
1734+ ERROR("Unable to read page, block %llx, size %x\n",
1735+ block, bsize);
1736+ up(&msblk->read_page_mutex);
1737+ } else {
1738+ struct squashfs_fragment_cache *fragment =
1739+ get_cached_fragment(inode->i_sb,
1740+ SQUASHFS_I(inode)->
1741+ u.s1.fragment_start_block,
1742+ SQUASHFS_I(inode)-> u.s1.fragment_size);
1743+ pageaddr = kmap_atomic(page, KM_USER0);
1744+ if (fragment) {
1745+ bytes = i_size_read(inode) & (sblk->block_size - 1);
1746+ memcpy(pageaddr, fragment->data + SQUASHFS_I(inode)->
1747+ u.s1.fragment_offset, bytes);
1748+ release_cached_fragment(msblk, fragment);
1749+ } else
1750+ ERROR("Unable to read page, block %llx, size %x\n",
1751+ SQUASHFS_I(inode)->
1752+ u.s1.fragment_start_block, (int)
1753+ SQUASHFS_I(inode)-> u.s1.fragment_size);
1754+ }
1755+
1756+skip_read:
1757+ memset(pageaddr + bytes, 0, PAGE_CACHE_SIZE - bytes);
1758+ kunmap_atomic(pageaddr, KM_USER0);
1759+ flush_dcache_page(page);
1760+ SetPageUptodate(page);
1761+ unlock_page(page);
1762+
1763+ return 0;
1764+}
1765+
1766+
1767+static int get_dir_index_using_offset(struct super_block *s, long long
1768+ *next_block, unsigned int *next_offset,
1769+ long long index_start,
1770+ unsigned int index_offset, int i_count,
1771+ long long f_pos)
1772+{
1773+ struct squashfs_sb_info *msblk = s->s_fs_info;
1774+ struct squashfs_super_block *sblk = &msblk->sblk;
1775+ int i, length = 0;
1776+ struct squashfs_dir_index index;
1777+
1778+ TRACE("Entered get_dir_index_using_offset, i_count %d, f_pos %d\n",
1779+ i_count, (unsigned int) f_pos);
1780+
1781+ f_pos =- 3;
1782+ if (f_pos == 0)
1783+ goto finish;
1784+
1785+ for (i = 0; i < i_count; i++) {
1786+ if (msblk->swap) {
1787+ struct squashfs_dir_index sindex;
1788+ squashfs_get_cached_block(s, (char *) &sindex,
1789+ index_start, index_offset,
1790+ sizeof(sindex), &index_start,
1791+ &index_offset);
1792+ SQUASHFS_SWAP_DIR_INDEX(&index, &sindex);
1793+ } else
1794+ squashfs_get_cached_block(s, (char *) &index,
1795+ index_start, index_offset,
1796+ sizeof(index), &index_start,
1797+ &index_offset);
1798+
1799+ if (index.index > f_pos)
1800+ break;
1801+
1802+ squashfs_get_cached_block(s, NULL, index_start, index_offset,
1803+ index.size + 1, &index_start,
1804+ &index_offset);
1805+
1806+ length = index.index;
1807+ *next_block = index.start_block + sblk->directory_table_start;
1808+ }
1809+
1810+ *next_offset = (length + *next_offset) % SQUASHFS_METADATA_SIZE;
1811+
1812+finish:
1813+ return length + 3;
1814+}
1815+
1816+
1817+static int get_dir_index_using_name(struct super_block *s, long long
1818+ *next_block, unsigned int *next_offset,
1819+ long long index_start,
1820+ unsigned int index_offset, int i_count,
1821+ const char *name, int size)
1822+{
1823+ struct squashfs_sb_info *msblk = s->s_fs_info;
1824+ struct squashfs_super_block *sblk = &msblk->sblk;
1825+ int i, length = 0;
1826+ char buffer[sizeof(struct squashfs_dir_index) + SQUASHFS_NAME_LEN + 1];
1827+ struct squashfs_dir_index *index = (struct squashfs_dir_index *) buffer;
1828+ char str[SQUASHFS_NAME_LEN + 1];
1829+
1830+ TRACE("Entered get_dir_index_using_name, i_count %d\n", i_count);
1831+
1832+ strncpy(str, name, size);
1833+ str[size] = '\0';
1834+
1835+ for (i = 0; i < i_count; i++) {
1836+ if (msblk->swap) {
1837+ struct squashfs_dir_index sindex;
1838+ squashfs_get_cached_block(s, (char *) &sindex,
1839+ index_start, index_offset,
1840+ sizeof(sindex), &index_start,
1841+ &index_offset);
1842+ SQUASHFS_SWAP_DIR_INDEX(index, &sindex);
1843+ } else
1844+ squashfs_get_cached_block(s, (char *) index,
1845+ index_start, index_offset,
1846+ sizeof(struct squashfs_dir_index),
1847+ &index_start, &index_offset);
1848+
1849+ squashfs_get_cached_block(s, index->name, index_start,
1850+ index_offset, index->size + 1,
1851+ &index_start, &index_offset);
1852+
1853+ index->name[index->size + 1] = '\0';
1854+
1855+ if (strcmp(index->name, str) > 0)
1856+ break;
1857+
1858+ length = index->index;
1859+ *next_block = index->start_block + sblk->directory_table_start;
1860+ }
1861+
1862+ *next_offset = (length + *next_offset) % SQUASHFS_METADATA_SIZE;
1863+ return length + 3;
1864+}
1865+
1866+
1867+static int squashfs_readdir(struct file *file, void *dirent, filldir_t filldir)
1868+{
1869+ struct inode *i = file->f_dentry->d_inode;
1870+ struct squashfs_sb_info *msblk = i->i_sb->s_fs_info;
1871+ struct squashfs_super_block *sblk = &msblk->sblk;
1872+ long long next_block = SQUASHFS_I(i)->start_block +
1873+ sblk->directory_table_start;
1874+ int next_offset = SQUASHFS_I(i)->offset, length = 0, dirs_read = 0,
1875+ dir_count;
1876+ struct squashfs_dir_header dirh;
1877+ char buffer[sizeof(struct squashfs_dir_entry) + SQUASHFS_NAME_LEN + 1];
1878+ struct squashfs_dir_entry *dire = (struct squashfs_dir_entry *) buffer;
1879+
1880+ TRACE("Entered squashfs_readdir [%llx:%x]\n", next_block, next_offset);
1881+
1882+ while(file->f_pos < 3) {
1883+ char *name;
1884+ int size, i_ino;
1885+
1886+ if(file->f_pos == 0) {
1887+ name = ".";
1888+ size = 1;
1889+ i_ino = i->i_ino;
1890+ } else {
1891+ name = "..";
1892+ size = 2;
1893+ i_ino = SQUASHFS_I(i)->u.s2.parent_inode;
1894+ }
1895+ TRACE("Calling filldir(%x, %s, %d, %d, %d, %d)\n",
1896+ (unsigned int) dirent, name, size, (int)
1897+ file->f_pos, i_ino,
1898+ squashfs_filetype_table[1]);
1899+
1900+ if (filldir(dirent, name, size,
1901+ file->f_pos, i_ino,
1902+ squashfs_filetype_table[1]) < 0) {
1903+ TRACE("Filldir returned less than 0\n");
1904+ goto finish;
1905+ }
1906+ file->f_pos += size;
1907+ dirs_read++;
1908+ }
1909+
1910+ length = get_dir_index_using_offset(i->i_sb, &next_block, &next_offset,
1911+ SQUASHFS_I(i)->u.s2.directory_index_start,
1912+ SQUASHFS_I(i)->u.s2.directory_index_offset,
1913+ SQUASHFS_I(i)->u.s2.directory_index_count,
1914+ file->f_pos);
1915+
1916+ while (length < i_size_read(i)) {
1917+ /* read directory header */
1918+ if (msblk->swap) {
1919+ struct squashfs_dir_header sdirh;
1920+
1921+ if (!squashfs_get_cached_block(i->i_sb, (char *) &sdirh,
1922+ next_block, next_offset, sizeof(sdirh),
1923+ &next_block, &next_offset))
1924+ goto failed_read;
1925+
1926+ length += sizeof(sdirh);
1927+ SQUASHFS_SWAP_DIR_HEADER(&dirh, &sdirh);
1928+ } else {
1929+ if (!squashfs_get_cached_block(i->i_sb, (char *) &dirh,
1930+ next_block, next_offset, sizeof(dirh),
1931+ &next_block, &next_offset))
1932+ goto failed_read;
1933+
1934+ length += sizeof(dirh);
1935+ }
1936+
1937+ dir_count = dirh.count + 1;
1938+ while (dir_count--) {
1939+ if (msblk->swap) {
1940+ struct squashfs_dir_entry sdire;
1941+ if (!squashfs_get_cached_block(i->i_sb, (char *)
1942+ &sdire, next_block, next_offset,
1943+ sizeof(sdire), &next_block,
1944+ &next_offset))
1945+ goto failed_read;
1946+
1947+ length += sizeof(sdire);
1948+ SQUASHFS_SWAP_DIR_ENTRY(dire, &sdire);
1949+ } else {
1950+ if (!squashfs_get_cached_block(i->i_sb, (char *)
1951+ dire, next_block, next_offset,
1952+ sizeof(*dire), &next_block,
1953+ &next_offset))
1954+ goto failed_read;
1955+
1956+ length += sizeof(*dire);
1957+ }
1958+
1959+ if (!squashfs_get_cached_block(i->i_sb, dire->name,
1960+ next_block, next_offset,
1961+ dire->size + 1, &next_block,
1962+ &next_offset))
1963+ goto failed_read;
1964+
1965+ length += dire->size + 1;
1966+
1967+ if (file->f_pos >= length)
1968+ continue;
1969+
1970+ dire->name[dire->size + 1] = '\0';
1971+
1972+ TRACE("Calling filldir(%x, %s, %d, %d, %x:%x, %d, %d)\n",
1973+ (unsigned int) dirent, dire->name,
1974+ dire->size + 1, (int) file->f_pos,
1975+ dirh.start_block, dire->offset,
1976+ dirh.inode_number + dire->inode_number,
1977+ squashfs_filetype_table[dire->type]);
1978+
1979+ if (filldir(dirent, dire->name, dire->size + 1,
1980+ file->f_pos,
1981+ dirh.inode_number + dire->inode_number,
1982+ squashfs_filetype_table[dire->type])
1983+ < 0) {
1984+ TRACE("Filldir returned less than 0\n");
1985+ goto finish;
1986+ }
1987+ file->f_pos = length;
1988+ dirs_read++;
1989+ }
1990+ }
1991+
1992+finish:
1993+ return dirs_read;
1994+
1995+failed_read:
1996+ ERROR("Unable to read directory block [%llx:%x]\n", next_block,
1997+ next_offset);
1998+ return 0;
1999+}
2000+
2001+
2002+static struct dentry *squashfs_lookup(struct inode *i, struct dentry *dentry,
2003+ struct nameidata *nd)
2004+{
2005+ const unsigned char *name = dentry->d_name.name;
2006+ int len = dentry->d_name.len;
2007+ struct inode *inode = NULL;
2008+ struct squashfs_sb_info *msblk = i->i_sb->s_fs_info;
2009+ struct squashfs_super_block *sblk = &msblk->sblk;
2010+ long long next_block = SQUASHFS_I(i)->start_block +
2011+ sblk->directory_table_start;
2012+ int next_offset = SQUASHFS_I(i)->offset, length = 0,
2013+ dir_count;
2014+ struct squashfs_dir_header dirh;
2015+ char buffer[sizeof(struct squashfs_dir_entry) + SQUASHFS_NAME_LEN];
2016+ struct squashfs_dir_entry *dire = (struct squashfs_dir_entry *) buffer;
2017+
2018+ TRACE("Entered squashfs_lookup [%llx:%x]\n", next_block, next_offset);
2019+
2020+ if (len > SQUASHFS_NAME_LEN)
2021+ goto exit_loop;
2022+
2023+ length = get_dir_index_using_name(i->i_sb, &next_block, &next_offset,
2024+ SQUASHFS_I(i)->u.s2.directory_index_start,
2025+ SQUASHFS_I(i)->u.s2.directory_index_offset,
2026+ SQUASHFS_I(i)->u.s2.directory_index_count, name,
2027+ len);
2028+
2029+ while (length < i_size_read(i)) {
2030+ /* read directory header */
2031+ if (msblk->swap) {
2032+ struct squashfs_dir_header sdirh;
2033+ if (!squashfs_get_cached_block(i->i_sb, (char *) &sdirh,
2034+ next_block, next_offset, sizeof(sdirh),
2035+ &next_block, &next_offset))
2036+ goto failed_read;
2037+
2038+ length += sizeof(sdirh);
2039+ SQUASHFS_SWAP_DIR_HEADER(&dirh, &sdirh);
2040+ } else {
2041+ if (!squashfs_get_cached_block(i->i_sb, (char *) &dirh,
2042+ next_block, next_offset, sizeof(dirh),
2043+ &next_block, &next_offset))
2044+ goto failed_read;
2045+
2046+ length += sizeof(dirh);
2047+ }
2048+
2049+ dir_count = dirh.count + 1;
2050+ while (dir_count--) {
2051+ if (msblk->swap) {
2052+ struct squashfs_dir_entry sdire;
2053+ if (!squashfs_get_cached_block(i->i_sb, (char *)
2054+ &sdire, next_block,next_offset,
2055+ sizeof(sdire), &next_block,
2056+ &next_offset))
2057+ goto failed_read;
2058+
2059+ length += sizeof(sdire);
2060+ SQUASHFS_SWAP_DIR_ENTRY(dire, &sdire);
2061+ } else {
2062+ if (!squashfs_get_cached_block(i->i_sb, (char *)
2063+ dire, next_block,next_offset,
2064+ sizeof(*dire), &next_block,
2065+ &next_offset))
2066+ goto failed_read;
2067+
2068+ length += sizeof(*dire);
2069+ }
2070+
2071+ if (!squashfs_get_cached_block(i->i_sb, dire->name,
2072+ next_block, next_offset, dire->size + 1,
2073+ &next_block, &next_offset))
2074+ goto failed_read;
2075+
2076+ length += dire->size + 1;
2077+
2078+ if (name[0] < dire->name[0])
2079+ goto exit_loop;
2080+
2081+ if ((len == dire->size + 1) && !strncmp(name,
2082+ dire->name, len)) {
2083+ squashfs_inode_t ino =
2084+ SQUASHFS_MKINODE(dirh.start_block,
2085+ dire->offset);
2086+
2087+ TRACE("calling squashfs_iget for directory "
2088+ "entry %s, inode %x:%x, %d\n", name,
2089+ dirh.start_block, dire->offset,
2090+ dirh.inode_number + dire->inode_number);
2091+
2092+ inode = (msblk->iget)(i->i_sb, ino);
2093+
2094+ goto exit_loop;
2095+ }
2096+ }
2097+ }
2098+
2099+exit_loop:
2100+ d_add(dentry, inode);
2101+ return ERR_PTR(0);
2102+
2103+failed_read:
2104+ ERROR("Unable to read directory block [%llx:%x]\n", next_block,
2105+ next_offset);
2106+ goto exit_loop;
2107+}
2108+
2109+
2110+static void squashfs_put_super(struct super_block *s)
2111+{
2112+ int i;
2113+
2114+ if (s->s_fs_info) {
2115+ struct squashfs_sb_info *sbi = s->s_fs_info;
2116+ if (sbi->block_cache)
2117+ for (i = 0; i < SQUASHFS_CACHED_BLKS; i++)
2118+ if (sbi->block_cache[i].block !=
2119+ SQUASHFS_INVALID_BLK)
2120+ kfree(sbi->block_cache[i].data);
2121+ if (sbi->fragment)
2122+ for (i = 0; i < SQUASHFS_CACHED_FRAGMENTS; i++)
2123+ SQUASHFS_FREE(sbi->fragment[i].data);
2124+ kfree(sbi->fragment);
2125+ kfree(sbi->block_cache);
2126+ kfree(sbi->read_data);
2127+ kfree(sbi->read_page);
2128+ kfree(sbi->uid);
2129+ kfree(sbi->fragment_index);
2130+ kfree(sbi->fragment_index_2);
2131+ kfree(sbi->meta_index);
2132+ kfree(s->s_fs_info);
2133+ s->s_fs_info = NULL;
2134+ }
2135+}
2136+
2137+
2138+static int squashfs_get_sb(struct file_system_type *fs_type,
2139+ int flags, const char *dev_name, void *data, struct vfsmount *mnt)
2140+{
2141+ return get_sb_bdev(fs_type, flags, dev_name, data, squashfs_fill_super, mnt);
2142+}
2143+
2144+
2145+static int __init init_squashfs_fs(void)
2146+{
2147+ int err = init_inodecache();
2148+ if (err)
2149+ goto out;
2150+
2151+ printk(KERN_INFO "squashfs: version 3.0 (2006/03/15) "
2152+ "Phillip Lougher\n");
2153+
2154+ if (!(stream.workspace = vmalloc(zlib_inflate_workspacesize()))) {
2155+ ERROR("Failed to allocate zlib workspace\n");
2156+ destroy_inodecache();
2157+ err = -ENOMEM;
2158+ goto out;
2159+ }
2160+
2161+ if ((err = register_filesystem(&squashfs_fs_type))) {
2162+ vfree(stream.workspace);
2163+ destroy_inodecache();
2164+ }
2165+
2166+out:
2167+ return err;
2168+}
2169+
2170+
2171+static void __exit exit_squashfs_fs(void)
2172+{
2173+ vfree(stream.workspace);
2174+ unregister_filesystem(&squashfs_fs_type);
2175+ destroy_inodecache();
2176+}
2177+
2178+
2179+static kmem_cache_t * squashfs_inode_cachep;
2180+
2181+
2182+static struct inode *squashfs_alloc_inode(struct super_block *sb)
2183+{
2184+ struct squashfs_inode_info *ei;
2185+ ei = kmem_cache_alloc(squashfs_inode_cachep, GFP_KERNEL);
2186+ if (!ei)
2187+ return NULL;
2188+ return &ei->vfs_inode;
2189+}
2190+
2191+
2192+static void squashfs_destroy_inode(struct inode *inode)
2193+{
2194+ kmem_cache_free(squashfs_inode_cachep, SQUASHFS_I(inode));
2195+}
2196+
2197+
2198+static void init_once(void * foo, kmem_cache_t * cachep, unsigned long flags)
2199+{
2200+ struct squashfs_inode_info *ei = foo;
2201+
2202+ if ((flags & (SLAB_CTOR_VERIFY|SLAB_CTOR_CONSTRUCTOR)) ==
2203+ SLAB_CTOR_CONSTRUCTOR)
2204+ inode_init_once(&ei->vfs_inode);
2205+}
2206+
2207+
2208+static int __init init_inodecache(void)
2209+{
2210+ squashfs_inode_cachep = kmem_cache_create("squashfs_inode_cache",
2211+ sizeof(struct squashfs_inode_info),
2212+ 0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT,
2213+ init_once, NULL);
2214+ if (squashfs_inode_cachep == NULL)
2215+ return -ENOMEM;
2216+ return 0;
2217+}
2218+
2219+
2220+static void destroy_inodecache(void)
2221+{
2222+ kmem_cache_destroy(squashfs_inode_cachep);
2223+}
2224+
2225+
2226+module_init(init_squashfs_fs);
2227+module_exit(exit_squashfs_fs);
2228+MODULE_DESCRIPTION("squashfs, a compressed read-only filesystem");
2229+MODULE_AUTHOR("Phillip Lougher <phillip@lougher.org.uk>");
2230Index: git/fs/squashfs/Makefile
2231===================================================================
2232--- /dev/null 1970-01-01 00:00:00.000000000 +0000
2233+++ git/fs/squashfs/Makefile 2006-10-31 21:26:45.000000000 +0000
2234@@ -0,0 +1,7 @@
2235+#
2236+# Makefile for the linux squashfs routines.
2237+#
2238+
2239+obj-$(CONFIG_SQUASHFS) += squashfs.o
2240+squashfs-y += inode.o
2241+squashfs-y += squashfs2_0.o
2242Index: git/fs/squashfs/squashfs2_0.c
2243===================================================================
2244--- /dev/null 1970-01-01 00:00:00.000000000 +0000
2245+++ git/fs/squashfs/squashfs2_0.c 2006-11-01 18:01:49.000000000 +0000
2246@@ -0,0 +1,757 @@
2247+/*
2248+ * Squashfs - a compressed read only filesystem for Linux
2249+ *
2250+ * Copyright (c) 2002, 2003, 2004, 2005, 2006
2251+ * Phillip Lougher <phillip@lougher.org.uk>
2252+ *
2253+ * This program is free software; you can redistribute it and/or
2254+ * modify it under the terms of the GNU General Public License
2255+ * as published by the Free Software Foundation; either version 2,
2256+ * or (at your option) any later version.
2257+ *
2258+ * This program is distributed in the hope that it will be useful,
2259+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
2260+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2261+ * GNU General Public License for more details.
2262+ *
2263+ * You should have received a copy of the GNU General Public License
2264+ * along with this program; if not, write to the Free Software
2265+ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
2266+ *
2267+ * squashfs2_0.c
2268+ */
2269+
2270+#include <linux/types.h>
2271+#include <linux/squashfs_fs.h>
2272+#include <linux/module.h>
2273+#include <linux/errno.h>
2274+#include <linux/slab.h>
2275+#include <linux/fs.h>
2276+#include <linux/smp_lock.h>
2277+#include <linux/slab.h>
2278+#include <linux/squashfs_fs_sb.h>
2279+#include <linux/squashfs_fs_i.h>
2280+#include <linux/buffer_head.h>
2281+#include <linux/vfs.h>
2282+#include <linux/init.h>
2283+#include <linux/dcache.h>
2284+#include <linux/wait.h>
2285+#include <linux/zlib.h>
2286+#include <linux/blkdev.h>
2287+#include <linux/vmalloc.h>
2288+#include <asm/uaccess.h>
2289+#include <asm/semaphore.h>
2290+
2291+#include "squashfs.h"
2292+static int squashfs_readdir_2(struct file *file, void *dirent, filldir_t filldir);
2293+static struct dentry *squashfs_lookup_2(struct inode *, struct dentry *,
2294+ struct nameidata *);
2295+
2296+static struct file_operations squashfs_dir_ops_2 = {
2297+ .read = generic_read_dir,
2298+ .readdir = squashfs_readdir_2
2299+};
2300+
2301+static struct inode_operations squashfs_dir_inode_ops_2 = {
2302+ .lookup = squashfs_lookup_2
2303+};
2304+
2305+static unsigned char squashfs_filetype_table[] = {
2306+ DT_UNKNOWN, DT_DIR, DT_REG, DT_LNK, DT_BLK, DT_CHR, DT_FIFO, DT_SOCK
2307+};
2308+
2309+static int read_fragment_index_table_2(struct super_block *s)
2310+{
2311+ struct squashfs_sb_info *msblk = s->s_fs_info;
2312+ struct squashfs_super_block *sblk = &msblk->sblk;
2313+
2314+ if (!(msblk->fragment_index_2 = kmalloc(SQUASHFS_FRAGMENT_INDEX_BYTES_2
2315+ (sblk->fragments), GFP_KERNEL))) {
2316+ ERROR("Failed to allocate uid/gid table\n");
2317+ return 0;
2318+ }
2319+
2320+ if (SQUASHFS_FRAGMENT_INDEX_BYTES_2(sblk->fragments) &&
2321+ !squashfs_read_data(s, (char *)
2322+ msblk->fragment_index_2,
2323+ sblk->fragment_table_start,
2324+ SQUASHFS_FRAGMENT_INDEX_BYTES_2
2325+ (sblk->fragments) |
2326+ SQUASHFS_COMPRESSED_BIT_BLOCK, NULL)) {
2327+ ERROR("unable to read fragment index table\n");
2328+ return 0;
2329+ }
2330+
2331+ if (msblk->swap) {
2332+ int i;
2333+ unsigned int fragment;
2334+
2335+ for (i = 0; i < SQUASHFS_FRAGMENT_INDEXES_2(sblk->fragments);
2336+ i++) {
2337+ SQUASHFS_SWAP_FRAGMENT_INDEXES_2((&fragment),
2338+ &msblk->fragment_index_2[i], 1);
2339+ msblk->fragment_index_2[i] = fragment;
2340+ }
2341+ }
2342+
2343+ return 1;
2344+}
2345+
2346+
2347+static int get_fragment_location_2(struct super_block *s, unsigned int fragment,
2348+ long long *fragment_start_block,
2349+ unsigned int *fragment_size)
2350+{
2351+ struct squashfs_sb_info *msblk = s->s_fs_info;
2352+ long long start_block =
2353+ msblk->fragment_index_2[SQUASHFS_FRAGMENT_INDEX_2(fragment)];
2354+ int offset = SQUASHFS_FRAGMENT_INDEX_OFFSET_2(fragment);
2355+ struct squashfs_fragment_entry_2 fragment_entry;
2356+
2357+ if (msblk->swap) {
2358+ struct squashfs_fragment_entry_2 sfragment_entry;
2359+
2360+ if (!squashfs_get_cached_block(s, (char *) &sfragment_entry,
2361+ start_block, offset,
2362+ sizeof(sfragment_entry), &start_block,
2363+ &offset))
2364+ goto out;
2365+ SQUASHFS_SWAP_FRAGMENT_ENTRY_2(&fragment_entry, &sfragment_entry);
2366+ } else
2367+ if (!squashfs_get_cached_block(s, (char *) &fragment_entry,
2368+ start_block, offset,
2369+ sizeof(fragment_entry), &start_block,
2370+ &offset))
2371+ goto out;
2372+
2373+ *fragment_start_block = fragment_entry.start_block;
2374+ *fragment_size = fragment_entry.size;
2375+
2376+ return 1;
2377+
2378+out:
2379+ return 0;
2380+}
2381+
2382+
2383+static struct inode *squashfs_new_inode(struct super_block *s,
2384+ struct squashfs_base_inode_header_2 *inodeb, unsigned int ino)
2385+{
2386+ struct squashfs_sb_info *msblk = s->s_fs_info;
2387+ struct squashfs_super_block *sblk = &msblk->sblk;
2388+ struct inode *i = new_inode(s);
2389+
2390+ if (i) {
2391+ i->i_ino = ino;
2392+ i->i_mtime.tv_sec = sblk->mkfs_time;
2393+ i->i_atime.tv_sec = sblk->mkfs_time;
2394+ i->i_ctime.tv_sec = sblk->mkfs_time;
2395+ i->i_uid = msblk->uid[inodeb->uid];
2396+ i->i_mode = inodeb->mode;
2397+ i->i_nlink = 1;
2398+ i->i_size = 0;
2399+ if (inodeb->guid == SQUASHFS_GUIDS)
2400+ i->i_gid = i->i_uid;
2401+ else
2402+ i->i_gid = msblk->guid[inodeb->guid];
2403+ }
2404+
2405+ return i;
2406+}
2407+
2408+
2409+static struct inode *squashfs_iget_2(struct super_block *s, squashfs_inode_t inode)
2410+{
2411+ struct inode *i;
2412+ struct squashfs_sb_info *msblk = s->s_fs_info;
2413+ struct squashfs_super_block *sblk = &msblk->sblk;
2414+ unsigned int block = SQUASHFS_INODE_BLK(inode) +
2415+ sblk->inode_table_start;
2416+ unsigned int offset = SQUASHFS_INODE_OFFSET(inode);
2417+ unsigned int ino = SQUASHFS_MK_VFS_INODE(block
2418+ - sblk->inode_table_start, offset);
2419+ long long next_block;
2420+ unsigned int next_offset;
2421+ union squashfs_inode_header_2 id, sid;
2422+ struct squashfs_base_inode_header_2 *inodeb = &id.base,
2423+ *sinodeb = &sid.base;
2424+
2425+ TRACE("Entered squashfs_iget\n");
2426+
2427+ if (msblk->swap) {
2428+ if (!squashfs_get_cached_block(s, (char *) sinodeb, block,
2429+ offset, sizeof(*sinodeb), &next_block,
2430+ &next_offset))
2431+ goto failed_read;
2432+ SQUASHFS_SWAP_BASE_INODE_HEADER_2(inodeb, sinodeb,
2433+ sizeof(*sinodeb));
2434+ } else
2435+ if (!squashfs_get_cached_block(s, (char *) inodeb, block,
2436+ offset, sizeof(*inodeb), &next_block,
2437+ &next_offset))
2438+ goto failed_read;
2439+
2440+ switch(inodeb->inode_type) {
2441+ case SQUASHFS_FILE_TYPE: {
2442+ struct squashfs_reg_inode_header_2 *inodep = &id.reg;
2443+ struct squashfs_reg_inode_header_2 *sinodep = &sid.reg;
2444+ long long frag_blk;
2445+ unsigned int frag_size;
2446+
2447+ if (msblk->swap) {
2448+ if (!squashfs_get_cached_block(s, (char *)
2449+ sinodep, block, offset,
2450+ sizeof(*sinodep), &next_block,
2451+ &next_offset))
2452+ goto failed_read;
2453+ SQUASHFS_SWAP_REG_INODE_HEADER_2(inodep, sinodep);
2454+ } else
2455+ if (!squashfs_get_cached_block(s, (char *)
2456+ inodep, block, offset,
2457+ sizeof(*inodep), &next_block,
2458+ &next_offset))
2459+ goto failed_read;
2460+
2461+ frag_blk = SQUASHFS_INVALID_BLK;
2462+ if (inodep->fragment != SQUASHFS_INVALID_FRAG &&
2463+ !get_fragment_location_2(s,
2464+ inodep->fragment, &frag_blk, &frag_size))
2465+ goto failed_read;
2466+
2467+ if((i = squashfs_new_inode(s, inodeb, ino)) == NULL)
2468+ goto failed_read1;
2469+
2470+ i->i_size = inodep->file_size;
2471+ i->i_fop = &generic_ro_fops;
2472+ i->i_mode |= S_IFREG;
2473+ i->i_mtime.tv_sec = inodep->mtime;
2474+ i->i_atime.tv_sec = inodep->mtime;
2475+ i->i_ctime.tv_sec = inodep->mtime;
2476+ i->i_blocks = ((i->i_size - 1) >> 9) + 1;
2477+ SQUASHFS_I(i)->u.s1.fragment_start_block = frag_blk;
2478+ SQUASHFS_I(i)->u.s1.fragment_size = frag_size;
2479+ SQUASHFS_I(i)->u.s1.fragment_offset = inodep->offset;
2480+ SQUASHFS_I(i)->start_block = inodep->start_block;
2481+ SQUASHFS_I(i)->u.s1.block_list_start = next_block;
2482+ SQUASHFS_I(i)->offset = next_offset;
2483+ if (sblk->block_size > 4096)
2484+ i->i_data.a_ops = &squashfs_aops;
2485+ else
2486+ i->i_data.a_ops = &squashfs_aops_4K;
2487+
2488+ TRACE("File inode %x:%x, start_block %x, "
2489+ "block_list_start %llx, offset %x\n",
2490+ SQUASHFS_INODE_BLK(inode), offset,
2491+ inodep->start_block, next_block,
2492+ next_offset);
2493+ break;
2494+ }
2495+ case SQUASHFS_DIR_TYPE: {
2496+ struct squashfs_dir_inode_header_2 *inodep = &id.dir;
2497+ struct squashfs_dir_inode_header_2 *sinodep = &sid.dir;
2498+
2499+ if (msblk->swap) {
2500+ if (!squashfs_get_cached_block(s, (char *)
2501+ sinodep, block, offset,
2502+ sizeof(*sinodep), &next_block,
2503+ &next_offset))
2504+ goto failed_read;
2505+ SQUASHFS_SWAP_DIR_INODE_HEADER_2(inodep, sinodep);
2506+ } else
2507+ if (!squashfs_get_cached_block(s, (char *)
2508+ inodep, block, offset,
2509+ sizeof(*inodep), &next_block,
2510+ &next_offset))
2511+ goto failed_read;
2512+
2513+ if((i = squashfs_new_inode(s, inodeb, ino)) == NULL)
2514+ goto failed_read1;
2515+
2516+ i->i_size = inodep->file_size;
2517+ i->i_op = &squashfs_dir_inode_ops_2;
2518+ i->i_fop = &squashfs_dir_ops_2;
2519+ i->i_mode |= S_IFDIR;
2520+ i->i_mtime.tv_sec = inodep->mtime;
2521+ i->i_atime.tv_sec = inodep->mtime;
2522+ i->i_ctime.tv_sec = inodep->mtime;
2523+ SQUASHFS_I(i)->start_block = inodep->start_block;
2524+ SQUASHFS_I(i)->offset = inodep->offset;
2525+ SQUASHFS_I(i)->u.s2.directory_index_count = 0;
2526+ SQUASHFS_I(i)->u.s2.parent_inode = 0;
2527+
2528+ TRACE("Directory inode %x:%x, start_block %x, offset "
2529+ "%x\n", SQUASHFS_INODE_BLK(inode),
2530+ offset, inodep->start_block,
2531+ inodep->offset);
2532+ break;
2533+ }
2534+ case SQUASHFS_LDIR_TYPE: {
2535+ struct squashfs_ldir_inode_header_2 *inodep = &id.ldir;
2536+ struct squashfs_ldir_inode_header_2 *sinodep = &sid.ldir;
2537+
2538+ if (msblk->swap) {
2539+ if (!squashfs_get_cached_block(s, (char *)
2540+ sinodep, block, offset,
2541+ sizeof(*sinodep), &next_block,
2542+ &next_offset))
2543+ goto failed_read;
2544+ SQUASHFS_SWAP_LDIR_INODE_HEADER_2(inodep,
2545+ sinodep);
2546+ } else
2547+ if (!squashfs_get_cached_block(s, (char *)
2548+ inodep, block, offset,
2549+ sizeof(*inodep), &next_block,
2550+ &next_offset))
2551+ goto failed_read;
2552+
2553+ if((i = squashfs_new_inode(s, inodeb, ino)) == NULL)
2554+ goto failed_read1;
2555+
2556+ i->i_size = inodep->file_size;
2557+ i->i_op = &squashfs_dir_inode_ops_2;
2558+ i->i_fop = &squashfs_dir_ops_2;
2559+ i->i_mode |= S_IFDIR;
2560+ i->i_mtime.tv_sec = inodep->mtime;
2561+ i->i_atime.tv_sec = inodep->mtime;
2562+ i->i_ctime.tv_sec = inodep->mtime;
2563+ SQUASHFS_I(i)->start_block = inodep->start_block;
2564+ SQUASHFS_I(i)->offset = inodep->offset;
2565+ SQUASHFS_I(i)->u.s2.directory_index_start = next_block;
2566+ SQUASHFS_I(i)->u.s2.directory_index_offset =
2567+ next_offset;
2568+ SQUASHFS_I(i)->u.s2.directory_index_count =
2569+ inodep->i_count;
2570+ SQUASHFS_I(i)->u.s2.parent_inode = 0;
2571+
2572+ TRACE("Long directory inode %x:%x, start_block %x, "
2573+ "offset %x\n",
2574+ SQUASHFS_INODE_BLK(inode), offset,
2575+ inodep->start_block, inodep->offset);
2576+ break;
2577+ }
2578+ case SQUASHFS_SYMLINK_TYPE: {
2579+ struct squashfs_symlink_inode_header_2 *inodep =
2580+ &id.symlink;
2581+ struct squashfs_symlink_inode_header_2 *sinodep =
2582+ &sid.symlink;
2583+
2584+ if (msblk->swap) {
2585+ if (!squashfs_get_cached_block(s, (char *)
2586+ sinodep, block, offset,
2587+ sizeof(*sinodep), &next_block,
2588+ &next_offset))
2589+ goto failed_read;
2590+ SQUASHFS_SWAP_SYMLINK_INODE_HEADER_2(inodep,
2591+ sinodep);
2592+ } else
2593+ if (!squashfs_get_cached_block(s, (char *)
2594+ inodep, block, offset,
2595+ sizeof(*inodep), &next_block,
2596+ &next_offset))
2597+ goto failed_read;
2598+
2599+ if((i = squashfs_new_inode(s, inodeb, ino)) == NULL)
2600+ goto failed_read1;
2601+
2602+ i->i_size = inodep->symlink_size;
2603+ i->i_op = &page_symlink_inode_operations;
2604+ i->i_data.a_ops = &squashfs_symlink_aops;
2605+ i->i_mode |= S_IFLNK;
2606+ SQUASHFS_I(i)->start_block = next_block;
2607+ SQUASHFS_I(i)->offset = next_offset;
2608+
2609+ TRACE("Symbolic link inode %x:%x, start_block %llx, "
2610+ "offset %x\n",
2611+ SQUASHFS_INODE_BLK(inode), offset,
2612+ next_block, next_offset);
2613+ break;
2614+ }
2615+ case SQUASHFS_BLKDEV_TYPE:
2616+ case SQUASHFS_CHRDEV_TYPE: {
2617+ struct squashfs_dev_inode_header_2 *inodep = &id.dev;
2618+ struct squashfs_dev_inode_header_2 *sinodep = &sid.dev;
2619+
2620+ if (msblk->swap) {
2621+ if (!squashfs_get_cached_block(s, (char *)
2622+ sinodep, block, offset,
2623+ sizeof(*sinodep), &next_block,
2624+ &next_offset))
2625+ goto failed_read;
2626+ SQUASHFS_SWAP_DEV_INODE_HEADER_2(inodep, sinodep);
2627+ } else
2628+ if (!squashfs_get_cached_block(s, (char *)
2629+ inodep, block, offset,
2630+ sizeof(*inodep), &next_block,
2631+ &next_offset))
2632+ goto failed_read;
2633+
2634+ if ((i = squashfs_new_inode(s, inodeb, ino)) == NULL)
2635+ goto failed_read1;
2636+
2637+ i->i_mode |= (inodeb->inode_type ==
2638+ SQUASHFS_CHRDEV_TYPE) ? S_IFCHR :
2639+ S_IFBLK;
2640+ init_special_inode(i, i->i_mode,
2641+ old_decode_dev(inodep->rdev));
2642+
2643+ TRACE("Device inode %x:%x, rdev %x\n",
2644+ SQUASHFS_INODE_BLK(inode), offset,
2645+ inodep->rdev);
2646+ break;
2647+ }
2648+ case SQUASHFS_FIFO_TYPE:
2649+ case SQUASHFS_SOCKET_TYPE: {
2650+ if ((i = squashfs_new_inode(s, inodeb, ino)) == NULL)
2651+ goto failed_read1;
2652+
2653+ i->i_mode |= (inodeb->inode_type == SQUASHFS_FIFO_TYPE)
2654+ ? S_IFIFO : S_IFSOCK;
2655+ init_special_inode(i, i->i_mode, 0);
2656+ break;
2657+ }
2658+ default:
2659+ ERROR("Unknown inode type %d in squashfs_iget!\n",
2660+ inodeb->inode_type);
2661+ goto failed_read1;
2662+ }
2663+
2664+ insert_inode_hash(i);
2665+ return i;
2666+
2667+failed_read:
2668+ ERROR("Unable to read inode [%x:%x]\n", block, offset);
2669+
2670+failed_read1:
2671+ return NULL;
2672+}
2673+
2674+
2675+static int get_dir_index_using_offset(struct super_block *s, long long
2676+ *next_block, unsigned int *next_offset,
2677+ long long index_start,
2678+ unsigned int index_offset, int i_count,
2679+ long long f_pos)
2680+{
2681+ struct squashfs_sb_info *msblk = s->s_fs_info;
2682+ struct squashfs_super_block *sblk = &msblk->sblk;
2683+ int i, length = 0;
2684+ struct squashfs_dir_index_2 index;
2685+
2686+ TRACE("Entered get_dir_index_using_offset, i_count %d, f_pos %d\n",
2687+ i_count, (unsigned int) f_pos);
2688+
2689+ if (f_pos == 0)
2690+ goto finish;
2691+
2692+ for (i = 0; i < i_count; i++) {
2693+ if (msblk->swap) {
2694+ struct squashfs_dir_index_2 sindex;
2695+ squashfs_get_cached_block(s, (char *) &sindex,
2696+ index_start, index_offset,
2697+ sizeof(sindex), &index_start,
2698+ &index_offset);
2699+ SQUASHFS_SWAP_DIR_INDEX_2(&index, &sindex);
2700+ } else
2701+ squashfs_get_cached_block(s, (char *) &index,
2702+ index_start, index_offset,
2703+ sizeof(index), &index_start,
2704+ &index_offset);
2705+
2706+ if (index.index > f_pos)
2707+ break;
2708+
2709+ squashfs_get_cached_block(s, NULL, index_start, index_offset,
2710+ index.size + 1, &index_start,
2711+ &index_offset);
2712+
2713+ length = index.index;
2714+ *next_block = index.start_block + sblk->directory_table_start;
2715+ }
2716+
2717+ *next_offset = (length + *next_offset) % SQUASHFS_METADATA_SIZE;
2718+
2719+finish:
2720+ return length;
2721+}
2722+
2723+
2724+static int get_dir_index_using_name(struct super_block *s, long long
2725+ *next_block, unsigned int *next_offset,
2726+ long long index_start,
2727+ unsigned int index_offset, int i_count,
2728+ const char *name, int size)
2729+{
2730+ struct squashfs_sb_info *msblk = s->s_fs_info;
2731+ struct squashfs_super_block *sblk = &msblk->sblk;
2732+ int i, length = 0;
2733+ char buffer[sizeof(struct squashfs_dir_index_2) + SQUASHFS_NAME_LEN + 1];
2734+ struct squashfs_dir_index_2 *index = (struct squashfs_dir_index_2 *) buffer;
2735+ char str[SQUASHFS_NAME_LEN + 1];
2736+
2737+ TRACE("Entered get_dir_index_using_name, i_count %d\n", i_count);
2738+
2739+ strncpy(str, name, size);
2740+ str[size] = '\0';
2741+
2742+ for (i = 0; i < i_count; i++) {
2743+ if (msblk->swap) {
2744+ struct squashfs_dir_index_2 sindex;
2745+ squashfs_get_cached_block(s, (char *) &sindex,
2746+ index_start, index_offset,
2747+ sizeof(sindex), &index_start,
2748+ &index_offset);
2749+ SQUASHFS_SWAP_DIR_INDEX_2(index, &sindex);
2750+ } else
2751+ squashfs_get_cached_block(s, (char *) index,
2752+ index_start, index_offset,
2753+ sizeof(struct squashfs_dir_index_2),
2754+ &index_start, &index_offset);
2755+
2756+ squashfs_get_cached_block(s, index->name, index_start,
2757+ index_offset, index->size + 1,
2758+ &index_start, &index_offset);
2759+
2760+ index->name[index->size + 1] = '\0';
2761+
2762+ if (strcmp(index->name, str) > 0)
2763+ break;
2764+
2765+ length = index->index;
2766+ *next_block = index->start_block + sblk->directory_table_start;
2767+ }
2768+
2769+ *next_offset = (length + *next_offset) % SQUASHFS_METADATA_SIZE;
2770+ return length;
2771+}
2772+
2773+
2774+static int squashfs_readdir_2(struct file *file, void *dirent, filldir_t filldir)
2775+{
2776+ struct inode *i = file->f_dentry->d_inode;
2777+ struct squashfs_sb_info *msblk = i->i_sb->s_fs_info;
2778+ struct squashfs_super_block *sblk = &msblk->sblk;
2779+ long long next_block = SQUASHFS_I(i)->start_block +
2780+ sblk->directory_table_start;
2781+ int next_offset = SQUASHFS_I(i)->offset, length = 0, dirs_read = 0,
2782+ dir_count;
2783+ struct squashfs_dir_header_2 dirh;
2784+ char buffer[sizeof(struct squashfs_dir_entry_2) + SQUASHFS_NAME_LEN + 1];
2785+ struct squashfs_dir_entry_2 *dire = (struct squashfs_dir_entry_2 *) buffer;
2786+
2787+ TRACE("Entered squashfs_readdir_2 [%llx:%x]\n", next_block, next_offset);
2788+
2789+ length = get_dir_index_using_offset(i->i_sb, &next_block, &next_offset,
2790+ SQUASHFS_I(i)->u.s2.directory_index_start,
2791+ SQUASHFS_I(i)->u.s2.directory_index_offset,
2792+ SQUASHFS_I(i)->u.s2.directory_index_count,
2793+ file->f_pos);
2794+
2795+ while (length < i_size_read(i)) {
2796+ /* read directory header */
2797+ if (msblk->swap) {
2798+ struct squashfs_dir_header_2 sdirh;
2799+
2800+ if (!squashfs_get_cached_block(i->i_sb, (char *) &sdirh,
2801+ next_block, next_offset, sizeof(sdirh),
2802+ &next_block, &next_offset))
2803+ goto failed_read;
2804+
2805+ length += sizeof(sdirh);
2806+ SQUASHFS_SWAP_DIR_HEADER_2(&dirh, &sdirh);
2807+ } else {
2808+ if (!squashfs_get_cached_block(i->i_sb, (char *) &dirh,
2809+ next_block, next_offset, sizeof(dirh),
2810+ &next_block, &next_offset))
2811+ goto failed_read;
2812+
2813+ length += sizeof(dirh);
2814+ }
2815+
2816+ dir_count = dirh.count + 1;
2817+ while (dir_count--) {
2818+ if (msblk->swap) {
2819+ struct squashfs_dir_entry_2 sdire;
2820+ if (!squashfs_get_cached_block(i->i_sb, (char *)
2821+ &sdire, next_block, next_offset,
2822+ sizeof(sdire), &next_block,
2823+ &next_offset))
2824+ goto failed_read;
2825+
2826+ length += sizeof(sdire);
2827+ SQUASHFS_SWAP_DIR_ENTRY_2(dire, &sdire);
2828+ } else {
2829+ if (!squashfs_get_cached_block(i->i_sb, (char *)
2830+ dire, next_block, next_offset,
2831+ sizeof(*dire), &next_block,
2832+ &next_offset))
2833+ goto failed_read;
2834+
2835+ length += sizeof(*dire);
2836+ }
2837+
2838+ if (!squashfs_get_cached_block(i->i_sb, dire->name,
2839+ next_block, next_offset,
2840+ dire->size + 1, &next_block,
2841+ &next_offset))
2842+ goto failed_read;
2843+
2844+ length += dire->size + 1;
2845+
2846+ if (file->f_pos >= length)
2847+ continue;
2848+
2849+ dire->name[dire->size + 1] = '\0';
2850+
2851+ TRACE("Calling filldir(%x, %s, %d, %d, %x:%x, %d)\n",
2852+ (unsigned int) dirent, dire->name,
2853+ dire->size + 1, (int) file->f_pos,
2854+ dirh.start_block, dire->offset,
2855+ squashfs_filetype_table[dire->type]);
2856+
2857+ if (filldir(dirent, dire->name, dire->size + 1,
2858+ file->f_pos, SQUASHFS_MK_VFS_INODE(
2859+ dirh.start_block, dire->offset),
2860+ squashfs_filetype_table[dire->type])
2861+ < 0) {
2862+ TRACE("Filldir returned less than 0\n");
2863+ goto finish;
2864+ }
2865+ file->f_pos = length;
2866+ dirs_read++;
2867+ }
2868+ }
2869+
2870+finish:
2871+ return dirs_read;
2872+
2873+failed_read:
2874+ ERROR("Unable to read directory block [%llx:%x]\n", next_block,
2875+ next_offset);
2876+ return 0;
2877+}
2878+
2879+
2880+static struct dentry *squashfs_lookup_2(struct inode *i, struct dentry *dentry,
2881+ struct nameidata *nd)
2882+{
2883+ const unsigned char *name = dentry->d_name.name;
2884+ int len = dentry->d_name.len;
2885+ struct inode *inode = NULL;
2886+ struct squashfs_sb_info *msblk = i->i_sb->s_fs_info;
2887+ struct squashfs_super_block *sblk = &msblk->sblk;
2888+ long long next_block = SQUASHFS_I(i)->start_block +
2889+ sblk->directory_table_start;
2890+ int next_offset = SQUASHFS_I(i)->offset, length = 0,
2891+ dir_count;
2892+ struct squashfs_dir_header_2 dirh;
2893+ char buffer[sizeof(struct squashfs_dir_entry_2) + SQUASHFS_NAME_LEN];
2894+ struct squashfs_dir_entry_2 *dire = (struct squashfs_dir_entry_2 *) buffer;
2895+ int sorted = sblk->s_major == 2 && sblk->s_minor >= 1;
2896+
2897+ TRACE("Entered squashfs_lookup [%llx:%x]\n", next_block, next_offset);
2898+
2899+ if (len > SQUASHFS_NAME_LEN)
2900+ goto exit_loop;
2901+
2902+ length = get_dir_index_using_name(i->i_sb, &next_block, &next_offset,
2903+ SQUASHFS_I(i)->u.s2.directory_index_start,
2904+ SQUASHFS_I(i)->u.s2.directory_index_offset,
2905+ SQUASHFS_I(i)->u.s2.directory_index_count, name,
2906+ len);
2907+
2908+ while (length < i_size_read(i)) {
2909+ /* read directory header */
2910+ if (msblk->swap) {
2911+ struct squashfs_dir_header_2 sdirh;
2912+ if (!squashfs_get_cached_block(i->i_sb, (char *) &sdirh,
2913+ next_block, next_offset, sizeof(sdirh),
2914+ &next_block, &next_offset))
2915+ goto failed_read;
2916+
2917+ length += sizeof(sdirh);
2918+ SQUASHFS_SWAP_DIR_HEADER_2(&dirh, &sdirh);
2919+ } else {
2920+ if (!squashfs_get_cached_block(i->i_sb, (char *) &dirh,
2921+ next_block, next_offset, sizeof(dirh),
2922+ &next_block, &next_offset))
2923+ goto failed_read;
2924+
2925+ length += sizeof(dirh);
2926+ }
2927+
2928+ dir_count = dirh.count + 1;
2929+ while (dir_count--) {
2930+ if (msblk->swap) {
2931+ struct squashfs_dir_entry_2 sdire;
2932+ if (!squashfs_get_cached_block(i->i_sb, (char *)
2933+ &sdire, next_block,next_offset,
2934+ sizeof(sdire), &next_block,
2935+ &next_offset))
2936+ goto failed_read;
2937+
2938+ length += sizeof(sdire);
2939+ SQUASHFS_SWAP_DIR_ENTRY_2(dire, &sdire);
2940+ } else {
2941+ if (!squashfs_get_cached_block(i->i_sb, (char *)
2942+ dire, next_block,next_offset,
2943+ sizeof(*dire), &next_block,
2944+ &next_offset))
2945+ goto failed_read;
2946+
2947+ length += sizeof(*dire);
2948+ }
2949+
2950+ if (!squashfs_get_cached_block(i->i_sb, dire->name,
2951+ next_block, next_offset, dire->size + 1,
2952+ &next_block, &next_offset))
2953+ goto failed_read;
2954+
2955+ length += dire->size + 1;
2956+
2957+ if (sorted && name[0] < dire->name[0])
2958+ goto exit_loop;
2959+
2960+ if ((len == dire->size + 1) && !strncmp(name,
2961+ dire->name, len)) {
2962+ squashfs_inode_t ino =
2963+ SQUASHFS_MKINODE(dirh.start_block,
2964+ dire->offset);
2965+
2966+ TRACE("calling squashfs_iget for directory "
2967+ "entry %s, inode %x:%x, %lld\n", name,
2968+ dirh.start_block, dire->offset, ino);
2969+
2970+ inode = (msblk->iget)(i->i_sb, ino);
2971+
2972+ goto exit_loop;
2973+ }
2974+ }
2975+ }
2976+
2977+exit_loop:
2978+ d_add(dentry, inode);
2979+ return ERR_PTR(0);
2980+
2981+failed_read:
2982+ ERROR("Unable to read directory block [%llx:%x]\n", next_block,
2983+ next_offset);
2984+ goto exit_loop;
2985+}
2986+
2987+
2988+int squashfs_2_0_supported(struct squashfs_sb_info *msblk)
2989+{
2990+ struct squashfs_super_block *sblk = &msblk->sblk;
2991+
2992+ msblk->iget = squashfs_iget_2;
2993+ msblk->read_fragment_index_table = read_fragment_index_table_2;
2994+
2995+ sblk->bytes_used = sblk->bytes_used_2;
2996+ sblk->uid_start = sblk->uid_start_2;
2997+ sblk->guid_start = sblk->guid_start_2;
2998+ sblk->inode_table_start = sblk->inode_table_start_2;
2999+ sblk->directory_table_start = sblk->directory_table_start_2;
3000+ sblk->fragment_table_start = sblk->fragment_table_start_2;
3001+
3002+ return 1;
3003+}
3004Index: git/fs/squashfs/squashfs.h
3005===================================================================
3006--- /dev/null 1970-01-01 00:00:00.000000000 +0000
3007+++ git/fs/squashfs/squashfs.h 2006-10-31 21:26:45.000000000 +0000
3008@@ -0,0 +1,86 @@
3009+/*
3010+ * Squashfs - a compressed read only filesystem for Linux
3011+ *
3012+ * Copyright (c) 2002, 2003, 2004, 2005, 2006
3013+ * Phillip Lougher <phillip@lougher.org.uk>
3014+ *
3015+ * This program is free software; you can redistribute it and/or
3016+ * modify it under the terms of the GNU General Public License
3017+ * as published by the Free Software Foundation; either version 2,
3018+ * or (at your option) any later version.
3019+ *
3020+ * This program is distributed in the hope that it will be useful,
3021+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
3022+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3023+ * GNU General Public License for more details.
3024+ *
3025+ * You should have received a copy of the GNU General Public License
3026+ * along with this program; if not, write to the Free Software
3027+ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
3028+ *
3029+ * squashfs.h
3030+ */
3031+
3032+#ifdef CONFIG_SQUASHFS_1_0_COMPATIBILITY
3033+#undef CONFIG_SQUASHFS_1_0_COMPATIBILITY
3034+#endif
3035+
3036+#ifdef SQUASHFS_TRACE
3037+#define TRACE(s, args...) printk(KERN_NOTICE "SQUASHFS: "s, ## args)
3038+#else
3039+#define TRACE(s, args...) {}
3040+#endif
3041+
3042+#define ERROR(s, args...) printk(KERN_ERR "SQUASHFS error: "s, ## args)
3043+
3044+#define SERROR(s, args...) do { \
3045+ if (!silent) \
3046+ printk(KERN_ERR "SQUASHFS error: "s, ## args);\
3047+ } while(0)
3048+
3049+#define WARNING(s, args...) printk(KERN_WARNING "SQUASHFS: "s, ## args)
3050+
3051+static inline struct squashfs_inode_info *SQUASHFS_I(struct inode *inode)
3052+{
3053+ return list_entry(inode, struct squashfs_inode_info, vfs_inode);
3054+}
3055+
3056+#if defined(CONFIG_SQUASHFS_1_0_COMPATIBILITY ) || defined(CONFIG_SQUASHFS_2_0_COMPATIBILITY)
3057+#define SQSH_EXTERN
3058+extern unsigned int squashfs_read_data(struct super_block *s, char *buffer,
3059+ long long index, unsigned int length,
3060+ long long *next_index);
3061+extern int squashfs_get_cached_block(struct super_block *s, char *buffer,
3062+ long long block, unsigned int offset,
3063+ int length, long long *next_block,
3064+ unsigned int *next_offset);
3065+extern void release_cached_fragment(struct squashfs_sb_info *msblk, struct
3066+ squashfs_fragment_cache *fragment);
3067+extern struct squashfs_fragment_cache *get_cached_fragment(struct super_block
3068+ *s, long long start_block,
3069+ int length);
3070+extern struct address_space_operations squashfs_symlink_aops;
3071+extern struct address_space_operations squashfs_aops;
3072+extern struct address_space_operations squashfs_aops_4K;
3073+extern struct inode_operations squashfs_dir_inode_ops;
3074+#else
3075+#define SQSH_EXTERN static
3076+#endif
3077+
3078+#ifdef CONFIG_SQUASHFS_1_0_COMPATIBILITY
3079+extern int squashfs_1_0_supported(struct squashfs_sb_info *msblk);
3080+#else
3081+static inline int squashfs_1_0_supported(struct squashfs_sb_info *msblk)
3082+{
3083+ return 0;
3084+}
3085+#endif
3086+
3087+#ifdef CONFIG_SQUASHFS_2_0_COMPATIBILITY
3088+extern int squashfs_2_0_supported(struct squashfs_sb_info *msblk);
3089+#else
3090+static inline int squashfs_2_0_supported(struct squashfs_sb_info *msblk)
3091+{
3092+ return 0;
3093+}
3094+#endif
3095Index: git/include/linux/squashfs_fs.h
3096===================================================================
3097--- /dev/null 1970-01-01 00:00:00.000000000 +0000
3098+++ git/include/linux/squashfs_fs.h 2006-10-31 21:26:45.000000000 +0000
3099@@ -0,0 +1,911 @@
3100+#ifndef SQUASHFS_FS
3101+#define SQUASHFS_FS
3102+
3103+/*
3104+ * Squashfs
3105+ *
3106+ * Copyright (c) 2002, 2003, 2004, 2005, 2006
3107+ * Phillip Lougher <phillip@lougher.org.uk>
3108+ *
3109+ * This program is free software; you can redistribute it and/or
3110+ * modify it under the terms of the GNU General Public License
3111+ * as published by the Free Software Foundation; either version 2,
3112+ * or (at your option) any later version.
3113+ *
3114+ * This program is distributed in the hope that it will be useful,
3115+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
3116+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3117+ * GNU General Public License for more details.
3118+ *
3119+ * You should have received a copy of the GNU General Public License
3120+ * along with this program; if not, write to the Free Software
3121+ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
3122+ *
3123+ * squashfs_fs.h
3124+ */
3125+
3126+#ifndef CONFIG_SQUASHFS_2_0_COMPATIBILITY
3127+#define CONFIG_SQUASHFS_2_0_COMPATIBILITY
3128+#endif
3129+
3130+#ifdef CONFIG_SQUASHFS_VMALLOC
3131+#define SQUASHFS_ALLOC(a) vmalloc(a)
3132+#define SQUASHFS_FREE(a) vfree(a)
3133+#else
3134+#define SQUASHFS_ALLOC(a) kmalloc(a, GFP_KERNEL)
3135+#define SQUASHFS_FREE(a) kfree(a)
3136+#endif
3137+#define SQUASHFS_CACHED_FRAGMENTS CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE
3138+#define SQUASHFS_MAJOR 3
3139+#define SQUASHFS_MINOR 0
3140+#define SQUASHFS_MAGIC 0x73717368
3141+#define SQUASHFS_MAGIC_SWAP 0x68737173
3142+#define SQUASHFS_START 0
3143+
3144+/* size of metadata (inode and directory) blocks */
3145+#define SQUASHFS_METADATA_SIZE 8192
3146+#define SQUASHFS_METADATA_LOG 13
3147+
3148+/* default size of data blocks */
3149+#define SQUASHFS_FILE_SIZE 65536
3150+#define SQUASHFS_FILE_LOG 16
3151+
3152+#define SQUASHFS_FILE_MAX_SIZE 65536
3153+
3154+/* Max number of uids and gids */
3155+#define SQUASHFS_UIDS 256
3156+#define SQUASHFS_GUIDS 255
3157+
3158+/* Max length of filename (not 255) */
3159+#define SQUASHFS_NAME_LEN 256
3160+
3161+#define SQUASHFS_INVALID ((long long) 0xffffffffffff)
3162+#define SQUASHFS_INVALID_FRAG ((unsigned int) 0xffffffff)
3163+#define SQUASHFS_INVALID_BLK ((long long) -1)
3164+#define SQUASHFS_USED_BLK ((long long) -2)
3165+
3166+/* Filesystem flags */
3167+#define SQUASHFS_NOI 0
3168+#define SQUASHFS_NOD 1
3169+#define SQUASHFS_CHECK 2
3170+#define SQUASHFS_NOF 3
3171+#define SQUASHFS_NO_FRAG 4
3172+#define SQUASHFS_ALWAYS_FRAG 5
3173+#define SQUASHFS_DUPLICATE 6
3174+
3175+#define SQUASHFS_BIT(flag, bit) ((flag >> bit) & 1)
3176+
3177+#define SQUASHFS_UNCOMPRESSED_INODES(flags) SQUASHFS_BIT(flags, \
3178+ SQUASHFS_NOI)
3179+
3180+#define SQUASHFS_UNCOMPRESSED_DATA(flags) SQUASHFS_BIT(flags, \
3181+ SQUASHFS_NOD)
3182+
3183+#define SQUASHFS_UNCOMPRESSED_FRAGMENTS(flags) SQUASHFS_BIT(flags, \
3184+ SQUASHFS_NOF)
3185+
3186+#define SQUASHFS_NO_FRAGMENTS(flags) SQUASHFS_BIT(flags, \
3187+ SQUASHFS_NO_FRAG)
3188+
3189+#define SQUASHFS_ALWAYS_FRAGMENTS(flags) SQUASHFS_BIT(flags, \
3190+ SQUASHFS_ALWAYS_FRAG)
3191+
3192+#define SQUASHFS_DUPLICATES(flags) SQUASHFS_BIT(flags, \
3193+ SQUASHFS_DUPLICATE)
3194+
3195+#define SQUASHFS_CHECK_DATA(flags) SQUASHFS_BIT(flags, \
3196+ SQUASHFS_CHECK)
3197+
3198+#define SQUASHFS_MKFLAGS(noi, nod, check_data, nof, no_frag, always_frag, \
3199+ duplicate_checking) (noi | (nod << 1) | (check_data << 2) \
3200+ | (nof << 3) | (no_frag << 4) | (always_frag << 5) | \
3201+ (duplicate_checking << 6))
3202+
3203+/* Max number of types and file types */
3204+#define SQUASHFS_DIR_TYPE 1
3205+#define SQUASHFS_FILE_TYPE 2
3206+#define SQUASHFS_SYMLINK_TYPE 3
3207+#define SQUASHFS_BLKDEV_TYPE 4
3208+#define SQUASHFS_CHRDEV_TYPE 5
3209+#define SQUASHFS_FIFO_TYPE 6
3210+#define SQUASHFS_SOCKET_TYPE 7
3211+#define SQUASHFS_LDIR_TYPE 8
3212+#define SQUASHFS_LREG_TYPE 9
3213+
3214+/* 1.0 filesystem type definitions */
3215+#define SQUASHFS_TYPES 5
3216+#define SQUASHFS_IPC_TYPE 0
3217+
3218+/* Flag whether block is compressed or uncompressed, bit is set if block is
3219+ * uncompressed */
3220+#define SQUASHFS_COMPRESSED_BIT (1 << 15)
3221+
3222+#define SQUASHFS_COMPRESSED_SIZE(B) (((B) & ~SQUASHFS_COMPRESSED_BIT) ? \
3223+ (B) & ~SQUASHFS_COMPRESSED_BIT : SQUASHFS_COMPRESSED_BIT)
3224+
3225+#define SQUASHFS_COMPRESSED(B) (!((B) & SQUASHFS_COMPRESSED_BIT))
3226+
3227+#define SQUASHFS_COMPRESSED_BIT_BLOCK (1 << 24)
3228+
3229+#define SQUASHFS_COMPRESSED_SIZE_BLOCK(B) (((B) & \
3230+ ~SQUASHFS_COMPRESSED_BIT_BLOCK) ? (B) & \
3231+ ~SQUASHFS_COMPRESSED_BIT_BLOCK : SQUASHFS_COMPRESSED_BIT_BLOCK)
3232+
3233+#define SQUASHFS_COMPRESSED_BLOCK(B) (!((B) & SQUASHFS_COMPRESSED_BIT_BLOCK))
3234+
3235+/*
3236+ * Inode number ops. Inodes consist of a compressed block number, and an
3237+ * uncompressed offset within that block
3238+ */
3239+#define SQUASHFS_INODE_BLK(a) ((unsigned int) ((a) >> 16))
3240+
3241+#define SQUASHFS_INODE_OFFSET(a) ((unsigned int) ((a) & 0xffff))
3242+
3243+#define SQUASHFS_MKINODE(A, B) ((squashfs_inode_t)(((squashfs_inode_t) (A)\
3244+ << 16) + (B)))
3245+
3246+/* Compute 32 bit VFS inode number from squashfs inode number */
3247+#define SQUASHFS_MK_VFS_INODE(a, b) ((unsigned int) (((a) << 8) + \
3248+ ((b) >> 2) + 1))
3249+/* XXX */
3250+
3251+/* Translate between VFS mode and squashfs mode */
3252+#define SQUASHFS_MODE(a) ((a) & 0xfff)
3253+
3254+/* fragment and fragment table defines */
3255+#define SQUASHFS_FRAGMENT_BYTES(A) (A * sizeof(struct squashfs_fragment_entry))
3256+
3257+#define SQUASHFS_FRAGMENT_INDEX(A) (SQUASHFS_FRAGMENT_BYTES(A) / \
3258+ SQUASHFS_METADATA_SIZE)
3259+
3260+#define SQUASHFS_FRAGMENT_INDEX_OFFSET(A) (SQUASHFS_FRAGMENT_BYTES(A) % \
3261+ SQUASHFS_METADATA_SIZE)
3262+
3263+#define SQUASHFS_FRAGMENT_INDEXES(A) ((SQUASHFS_FRAGMENT_BYTES(A) + \
3264+ SQUASHFS_METADATA_SIZE - 1) / \
3265+ SQUASHFS_METADATA_SIZE)
3266+
3267+#define SQUASHFS_FRAGMENT_INDEX_BYTES(A) (SQUASHFS_FRAGMENT_INDEXES(A) *\
3268+ sizeof(long long))
3269+
3270+/* cached data constants for filesystem */
3271+#define SQUASHFS_CACHED_BLKS 8
3272+
3273+#define SQUASHFS_MAX_FILE_SIZE_LOG 64
3274+
3275+#define SQUASHFS_MAX_FILE_SIZE ((long long) 1 << \
3276+ (SQUASHFS_MAX_FILE_SIZE_LOG - 2))
3277+
3278+#define SQUASHFS_MARKER_BYTE 0xff
3279+
3280+/* meta index cache */
3281+#define SQUASHFS_META_INDEXES (SQUASHFS_METADATA_SIZE / sizeof(unsigned int))
3282+#define SQUASHFS_META_ENTRIES 31
3283+#define SQUASHFS_META_NUMBER 8
3284+#define SQUASHFS_SLOTS 4
3285+
3286+struct meta_entry {
3287+ long long data_block;
3288+ unsigned int index_block;
3289+ unsigned short offset;
3290+ unsigned short pad;
3291+};
3292+
3293+struct meta_index {
3294+ unsigned int inode_number;
3295+ unsigned int offset;
3296+ unsigned short entries;
3297+ unsigned short skip;
3298+ unsigned short locked;
3299+ unsigned short pad;
3300+ struct meta_entry meta_entry[SQUASHFS_META_ENTRIES];
3301+};
3302+
3303+
3304+/*
3305+ * definitions for structures on disk
3306+ */
3307+
3308+typedef long long squashfs_block_t;
3309+typedef long long squashfs_inode_t;
3310+
3311+struct squashfs_super_block {
3312+ unsigned int s_magic;
3313+ unsigned int inodes;
3314+ unsigned int bytes_used_2;
3315+ unsigned int uid_start_2;
3316+ unsigned int guid_start_2;
3317+ unsigned int inode_table_start_2;
3318+ unsigned int directory_table_start_2;
3319+ unsigned int s_major:16;
3320+ unsigned int s_minor:16;
3321+ unsigned int block_size_1:16;
3322+ unsigned int block_log:16;
3323+ unsigned int flags:8;
3324+ unsigned int no_uids:8;
3325+ unsigned int no_guids:8;
3326+ unsigned int mkfs_time /* time of filesystem creation */;
3327+ squashfs_inode_t root_inode;
3328+ unsigned int block_size;
3329+ unsigned int fragments;
3330+ unsigned int fragment_table_start_2;
3331+ long long bytes_used;
3332+ long long uid_start;
3333+ long long guid_start;
3334+ long long inode_table_start;
3335+ long long directory_table_start;
3336+ long long fragment_table_start;
3337+ long long unused;
3338+} __attribute__ ((packed));
3339+
3340+struct squashfs_dir_index {
3341+ unsigned int index;
3342+ unsigned int start_block;
3343+ unsigned char size;
3344+ unsigned char name[0];
3345+} __attribute__ ((packed));
3346+
3347+#define SQUASHFS_BASE_INODE_HEADER \
3348+ unsigned int inode_type:4; \
3349+ unsigned int mode:12; \
3350+ unsigned int uid:8; \
3351+ unsigned int guid:8; \
3352+ unsigned int mtime; \
3353+ unsigned int inode_number;
3354+
3355+struct squashfs_base_inode_header {
3356+ SQUASHFS_BASE_INODE_HEADER;
3357+} __attribute__ ((packed));
3358+
3359+struct squashfs_ipc_inode_header {
3360+ SQUASHFS_BASE_INODE_HEADER;
3361+ unsigned int nlink;
3362+} __attribute__ ((packed));
3363+
3364+struct squashfs_dev_inode_header {
3365+ SQUASHFS_BASE_INODE_HEADER;
3366+ unsigned int nlink;
3367+ unsigned short rdev;
3368+} __attribute__ ((packed));
3369+
3370+struct squashfs_symlink_inode_header {
3371+ SQUASHFS_BASE_INODE_HEADER;
3372+ unsigned int nlink;
3373+ unsigned short symlink_size;
3374+ char symlink[0];
3375+} __attribute__ ((packed));
3376+
3377+struct squashfs_reg_inode_header {
3378+ SQUASHFS_BASE_INODE_HEADER;
3379+ squashfs_block_t start_block;
3380+ unsigned int fragment;
3381+ unsigned int offset;
3382+ unsigned int file_size;
3383+ unsigned short block_list[0];
3384+} __attribute__ ((packed));
3385+
3386+struct squashfs_lreg_inode_header {
3387+ SQUASHFS_BASE_INODE_HEADER;
3388+ unsigned int nlink;
3389+ squashfs_block_t start_block;
3390+ unsigned int fragment;
3391+ unsigned int offset;
3392+ long long file_size;
3393+ unsigned short block_list[0];
3394+} __attribute__ ((packed));
3395+
3396+struct squashfs_dir_inode_header {
3397+ SQUASHFS_BASE_INODE_HEADER;
3398+ unsigned int nlink;
3399+ unsigned int file_size:19;
3400+ unsigned int offset:13;
3401+ unsigned int start_block;
3402+ unsigned int parent_inode;
3403+} __attribute__ ((packed));
3404+
3405+struct squashfs_ldir_inode_header {
3406+ SQUASHFS_BASE_INODE_HEADER;
3407+ unsigned int nlink;
3408+ unsigned int file_size:27;
3409+ unsigned int offset:13;
3410+ unsigned int start_block;
3411+ unsigned int i_count:16;
3412+ unsigned int parent_inode;
3413+ struct squashfs_dir_index index[0];
3414+} __attribute__ ((packed));
3415+
3416+union squashfs_inode_header {
3417+ struct squashfs_base_inode_header base;
3418+ struct squashfs_dev_inode_header dev;
3419+ struct squashfs_symlink_inode_header symlink;
3420+ struct squashfs_reg_inode_header reg;
3421+ struct squashfs_lreg_inode_header lreg;
3422+ struct squashfs_dir_inode_header dir;
3423+ struct squashfs_ldir_inode_header ldir;
3424+ struct squashfs_ipc_inode_header ipc;
3425+};
3426+
3427+struct squashfs_dir_entry {
3428+ unsigned int offset:13;
3429+ unsigned int type:3;
3430+ unsigned int size:8;
3431+ int inode_number:16;
3432+ char name[0];
3433+} __attribute__ ((packed));
3434+
3435+struct squashfs_dir_header {
3436+ unsigned int count:8;
3437+ unsigned int start_block;
3438+ unsigned int inode_number;
3439+} __attribute__ ((packed));
3440+
3441+struct squashfs_fragment_entry {
3442+ long long start_block;
3443+ unsigned int size;
3444+ unsigned int unused;
3445+} __attribute__ ((packed));
3446+
3447+extern int squashfs_uncompress_block(void *d, int dstlen, void *s, int srclen);
3448+extern int squashfs_uncompress_init(void);
3449+extern int squashfs_uncompress_exit(void);
3450+
3451+/*
3452+ * macros to convert each packed bitfield structure from little endian to big
3453+ * endian and vice versa. These are needed when creating or using a filesystem
3454+ * on a machine with different byte ordering to the target architecture.
3455+ *
3456+ */
3457+
3458+#define SQUASHFS_SWAP_START \
3459+ int bits;\
3460+ int b_pos;\
3461+ unsigned long long val;\
3462+ unsigned char *s;\
3463+ unsigned char *d;
3464+
3465+#define SQUASHFS_SWAP_SUPER_BLOCK(s, d) {\
3466+ SQUASHFS_SWAP_START\
3467+ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_super_block));\
3468+ SQUASHFS_SWAP((s)->s_magic, d, 0, 32);\
3469+ SQUASHFS_SWAP((s)->inodes, d, 32, 32);\
3470+ SQUASHFS_SWAP((s)->bytes_used_2, d, 64, 32);\
3471+ SQUASHFS_SWAP((s)->uid_start_2, d, 96, 32);\
3472+ SQUASHFS_SWAP((s)->guid_start_2, d, 128, 32);\
3473+ SQUASHFS_SWAP((s)->inode_table_start_2, d, 160, 32);\
3474+ SQUASHFS_SWAP((s)->directory_table_start_2, d, 192, 32);\
3475+ SQUASHFS_SWAP((s)->s_major, d, 224, 16);\
3476+ SQUASHFS_SWAP((s)->s_minor, d, 240, 16);\
3477+ SQUASHFS_SWAP((s)->block_size_1, d, 256, 16);\
3478+ SQUASHFS_SWAP((s)->block_log, d, 272, 16);\
3479+ SQUASHFS_SWAP((s)->flags, d, 288, 8);\
3480+ SQUASHFS_SWAP((s)->no_uids, d, 296, 8);\
3481+ SQUASHFS_SWAP((s)->no_guids, d, 304, 8);\
3482+ SQUASHFS_SWAP((s)->mkfs_time, d, 312, 32);\
3483+ SQUASHFS_SWAP((s)->root_inode, d, 344, 64);\
3484+ SQUASHFS_SWAP((s)->block_size, d, 408, 32);\
3485+ SQUASHFS_SWAP((s)->fragments, d, 440, 32);\
3486+ SQUASHFS_SWAP((s)->fragment_table_start_2, d, 472, 32);\
3487+ SQUASHFS_SWAP((s)->bytes_used, d, 504, 64);\
3488+ SQUASHFS_SWAP((s)->uid_start, d, 568, 64);\
3489+ SQUASHFS_SWAP((s)->guid_start, d, 632, 64);\
3490+ SQUASHFS_SWAP((s)->inode_table_start, d, 696, 64);\
3491+ SQUASHFS_SWAP((s)->directory_table_start, d, 760, 64);\
3492+ SQUASHFS_SWAP((s)->fragment_table_start, d, 824, 64);\
3493+ SQUASHFS_SWAP((s)->unused, d, 888, 64);\
3494+}
3495+
3496+#define SQUASHFS_SWAP_BASE_INODE_CORE(s, d, n)\
3497+ SQUASHFS_MEMSET(s, d, n);\
3498+ SQUASHFS_SWAP((s)->inode_type, d, 0, 4);\
3499+ SQUASHFS_SWAP((s)->mode, d, 4, 12);\
3500+ SQUASHFS_SWAP((s)->uid, d, 16, 8);\
3501+ SQUASHFS_SWAP((s)->guid, d, 24, 8);\
3502+ SQUASHFS_SWAP((s)->mtime, d, 32, 32);\
3503+ SQUASHFS_SWAP((s)->inode_number, d, 64, 32);
3504+
3505+#define SQUASHFS_SWAP_BASE_INODE_HEADER(s, d, n) {\
3506+ SQUASHFS_SWAP_START\
3507+ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, n)\
3508+}
3509+
3510+#define SQUASHFS_SWAP_IPC_INODE_HEADER(s, d) {\
3511+ SQUASHFS_SWAP_START\
3512+ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
3513+ sizeof(struct squashfs_ipc_inode_header))\
3514+ SQUASHFS_SWAP((s)->nlink, d, 96, 32);\
3515+}
3516+
3517+#define SQUASHFS_SWAP_DEV_INODE_HEADER(s, d) {\
3518+ SQUASHFS_SWAP_START\
3519+ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
3520+ sizeof(struct squashfs_dev_inode_header)); \
3521+ SQUASHFS_SWAP((s)->nlink, d, 96, 32);\
3522+ SQUASHFS_SWAP((s)->rdev, d, 128, 16);\
3523+}
3524+
3525+#define SQUASHFS_SWAP_SYMLINK_INODE_HEADER(s, d) {\
3526+ SQUASHFS_SWAP_START\
3527+ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
3528+ sizeof(struct squashfs_symlink_inode_header));\
3529+ SQUASHFS_SWAP((s)->nlink, d, 96, 32);\
3530+ SQUASHFS_SWAP((s)->symlink_size, d, 128, 16);\
3531+}
3532+
3533+#define SQUASHFS_SWAP_REG_INODE_HEADER(s, d) {\
3534+ SQUASHFS_SWAP_START\
3535+ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
3536+ sizeof(struct squashfs_reg_inode_header));\
3537+ SQUASHFS_SWAP((s)->start_block, d, 96, 64);\
3538+ SQUASHFS_SWAP((s)->fragment, d, 160, 32);\
3539+ SQUASHFS_SWAP((s)->offset, d, 192, 32);\
3540+ SQUASHFS_SWAP((s)->file_size, d, 224, 32);\
3541+}
3542+
3543+#define SQUASHFS_SWAP_LREG_INODE_HEADER(s, d) {\
3544+ SQUASHFS_SWAP_START\
3545+ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
3546+ sizeof(struct squashfs_lreg_inode_header));\
3547+ SQUASHFS_SWAP((s)->nlink, d, 96, 32);\
3548+ SQUASHFS_SWAP((s)->start_block, d, 128, 64);\
3549+ SQUASHFS_SWAP((s)->fragment, d, 192, 32);\
3550+ SQUASHFS_SWAP((s)->offset, d, 224, 32);\
3551+ SQUASHFS_SWAP((s)->file_size, d, 256, 64);\
3552+}
3553+
3554+#define SQUASHFS_SWAP_DIR_INODE_HEADER(s, d) {\
3555+ SQUASHFS_SWAP_START\
3556+ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
3557+ sizeof(struct squashfs_dir_inode_header));\
3558+ SQUASHFS_SWAP((s)->nlink, d, 96, 32);\
3559+ SQUASHFS_SWAP((s)->file_size, d, 128, 19);\
3560+ SQUASHFS_SWAP((s)->offset, d, 147, 13);\
3561+ SQUASHFS_SWAP((s)->start_block, d, 160, 32);\
3562+ SQUASHFS_SWAP((s)->parent_inode, d, 192, 32);\
3563+}
3564+
3565+#define SQUASHFS_SWAP_LDIR_INODE_HEADER(s, d) {\
3566+ SQUASHFS_SWAP_START\
3567+ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
3568+ sizeof(struct squashfs_ldir_inode_header));\
3569+ SQUASHFS_SWAP((s)->nlink, d, 96, 32);\
3570+ SQUASHFS_SWAP((s)->file_size, d, 128, 27);\
3571+ SQUASHFS_SWAP((s)->offset, d, 155, 13);\
3572+ SQUASHFS_SWAP((s)->start_block, d, 168, 32);\
3573+ SQUASHFS_SWAP((s)->i_count, d, 200, 16);\
3574+ SQUASHFS_SWAP((s)->parent_inode, d, 216, 32);\
3575+}
3576+
3577+#define SQUASHFS_SWAP_DIR_INDEX(s, d) {\
3578+ SQUASHFS_SWAP_START\
3579+ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_dir_index));\
3580+ SQUASHFS_SWAP((s)->index, d, 0, 32);\
3581+ SQUASHFS_SWAP((s)->start_block, d, 32, 32);\
3582+ SQUASHFS_SWAP((s)->size, d, 64, 8);\
3583+}
3584+
3585+#define SQUASHFS_SWAP_DIR_HEADER(s, d) {\
3586+ SQUASHFS_SWAP_START\
3587+ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_dir_header));\
3588+ SQUASHFS_SWAP((s)->count, d, 0, 8);\
3589+ SQUASHFS_SWAP((s)->start_block, d, 8, 32);\
3590+ SQUASHFS_SWAP((s)->inode_number, d, 40, 32);\
3591+}
3592+
3593+#define SQUASHFS_SWAP_DIR_ENTRY(s, d) {\
3594+ SQUASHFS_SWAP_START\
3595+ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_dir_entry));\
3596+ SQUASHFS_SWAP((s)->offset, d, 0, 13);\
3597+ SQUASHFS_SWAP((s)->type, d, 13, 3);\
3598+ SQUASHFS_SWAP((s)->size, d, 16, 8);\
3599+ SQUASHFS_SWAP((s)->inode_number, d, 24, 16);\
3600+}
3601+
3602+#define SQUASHFS_SWAP_FRAGMENT_ENTRY(s, d) {\
3603+ SQUASHFS_SWAP_START\
3604+ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_fragment_entry));\
3605+ SQUASHFS_SWAP((s)->start_block, d, 0, 64);\
3606+ SQUASHFS_SWAP((s)->size, d, 64, 32);\
3607+}
3608+
3609+#define SQUASHFS_SWAP_SHORTS(s, d, n) {\
3610+ int entry;\
3611+ int bit_position;\
3612+ SQUASHFS_SWAP_START\
3613+ SQUASHFS_MEMSET(s, d, n * 2);\
3614+ for(entry = 0, bit_position = 0; entry < n; entry++, bit_position += \
3615+ 16)\
3616+ SQUASHFS_SWAP(s[entry], d, bit_position, 16);\
3617+}
3618+
3619+#define SQUASHFS_SWAP_INTS(s, d, n) {\
3620+ int entry;\
3621+ int bit_position;\
3622+ SQUASHFS_SWAP_START\
3623+ SQUASHFS_MEMSET(s, d, n * 4);\
3624+ for(entry = 0, bit_position = 0; entry < n; entry++, bit_position += \
3625+ 32)\
3626+ SQUASHFS_SWAP(s[entry], d, bit_position, 32);\
3627+}
3628+
3629+#define SQUASHFS_SWAP_LONG_LONGS(s, d, n) {\
3630+ int entry;\
3631+ int bit_position;\
3632+ SQUASHFS_SWAP_START\
3633+ SQUASHFS_MEMSET(s, d, n * 8);\
3634+ for(entry = 0, bit_position = 0; entry < n; entry++, bit_position += \
3635+ 64)\
3636+ SQUASHFS_SWAP(s[entry], d, bit_position, 64);\
3637+}
3638+
3639+#define SQUASHFS_SWAP_DATA(s, d, n, bits) {\
3640+ int entry;\
3641+ int bit_position;\
3642+ SQUASHFS_SWAP_START\
3643+ SQUASHFS_MEMSET(s, d, n * bits / 8);\
3644+ for(entry = 0, bit_position = 0; entry < n; entry++, bit_position += \
3645+ bits)\
3646+ SQUASHFS_SWAP(s[entry], d, bit_position, bits);\
3647+}
3648+
3649+#define SQUASHFS_SWAP_FRAGMENT_INDEXES(s, d, n) SQUASHFS_SWAP_LONG_LONGS(s, d, n)
3650+
3651+#ifdef CONFIG_SQUASHFS_1_0_COMPATIBILITY
3652+
3653+struct squashfs_base_inode_header_1 {
3654+ unsigned int inode_type:4;
3655+ unsigned int mode:12; /* protection */
3656+ unsigned int uid:4; /* index into uid table */
3657+ unsigned int guid:4; /* index into guid table */
3658+} __attribute__ ((packed));
3659+
3660+struct squashfs_ipc_inode_header_1 {
3661+ unsigned int inode_type:4;
3662+ unsigned int mode:12; /* protection */
3663+ unsigned int uid:4; /* index into uid table */
3664+ unsigned int guid:4; /* index into guid table */
3665+ unsigned int type:4;
3666+ unsigned int offset:4;
3667+} __attribute__ ((packed));
3668+
3669+struct squashfs_dev_inode_header_1 {
3670+ unsigned int inode_type:4;
3671+ unsigned int mode:12; /* protection */
3672+ unsigned int uid:4; /* index into uid table */
3673+ unsigned int guid:4; /* index into guid table */
3674+ unsigned short rdev;
3675+} __attribute__ ((packed));
3676+
3677+struct squashfs_symlink_inode_header_1 {
3678+ unsigned int inode_type:4;
3679+ unsigned int mode:12; /* protection */
3680+ unsigned int uid:4; /* index into uid table */
3681+ unsigned int guid:4; /* index into guid table */
3682+ unsigned short symlink_size;
3683+ char symlink[0];
3684+} __attribute__ ((packed));
3685+
3686+struct squashfs_reg_inode_header_1 {
3687+ unsigned int inode_type:4;
3688+ unsigned int mode:12; /* protection */
3689+ unsigned int uid:4; /* index into uid table */
3690+ unsigned int guid:4; /* index into guid table */
3691+ unsigned int mtime;
3692+ unsigned int start_block;
3693+ unsigned int file_size:32;
3694+ unsigned short block_list[0];
3695+} __attribute__ ((packed));
3696+
3697+struct squashfs_dir_inode_header_1 {
3698+ unsigned int inode_type:4;
3699+ unsigned int mode:12; /* protection */
3700+ unsigned int uid:4; /* index into uid table */
3701+ unsigned int guid:4; /* index into guid table */
3702+ unsigned int file_size:19;
3703+ unsigned int offset:13;
3704+ unsigned int mtime;
3705+ unsigned int start_block:24;
3706+} __attribute__ ((packed));
3707+
3708+#define SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, n) \
3709+ SQUASHFS_MEMSET(s, d, n);\
3710+ SQUASHFS_SWAP((s)->inode_type, d, 0, 4);\
3711+ SQUASHFS_SWAP((s)->mode, d, 4, 12);\
3712+ SQUASHFS_SWAP((s)->uid, d, 16, 4);\
3713+ SQUASHFS_SWAP((s)->guid, d, 20, 4);
3714+
3715+#define SQUASHFS_SWAP_BASE_INODE_HEADER_1(s, d, n) {\
3716+ SQUASHFS_SWAP_START\
3717+ SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, n)\
3718+}
3719+
3720+#define SQUASHFS_SWAP_IPC_INODE_HEADER_1(s, d) {\
3721+ SQUASHFS_SWAP_START\
3722+ SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, \
3723+ sizeof(struct squashfs_ipc_inode_header_1));\
3724+ SQUASHFS_SWAP((s)->type, d, 24, 4);\
3725+ SQUASHFS_SWAP((s)->offset, d, 28, 4);\
3726+}
3727+
3728+#define SQUASHFS_SWAP_DEV_INODE_HEADER_1(s, d) {\
3729+ SQUASHFS_SWAP_START\
3730+ SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, \
3731+ sizeof(struct squashfs_dev_inode_header_1));\
3732+ SQUASHFS_SWAP((s)->rdev, d, 24, 16);\
3733+}
3734+
3735+#define SQUASHFS_SWAP_SYMLINK_INODE_HEADER_1(s, d) {\
3736+ SQUASHFS_SWAP_START\
3737+ SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, \
3738+ sizeof(struct squashfs_symlink_inode_header_1));\
3739+ SQUASHFS_SWAP((s)->symlink_size, d, 24, 16);\
3740+}
3741+
3742+#define SQUASHFS_SWAP_REG_INODE_HEADER_1(s, d) {\
3743+ SQUASHFS_SWAP_START\
3744+ SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, \
3745+ sizeof(struct squashfs_reg_inode_header_1));\
3746+ SQUASHFS_SWAP((s)->mtime, d, 24, 32);\
3747+ SQUASHFS_SWAP((s)->start_block, d, 56, 32);\
3748+ SQUASHFS_SWAP((s)->file_size, d, 88, 32);\
3749+}
3750+
3751+#define SQUASHFS_SWAP_DIR_INODE_HEADER_1(s, d) {\
3752+ SQUASHFS_SWAP_START\
3753+ SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, \
3754+ sizeof(struct squashfs_dir_inode_header_1));\
3755+ SQUASHFS_SWAP((s)->file_size, d, 24, 19);\
3756+ SQUASHFS_SWAP((s)->offset, d, 43, 13);\
3757+ SQUASHFS_SWAP((s)->mtime, d, 56, 32);\
3758+ SQUASHFS_SWAP((s)->start_block, d, 88, 24);\
3759+}
3760+
3761+#endif
3762+
3763+#ifdef CONFIG_SQUASHFS_2_0_COMPATIBILITY
3764+
3765+struct squashfs_dir_index_2 {
3766+ unsigned int index:27;
3767+ unsigned int start_block:29;
3768+ unsigned char size;
3769+ unsigned char name[0];
3770+} __attribute__ ((packed));
3771+
3772+struct squashfs_base_inode_header_2 {
3773+ unsigned int inode_type:4;
3774+ unsigned int mode:12; /* protection */
3775+ unsigned int uid:8; /* index into uid table */
3776+ unsigned int guid:8; /* index into guid table */
3777+} __attribute__ ((packed));
3778+
3779+struct squashfs_ipc_inode_header_2 {
3780+ unsigned int inode_type:4;
3781+ unsigned int mode:12; /* protection */
3782+ unsigned int uid:8; /* index into uid table */
3783+ unsigned int guid:8; /* index into guid table */
3784+} __attribute__ ((packed));
3785+
3786+struct squashfs_dev_inode_header_2 {
3787+ unsigned int inode_type:4;
3788+ unsigned int mode:12; /* protection */
3789+ unsigned int uid:8; /* index into uid table */
3790+ unsigned int guid:8; /* index into guid table */
3791+ unsigned short rdev;
3792+} __attribute__ ((packed));
3793+
3794+struct squashfs_symlink_inode_header_2 {
3795+ unsigned int inode_type:4;
3796+ unsigned int mode:12; /* protection */
3797+ unsigned int uid:8; /* index into uid table */
3798+ unsigned int guid:8; /* index into guid table */
3799+ unsigned short symlink_size;
3800+ char symlink[0];
3801+} __attribute__ ((packed));
3802+
3803+struct squashfs_reg_inode_header_2 {
3804+ unsigned int inode_type:4;
3805+ unsigned int mode:12; /* protection */
3806+ unsigned int uid:8; /* index into uid table */
3807+ unsigned int guid:8; /* index into guid table */
3808+ unsigned int mtime;
3809+ unsigned int start_block;
3810+ unsigned int fragment;
3811+ unsigned int offset;
3812+ unsigned int file_size:32;
3813+ unsigned short block_list[0];
3814+} __attribute__ ((packed));
3815+
3816+struct squashfs_dir_inode_header_2 {
3817+ unsigned int inode_type:4;
3818+ unsigned int mode:12; /* protection */
3819+ unsigned int uid:8; /* index into uid table */
3820+ unsigned int guid:8; /* index into guid table */
3821+ unsigned int file_size:19;
3822+ unsigned int offset:13;
3823+ unsigned int mtime;
3824+ unsigned int start_block:24;
3825+} __attribute__ ((packed));
3826+
3827+struct squashfs_ldir_inode_header_2 {
3828+ unsigned int inode_type:4;
3829+ unsigned int mode:12; /* protection */
3830+ unsigned int uid:8; /* index into uid table */
3831+ unsigned int guid:8; /* index into guid table */
3832+ unsigned int file_size:27;
3833+ unsigned int offset:13;
3834+ unsigned int mtime;
3835+ unsigned int start_block:24;
3836+ unsigned int i_count:16;
3837+ struct squashfs_dir_index_2 index[0];
3838+} __attribute__ ((packed));
3839+
3840+union squashfs_inode_header_2 {
3841+ struct squashfs_base_inode_header_2 base;
3842+ struct squashfs_dev_inode_header_2 dev;
3843+ struct squashfs_symlink_inode_header_2 symlink;
3844+ struct squashfs_reg_inode_header_2 reg;
3845+ struct squashfs_dir_inode_header_2 dir;
3846+ struct squashfs_ldir_inode_header_2 ldir;
3847+ struct squashfs_ipc_inode_header_2 ipc;
3848+};
3849+
3850+struct squashfs_dir_header_2 {
3851+ unsigned int count:8;
3852+ unsigned int start_block:24;
3853+} __attribute__ ((packed));
3854+
3855+struct squashfs_dir_entry_2 {
3856+ unsigned int offset:13;
3857+ unsigned int type:3;
3858+ unsigned int size:8;
3859+ char name[0];
3860+} __attribute__ ((packed));
3861+
3862+struct squashfs_fragment_entry_2 {
3863+ unsigned int start_block;
3864+ unsigned int size;
3865+} __attribute__ ((packed));
3866+
3867+#define SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, n)\
3868+ SQUASHFS_MEMSET(s, d, n);\
3869+ SQUASHFS_SWAP((s)->inode_type, d, 0, 4);\
3870+ SQUASHFS_SWAP((s)->mode, d, 4, 12);\
3871+ SQUASHFS_SWAP((s)->uid, d, 16, 8);\
3872+ SQUASHFS_SWAP((s)->guid, d, 24, 8);\
3873+
3874+#define SQUASHFS_SWAP_BASE_INODE_HEADER_2(s, d, n) {\
3875+ SQUASHFS_SWAP_START\
3876+ SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, n)\
3877+}
3878+
3879+#define SQUASHFS_SWAP_IPC_INODE_HEADER_2(s, d) \
3880+ SQUASHFS_SWAP_BASE_INODE_HEADER_2(s, d, sizeof(struct squashfs_ipc_inode_header_2))
3881+
3882+#define SQUASHFS_SWAP_DEV_INODE_HEADER_2(s, d) {\
3883+ SQUASHFS_SWAP_START\
3884+ SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, \
3885+ sizeof(struct squashfs_dev_inode_header_2)); \
3886+ SQUASHFS_SWAP((s)->rdev, d, 32, 16);\
3887+}
3888+
3889+#define SQUASHFS_SWAP_SYMLINK_INODE_HEADER_2(s, d) {\
3890+ SQUASHFS_SWAP_START\
3891+ SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, \
3892+ sizeof(struct squashfs_symlink_inode_header_2));\
3893+ SQUASHFS_SWAP((s)->symlink_size, d, 32, 16);\
3894+}
3895+
3896+#define SQUASHFS_SWAP_REG_INODE_HEADER_2(s, d) {\
3897+ SQUASHFS_SWAP_START\
3898+ SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, \
3899+ sizeof(struct squashfs_reg_inode_header_2));\
3900+ SQUASHFS_SWAP((s)->mtime, d, 32, 32);\
3901+ SQUASHFS_SWAP((s)->start_block, d, 64, 32);\
3902+ SQUASHFS_SWAP((s)->fragment, d, 96, 32);\
3903+ SQUASHFS_SWAP((s)->offset, d, 128, 32);\
3904+ SQUASHFS_SWAP((s)->file_size, d, 160, 32);\
3905+}
3906+
3907+#define SQUASHFS_SWAP_DIR_INODE_HEADER_2(s, d) {\
3908+ SQUASHFS_SWAP_START\
3909+ SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, \
3910+ sizeof(struct squashfs_dir_inode_header_2));\
3911+ SQUASHFS_SWAP((s)->file_size, d, 32, 19);\
3912+ SQUASHFS_SWAP((s)->offset, d, 51, 13);\
3913+ SQUASHFS_SWAP((s)->mtime, d, 64, 32);\
3914+ SQUASHFS_SWAP((s)->start_block, d, 96, 24);\
3915+}
3916+
3917+#define SQUASHFS_SWAP_LDIR_INODE_HEADER_2(s, d) {\
3918+ SQUASHFS_SWAP_START\
3919+ SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, \
3920+ sizeof(struct squashfs_ldir_inode_header_2));\
3921+ SQUASHFS_SWAP((s)->file_size, d, 32, 27);\
3922+ SQUASHFS_SWAP((s)->offset, d, 59, 13);\
3923+ SQUASHFS_SWAP((s)->mtime, d, 72, 32);\
3924+ SQUASHFS_SWAP((s)->start_block, d, 104, 24);\
3925+ SQUASHFS_SWAP((s)->i_count, d, 128, 16);\
3926+}
3927+
3928+#define SQUASHFS_SWAP_DIR_INDEX_2(s, d) {\
3929+ SQUASHFS_SWAP_START\
3930+ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_dir_index_2));\
3931+ SQUASHFS_SWAP((s)->index, d, 0, 27);\
3932+ SQUASHFS_SWAP((s)->start_block, d, 27, 29);\
3933+ SQUASHFS_SWAP((s)->size, d, 56, 8);\
3934+}
3935+#define SQUASHFS_SWAP_DIR_HEADER_2(s, d) {\
3936+ SQUASHFS_SWAP_START\
3937+ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_dir_header_2));\
3938+ SQUASHFS_SWAP((s)->count, d, 0, 8);\
3939+ SQUASHFS_SWAP((s)->start_block, d, 8, 24);\
3940+}
3941+
3942+#define SQUASHFS_SWAP_DIR_ENTRY_2(s, d) {\
3943+ SQUASHFS_SWAP_START\
3944+ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_dir_entry_2));\
3945+ SQUASHFS_SWAP((s)->offset, d, 0, 13);\
3946+ SQUASHFS_SWAP((s)->type, d, 13, 3);\
3947+ SQUASHFS_SWAP((s)->size, d, 16, 8);\
3948+}
3949+
3950+#define SQUASHFS_SWAP_FRAGMENT_ENTRY_2(s, d) {\
3951+ SQUASHFS_SWAP_START\
3952+ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_fragment_entry_2));\
3953+ SQUASHFS_SWAP((s)->start_block, d, 0, 32);\
3954+ SQUASHFS_SWAP((s)->size, d, 32, 32);\
3955+}
3956+
3957+#define SQUASHFS_SWAP_FRAGMENT_INDEXES_2(s, d, n) SQUASHFS_SWAP_INTS(s, d, n)
3958+
3959+/* fragment and fragment table defines */
3960+#define SQUASHFS_FRAGMENT_BYTES_2(A) (A * sizeof(struct squashfs_fragment_entry_2))
3961+
3962+#define SQUASHFS_FRAGMENT_INDEX_2(A) (SQUASHFS_FRAGMENT_BYTES_2(A) / \
3963+ SQUASHFS_METADATA_SIZE)
3964+
3965+#define SQUASHFS_FRAGMENT_INDEX_OFFSET_2(A) (SQUASHFS_FRAGMENT_BYTES_2(A) % \
3966+ SQUASHFS_METADATA_SIZE)
3967+
3968+#define SQUASHFS_FRAGMENT_INDEXES_2(A) ((SQUASHFS_FRAGMENT_BYTES_2(A) + \
3969+ SQUASHFS_METADATA_SIZE - 1) / \
3970+ SQUASHFS_METADATA_SIZE)
3971+
3972+#define SQUASHFS_FRAGMENT_INDEX_BYTES_2(A) (SQUASHFS_FRAGMENT_INDEXES_2(A) *\
3973+ sizeof(int))
3974+
3975+#endif
3976+
3977+#ifdef __KERNEL__
3978+
3979+/*
3980+ * macros used to swap each structure entry, taking into account
3981+ * bitfields and different bitfield placing conventions on differing
3982+ * architectures
3983+ */
3984+
3985+#include <asm/byteorder.h>
3986+
3987+#ifdef __BIG_ENDIAN
3988+ /* convert from little endian to big endian */
3989+#define SQUASHFS_SWAP(value, p, pos, tbits) _SQUASHFS_SWAP(value, p, pos, \
3990+ tbits, b_pos)
3991+#else
3992+ /* convert from big endian to little endian */
3993+#define SQUASHFS_SWAP(value, p, pos, tbits) _SQUASHFS_SWAP(value, p, pos, \
3994+ tbits, 64 - tbits - b_pos)
3995+#endif
3996+
3997+#define _SQUASHFS_SWAP(value, p, pos, tbits, SHIFT) {\
3998+ b_pos = pos % 8;\
3999+ val = 0;\
4000+ s = (unsigned char *)p + (pos / 8);\
4001+ d = ((unsigned char *) &val) + 7;\
4002+ for(bits = 0; bits < (tbits + b_pos); bits += 8) \
4003+ *d-- = *s++;\
4004+ value = (val >> (SHIFT))/* & ((1 << tbits) - 1)*/;\
4005+}
4006+
4007+#define SQUASHFS_MEMSET(s, d, n) memset(s, 0, n);
4008+
4009+#endif
4010+#endif
4011Index: git/include/linux/squashfs_fs_i.h
4012===================================================================
4013--- /dev/null 1970-01-01 00:00:00.000000000 +0000
4014+++ git/include/linux/squashfs_fs_i.h 2006-10-31 21:26:45.000000000 +0000
4015@@ -0,0 +1,45 @@
4016+#ifndef SQUASHFS_FS_I
4017+#define SQUASHFS_FS_I
4018+/*
4019+ * Squashfs
4020+ *
4021+ * Copyright (c) 2002, 2003, 2004, 2005, 2006
4022+ * Phillip Lougher <phillip@lougher.org.uk>
4023+ *
4024+ * This program is free software; you can redistribute it and/or
4025+ * modify it under the terms of the GNU General Public License
4026+ * as published by the Free Software Foundation; either version 2,
4027+ * or (at your option) any later version.
4028+ *
4029+ * This program is distributed in the hope that it will be useful,
4030+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
4031+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4032+ * GNU General Public License for more details.
4033+ *
4034+ * You should have received a copy of the GNU General Public License
4035+ * along with this program; if not, write to the Free Software
4036+ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
4037+ *
4038+ * squashfs_fs_i.h
4039+ */
4040+
4041+struct squashfs_inode_info {
4042+ long long start_block;
4043+ unsigned int offset;
4044+ union {
4045+ struct {
4046+ long long fragment_start_block;
4047+ unsigned int fragment_size;
4048+ unsigned int fragment_offset;
4049+ long long block_list_start;
4050+ } s1;
4051+ struct {
4052+ long long directory_index_start;
4053+ unsigned int directory_index_offset;
4054+ unsigned int directory_index_count;
4055+ unsigned int parent_inode;
4056+ } s2;
4057+ } u;
4058+ struct inode vfs_inode;
4059+};
4060+#endif
4061Index: git/include/linux/squashfs_fs_sb.h
4062===================================================================
4063--- /dev/null 1970-01-01 00:00:00.000000000 +0000
4064+++ git/include/linux/squashfs_fs_sb.h 2006-10-31 21:26:45.000000000 +0000
4065@@ -0,0 +1,74 @@
4066+#ifndef SQUASHFS_FS_SB
4067+#define SQUASHFS_FS_SB
4068+/*
4069+ * Squashfs
4070+ *
4071+ * Copyright (c) 2002, 2003, 2004, 2005, 2006
4072+ * Phillip Lougher <phillip@lougher.org.uk>
4073+ *
4074+ * This program is free software; you can redistribute it and/or
4075+ * modify it under the terms of the GNU General Public License
4076+ * as published by the Free Software Foundation; either version 2,
4077+ * or (at your option) any later version.
4078+ *
4079+ * This program is distributed in the hope that it will be useful,
4080+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
4081+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4082+ * GNU General Public License for more details.
4083+ *
4084+ * You should have received a copy of the GNU General Public License
4085+ * along with this program; if not, write to the Free Software
4086+ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
4087+ *
4088+ * squashfs_fs_sb.h
4089+ */
4090+
4091+#include <linux/squashfs_fs.h>
4092+
4093+struct squashfs_cache {
4094+ long long block;
4095+ int length;
4096+ long long next_index;
4097+ char *data;
4098+};
4099+
4100+struct squashfs_fragment_cache {
4101+ long long block;
4102+ int length;
4103+ unsigned int locked;
4104+ char *data;
4105+};
4106+
4107+struct squashfs_sb_info {
4108+ struct squashfs_super_block sblk;
4109+ int devblksize;
4110+ int devblksize_log2;
4111+ int swap;
4112+ struct squashfs_cache *block_cache;
4113+ struct squashfs_fragment_cache *fragment;
4114+ int next_cache;
4115+ int next_fragment;
4116+ int next_meta_index;
4117+ unsigned int *uid;
4118+ unsigned int *guid;
4119+ long long *fragment_index;
4120+ unsigned int *fragment_index_2;
4121+ unsigned int read_size;
4122+ char *read_data;
4123+ char *read_page;
4124+ struct semaphore read_data_mutex;
4125+ struct semaphore read_page_mutex;
4126+ struct semaphore block_cache_mutex;
4127+ struct semaphore fragment_mutex;
4128+ struct semaphore meta_index_mutex;
4129+ wait_queue_head_t waitq;
4130+ wait_queue_head_t fragment_wait_queue;
4131+ struct meta_index *meta_index;
4132+ struct inode *(*iget)(struct super_block *s, squashfs_inode_t \
4133+ inode);
4134+ long long (*read_blocklist)(struct inode *inode, int \
4135+ index, int readahead_blks, char *block_list, \
4136+ unsigned short **block_p, unsigned int *bsize);
4137+ int (*read_fragment_index_table)(struct super_block *s);
4138+};
4139+#endif
4140Index: git/init/do_mounts_rd.c
4141===================================================================
4142--- git.orig/init/do_mounts_rd.c 2006-10-31 16:09:47.000000000 +0000
4143+++ git/init/do_mounts_rd.c 2006-10-31 21:26:45.000000000 +0000
4144@@ -5,6 +5,7 @@
4145 #include <linux/ext2_fs.h>
4146 #include <linux/romfs_fs.h>
4147 #include <linux/cramfs_fs.h>
4148+#include <linux/squashfs_fs.h>
4149 #include <linux/initrd.h>
4150 #include <linux/string.h>
4151
4152@@ -39,6 +40,7 @@ static int __init crd_load(int in_fd, in
4153 * numbers could not be found.
4154 *
4155 * We currently check for the following magic numbers:
4156+ * squashfs
4157 * minix
4158 * ext2
4159 * romfs
4160@@ -53,6 +55,7 @@ identify_ramdisk_image(int fd, int start
4161 struct ext2_super_block *ext2sb;
4162 struct romfs_super_block *romfsb;
4163 struct cramfs_super *cramfsb;
4164+ struct squashfs_super_block *squashfsb;
4165 int nblocks = -1;
4166 unsigned char *buf;
4167
4168@@ -64,6 +67,7 @@ identify_ramdisk_image(int fd, int start
4169 ext2sb = (struct ext2_super_block *) buf;
4170 romfsb = (struct romfs_super_block *) buf;
4171 cramfsb = (struct cramfs_super *) buf;
4172+ squashfsb = (struct squashfs_super_block *) buf;
4173 memset(buf, 0xe5, size);
4174
4175 /*
4176@@ -101,6 +105,15 @@ identify_ramdisk_image(int fd, int start
4177 goto done;
4178 }
4179
4180+ /* squashfs is at block zero too */
4181+ if (squashfsb->s_magic == SQUASHFS_MAGIC) {
4182+ printk(KERN_NOTICE
4183+ "RAMDISK: squashfs filesystem found at block %d\n",
4184+ start_block);
4185+ nblocks = (squashfsb->bytes_used+BLOCK_SIZE-1)>>BLOCK_SIZE_BITS;
4186+ goto done;
4187+ }
4188+
4189 /*
4190 * Read block 1 to test for minix and ext2 superblock
4191 */
diff --git a/meta/packages/linux/linux-rp-2.6.21/vesafb-tng-1.0-rc2-2.6.20-rc2.patch b/meta/packages/linux/linux-rp-2.6.21/vesafb-tng-1.0-rc2-2.6.20-rc2.patch
new file mode 100644
index 0000000000..b1b0fc3549
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21/vesafb-tng-1.0-rc2-2.6.20-rc2.patch
@@ -0,0 +1,3141 @@
1diff --git a/Documentation/fb/vesafb.txt b/Documentation/fb/vesafb.txt
2index ee277dd..93d6e6e 100644
3--- a/Documentation/fb/vesafb.txt
4+++ b/Documentation/fb/vesafb.txt
5@@ -2,16 +2,18 @@
6 What is vesafb?
7 ===============
8
9-This is a generic driver for a graphic framebuffer on intel boxes.
10+Vesafb is a generic framebuffer driver for x86 and x86_64 boxes.
11
12-The idea is simple: Turn on graphics mode at boot time with the help
13-of the BIOS, and use this as framebuffer device /dev/fb0, like the m68k
14-(and other) ports do.
15+VESA BIOS Extensions Version 2.0 are required, because we need access to
16+a linear frame buffer. VBE 3.0 is required if you want to use modes with a
17+higher (than the standard 60 Hz) refresh rate.
18
19-This means we decide at boot time whenever we want to run in text or
20-graphics mode. Switching mode later on (in protected mode) is
21-impossible; BIOS calls work in real mode only. VESA BIOS Extensions
22-Version 2.0 are required, because we need a linear frame buffer.
23+The VESA framebuffer driver comes in two flavors - the standard 'vesafb'
24+and 'vesafb-tng'. Vesafb-tng is available only on 32-bit x86 due to the
25+technology it uses (vm86). Vesafb-tng has more features than vesafb
26+(adjusting the refresh rate on VBE 3.0 compliant boards, switching the
27+video mode without rebooting, selecting a mode by providing its
28+modedb name, and more).
29
30 Advantages:
31
32@@ -29,26 +31,35 @@ Disadvantages:
33 How to use it?
34 ==============
35
36-Switching modes is done using the vga=... boot parameter. Read
37-Documentation/svga.txt for details.
38+If you are running a 32-bit x86 system and you decide to use vesafb-tng,
39+you can either compile the driver into the kernel or use it as a module.
40+The graphics mode you want to use is in both cases specified using the
41+standard modedb format.
42
43-You should compile in both vgacon (for text mode) and vesafb (for
44-graphics mode). Which of them takes over the console depends on
45-whenever the specified mode is text or graphics.
46+If your system doesn't support vm86 calls, things get a little more tricky.
47+Since on such systems you can't do BIOS calls from protected mode in which
48+kernel runs, you have to decide at boot time whenever you want to run in text
49+or in graphics mode. Switching mode later on is impossible. Switching modes
50+is done using the vga=... boot parameter. Read Documentation/svga.txt for
51+details. Below is a more detailed description of what to do on systems using
52+the standard vesafb driver.
53
54-The graphic modes are NOT in the list which you get if you boot with
55-vga=ask and hit return. The mode you wish to use is derived from the
56-VESA mode number. Here are those VESA mode numbers:
57+You should compile in both vgacon (for text mode) and vesafb (for graphics
58+mode). Which of them takes over the console depends on whenever the
59+specified mode is text or graphics.
60+
61+The graphic modes are NOT in the list which you get if you boot with vga=ask
62+and hit return. The mode you wish to use is derived from the VESA mode number.
63+Here are those VESA mode numbers:
64
65 | 640x480 800x600 1024x768 1280x1024
66 ----+-------------------------------------
67-256 | 0x101 0x103 0x105 0x107
68-32k | 0x110 0x113 0x116 0x119
69-64k | 0x111 0x114 0x117 0x11A
70-16M | 0x112 0x115 0x118 0x11B
71+256 | 0x101 0x103 0x105 0x107
72+32k | 0x110 0x113 0x116 0x119
73+64k | 0x111 0x114 0x117 0x11A
74+16M | 0x112 0x115 0x118 0x11B
75
76-The video mode number of the Linux kernel is the VESA mode number plus
77-0x200.
78+The video mode number of the Linux kernel is the VESA mode number plus 0x200.
79
80 Linux_kernel_mode_number = VESA_mode_number + 0x200
81
82@@ -56,15 +67,15 @@ So the table for the Kernel mode numbers are:
83
84 | 640x480 800x600 1024x768 1280x1024
85 ----+-------------------------------------
86-256 | 0x301 0x303 0x305 0x307
87-32k | 0x310 0x313 0x316 0x319
88-64k | 0x311 0x314 0x317 0x31A
89-16M | 0x312 0x315 0x318 0x31B
90+256 | 0x301 0x303 0x305 0x307
91+32k | 0x310 0x313 0x316 0x319
92+64k | 0x311 0x314 0x317 0x31A
93+16M | 0x312 0x315 0x318 0x31B
94
95-To enable one of those modes you have to specify "vga=ask" in the
96-lilo.conf file and rerun LILO. Then you can type in the desired
97-mode at the "vga=ask" prompt. For example if you like to use
98-1024x768x256 colors you have to say "305" at this prompt.
99+To enable one of those modes you have to specify "vga=ask" in the lilo.conf
100+file and rerun LILO. Then you can type in the desired mode at the "vga=ask"
101+prompt. For example if you like to use 1024x768x256 colors you have to say
102+"305" at this prompt.
103
104 If this does not work, this might be because your BIOS does not support
105 linear framebuffers or because it does not support this mode at all.
106@@ -72,11 +83,12 @@ Even if your board does, it might be the BIOS which does not. VESA BIOS
107 Extensions v2.0 are required, 1.2 is NOT sufficient. You will get a
108 "bad mode number" message if something goes wrong.
109
110-1. Note: LILO cannot handle hex, for booting directly with
111+1. Note: LILO cannot handle hex, for booting directly with
112 "vga=mode-number" you have to transform the numbers to decimal.
113 2. Note: Some newer versions of LILO appear to work with those hex values,
114 if you set the 0x in front of the numbers.
115
116+
117 X11
118 ===
119
120@@ -84,98 +96,164 @@ XF68_FBDev should work just fine, but it is non-accelerated. Running
121 another (accelerated) X-Server like XF86_SVGA might or might not work.
122 It depends on X-Server and graphics board.
123
124-The X-Server must restore the video mode correctly, else you end up
125+The X-Server must restore the video mode correctly, or else you end up
126 with a broken console (and vesafb cannot do anything about this).
127+With vesafb-tng chances are that the console will be restored properly
128+even if the X server messes up the video mode.
129
130
131 Refresh rates
132 =============
133
134-There is no way to change the vesafb video mode and/or timings after
135-booting linux. If you are not happy with the 60 Hz refresh rate, you
136-have these options:
137+With VBE 3.0 compatible BIOSes and vesafb-tng it is possible to change
138+the refresh rate either at boot time (by specifying the @<rr> part of
139+the mode name) or later, using the fbset utility.
140+
141+If you want to use the default BIOS refresh rate while switching modes
142+on a running system, set pixclock to 0.
143
144- * configure and load the DOS-Tools for your the graphics board (if
145- available) and boot linux with loadlin.
146- * use a native driver (matroxfb/atyfb) instead if vesafb. If none
147+With VBE 2.0 there is no way to change the mode timings after booting
148+Linux. If you are not happy with the 60 Hz refresh rate, you have
149+the following options:
150+
151+ * Configure and load the DOS tools for your the graphics board (if
152+ available) and boot Linux with loadlin.
153+ * Use a native driver (matroxfb/atyfb) instead of vesafb. If none
154 is available, write a new one!
155- * VBE 3.0 might work too. I have neither a gfx board with VBE 3.0
156- support nor the specs, so I have not checked this yet.
157+ * Use a BIOS editor to change the default refresh rate (such an
158+ editor does exist at least for ATI Radeon BIOSes).
159+ * If you're running a non-vm86 and VBE 3.0 compatible system, you can
160+ use a kernel patch (vesafb-rrc) to hard-code some mode timings in
161+ the kernel and use these while setting the video mode at boot time.
162+
163+Note that there are some boards (nVidia 59**, 57** and newer models)
164+claiming that their Video BIOS is VBE 3.0 compliant, while ignoring the
165+CRTC values provided by software such as vesafb-tng. You'll not be able
166+to adjust the refresh rate if you're using one of these boards.
167
168
169 Configuration
170 =============
171
172-The VESA BIOS provides protected mode interface for changing
173-some parameters. vesafb can use it for palette changes and
174-to pan the display. It is turned off by default because it
175-seems not to work with some BIOS versions, but there are options
176-to turn it on.
177-
178-You can pass options to vesafb using "video=vesafb:option" on
179-the kernel command line. Multiple options should be separated
180-by comma, like this: "video=vesafb:ypan,invers"
181-
182-Accepted options:
183-
184-invers no comment...
185-
186-ypan enable display panning using the VESA protected mode
187- interface. The visible screen is just a window of the
188- video memory, console scrolling is done by changing the
189- start of the window.
190- pro: * scrolling (fullscreen) is fast, because there is
191- no need to copy around data.
192- * You'll get scrollback (the Shift-PgUp thing),
193- the video memory can be used as scrollback buffer
194- kontra: * scrolling only parts of the screen causes some
195- ugly flicker effects (boot logo flickers for
196- example).
197-
198-ywrap Same as ypan, but assumes your gfx board can wrap-around
199- the video memory (i.e. starts reading from top if it
200- reaches the end of video memory). Faster than ypan.
201-
202-redraw scroll by redrawing the affected part of the screen, this
203- is the safe (and slow) default.
204-
205-
206-vgapal Use the standard vga registers for palette changes.
207- This is the default.
208-pmipal Use the protected mode interface for palette changes.
209-
210-mtrr:n setup memory type range registers for the vesafb framebuffer
211- where n:
212- 0 - disabled (equivalent to nomtrr) (default)
213- 1 - uncachable
214- 2 - write-back
215- 3 - write-combining
216- 4 - write-through
217-
218- If you see the following in dmesg, choose the type that matches the
219- old one. In this example, use "mtrr:2".
220+The VESA BIOS provides protected mode interface for changing some parameters.
221+vesafb can use it for palette changes and to pan the display. It is turned
222+off by default because it seems not to work with some BIOS versions, but
223+there are options to turn it on.
224+
225+You can pass options to vesafb using "video=vesafb:option" on the kernel
226+command line. Multiple options should be separated by a comma, like this:
227+"video=vesafb:ypan,1024x768-32@85"
228+
229+Note that vesafb-tng still uses the "video=vesafb:option" format of the
230+kernel command line video parameter. "video=vesafb-tng:xxx" is incorrect.
231+
232+Accepted options (both vesafb and vesafb-tng):
233+
234+ypan Enable display panning using the VESA protected mode interface
235+ The visible screen is just a window of the video memory,
236+ console scrolling is done by changing the start of the window.
237+ pro: * scrolling (fullscreen) is fast, because there is
238+ no need to copy around data.
239+ * you'll get scrollback (the Shift-PgUp thing),
240+ the video memory can be used as scrollback buffer
241+ con: * scrolling only parts of the screen causes some
242+ ugly flicker effects (boot logo flickers for
243+ example).
244+
245+ywrap Same as ypan, but assumes your gfx board can wrap-around the video
246+ memory (i.e. starts reading from top if it reaches the end of
247+ video memory). Faster than ypan.
248+
249+redraw Scroll by redrawing the affected part of the screen, this is the
250+ safe (and slow) default.
251+
252+vgapal Use the standard VGA registers for palette changes.
253+
254+pmipal Use the protected mode interface for palette changes.
255+ This is the default is the protected mode interface is available.
256+
257+mtrr:n Setup memory type range registers for the vesafb framebuffer
258+ where n:
259+ 0 - disabled (equivalent to nomtrr) (default)
260+ 1 - uncachable
261+ 2 - write-back
262+ 3 - write-combining
263+ 4 - write-through
264+
265+ If you see the following in dmesg, choose the type that matches
266+ the old one. In this example, use "mtrr:2".
267 ...
268 mtrr: type mismatch for e0000000,8000000 old: write-back new: write-combining
269 ...
270
271-nomtrr disable mtrr
272+nomtrr Do not use memory type range registers for vesafb.
273
274 vremap:n
275 remap 'n' MiB of video RAM. If 0 or not specified, remap memory
276- according to video mode. (2.5.66 patch/idea by Antonino Daplas
277- reversed to give override possibility (allocate more fb memory
278- than the kernel would) to 2.4 by tmb@iki.fi)
279+ according to video mode. (2.5.66 patch/idea by Antonino Daplas
280+ reversed to give override possibility (allocate more fb memory
281+ than the kernel would) to 2.4 by tmb@iki.fi)
282
283 vtotal:n
284 if the video BIOS of your card incorrectly determines the total
285 amount of video RAM, use this option to override the BIOS (in MiB).
286
287-Have fun!
288+Options accepted only by vesafb-tng:
289+
290+<mode> The mode you want to set, in the standard modedb format. Refer to
291+ modedb.txt for a detailed description. If you specify a mode that is
292+ not supported by your board's BIOS, vesafb-tng will attempt to set a
293+ similar mode. The list of supported modes can be found in
294+ /proc/fbx/modes, where x is the framebuffer number (usually 0).
295+ When vesafb-tng is compiled as a module, the mode string should be
296+ provided as a value of the parameter 'mode'.
297+
298+vbemode:x
299+ Force the use of VBE mode x. The mode will only be set if it's
300+ found in the VBE-provided list of supported modes.
301+ NOTE: The mode number 'x' should be specified in VESA mode number
302+ notation, not the Linux kernel one (eg. 257 instead of 769).
303+ HINT: If you use this option because normal <mode> parameter does
304+ not work for you and you use a X server, you'll probably want to
305+ set the 'nocrtc' option to ensure that the video mode is properly
306+ restored after console <-> X switches.
307+
308+nocrtc Do not use CRTC timings while setting the video mode. This option
309+ makes sence only with VBE 3.0 compliant systems. Use it if you have
310+ problems with modes set in the standard way. Note that using this
311+ option means that any refresh rate adjustments will be ignored
312+ and the refresh rate will stay at your BIOS default (60 Hz).
313+
314+noedid Do not try to fetch and use EDID-provided modes.
315+
316+noblank Disable hardware blanking.
317+
318+gtf Force the use of VESA's GTF (Generalized Timing Formula). Specifying
319+ this will cause vesafb to skip its internal modedb and EDID-modedb
320+ and jump straight to the GTF part of the code (normally used only if
321+ everything else failed). This can be useful if you want to get as
322+ much as possible from your graphics board but your BIOS doesn't
323+ support modes with the refresh rates you require. Note that you may
324+ need to specify the maxhf, maxvf and maxclk parameters if they are not
325+ provided by the EDID block.
326+
327+Additionally, the following parameters may be provided. They all override the
328+EDID-provided values and BIOS defaults. Refer to your monitor's specs to get
329+the correct values for maxhf, maxvf and maxclk for your hardware.
330+
331+maxhf:n Maximum horizontal frequency (in kHz).
332+maxvf:n Maximum vertical frequency (in Hz).
333+maxclk:n Maximum pixel clock (in MHz).
334
335- Gerd
336+Have fun!
337
338 --
339+Original document for the vesafb driver by
340 Gerd Knorr <kraxel@goldbach.in-berlin.de>
341
342-Minor (mostly typo) changes
343-by Nico Schmoigl <schmoigl@rumms.uni-mannheim.de>
344+Minor (mostly typo) changes by
345+Nico Schmoigl <schmoigl@rumms.uni-mannheim.de>
346+
347+Extended documentation for vm86, VBE 3.0 and vesafb-tng by
348+Michal Januszewski <spock@gentoo.org>
349+
350diff --git a/arch/i386/boot/video.S b/arch/i386/boot/video.S
351index 2c5b5cc..2c2d4b5 100644
352--- a/arch/i386/boot/video.S
353+++ b/arch/i386/boot/video.S
354@@ -163,10 +163,12 @@ basret: ret
355 # parameters in the default 80x25 mode -- these are set directly,
356 # because some very obscure BIOSes supply insane values.
357 mode_params:
358+#ifdef CONFIG_FB_VESA_STD
359 #ifdef CONFIG_VIDEO_SELECT
360 cmpb $0, graphic_mode
361 jnz mopar_gr
362 #endif
363+#endif
364 movb $0x03, %ah # Read cursor position
365 xorb %bh, %bh
366 int $0x10
367@@ -199,6 +201,7 @@ mopar2: movb %al, %fs:(PARAM_VIDEO_LINES)
368 ret
369
370 #ifdef CONFIG_VIDEO_SELECT
371+#ifdef CONFIG_FB_VESA_STD
372 # Fetching of VESA frame buffer parameters
373 mopar_gr:
374 leaw modelist+1024, %di
375@@ -281,6 +284,7 @@ dac_done:
376 movw %es, %fs:(PARAM_VESAPM_SEG)
377 movw %di, %fs:(PARAM_VESAPM_OFF)
378 no_pm: ret
379+#endif
380
381 # The video mode menu
382 mode_menu:
383@@ -495,10 +499,12 @@ mode_set:
384
385 cmpb $VIDEO_FIRST_V7>>8, %ah
386 jz setv7
387-
388+
389+#ifdef CONFIG_FB_VESA_STD
390 cmpb $VIDEO_FIRST_VESA>>8, %ah
391 jnc check_vesa
392-
393+#endif
394+
395 orb %ah, %ah
396 jz setmenu
397
398@@ -570,6 +576,7 @@ setr1: lodsw
399 movw -4(%si), %ax # Fetch mode ID
400 jmp _m_s
401
402+#ifdef CONFIG_FB_VESA_STD
403 check_vesa:
404 leaw modelist+1024, %di
405 subb $VIDEO_FIRST_VESA>>8, %bh
406@@ -603,6 +610,7 @@ check_vesa:
407 ret
408
409 _setbad: jmp setbad # Ugly...
410+#endif
411
412 # Recalculate vertical display end registers -- this fixes various
413 # inconsistencies of extended modes on many adapters. Called when
414diff --git a/drivers/char/sysrq.c b/drivers/char/sysrq.c
415index 1393523..8a05f95 100644
416--- a/drivers/char/sysrq.c
417+++ b/drivers/char/sysrq.c
418@@ -240,7 +240,7 @@ static void send_sig_all(int sig)
419 struct task_struct *p;
420
421 for_each_process(p) {
422- if (p->mm && !is_init(p))
423+ if (p->mm && !is_init(p) && !(p->flags & PF_BORROWED_MM))
424 /* Not swapper, init nor kernel thread */
425 force_sig(sig, p);
426 }
427diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
428index 4e83f01..ae122fd 100644
429--- a/drivers/video/Kconfig
430+++ b/drivers/video/Kconfig
431@@ -547,8 +547,22 @@ config FB_TGA
432 cards. Say Y if you have one of those.
433
434 config FB_VESA
435- bool "VESA VGA graphics support"
436- depends on (FB = y) && X86
437+ tristate "VESA VGA graphics support"
438+ depends on (FB = y) && (X86 || X86_64)
439+ help
440+ This is the frame buffer device driver for generic VESA 2.0
441+ compliant graphic cards. The older VESA 1.2 cards are not supported.
442+ You will get a boot time penguin logo at no additional cost. Please
443+ read <file:Documentation/fb/vesafb.txt>. If unsure, say Y.
444+
445+choice
446+ prompt "VESA driver type"
447+ depends on FB_VESA
448+ default FB_VESA_STD if X86_64
449+ default FB_VESA_TNG if X86
450+
451+config FB_VESA_STD
452+ bool "vesafb"
453 select FB_CFB_FILLRECT
454 select FB_CFB_COPYAREA
455 select FB_CFB_IMAGEBLIT
456@@ -557,7 +571,43 @@ config FB_VESA
457 This is the frame buffer device driver for generic VESA 2.0
458 compliant graphic cards. The older VESA 1.2 cards are not supported.
459 You will get a boot time penguin logo at no additional cost. Please
460- read <file:Documentation/fb/vesafb.txt>. If unsure, say Y.
461+ read <file:Documentation/fb/vesafb.txt>. Choose this driver if you
462+ are experiencing problems with vesafb-tng or if you own a 64-bit system.
463+
464+ Note that this driver cannot be compiled as a module.
465+
466+config FB_VESA_TNG
467+ bool "vesafb-tng"
468+ depends on !X86_64
469+ select FB_MODE_HELPERS
470+ select FB_CFB_FILLRECT
471+ select FB_CFB_COPYAREA
472+ select FB_CFB_IMAGEBLIT
473+ help
474+ This is an enhanced generic frame buffer device driver for
475+ VBE 2.0 compliant graphic cards. It can take advantage of VBE 3.0
476+ features (refresh rate adjustment) when these are available.
477+ The driver also makes it possible to change the video mode
478+ on the fly and to switch back to text mode when it's unloaded.
479+
480+ If the driver is compiled as a module, the module will be called
481+ vesafb-tng.
482+
483+endchoice
484+
485+config FB_VESA_DEFAULT_MODE
486+ string "VESA default mode"
487+ depends on FB_VESA_TNG
488+ default "640x480@60"
489+ help
490+ This option is used to determine the default mode vesafb is
491+ supposed to switch to in case no mode is provided as a kernel
492+ command line parameter.
493+
494+config VIDEO_SELECT
495+ bool
496+ depends on FB_VESA
497+ default y
498
499 config FB_IMAC
500 bool "Intel-based Macintosh Framebuffer Support"
501diff --git a/drivers/video/Makefile b/drivers/video/Makefile
502index 309a26d..e57b0e7 100644
503--- a/drivers/video/Makefile
504+++ b/drivers/video/Makefile
505@@ -102,7 +102,11 @@ obj-$(CONFIG_FB_PNX4008_DUM_RGB) += pnx4008/
506 obj-$(CONFIG_FB_IBM_GXT4500) += gxt4500.o
507
508 # Platform or fallback drivers go here
509-obj-$(CONFIG_FB_VESA) += vesafb.o
510+ifeq ($(CONFIG_FB_VESA_STD),y)
511+ obj-y += vesafb.o
512+else
513+ obj-$(CONFIG_FB_VESA) += vesafb-thread.o vesafb-tng.o
514+endif
515 obj-$(CONFIG_FB_IMAC) += imacfb.o
516 obj-$(CONFIG_FB_VGA16) += vga16fb.o vgastate.o
517 obj-$(CONFIG_FB_OF) += offb.o
518diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
519index 3cfea31..bfb39cc 100644
520--- a/drivers/video/fbmem.c
521+++ b/drivers/video/fbmem.c
522@@ -1408,6 +1408,7 @@ fbmem_init(void)
523 printk(KERN_WARNING "Unable to create fb class; errno = %ld\n", PTR_ERR(fb_class));
524 fb_class = NULL;
525 }
526+
527 return 0;
528 }
529
530diff --git a/drivers/video/modedb.c b/drivers/video/modedb.c
531index 5df41f6..f838a53 100644
532--- a/drivers/video/modedb.c
533+++ b/drivers/video/modedb.c
534@@ -674,6 +674,7 @@ void fb_var_to_videomode(struct fb_videomode *mode,
535 {
536 u32 pixclock, hfreq, htotal, vtotal;
537
538+ mode->refresh = 0;
539 mode->name = NULL;
540 mode->xres = var->xres;
541 mode->yres = var->yres;
542@@ -1025,3 +1026,4 @@ EXPORT_SYMBOL(fb_find_best_mode);
543 EXPORT_SYMBOL(fb_find_nearest_mode);
544 EXPORT_SYMBOL(fb_videomode_to_modelist);
545 EXPORT_SYMBOL(fb_find_mode);
546+EXPORT_SYMBOL(fb_destroy_modelist);
547diff --git a/drivers/video/vesafb-thread.c b/drivers/video/vesafb-thread.c
548new file mode 100644
549index 0000000..543e202
550--- /dev/null
551+++ b/drivers/video/vesafb-thread.c
552@@ -0,0 +1,751 @@
553+/*
554+ * Framebuffer driver for VBE 2.0+ compliant graphic boards.
555+ * Kernel thread and vm86 routines.
556+ *
557+ * (c) 2004-2006 Michal Januszewski <spock@gentoo.org>
558+ *
559+ */
560+
561+#include <linux/workqueue.h>
562+#include <linux/completion.h>
563+#include <linux/module.h>
564+#include <linux/kernel.h>
565+#include <linux/errno.h>
566+#include <linux/mm.h>
567+#include <linux/delay.h>
568+#include <linux/signal.h>
569+#include <linux/freezer.h>
570+#include <linux/suspend.h>
571+#include <linux/unistd.h>
572+#include <video/vesa.h>
573+#include <video/edid.h>
574+#include <asm/mman.h>
575+#include <asm/page.h>
576+#include <asm/vm86.h>
577+#include <asm/thread_info.h>
578+#include <asm/uaccess.h>
579+#include <asm/mmu_context.h>
580+#include "edid.h"
581+
582+static int errno;
583+
584+static DECLARE_COMPLETION(vesafb_th_completion);
585+static DECLARE_MUTEX(vesafb_task_list_sem);
586+static LIST_HEAD(vesafb_task_list);
587+static DECLARE_WAIT_QUEUE_HEAD(vesafb_wait);
588+
589+static struct vm86_struct vm86;
590+static int vesafb_pid = 0;
591+
592+#define DEFAULT_VM86_FLAGS (IF_MASK | IOPL_MASK)
593+#define VM86_PUSHW(x) \
594+do { \
595+ vm86.regs.esp -= 2; \
596+ *(u16*)(STACK_ADDR + vm86.regs.esp) = x; \
597+} while(0);
598+
599+/* Stack, the return code and buffers will be put into
600+ * one contiguous memory chunk:
601+ *
602+ * [ STACK | RET_CODE | BUFFER ]
603+ *
604+ * Some video BIOSes (sis6326) try to store data somewhere
605+ * in 0x7000-0x7fff, so we zeromap more memory to be safe.
606+ */
607+#define IVTBDA_SIZE PAGE_SIZE
608+#define RET_CODE_SIZE 0x0010
609+#define STACK_SIZE 0x0500
610+#define BUFFER_SIZE 0x10000
611+
612+/* The amount of memory that will be allocated should be a multiple
613+ * of PAGE_SIZE. */
614+#define __MEM_SIZE (RET_CODE_SIZE + STACK_SIZE + BUFFER_SIZE)
615+#define REAL_MEM_SIZE (((__MEM_SIZE / PAGE_SIZE) + 1) * PAGE_SIZE)
616+
617+#define IVTBDA_ADDR 0x00000
618+#define STACK_ADDR (IVTBDA_ADDR + IVTBDA_SIZE)
619+#define RET_CODE_ADDR (STACK_ADDR + STACK_SIZE)
620+#define BUF_ADDR (RET_CODE_ADDR + RET_CODE_SIZE)
621+
622+#define FLAG_D (1 << 10)
623+
624+/* Syscalls used by the vesafb thread */
625+static int vm86old(struct vm86_struct __user* v86)
626+{
627+ long res;
628+ __asm__ volatile ("push %%ebx; movl %2, %%ebx ; int $0x80 ; pop %%ebx"
629+ : "=a" (res)
630+ : "0" (__NR_vm86old), "ri" ((long)(v86)) : "memory");
631+
632+ if ((unsigned long)(res) >= (unsigned long)(-MAX_ERRNO)) {
633+ errno = -res;
634+ res = -1;
635+ }
636+ return (int)res;
637+}
638+
639+static int ioperm(unsigned long a, unsigned long b, unsigned long c)
640+{
641+ long res;
642+ __asm__ volatile ("push %%ebx; movl %2, %%ebx ; int $0x80 ; pop %%ebx"
643+ : "=a" (res)
644+ : "0" (__NR_ioperm), "ri" ((long)(a)), "c" ((long)(b)),
645+ "d" ((long)(c)) : "memory");
646+
647+ if ((unsigned long)(res) >= (unsigned long)(-MAX_ERRNO)) {
648+ errno = -res;
649+ res = -1;
650+ }
651+ return (int)res;
652+}
653+
654+/* Segment prefix opcodes */
655+enum {
656+ P_CS = 0x2e,
657+ P_SS = 0x36,
658+ P_DS = 0x3e,
659+ P_ES = 0x26,
660+ P_FS = 0x64,
661+ P_GS = 0x65
662+};
663+
664+/* Emulated vm86 ins instruction */
665+static void vm86_ins(int size)
666+{
667+ u32 edx, edi;
668+ edx = vm86.regs.edx & 0xffff;
669+ edi = (vm86.regs.edi & 0xffff) + (u32)(vm86.regs.es << 4);
670+
671+ if (vm86.regs.eflags & FLAG_D)
672+ asm volatile ("std\n");
673+ else
674+ asm volatile ("cld\n");
675+
676+ switch (size) {
677+ case 4:
678+ asm volatile ("insl\n" : "=D" (edi) : "d" (edx), "0" (edi));
679+ break;
680+ case 2:
681+ asm volatile ("insw\n" : "=D" (edi) : "d" (edx), "0" (edi));
682+ break;
683+ case 1:
684+ asm volatile ("insb\n" : "=D" (edi) : "d" (edx), "0" (edi));
685+ break;
686+ }
687+
688+ if (vm86.regs.eflags & FLAG_D)
689+ asm volatile ("cld\n");
690+
691+ edi -= (u32)(vm86.regs.es << 4);
692+
693+ vm86.regs.edi &= 0xffff0000;
694+ vm86.regs.edi |= edi & 0xffff;
695+}
696+
697+static void vm86_rep_ins(int size)
698+{
699+ u16 cx = vm86.regs.ecx;
700+ while (cx--)
701+ vm86_ins(size);
702+
703+ vm86.regs.ecx &= 0xffff0000;
704+}
705+
706+/* Emulated vm86 outs instruction */
707+static void vm86_outs(int size, int segment)
708+{
709+ u32 edx, esi, base;
710+
711+ edx = vm86.regs.edx & 0xffff;
712+ esi = vm86.regs.esi & 0xffff;
713+
714+ switch (segment) {
715+ case P_CS: base = vm86.regs.cs; break;
716+ case P_SS: base = vm86.regs.ss; break;
717+ case P_ES: base = vm86.regs.es; break;
718+ case P_FS: base = vm86.regs.fs; break;
719+ case P_GS: base = vm86.regs.gs; break;
720+ default: base = vm86.regs.ds; break;
721+ }
722+
723+ esi += base << 4;
724+
725+ if (vm86.regs.eflags & FLAG_D)
726+ asm volatile ("std\n");
727+ else
728+ asm volatile ("cld\n");
729+
730+ switch (size) {
731+ case 4:
732+ asm volatile ("outsl\n" : "=S" (esi) : "d" (edx), "0" (esi));
733+ break;
734+ case 2:
735+ asm volatile ("outsw\n" : "=S" (esi) : "d" (edx), "0" (esi));
736+ break;
737+ case 1:
738+ asm volatile ("outsb\n" : "=S" (esi) : "d" (edx), "0" (esi));
739+ break;
740+ }
741+
742+ if (vm86.regs.eflags & FLAG_D)
743+ asm volatile ("cld");
744+
745+ esi -= base << 4;
746+ vm86.regs.esi &= 0xffff0000;
747+ vm86.regs.esi |= (esi & 0xffff);
748+}
749+
750+static void vm86_rep_outs(int size, int segment)
751+{
752+ u16 cx = vm86.regs.ecx;
753+ while (cx--)
754+ vm86_outs(size, segment);
755+
756+ vm86.regs.ecx &= 0xffff0000;
757+}
758+
759+static int vm86_do_unknown(void)
760+{
761+ u8 data32 = 0, segment = P_DS, rep = 0;
762+ u8 *instr;
763+ int ret = 0, i = 0;
764+
765+ instr = (u8*)((vm86.regs.cs << 4) + vm86.regs.eip);
766+
767+ while (1) {
768+ switch(instr[i]) {
769+ case 0x66: /* operand size prefix */
770+ data32 = 1 - data32;
771+ i++;
772+ break;
773+ case 0xf2: /* repnz */
774+ case 0xf3: /* rep */
775+ rep = 1;
776+ i++;
777+ break;
778+ case P_CS: /* segment prefix */
779+ case P_SS:
780+ case P_DS:
781+ case P_ES:
782+ case P_FS:
783+ case P_GS:
784+ segment = instr[i];
785+ i++;
786+ break;
787+ case 0xf0: /* LOCK - ignored */
788+ case 0x67: /* address size prefix - ignored */
789+ i++;
790+ break;
791+ case 0x6c: /* insb */
792+ if (rep)
793+ vm86_rep_ins(1);
794+ else
795+ vm86_ins(1);
796+ i++;
797+ goto out;
798+ case 0x6d: /* insw / insd */
799+ if (rep) {
800+ if (data32)
801+ vm86_rep_ins(4);
802+ else
803+ vm86_rep_ins(2);
804+ } else {
805+ if (data32)
806+ vm86_ins(4);
807+ else
808+ vm86_ins(2);
809+ }
810+ i++;
811+ goto out;
812+ case 0x6e: /* outsb */
813+ if (rep)
814+ vm86_rep_outs(1, segment);
815+ else
816+ vm86_outs(1, segment);
817+ i++;
818+ goto out;
819+ case 0x6f: /* outsw / outsd */
820+ if (rep) {
821+ if (data32)
822+ vm86_rep_outs(4, segment);
823+ else
824+ vm86_rep_outs(2, segment);
825+ } else {
826+ if (data32)
827+ vm86_outs(4, segment);
828+ else
829+ vm86_outs(2, segment);
830+ }
831+ i++;
832+ goto out;
833+ case 0xe4: /* inb xx */
834+ asm volatile (
835+ "inb %w1, %b0"
836+ : "=a" (vm86.regs.eax)
837+ : "d" (instr[i+1]), "0" (vm86.regs.eax));
838+ i += 2;
839+ goto out;
840+ case 0xe5: /* inw xx / ind xx */
841+ if (data32) {
842+ asm volatile (
843+ "inl %w1, %0"
844+ : "=a" (vm86.regs.eax)
845+ : "d" (instr[i+1]),
846+ "0" (vm86.regs.eax));
847+ } else {
848+ asm volatile (
849+ "inw %w1, %w0"
850+ : "=a" (vm86.regs.eax)
851+ : "d" (instr[i+1]),
852+ "0" (vm86.regs.eax));
853+ }
854+ i += 2;
855+ goto out;
856+
857+ case 0xec: /* inb dx */
858+ asm volatile (
859+ "inb %w1, %b0"
860+ : "=a" (vm86.regs.eax)
861+ : "d" (vm86.regs.edx), "0" (vm86.regs.eax));
862+ i++;
863+ goto out;
864+ case 0xed: /* inw dx / ind dx */
865+ if (data32) {
866+ asm volatile (
867+ "inl %w1, %0"
868+ : "=a" (vm86.regs.eax)
869+ : "d" (vm86.regs.edx));
870+ } else {
871+ asm volatile (
872+ "inw %w1, %w0"
873+ : "=a" (vm86.regs.eax)
874+ : "d" (vm86.regs.edx));
875+ }
876+ i++;
877+ goto out;
878+ case 0xe6: /* outb xx */
879+ asm volatile (
880+ "outb %b0, %w1"
881+ : /* no return value */
882+ : "a" (vm86.regs.eax), "d" (instr[i+1]));
883+ i += 2;
884+ goto out;
885+ case 0xe7: /* outw xx / outd xx */
886+ if (data32) {
887+ asm volatile (
888+ "outl %0, %w1"
889+ : /* no return value */
890+ : "a" (vm86.regs.eax),
891+ "d" (instr[i+1]));
892+ } else {
893+ asm volatile (
894+ "outw %w0, %w1"
895+ : /* no return value */
896+ : "a" (vm86.regs.eax),
897+ "d" (instr[i+1]));
898+ }
899+ i += 2;
900+ goto out;
901+ case 0xee: /* outb dx */
902+ asm volatile (
903+ "outb %b0, %w1"
904+ : /* no return value */
905+ : "a" (vm86.regs.eax), "d" (vm86.regs.edx));
906+ i++;
907+ goto out;
908+ case 0xef: /* outw dx / outd dx */
909+ if (data32) {
910+ asm volatile (
911+ "outl %0, %w1"
912+ : /* no return value */
913+ : "a" (vm86.regs.eax),
914+ "d" (vm86.regs.edx));
915+ } else {
916+ asm volatile (
917+ "outw %w0, %w1"
918+ : /* no return value */
919+ : "a" (vm86.regs.eax),
920+ "d" (vm86.regs.edx));
921+ }
922+ i++;
923+ goto out;
924+ default:
925+ printk(KERN_ERR "vesafb: BUG, opcode 0x%x emulation "
926+ "not supported (EIP: 0x%lx)\n",
927+ instr[i], (u32)(vm86.regs.cs << 4) +
928+ vm86.regs.eip);
929+ ret = 1;
930+ goto out;
931+ }
932+ }
933+out: vm86.regs.eip += i;
934+ return ret;
935+}
936+
937+void vesafb_do_vm86(struct vm86_regs *regs)
938+{
939+ unsigned int ret;
940+ u8 *retcode = (void*)RET_CODE_ADDR;
941+
942+ memset(&vm86,0,sizeof(vm86));
943+ memcpy(&vm86.regs, regs, sizeof(struct vm86_regs));
944+
945+ /* The return code */
946+ retcode[0] = 0xcd; /* int opcode */
947+ retcode[1] = 0xff; /* int number (255) */
948+
949+ /* We use int 0xff to get back to protected mode */
950+ memset(&vm86.int_revectored, 0, sizeof(vm86.int_revectored));
951+ ((unsigned char *)&vm86.int_revectored)[0xff / 8] |= (1 << (0xff % 8));
952+
953+ /*
954+ * We want to call int 0x10, so we set:
955+ * CS = 0x42 = 0x10 * 4 + 2
956+ * IP = 0x40 = 0x10 * 4
957+ * and SS:ESP. It's up to the caller to set the rest of the registers.
958+ */
959+ vm86.regs.eflags = DEFAULT_VM86_FLAGS;
960+ vm86.regs.cs = *(unsigned short *)0x42;
961+ vm86.regs.eip = *(unsigned short *)0x40;
962+ vm86.regs.ss = (STACK_ADDR >> 4);
963+ vm86.regs.esp = ((STACK_ADDR & 0x0000f) + STACK_SIZE);
964+
965+ /* These will be fetched off the stack when we come to an iret in the
966+ * int's 0x10 code. */
967+ VM86_PUSHW(DEFAULT_VM86_FLAGS);
968+ VM86_PUSHW((RET_CODE_ADDR >> 4)); /* return code segment */
969+ VM86_PUSHW((RET_CODE_ADDR & 0x0000f)); /* return code offset */
970+
971+ while(1) {
972+ ret = vm86old(&vm86);
973+
974+ if (VM86_TYPE(ret) == VM86_INTx) {
975+ int vint = VM86_ARG(ret);
976+
977+ /* If exit from vm86 was caused by int 0xff, then
978+ * we're done.. */
979+ if (vint == 0xff)
980+ goto out;
981+
982+ /* .. otherwise, we have to call the int handler
983+ * manually */
984+ VM86_PUSHW(vm86.regs.eflags);
985+ VM86_PUSHW(vm86.regs.cs);
986+ VM86_PUSHW(vm86.regs.eip);
987+
988+ vm86.regs.cs = *(u16 *)((vint << 2) + 2);
989+ vm86.regs.eip = *(u16 *)(vint << 2);
990+ vm86.regs.eflags &= ~(VIF_MASK | TF_MASK);
991+ } else if (VM86_TYPE(ret) == VM86_UNKNOWN) {
992+ if (vm86_do_unknown())
993+ goto out;
994+ } else {
995+ printk(KERN_ERR "vesafb: BUG, returned from "
996+ "vm86 with %x (EIP: 0x%lx)\n",
997+ ret, (u32)(vm86.regs.cs << 4) +
998+ vm86.regs.eip);
999+ goto out;
1000+ }
1001+ }
1002+
1003+out: /* copy the registers' state back to the caller's struct */
1004+ memcpy(regs, &vm86.regs, sizeof(struct vm86_regs));
1005+}
1006+
1007+static int vesafb_remap_pfn_range(unsigned long start, unsigned long end,
1008+ unsigned long pgoff, unsigned long prot,
1009+ int type)
1010+{
1011+ struct vm_area_struct *vma;
1012+ struct mm_struct *mm = current->mm;
1013+ int ret = 0;
1014+
1015+ vma = kmem_cache_alloc(vm_area_cachep, GFP_KERNEL);
1016+ if (!vma)
1017+ return -ENOMEM;
1018+ memset(vma, 0, sizeof(*vma));
1019+ down_write(&mm->mmap_sem);
1020+ vma->vm_mm = mm;
1021+ vma->vm_start = start;
1022+ vma->vm_end = end;
1023+ vma->vm_flags = VM_READ | VM_WRITE | VM_EXEC;
1024+ vma->vm_flags |= mm->def_flags;
1025+ vma->vm_page_prot.pgprot = prot;
1026+ vma->vm_pgoff = pgoff;
1027+
1028+ if ((ret = insert_vm_struct(mm, vma))) {
1029+ up_write(&mm->mmap_sem);
1030+ kmem_cache_free(vm_area_cachep, vma);
1031+ return ret;
1032+ }
1033+
1034+ if (type) {
1035+ ret = zeromap_page_range(vma,
1036+ vma->vm_start,
1037+ vma->vm_end - vma->vm_start,
1038+ vma->vm_page_prot);
1039+ } else {
1040+ vma->vm_flags |= VM_SHARED;
1041+ ret = remap_pfn_range(vma,
1042+ vma->vm_start,
1043+ vma->vm_pgoff,
1044+ vma->vm_end - vma->vm_start,
1045+ vma->vm_page_prot);
1046+ }
1047+ up_write(&mm->mmap_sem);
1048+ return ret;
1049+}
1050+
1051+static inline int vesafb_init_mem(void)
1052+{
1053+ int ret = 0;
1054+
1055+ /* The memory chunks we're remapping here should be multiples
1056+ * of PAGE_SIZE. */
1057+ ret += vesafb_remap_pfn_range(0x00000, IVTBDA_SIZE, 0,
1058+ PROT_READ | PROT_EXEC | PROT_WRITE, 0);
1059+ ret += vesafb_remap_pfn_range(IVTBDA_SIZE, REAL_MEM_SIZE, 0,
1060+ PROT_READ | PROT_EXEC | PROT_WRITE, 1);
1061+ ret += vesafb_remap_pfn_range(0x9f000, 0x100000,
1062+ 0x9f000 >> PAGE_SHIFT,
1063+ PROT_READ | PROT_EXEC | PROT_WRITE, 0);
1064+ if (ret)
1065+ printk(KERN_ERR "vesafb thread: memory remapping failed\n");
1066+
1067+ return ret;
1068+}
1069+
1070+#define vesafb_get_string(str) \
1071+{ \
1072+ /* The address is in the form ssssoooo, where oooo = offset, \
1073+ * ssss = segment */ \
1074+ addr = ((p_vbe(tsk->buf)->str & 0xffff0000) >> 12) + \
1075+ (p_vbe(tsk->buf)->str & 0x0000ffff); \
1076+ \
1077+ /* The data is in ROM which is shared between processes, so we \
1078+ * just translate the real mode address into one visible from \
1079+ * kernel space */ \
1080+ if (addr >= 0xa0000) { \
1081+ p_vbe(tsk->buf)->str = (u32) __va(addr); \
1082+ \
1083+ /* The data is in the buffer, we just have to convert the \
1084+ * address so that it points into the buffer user provided. */ \
1085+ } else if (addr > BUF_ADDR && addr < BUF_ADDR + \
1086+ sizeof(struct vesafb_vbe_ib)) { \
1087+ addr -= BUF_ADDR; \
1088+ p_vbe(tsk->buf)->str = (u32) (tsk->buf + addr); \
1089+ \
1090+ /* This should never happen: someone was insane enough to put \
1091+ * the data somewhere in RAM.. */ \
1092+ } else { \
1093+ p_vbe(tsk->buf)->str = (u32) ""; \
1094+ } \
1095+}
1096+
1097+void vesafb_handle_getvbeib(struct vesafb_task *tsk)
1098+{
1099+ int addr, res;
1100+
1101+ tsk->regs.es = (BUF_ADDR >> 4);
1102+ tsk->regs.edi = (BUF_ADDR & 0x000f);
1103+ strncpy(p_vbe(BUF_ADDR)->vbe_signature, "VBE2", 4);
1104+
1105+ vesafb_do_vm86(&tsk->regs);
1106+ memcpy(tsk->buf, (void*)(BUF_ADDR), sizeof(struct vesafb_vbe_ib));
1107+
1108+ /* The OEM fields were not defined prior to VBE 2.0 */
1109+ if (p_vbe(tsk->buf)->vbe_version >= 0x200) {
1110+ vesafb_get_string(oem_string_ptr);
1111+ vesafb_get_string(oem_vendor_name_ptr);
1112+ vesafb_get_string(oem_product_name_ptr);
1113+ vesafb_get_string(oem_product_rev_ptr);
1114+ }
1115+
1116+ /* This is basically the same as vesafb_get_string() */
1117+ addr = ((p_vbe(tsk->buf)->mode_list_ptr & 0xffff0000) >> 12) +
1118+ (p_vbe(tsk->buf)->mode_list_ptr & 0x0000ffff);
1119+
1120+ if (addr >= 0xa0000) {
1121+ p_vbe(tsk->buf)->mode_list_ptr = (u32) __va(addr);
1122+ } else if (addr > BUF_ADDR && addr < BUF_ADDR +
1123+ sizeof(struct vesafb_vbe_ib)) {
1124+ addr -= BUF_ADDR;
1125+ p_vbe(tsk->buf)->mode_list_ptr = (u32) (tsk->buf + addr);
1126+ } else {
1127+ res = 0;
1128+ printk(KERN_WARNING "vesafb: warning, copying modelist "
1129+ "from somewhere in RAM!\n");
1130+ while (*(u16*)(addr+res) != 0xffff &&
1131+ res < (sizeof(p_vbe(tsk->buf)->reserved) - 2)) {
1132+ *(u16*) ((u32)&(p_vbe(tsk->buf)->reserved) + res) =
1133+ *(u16*)(addr+res);
1134+ res += 2;
1135+ }
1136+ *(u16*) ((u32)&(p_vbe(tsk->buf)->reserved) + res) = 0xffff;
1137+ }
1138+}
1139+
1140+int vesafb_handle_tasks(void)
1141+{
1142+ struct vesafb_task *tsk;
1143+ struct list_head *curr, *next;
1144+ int ret = 0;
1145+
1146+ down(&vesafb_task_list_sem);
1147+ list_for_each_safe(curr, next, &vesafb_task_list) {
1148+ tsk = list_entry(curr, struct vesafb_task, node);
1149+
1150+ if (tsk->flags & TF_EXIT) {
1151+ ret = 1;
1152+ goto task_done;
1153+ }
1154+ if (tsk->flags & TF_GETVBEIB) {
1155+ vesafb_handle_getvbeib(tsk);
1156+ goto task_done;
1157+ }
1158+ /* Do we need to store a pointer to the buffer in ES:EDI? */
1159+ if (tsk->flags & TF_BUF_DI) {
1160+ tsk->regs.es = (BUF_ADDR >> 4);
1161+ tsk->regs.edi = (BUF_ADDR & 0x000f);
1162+ }
1163+ /* Sometimes the pointer has to be in ES:EBX. */
1164+ if (tsk->flags & TF_BUF_BX) {
1165+ tsk->regs.es = (BUF_ADDR >> 4);
1166+ tsk->regs.ebx = (BUF_ADDR & 0x000f);
1167+ }
1168+ if (tsk->flags & (TF_BUF_DI | TF_BUF_BX))
1169+ memcpy((void*)BUF_ADDR, tsk->buf, tsk->buf_len);
1170+
1171+ vesafb_do_vm86(&tsk->regs);
1172+
1173+ if (tsk->flags & TF_RETURN_BUF)
1174+ memcpy(tsk->buf, (void*)BUF_ADDR, tsk->buf_len);
1175+
1176+task_done: list_del(curr);
1177+ complete(&tsk->done);
1178+ }
1179+
1180+ /* If we're going to kill this thread, don't allow any elements
1181+ * to be added to the task list. */
1182+ if (!ret)
1183+ up(&vesafb_task_list_sem);
1184+
1185+ return ret;
1186+}
1187+
1188+/*
1189+ * This 'hybrid' thread serves as a backend for vesafb-tng, handling all vm86
1190+ * calls. It is started as a kernel thread. It then creates its own mm struct,
1191+ * thus separating itself from any userspace processes. At this moment, it
1192+ * stops being a kernel thread (kernel threads have mm = NULL) and becomes
1193+ * a 'hybrid' thread -- one that has full access to kernel space, yet runs
1194+ * with its own address space.
1195+ *
1196+ * This is necessary because in order to make vm86 calls some parts of the
1197+ * first 1MB of RAM have to be setup to mimic the real mode. These are:
1198+ * - interrupt vector table [0x00000-0x003ff]
1199+ * - BIOS data area [0x00400-0x004ff]
1200+ * - Extended BIOS data area [0x9fc00-0x9ffff]
1201+ * - the video RAM [0xa0000-0xbffff]
1202+ * - video BIOS [0xc0000-0xcffff]
1203+ * - motherboard BIOS [0xf0000-0xfffff]
1204+ */
1205+int vesafb_thread(void *unused)
1206+{
1207+ int err = 0;
1208+
1209+ set_fs(KERNEL_DS);
1210+ daemonize("vesafb");
1211+
1212+ if (set_new_mm()) {
1213+ err = -ENOMEM;
1214+ goto thr_end;
1215+ }
1216+ if (vesafb_init_mem()) {
1217+ err = -ENOMEM;
1218+ goto thr_end;
1219+ }
1220+
1221+ DPRINTK("started vesafb thread\n");
1222+
1223+ /* Having an IO bitmap makes things faster as we avoid GPFs
1224+ * when running vm86 code. We can live if it fails, though,
1225+ * so don't bother checking for errors. */
1226+ ioperm(0,1024,1);
1227+ set_user_nice(current, -10);
1228+
1229+ complete(&vesafb_th_completion);
1230+
1231+ while (1) {
1232+ if (vesafb_handle_tasks())
1233+ break;
1234+ wait_event_interruptible(vesafb_wait,
1235+ !list_empty(&vesafb_task_list));
1236+ try_to_freeze();
1237+ }
1238+
1239+out: DPRINTK("exiting the vesafb thread\n");
1240+ vesafb_pid = -1;
1241+
1242+ /* Now that all callers know this thread is no longer running
1243+ * (pid < 0), allow them to continue. */
1244+ up(&vesafb_task_list_sem);
1245+ return err;
1246+thr_end:
1247+ down(&vesafb_task_list_sem);
1248+ complete(&vesafb_th_completion);
1249+ goto out;
1250+}
1251+
1252+int vesafb_queue_task(struct vesafb_task *tsk)
1253+{
1254+ down(&vesafb_task_list_sem);
1255+ if (vesafb_pid < 0)
1256+ return -1;
1257+ list_add_tail(&tsk->node, &vesafb_task_list);
1258+ up(&vesafb_task_list_sem);
1259+ wake_up(&vesafb_wait);
1260+ return 0;
1261+}
1262+
1263+int vesafb_wait_for_thread(void)
1264+{
1265+ /* PID 0 means that the thread is still initializing. */
1266+ if (vesafb_pid < 0)
1267+ return -1;
1268+ wait_for_completion(&vesafb_th_completion);
1269+ return 0;
1270+}
1271+
1272+int __init vesafb_init_thread(void)
1273+{
1274+ vesafb_pid = kernel_thread(vesafb_thread,NULL,0);
1275+ return 0;
1276+}
1277+
1278+#ifdef MODULE
1279+void __exit vesafb_kill_thread(void)
1280+{
1281+ struct vesafb_task *tsk;
1282+ if (vesafb_pid <= 0)
1283+ return;
1284+
1285+ vesafb_create_task(tsk);
1286+ if (!tsk)
1287+ return;
1288+ tsk->flags |= TF_EXIT;
1289+ vesafb_queue_task(tsk);
1290+ vesafb_wait_for_task(tsk);
1291+ kfree(tsk);
1292+ return;
1293+}
1294+module_exit(vesafb_kill_thread);
1295+#endif
1296+module_init(vesafb_init_thread);
1297+
1298+EXPORT_SYMBOL_GPL(vesafb_queue_task);
1299+EXPORT_SYMBOL_GPL(vesafb_wait_for_thread);
1300+
1301+MODULE_LICENSE("GPL");
1302+MODULE_AUTHOR("Michal Januszewski");
1303+
1304diff --git a/drivers/video/vesafb-tng.c b/drivers/video/vesafb-tng.c
1305new file mode 100644
1306index 0000000..b4d4394
1307--- /dev/null
1308+++ b/drivers/video/vesafb-tng.c
1309@@ -0,0 +1,1586 @@
1310+/*
1311+ * Framebuffer driver for VBE 2.0+ compliant graphic boards
1312+ *
1313+ * (c) 2004-2006 Michal Januszewski <spock@gentoo.org>
1314+ * Based upon vesafb code by Gerd Knorr <kraxel@goldbach.in-berlin.de>
1315+ *
1316+ */
1317+
1318+#include <linux/module.h>
1319+#include <linux/kernel.h>
1320+#include <linux/errno.h>
1321+#include <linux/string.h>
1322+#include <linux/mm.h>
1323+#include <linux/tty.h>
1324+#include <linux/delay.h>
1325+#include <linux/fb.h>
1326+#include <linux/ioport.h>
1327+#include <linux/init.h>
1328+#include <linux/proc_fs.h>
1329+#include <linux/completion.h>
1330+#include <linux/platform_device.h>
1331+#include <video/edid.h>
1332+#include <video/vesa.h>
1333+#include <video/vga.h>
1334+#include <asm/io.h>
1335+#include <asm/mtrr.h>
1336+#include <asm/page.h>
1337+#include <asm/pgtable.h>
1338+#include "edid.h"
1339+
1340+#define dac_reg (0x3c8)
1341+#define dac_val (0x3c9)
1342+
1343+#define VESAFB_NEED_EXACT_RES 1
1344+#define VESAFB_NEED_EXACT_DEPTH 2
1345+
1346+/* --------------------------------------------------------------------- */
1347+
1348+static struct fb_var_screeninfo vesafb_defined __initdata = {
1349+ .activate = FB_ACTIVATE_NOW,
1350+ .height = 0,
1351+ .width = 0,
1352+ .right_margin = 32,
1353+ .upper_margin = 16,
1354+ .lower_margin = 4,
1355+ .vsync_len = 4,
1356+ .vmode = FB_VMODE_NONINTERLACED,
1357+};
1358+
1359+static struct fb_fix_screeninfo vesafb_fix __initdata = {
1360+ .id = "VESA VGA",
1361+ .type = FB_TYPE_PACKED_PIXELS,
1362+ .accel = FB_ACCEL_NONE,
1363+};
1364+
1365+static int mtrr = 0; /* disable mtrr by default */
1366+static int blank = 1; /* enable blanking by default */
1367+static int ypan = 0; /* 0 - nothing, 1 - ypan, 2 - ywrap */
1368+static int pmi_setpal = 1; /* pmi for palette changes */
1369+static u16 *pmi_base = NULL; /* protected mode interface location */
1370+static void (*pmi_start)(void) = NULL;
1371+static void (*pmi_pal)(void) = NULL;
1372+static struct vesafb_vbe_ib vbe_ib;
1373+static struct vesafb_mode_ib *vbe_modes;
1374+static int vbe_modes_cnt = 0;
1375+static struct fb_info *vesafb_info = NULL;
1376+static int nocrtc = 0; /* ignore CRTC settings */
1377+static int noedid __initdata = 0; /* don't try DDC transfers */
1378+static int vram_remap __initdata = 0; /* set amount of memory to be used */
1379+static int vram_total __initdata = 0; /* set total amount of memory */
1380+static u16 maxclk __initdata = 0; /* maximum pixel clock */
1381+static u16 maxvf __initdata = 0; /* maximum vertical frequency */
1382+static u16 maxhf __initdata = 0; /* maximum horizontal frequency */
1383+static int gtf __initdata = 0; /* forces use of the GTF */
1384+static char *mode_option __initdata = NULL;
1385+static u16 vbemode __initdata = 0;
1386+
1387+/* --------------------------------------------------------------------- */
1388+
1389+static int vesafb_find_vbe_mode(int xres, int yres, int depth,
1390+ unsigned char flags)
1391+{
1392+ int i, match = -1, h = 0, d = 0x7fffffff;
1393+
1394+ for (i = 0; i < vbe_modes_cnt; i++) {
1395+ h = abs(vbe_modes[i].x_res - xres) +
1396+ abs(vbe_modes[i].y_res - yres) +
1397+ abs(depth - vbe_modes[i].depth);
1398+ if (h == 0)
1399+ return i;
1400+ if (h < d || (h == d && vbe_modes[i].depth > depth)) {
1401+ d = h;
1402+ match = i;
1403+ }
1404+ }
1405+ i = 1;
1406+
1407+ if (flags & VESAFB_NEED_EXACT_DEPTH && vbe_modes[match].depth != depth)
1408+ i = 0;
1409+ if (flags & VESAFB_NEED_EXACT_RES && d > 24)
1410+ i = 0;
1411+ if (i != 0)
1412+ return match;
1413+ else
1414+ return -1;
1415+}
1416+
1417+static int vesafb_pan_display(struct fb_var_screeninfo *var,
1418+ struct fb_info *info)
1419+{
1420+ int offset;
1421+
1422+ offset = (var->yoffset * info->fix.line_length + var->xoffset) / 4;
1423+
1424+ /* It turns out it's not the best idea to do panning via vm86,
1425+ * so we only allow it if we have a PMI. */
1426+ if (pmi_start) {
1427+ __asm__ __volatile__(
1428+ "call *(%%edi)"
1429+ : /* no return value */
1430+ : "a" (0x4f07), /* EAX */
1431+ "b" (0), /* EBX */
1432+ "c" (offset), /* ECX */
1433+ "d" (offset >> 16), /* EDX */
1434+ "D" (&pmi_start)); /* EDI */
1435+ }
1436+ return 0;
1437+}
1438+
1439+static int vesafb_blank(int blank, struct fb_info *info)
1440+{
1441+ struct vesafb_task *tsk;
1442+ int err = 1;
1443+
1444+ if (vbe_ib.capabilities & VBE_CAP_VGACOMPAT) {
1445+ int loop = 10000;
1446+ u8 seq = 0, crtc17 = 0;
1447+
1448+ if (blank == FB_BLANK_POWERDOWN) {
1449+ seq = 0x20;
1450+ crtc17 = 0x00;
1451+ err = 0;
1452+ } else {
1453+ seq = 0x00;
1454+ crtc17 = 0x80;
1455+ err = (blank == FB_BLANK_UNBLANK) ? 0 : -EINVAL;
1456+ }
1457+
1458+ vga_wseq(NULL, 0x00, 0x01);
1459+ seq |= vga_rseq(NULL, 0x01) & ~0x20;
1460+ vga_wseq(NULL, 0x00, seq);
1461+
1462+ crtc17 |= vga_rcrt(NULL, 0x17) & ~0x80;
1463+ while (loop--);
1464+ vga_wcrt(NULL, 0x17, crtc17);
1465+ vga_wseq(NULL, 0x00, 0x03);
1466+ } else {
1467+ vesafb_create_task (tsk);
1468+ if (!tsk)
1469+ return -ENOMEM;
1470+ tsk->regs.eax = 0x4f10;
1471+ switch (blank) {
1472+ case FB_BLANK_UNBLANK:
1473+ tsk->regs.ebx = 0x0001;
1474+ break;
1475+ case FB_BLANK_NORMAL:
1476+ tsk->regs.ebx = 0x0101; /* standby */
1477+ break;
1478+ case FB_BLANK_POWERDOWN:
1479+ tsk->regs.ebx = 0x0401; /* powerdown */
1480+ break;
1481+ default:
1482+ goto out;
1483+ }
1484+ tsk->flags = TF_CALL;
1485+ if (!vesafb_queue_task (tsk))
1486+ vesafb_wait_for_task(tsk);
1487+
1488+ if ((tsk->regs.eax & 0xffff) == 0x004f)
1489+ err = 0;
1490+out: kfree(tsk);
1491+ }
1492+ return err;
1493+}
1494+
1495+static int vesafb_setpalette(struct vesafb_pal_entry *entries, int count,
1496+ int start, struct fb_info *info)
1497+{
1498+ struct vesafb_task *tsk;
1499+ int i = ((struct vesafb_par*)info->par)->mode_idx;
1500+ int ret = 0;
1501+
1502+ /* We support palette modifications for 8 bpp modes only, so
1503+ * there can never be more than 256 entries. */
1504+ if (start + count > 256)
1505+ return -EINVAL;
1506+
1507+ /* Use VGA registers if mode is VGA-compatible. */
1508+ if (i >= 0 && i < vbe_modes_cnt &&
1509+ vbe_modes[i].mode_attr & VBE_MODE_VGACOMPAT) {
1510+ for (i = 0; i < count; i++) {
1511+ outb_p(start + i, dac_reg);
1512+ outb_p(entries[i].red, dac_val);
1513+ outb_p(entries[i].green, dac_val);
1514+ outb_p(entries[i].blue, dac_val);
1515+ }
1516+ } else if (pmi_setpal) {
1517+ __asm__ __volatile__(
1518+ "call *(%%esi)"
1519+ : /* no return value */
1520+ : "a" (0x4f09), /* EAX */
1521+ "b" (0), /* EBX */
1522+ "c" (count), /* ECX */
1523+ "d" (start), /* EDX */
1524+ "D" (entries), /* EDI */
1525+ "S" (&pmi_pal)); /* ESI */
1526+ } else {
1527+ vesafb_create_task (tsk);
1528+ if (!tsk)
1529+ return -ENOMEM;
1530+ tsk->regs.eax = 0x4f09;
1531+ tsk->regs.ebx = 0x0;
1532+ tsk->regs.ecx = count;
1533+ tsk->regs.edx = start;
1534+ tsk->buf = entries;
1535+ tsk->buf_len = sizeof(struct vesafb_pal_entry) * count;
1536+ tsk->flags = TF_CALL | TF_BUF_DI;
1537+
1538+ if (!vesafb_queue_task (tsk))
1539+ vesafb_wait_for_task(tsk);
1540+ if ((tsk->regs.eax & 0xffff) != 0x004f)
1541+ ret = 1;
1542+ kfree(tsk);
1543+ }
1544+ return ret;
1545+}
1546+
1547+static int vesafb_setcolreg(unsigned regno, unsigned red, unsigned green,
1548+ unsigned blue, unsigned transp,
1549+ struct fb_info *info)
1550+{
1551+ struct vesafb_pal_entry entry;
1552+ int shift = 16 - info->var.green.length;
1553+ int ret = 0;
1554+
1555+ if (regno >= info->cmap.len)
1556+ return -EINVAL;
1557+
1558+ if (info->var.bits_per_pixel == 8) {
1559+ entry.red = red >> shift;
1560+ entry.green = green >> shift;
1561+ entry.blue = blue >> shift;
1562+ entry.pad = 0;
1563+
1564+ ret = vesafb_setpalette(&entry, 1, regno, info);
1565+ } else if (regno < 16) {
1566+ switch (info->var.bits_per_pixel) {
1567+ case 16:
1568+ if (info->var.red.offset == 10) {
1569+ /* 1:5:5:5 */
1570+ ((u32*) (info->pseudo_palette))[regno] =
1571+ ((red & 0xf800) >> 1) |
1572+ ((green & 0xf800) >> 6) |
1573+ ((blue & 0xf800) >> 11);
1574+ } else {
1575+ /* 0:5:6:5 */
1576+ ((u32*) (info->pseudo_palette))[regno] =
1577+ ((red & 0xf800) ) |
1578+ ((green & 0xfc00) >> 5) |
1579+ ((blue & 0xf800) >> 11);
1580+ }
1581+ break;
1582+
1583+ case 24:
1584+ case 32:
1585+ red >>= 8;
1586+ green >>= 8;
1587+ blue >>= 8;
1588+ ((u32 *)(info->pseudo_palette))[regno] =
1589+ (red << info->var.red.offset) |
1590+ (green << info->var.green.offset) |
1591+ (blue << info->var.blue.offset);
1592+ break;
1593+ }
1594+ }
1595+ return ret;
1596+}
1597+
1598+static int vesafb_setcmap(struct fb_cmap *cmap, struct fb_info *info)
1599+{
1600+ struct vesafb_pal_entry *entries;
1601+ int shift = 16 - info->var.green.length;
1602+ int i, ret = 0;
1603+
1604+ if (info->var.bits_per_pixel == 8) {
1605+ if (cmap->start + cmap->len > info->cmap.start +
1606+ info->cmap.len || cmap->start < info->cmap.start)
1607+ return -EINVAL;
1608+
1609+ entries = vmalloc(sizeof(struct vesafb_pal_entry) * cmap->len);
1610+ if (!entries)
1611+ return -ENOMEM;
1612+ for (i = 0; i < cmap->len; i++) {
1613+ entries[i].red = cmap->red[i] >> shift;
1614+ entries[i].green = cmap->green[i] >> shift;
1615+ entries[i].blue = cmap->blue[i] >> shift;
1616+ entries[i].pad = 0;
1617+ }
1618+ ret = vesafb_setpalette(entries, cmap->len, cmap->start, info);
1619+ vfree(entries);
1620+ } else {
1621+ /* For modes with bpp > 8, we only set the pseudo palette in
1622+ * the fb_info struct. We rely on vesafb_setcolreg to do all
1623+ * sanity checking. */
1624+ for (i = 0; i < cmap->len; i++) {
1625+ ret += vesafb_setcolreg(cmap->start + i, cmap->red[i],
1626+ cmap->green[i], cmap->blue[i],
1627+ 0, info);
1628+ }
1629+ }
1630+ return ret;
1631+}
1632+
1633+static int vesafb_set_par(struct fb_info *info)
1634+{
1635+ struct vesafb_par *par = (struct vesafb_par *) info->par;
1636+ struct vesafb_task *tsk;
1637+ struct vesafb_crtc_ib *crtc = NULL;
1638+ struct vesafb_mode_ib *mode = NULL;
1639+ int i, err = 0, depth = info->var.bits_per_pixel;
1640+
1641+ if (depth > 8 && depth != 32)
1642+ depth = info->var.red.length + info->var.green.length +
1643+ info->var.blue.length;
1644+
1645+ i = vesafb_find_vbe_mode(info->var.xres, info->var.yres, depth,
1646+ VESAFB_NEED_EXACT_RES |
1647+ VESAFB_NEED_EXACT_DEPTH);
1648+ if (i >= 0)
1649+ mode = &vbe_modes[i];
1650+ else
1651+ return -EINVAL;
1652+
1653+ vesafb_create_task (tsk);
1654+ if (!tsk)
1655+ return -ENOMEM;
1656+ tsk->regs.eax = 0x4f02;
1657+ tsk->regs.ebx = mode->mode_id | 0x4000; /* use LFB */
1658+ tsk->flags = TF_CALL;
1659+
1660+ if (vbe_ib.vbe_version >= 0x0300 && !nocrtc &&
1661+ info->var.pixclock != 0) {
1662+ tsk->regs.ebx |= 0x0800; /* use CRTC data */
1663+ tsk->flags |= TF_BUF_DI;
1664+ crtc = kmalloc(sizeof(struct vesafb_crtc_ib), GFP_KERNEL);
1665+ if (!crtc) {
1666+ err = -ENOMEM;
1667+ goto out;
1668+ }
1669+ crtc->horiz_start = info->var.xres + info->var.right_margin;
1670+ crtc->horiz_end = crtc->horiz_start + info->var.hsync_len;
1671+ crtc->horiz_total = crtc->horiz_end + info->var.left_margin;
1672+
1673+ crtc->vert_start = info->var.yres + info->var.lower_margin;
1674+ crtc->vert_end = crtc->vert_start + info->var.vsync_len;
1675+ crtc->vert_total = crtc->vert_end + info->var.upper_margin;
1676+
1677+ crtc->pixel_clock = PICOS2KHZ(info->var.pixclock) * 1000;
1678+ crtc->refresh_rate = (u16)(100 * (crtc->pixel_clock /
1679+ (crtc->vert_total * crtc->horiz_total)));
1680+ crtc->flags = 0;
1681+
1682+ if (info->var.vmode & FB_VMODE_DOUBLE)
1683+ crtc->flags |= 0x1;
1684+ if (info->var.vmode & FB_VMODE_INTERLACED)
1685+ crtc->flags |= 0x2;
1686+ if (!(info->var.sync & FB_SYNC_HOR_HIGH_ACT))
1687+ crtc->flags |= 0x4;
1688+ if (!(info->var.sync & FB_SYNC_VERT_HIGH_ACT))
1689+ crtc->flags |= 0x8;
1690+ memcpy(&par->crtc, crtc, sizeof(struct vesafb_crtc_ib));
1691+ } else
1692+ memset(&par->crtc, 0, sizeof(struct vesafb_crtc_ib));
1693+
1694+ tsk->buf = (void*)crtc;
1695+ tsk->buf_len = sizeof(struct vesafb_crtc_ib);
1696+
1697+ if (vesafb_queue_task (tsk)) {
1698+ err = -EINVAL;
1699+ goto out;
1700+ }
1701+ vesafb_wait_for_task(tsk);
1702+
1703+ if ((tsk->regs.eax & 0xffff) != 0x004f) {
1704+ printk(KERN_ERR "vesafb: mode switch failed (eax: 0x%lx)\n",
1705+ tsk->regs.eax);
1706+ err = -EINVAL;
1707+ goto out;
1708+ }
1709+ par->mode_idx = i;
1710+
1711+ /* For 8bpp modes, always try to set the DAC to 8 bits. */
1712+ if (vbe_ib.capabilities & VBE_CAP_CAN_SWITCH_DAC &&
1713+ mode->bits_per_pixel <= 8) {
1714+ vesafb_reset_task(tsk);
1715+ tsk->flags = TF_CALL;
1716+ tsk->regs.eax = 0x4f08;
1717+ tsk->regs.ebx = 0x0800;
1718+
1719+ if (!vesafb_queue_task (tsk))
1720+ vesafb_wait_for_task(tsk);
1721+
1722+ if ((tsk->regs.eax & 0xffff) != 0x004f ||
1723+ ((tsk->regs.ebx & 0xff00) >> 8) != 8) {
1724+ /* We've failed to set the DAC palette format -
1725+ * time to correct var. */
1726+ info->var.red.length = 6;
1727+ info->var.green.length = 6;
1728+ info->var.blue.length = 6;
1729+ }
1730+ }
1731+
1732+ info->fix.visual = (info->var.bits_per_pixel == 8) ?
1733+ FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_TRUECOLOR;
1734+ info->fix.line_length = mode->bytes_per_scan_line;
1735+
1736+ DPRINTK("set new mode %dx%d-%d (0x%x)\n",
1737+ info->var.xres, info->var.yres, info->var.bits_per_pixel,
1738+ mode->mode_id);
1739+
1740+out: if (crtc != NULL)
1741+ kfree(crtc);
1742+ kfree(tsk);
1743+
1744+ return err;
1745+}
1746+
1747+static void vesafb_setup_var(struct fb_var_screeninfo *var, struct fb_info *info,
1748+ struct vesafb_mode_ib *mode)
1749+{
1750+ var->xres = mode->x_res;
1751+ var->yres = mode->y_res;
1752+ var->xres_virtual = mode->x_res;
1753+ var->yres_virtual = (ypan) ?
1754+ info->fix.smem_len / mode->bytes_per_scan_line :
1755+ mode->y_res;
1756+ var->xoffset = 0;
1757+ var->yoffset = 0;
1758+ var->bits_per_pixel = mode->bits_per_pixel;
1759+
1760+ if (var->bits_per_pixel == 15)
1761+ var->bits_per_pixel = 16;
1762+
1763+ if (var->bits_per_pixel > 8) {
1764+ var->red.offset = mode->red_off;
1765+ var->red.length = mode->red_len;
1766+ var->green.offset = mode->green_off;
1767+ var->green.length = mode->green_len;
1768+ var->blue.offset = mode->blue_off;
1769+ var->blue.length = mode->blue_len;
1770+ var->transp.offset = mode->rsvd_off;
1771+ var->transp.length = mode->rsvd_len;
1772+
1773+ DPRINTK("directcolor: size=%d:%d:%d:%d, shift=%d:%d:%d:%d\n",
1774+ mode->rsvd_len,
1775+ mode->red_len,
1776+ mode->green_len,
1777+ mode->blue_len,
1778+ mode->rsvd_off,
1779+ mode->red_off,
1780+ mode->green_off,
1781+ mode->blue_off);
1782+ } else {
1783+ var->red.offset = 0;
1784+ var->green.offset = 0;
1785+ var->blue.offset = 0;
1786+ var->transp.offset = 0;
1787+
1788+ /* We're assuming that we can switch the DAC to 8 bits. If
1789+ * this proves to be incorrect, we'll update the fields
1790+ * later in set_par(). */
1791+ if (vbe_ib.capabilities & VBE_CAP_CAN_SWITCH_DAC) {
1792+ var->red.length = 8;
1793+ var->green.length = 8;
1794+ var->blue.length = 8;
1795+ var->transp.length = 0;
1796+ } else {
1797+ var->red.length = 6;
1798+ var->green.length = 6;
1799+ var->blue.length = 6;
1800+ var->transp.length = 0;
1801+ }
1802+ }
1803+}
1804+
1805+static void inline vesafb_check_limits(struct fb_var_screeninfo *var,
1806+ struct fb_info *info)
1807+{
1808+ struct fb_videomode *mode;
1809+
1810+ if (!var->pixclock)
1811+ return;
1812+ if (vbe_ib.vbe_version < 0x0300) {
1813+ fb_get_mode(FB_VSYNCTIMINGS | FB_IGNOREMON, 60, var, info);
1814+ return;
1815+ }
1816+ if (!fb_validate_mode(var, info))
1817+ return;
1818+ mode = fb_find_best_mode(var, &info->modelist);
1819+ if (mode) {
1820+ DPRINTK("find_best_mode: %d %d @ %d (vmode: %d)\n",
1821+ mode->xres, mode->yres, mode->refresh, mode->vmode);
1822+ if (mode->xres == var->xres && mode->yres == var->yres &&
1823+ !(mode->vmode & (FB_VMODE_INTERLACED | FB_VMODE_DOUBLE))) {
1824+ fb_videomode_to_var(var, mode);
1825+ return;
1826+ }
1827+ }
1828+ if (info->monspecs.gtf && !fb_get_mode(FB_MAXTIMINGS, 0, var, info))
1829+ return;
1830+ /* Use default refresh rate */
1831+ var->pixclock = 0;
1832+}
1833+
1834+static int vesafb_check_var(struct fb_var_screeninfo *var,
1835+ struct fb_info *info)
1836+{
1837+ int match = -1;
1838+ int depth = var->red.length + var->green.length + var->blue.length;
1839+
1840+ /* Various apps will use bits_per_pixel to set the color depth,
1841+ * which is theoretically incorrect, but which we'll try to handle
1842+ * here. */
1843+ if (depth == 0 || abs(depth - var->bits_per_pixel) >= 8)
1844+ depth = var->bits_per_pixel;
1845+ match = vesafb_find_vbe_mode(var->xres, var->yres, depth,
1846+ VESAFB_NEED_EXACT_RES);
1847+
1848+ if (match == -1) {
1849+ DPRINTK("vesafb: mode %dx%d-%d not found\n", var->xres,
1850+ var->yres, depth);
1851+ return -EINVAL;
1852+ }
1853+
1854+ vesafb_setup_var(var, info, &vbe_modes[match]);
1855+ DPRINTK("found mode 0x%x (%dx%d-%dbpp)\n",
1856+ vbe_modes[match].mode_id, vbe_modes[match].x_res,
1857+ vbe_modes[match].y_res, vbe_modes[match].depth);
1858+
1859+ /* Check whether we have remapped enough memory for this mode. */
1860+ if (var->yres * vbe_modes[match].bytes_per_scan_line >
1861+ info->fix.smem_len) {
1862+ return -EINVAL;
1863+ }
1864+
1865+ if ((var->vmode & FB_VMODE_DOUBLE) &&
1866+ !(vbe_modes[match].mode_attr & 0x100))
1867+ var->vmode &= ~FB_VMODE_DOUBLE;
1868+ if ((var->vmode & FB_VMODE_INTERLACED) &&
1869+ !(vbe_modes[match].mode_attr & 0x200))
1870+ var->vmode &= ~FB_VMODE_INTERLACED;
1871+ vesafb_check_limits(var, info);
1872+ return 0;
1873+}
1874+
1875+static int vesafb_open(struct fb_info *info, int user)
1876+{
1877+ struct vesafb_task *tsk = NULL;
1878+ struct vesafb_par *par = info->par;
1879+ int cnt = atomic_read(&par->ref_count);
1880+
1881+ if (!cnt) {
1882+ vesafb_create_task(tsk);
1883+ if (!tsk)
1884+ goto out;
1885+
1886+ /* Get the VBE state buffer size. We want all available
1887+ * hardware state data (CL = 0x0f). */
1888+ tsk->regs.eax = 0x4f04;
1889+ tsk->regs.ecx = 0x000f;
1890+ tsk->regs.edx = 0x0000;
1891+ tsk->flags = TF_CALL;
1892+
1893+ if (vesafb_queue_task(tsk))
1894+ goto out;
1895+
1896+ vesafb_wait_for_task(tsk);
1897+
1898+ if ((tsk->regs.eax & 0xffff) != 0x004f) {
1899+ printk(KERN_WARNING "vesafb: VBE state buffer size "
1900+ "cannot be determined (eax: 0x%lx)\n",
1901+ tsk->regs.eax);
1902+ goto out;
1903+ }
1904+
1905+ par->vbe_state_size = 64 * (tsk->regs.ebx & 0xffff);
1906+ par->vbe_state = kzalloc(par->vbe_state_size, GFP_KERNEL);
1907+ if (!par->vbe_state)
1908+ goto out;
1909+
1910+ vesafb_reset_task(tsk);
1911+ tsk->regs.eax = 0x4f04;
1912+ tsk->regs.ecx = 0x000f;
1913+ tsk->regs.edx = 0x0001;
1914+ tsk->flags = TF_CALL | TF_BUF_BX | TF_RETURN_BUF;
1915+ tsk->buf = (void*)(par->vbe_state);
1916+ tsk->buf_len = par->vbe_state_size;
1917+
1918+ if (vesafb_queue_task(tsk))
1919+ goto getstate_failed;
1920+ vesafb_wait_for_task(tsk);
1921+
1922+ if ((tsk->regs.eax & 0xffff) != 0x004f) {
1923+ printk(KERN_WARNING "vesafb: VBE get state call "
1924+ "failed (eax: 0x%lx)\n", tsk->regs.eax);
1925+ goto getstate_failed;
1926+ }
1927+ }
1928+out:
1929+ atomic_inc(&par->ref_count);
1930+ if (tsk)
1931+ kfree(tsk);
1932+ return 0;
1933+
1934+getstate_failed:
1935+ kfree(par->vbe_state);
1936+ par->vbe_state = NULL;
1937+ par->vbe_state_size = 0;
1938+ goto out;
1939+}
1940+
1941+static int vesafb_release(struct fb_info *info, int user)
1942+{
1943+ struct vesafb_task *tsk = NULL;
1944+ struct vesafb_par *par = info->par;
1945+ int cnt = atomic_read(&par->ref_count);
1946+
1947+ if (!cnt)
1948+ return -EINVAL;
1949+
1950+ if (cnt == 1 && par->vbe_state && par->vbe_state_size) {
1951+ vesafb_create_task(tsk);
1952+ if (!tsk)
1953+ goto out;
1954+
1955+ tsk->regs.eax = 0x0003;
1956+ tsk->regs.ebx = 0x0000;
1957+ tsk->flags = TF_CALL;
1958+
1959+ if (vesafb_queue_task(tsk))
1960+ goto out;
1961+
1962+ vesafb_wait_for_task(tsk);
1963+
1964+ vesafb_reset_task(tsk);
1965+ tsk->regs.eax = 0x4f04;
1966+ tsk->regs.ecx = 0x000f;
1967+ tsk->regs.edx = 0x0002;
1968+ tsk->buf = (void*)(par->vbe_state);
1969+ tsk->buf_len = par->vbe_state_size;
1970+ tsk->flags = TF_CALL | TF_BUF_BX;
1971+
1972+ if (vesafb_queue_task(tsk))
1973+ goto out;
1974+
1975+ vesafb_wait_for_task(tsk);
1976+
1977+ if ((tsk->regs.eax & 0xffff) != 0x004f)
1978+ printk(KERN_WARNING "vesafb: VBE state restore call "
1979+ "failed (eax: 0x%lx)\n",
1980+ tsk->regs.eax);
1981+ }
1982+out:
1983+ atomic_dec(&par->ref_count);
1984+ if (tsk)
1985+ kfree(tsk);
1986+ return 0;
1987+}
1988+
1989+static int __init vesafb_probe(struct platform_device *device);
1990+
1991+static struct fb_ops vesafb_ops = {
1992+ .owner = THIS_MODULE,
1993+ .fb_open = vesafb_open,
1994+ .fb_release = vesafb_release,
1995+ .fb_setcolreg = vesafb_setcolreg,
1996+ .fb_setcmap = vesafb_setcmap,
1997+ .fb_pan_display = vesafb_pan_display,
1998+ .fb_blank = vesafb_blank,
1999+ .fb_fillrect = cfb_fillrect,
2000+ .fb_copyarea = cfb_copyarea,
2001+ .fb_imageblit = cfb_imageblit,
2002+ .fb_check_var = vesafb_check_var,
2003+ .fb_set_par = vesafb_set_par
2004+};
2005+
2006+static struct platform_driver vesafb_driver = {
2007+ .probe = vesafb_probe,
2008+ .driver = {
2009+ .name = "vesafb",
2010+ },
2011+};
2012+
2013+static struct platform_device *vesafb_device;
2014+
2015+#ifndef MODULE
2016+int __init vesafb_setup(char *options)
2017+{
2018+ char *this_opt;
2019+
2020+ if (!options || !*options)
2021+ return 0;
2022+
2023+ DPRINTK("options %s\n",options);
2024+
2025+ while ((this_opt = strsep(&options, ",")) != NULL) {
2026+ if (!*this_opt) continue;
2027+
2028+ DPRINTK("this_opt: %s\n",this_opt);
2029+
2030+ if (! strcmp(this_opt, "redraw"))
2031+ ypan=0;
2032+ else if (! strcmp(this_opt, "ypan"))
2033+ ypan=1;
2034+ else if (! strcmp(this_opt, "ywrap"))
2035+ ypan=2;
2036+ else if (! strcmp(this_opt, "vgapal"))
2037+ pmi_setpal=0;
2038+ else if (! strcmp(this_opt, "pmipal"))
2039+ pmi_setpal=1;
2040+ else if (! strncmp(this_opt, "mtrr:", 5))
2041+ mtrr = simple_strtoul(this_opt+5, NULL, 0);
2042+ else if (! strcmp(this_opt, "nomtrr"))
2043+ mtrr=0;
2044+ else if (! strcmp(this_opt, "nocrtc"))
2045+ nocrtc=1;
2046+ else if (! strcmp(this_opt, "noedid"))
2047+ noedid=1;
2048+ else if (! strcmp(this_opt, "noblank"))
2049+ blank=0;
2050+ else if (! strcmp(this_opt, "gtf"))
2051+ gtf=1;
2052+ else if (! strncmp(this_opt, "vtotal:", 7))
2053+ vram_total = simple_strtoul(this_opt + 7, NULL, 0);
2054+ else if (! strncmp(this_opt, "vremap:", 7))
2055+ vram_remap = simple_strtoul(this_opt + 7, NULL, 0);
2056+ else if (! strncmp(this_opt, "maxhf:", 6))
2057+ maxhf = simple_strtoul(this_opt + 6, NULL, 0);
2058+ else if (! strncmp(this_opt, "maxvf:", 6))
2059+ maxvf = simple_strtoul(this_opt + 6, NULL, 0);
2060+ else if (! strncmp(this_opt, "maxclk:", 7))
2061+ maxclk = simple_strtoul(this_opt + 7, NULL, 0);
2062+ else if (! strncmp(this_opt, "vbemode:", 8))
2063+ vbemode = simple_strtoul(this_opt + 8, NULL,0);
2064+ else if (this_opt[0] >= '0' && this_opt[0] <= '9') {
2065+ DPRINTK("mode_option: %s\n",this_opt);
2066+ mode_option = this_opt;
2067+ } else {
2068+ printk(KERN_WARNING
2069+ "vesafb: unrecognized option %s\n", this_opt);
2070+ }
2071+ }
2072+
2073+ return 0;
2074+}
2075+#endif /* !MODULE */
2076+
2077+static int vesafb_read_proc_modes(char *buf, char **start, off_t offset,
2078+ int len, int *eof, void *private)
2079+{
2080+ int clen = 0, i;
2081+
2082+ for (i = 0; i < vbe_modes_cnt; i++) {
2083+ clen += min(snprintf(buf + clen, len - clen, "%dx%d-%d\n", vbe_modes[i].x_res,
2084+ vbe_modes[i].y_res, vbe_modes[i].depth), len - clen);
2085+ }
2086+ *eof = 1;
2087+ return clen;
2088+}
2089+
2090+static int vesafb_read_proc_vbe_info(char *buf, char **start, off_t offset,
2091+ int len, int *eof, void *private)
2092+{
2093+ int clen = 0;
2094+
2095+ clen += min(snprintf(buf + clen, len, "Version: %d.%d\n",
2096+ ((vbe_ib.vbe_version & 0xff00) >> 8),
2097+ vbe_ib.vbe_version & 0xff), len);
2098+ clen += min(snprintf(buf + clen, len - clen, "Vendor: %s\n",
2099+ (char*)vbe_ib.oem_vendor_name_ptr), len - clen);
2100+ clen += min(snprintf(buf + clen, len - clen, "Product: %s\n",
2101+ (char*)vbe_ib.oem_product_name_ptr), len - clen);
2102+ clen += min(snprintf(buf + clen, len - clen, "OEM rev: %s\n",
2103+ (char*)vbe_ib.oem_product_rev_ptr), len - clen);
2104+ clen += min(snprintf(buf + clen, len - clen, "OEM string: %s\n",
2105+ (char*)vbe_ib.oem_string_ptr), len - clen);
2106+
2107+ *eof = 1;
2108+ return clen;
2109+}
2110+
2111+static int __init inline vesafb_vbe_getinfo(struct vesafb_task *tsk)
2112+{
2113+ tsk->regs.eax = 0x4f00;
2114+ tsk->flags = TF_CALL | TF_GETVBEIB;
2115+ tsk->buf = &vbe_ib;
2116+ tsk->buf_len = sizeof(vbe_ib);
2117+ if (vesafb_queue_task (tsk))
2118+ return -EINVAL;
2119+ vesafb_wait_for_task(tsk);
2120+
2121+ if (vbe_ib.vbe_version < 0x0200) {
2122+ printk(KERN_ERR "vesafb: Sorry, pre-VBE 2.0 cards are "
2123+ "not supported.\n");
2124+ return -EINVAL;
2125+ }
2126+
2127+ if ((tsk->regs.eax & 0xffff) != 0x004f) {
2128+ printk(KERN_ERR "vesafb: Getting mode info block failed "
2129+ "(eax=0x%x)\n", (u32)tsk->regs.eax);
2130+ return -EINVAL;
2131+ }
2132+
2133+ printk(KERN_INFO "vesafb: %s, %s, %s (OEM: %s)\n",
2134+ (char*)vbe_ib.oem_vendor_name_ptr,
2135+ (char*)vbe_ib.oem_product_name_ptr,
2136+ (char*)vbe_ib.oem_product_rev_ptr,
2137+ (char*)vbe_ib.oem_string_ptr);
2138+
2139+ printk(KERN_INFO "vesafb: VBE version: %d.%d\n",
2140+ ((vbe_ib.vbe_version & 0xff00) >> 8),
2141+ vbe_ib.vbe_version & 0xff);
2142+ return 0;
2143+}
2144+
2145+static int __init inline vesafb_vbe_getmodes(struct vesafb_task *tsk)
2146+{
2147+ u16 *mode = 0;
2148+ int off = 0;
2149+
2150+ /* Count available modes. */
2151+ mode = (u16*)vbe_ib.mode_list_ptr;
2152+ while (*mode != 0xffff) {
2153+ vbe_modes_cnt++;
2154+ mode++;
2155+ }
2156+
2157+ vbe_modes = kmalloc(sizeof(struct vesafb_mode_ib)*
2158+ vbe_modes_cnt, GFP_KERNEL);
2159+ if (!vbe_modes)
2160+ return -ENOMEM;
2161+
2162+ /* Get mode info for all available modes. */
2163+ mode = (u16*)vbe_ib.mode_list_ptr;
2164+
2165+ while (*mode != 0xffff) {
2166+ struct vesafb_mode_ib *mib;
2167+
2168+ vesafb_reset_task(tsk);
2169+ tsk->regs.eax = 0x4f01;
2170+ tsk->regs.ecx = (u32) *mode;
2171+ tsk->flags = TF_CALL | TF_RETURN_BUF | TF_BUF_DI;
2172+ tsk->buf = vbe_modes+off;
2173+ tsk->buf_len = sizeof(struct vesafb_mode_ib);
2174+ if (vesafb_queue_task(tsk))
2175+ return -EINVAL;
2176+ vesafb_wait_for_task(tsk);
2177+ mib = p_mode(tsk->buf);
2178+ mib->mode_id = *mode;
2179+
2180+ /* We only want modes that are supported with the currennt
2181+ * hardware configuration (D0), color (D3), graphics (D4)
2182+ * and that have support for the LFB (D7). */
2183+ if ((mib->mode_attr & 0x99) == 0x99 &&
2184+ mib->bits_per_pixel >= 8) {
2185+ off++;
2186+ } else {
2187+ vbe_modes_cnt--;
2188+ }
2189+ mode++;
2190+ mib->depth = mib->red_len + mib->green_len + mib->blue_len;
2191+ /* Handle 8bpp modes and modes with broken color component
2192+ * lengths. */
2193+ if (mib->depth == 0 ||
2194+ (mib->depth == 24 && mib->bits_per_pixel == 32))
2195+ mib->depth = mib->bits_per_pixel;
2196+ }
2197+
2198+ return 0;
2199+}
2200+
2201+static int __init inline vesafb_vbe_getpmi(struct vesafb_task *tsk)
2202+{
2203+ int i;
2204+
2205+ vesafb_reset_task(tsk);
2206+ tsk->regs.eax = 0x4f0a;
2207+ tsk->regs.ebx = 0x0;
2208+ tsk->flags = TF_CALL;
2209+ if (vesafb_queue_task(tsk))
2210+ return -EINVAL;
2211+ vesafb_wait_for_task(tsk);
2212+
2213+ if ((tsk->regs.eax & 0xffff) != 0x004f || tsk->regs.es < 0xc000) {
2214+ pmi_setpal = ypan = 0;
2215+ } else {
2216+ pmi_base = (u16*)phys_to_virt(((u32)tsk->regs.es << 4) +
2217+ tsk->regs.edi);
2218+ pmi_start = (void*)((char*)pmi_base + pmi_base[1]);
2219+ pmi_pal = (void*)((char*)pmi_base + pmi_base[2]);
2220+ printk(KERN_INFO "vesafb: protected mode interface info at "
2221+ "%04x:%04x\n",
2222+ (u16)tsk->regs.es, (u16)tsk->regs.edi);
2223+ printk(KERN_INFO "vesafb: pmi: set display start = %p, "
2224+ "set palette = %p\n", pmi_start, pmi_pal);
2225+
2226+ if (pmi_base[3]) {
2227+ printk(KERN_INFO "vesafb: pmi: ports = ");
2228+ for (i = pmi_base[3]/2; pmi_base[i] != 0xffff; i++)
2229+ printk("%x ",pmi_base[i]);
2230+ printk("\n");
2231+
2232+ /*
2233+ * memory areas not supported (yet?)
2234+ *
2235+ * Rules are: we have to set up a descriptor for the
2236+ * requested memory area and pass it in the ES register
2237+ * to the BIOS function.
2238+ */
2239+ if (pmi_base[i] != 0xffff) {
2240+ printk(KERN_INFO "vesafb: can't handle memory "
2241+ "requests, pmi disabled\n");
2242+ ypan = pmi_setpal = 0;
2243+ }
2244+ }
2245+ }
2246+ return 0;
2247+}
2248+
2249+static int __init inline vesafb_vbe_getedid(struct vesafb_task *tsk,
2250+ struct fb_info *info)
2251+{
2252+ int res = 0;
2253+
2254+ if (noedid || vbe_ib.vbe_version < 0x0300)
2255+ return -EINVAL;
2256+
2257+ vesafb_reset_task(tsk);
2258+ tsk->regs.eax = 0x4f15;
2259+ tsk->regs.ebx = 0;
2260+ tsk->regs.ecx = 0;
2261+ if (vesafb_queue_task(tsk))
2262+ return -EINVAL;
2263+ vesafb_wait_for_task(tsk);
2264+
2265+ if ((tsk->regs.eax & 0xffff) != 0x004f)
2266+ return -EINVAL;
2267+
2268+ if ((tsk->regs.ebx & 0x3) == 3) {
2269+ printk(KERN_INFO "vesafb: VBIOS/hardware supports both "
2270+ "DDC1 and DDC2 transfers\n");
2271+ } else if ((tsk->regs.ebx & 0x3) == 2) {
2272+ printk(KERN_INFO "vesafb: VBIOS/hardware supports DDC2 "
2273+ "transfers\n");
2274+ } else if ((tsk->regs.ebx & 0x3) == 1) {
2275+ printk(KERN_INFO "vesafb: VBIOS/hardware supports DDC1 "
2276+ "transfers\n");
2277+ } else {
2278+ printk(KERN_INFO "vesafb: VBIOS/hardware doesn't support "
2279+ "DDC transfers\n");
2280+ return -EINVAL;
2281+ }
2282+
2283+ vesafb_reset_task(tsk);
2284+ tsk->regs.eax = 0x4f15;
2285+ tsk->regs.ebx = 1;
2286+ tsk->regs.ecx = tsk->regs.edx = 0;
2287+ tsk->flags = TF_CALL | TF_RETURN_BUF | TF_BUF_DI;
2288+ tsk->buf = kmalloc(EDID_LENGTH, GFP_KERNEL);
2289+ tsk->buf_len = EDID_LENGTH;
2290+
2291+ if (vesafb_queue_task(tsk)) {
2292+ res = -EINVAL;
2293+ goto out;
2294+ }
2295+ vesafb_wait_for_task(tsk);
2296+
2297+ if ((tsk->regs.eax & 0xffff) == 0x004f) {
2298+ fb_edid_to_monspecs(tsk->buf, &info->monspecs);
2299+ fb_videomode_to_modelist(info->monspecs.modedb,
2300+ info->monspecs.modedb_len, &info->modelist);
2301+ if (info->monspecs.vfmax && info->monspecs.hfmax) {
2302+ /* If the maximum pixel clock wasn't specified in
2303+ * the EDID block, set it to 300 MHz. */
2304+ if (info->monspecs.dclkmax == 0)
2305+ info->monspecs.dclkmax = 300 * 1000000;
2306+ info->monspecs.gtf = 1;
2307+ } else {
2308+ res = -EINVAL;
2309+ }
2310+ }
2311+
2312+out: kfree(tsk->buf);
2313+ return res;
2314+}
2315+
2316+static void __init inline vesafb_vbe_getmonspecs(struct vesafb_task *tsk,
2317+ struct fb_info *info)
2318+{
2319+ struct fb_var_screeninfo var;
2320+ int i;
2321+ memset(&info->monspecs, 0, sizeof(struct fb_monspecs));
2322+
2323+ /* If we didn't get all necessary data from the EDID block,
2324+ * mark it as incompatible with the GTF. */
2325+ if (vesafb_vbe_getedid(tsk, info))
2326+ info->monspecs.gtf = 0;
2327+
2328+ /* Kernel command line overrides. */
2329+ if (maxclk)
2330+ info->monspecs.dclkmax = maxclk * 1000000;
2331+ if (maxvf)
2332+ info->monspecs.vfmax = maxvf;
2333+ if (maxhf)
2334+ info->monspecs.hfmax = maxhf * 1000;
2335+
2336+ /* In case DDC transfers are not supported the user can provide
2337+ * monitor limits manually. Lower limits are set to "safe" values. */
2338+ if (info->monspecs.gtf == 0 && maxclk && maxvf && maxhf) {
2339+ info->monspecs.dclkmin = 0;
2340+ info->monspecs.vfmin = 60;
2341+ info->monspecs.hfmin = 29000;
2342+ info->monspecs.gtf = 1;
2343+ }
2344+
2345+ if (info->monspecs.gtf) {
2346+ printk(KERN_INFO
2347+ "vesafb: monitor limits: vf = %d Hz, hf = %d kHz, "
2348+ "clk = %d MHz\n", info->monspecs.vfmax,
2349+ (int)(info->monspecs.hfmax / 1000),
2350+ (int)(info->monspecs.dclkmax / 1000000));
2351+ /* Add valid VESA video modes to our modelist. */
2352+ for (i = 0; i < VESA_MODEDB_SIZE; i++) {
2353+ fb_videomode_to_var(&var, (struct fb_videomode *)
2354+ &vesa_modes[i]);
2355+ if (!fb_validate_mode(&var, info))
2356+ fb_add_videomode((struct fb_videomode *)
2357+ &vesa_modes[i],
2358+ &info->modelist);
2359+ }
2360+ } else {
2361+ /* Add all VESA video modes to our modelist. */
2362+ fb_videomode_to_modelist((struct fb_videomode *)vesa_modes,
2363+ VESA_MODEDB_SIZE, &info->modelist);
2364+ printk(KERN_INFO "vesafb: no monitor limits have been set\n");
2365+ }
2366+ return;
2367+}
2368+
2369+static int __init inline vesafb_vbe_init(struct fb_info *info)
2370+{
2371+ struct vesafb_task *tsk;
2372+ int res = 0;
2373+
2374+ vesafb_create_task(tsk);
2375+ if (!tsk)
2376+ return -EINVAL;
2377+ if ((res = vesafb_vbe_getinfo(tsk)) != 0)
2378+ goto out;
2379+ if ((res = vesafb_vbe_getmodes(tsk)) != 0)
2380+ goto out;
2381+ if (pmi_setpal || ypan)
2382+ vesafb_vbe_getpmi(tsk);
2383+
2384+ INIT_LIST_HEAD(&info->modelist);
2385+ vesafb_vbe_getmonspecs(tsk, info);
2386+
2387+out: kfree(tsk);
2388+ return res;
2389+}
2390+
2391+static int __init decode_mode(u32 *xres, u32 *yres, u32 *bpp, u32 *refresh)
2392+{
2393+ int len = strlen(mode_option), i, err = 0;
2394+ u8 res_specified = 0, bpp_specified = 0, refresh_specified = 0,
2395+ yres_specified = 0;
2396+
2397+ for (i = len-1; i >= 0; i--) {
2398+ switch (mode_option[i]) {
2399+ case '@':
2400+ len = i;
2401+ if (!refresh_specified && !bpp_specified &&
2402+ !yres_specified) {
2403+ *refresh = simple_strtoul(&mode_option[i+1],
2404+ NULL, 0);
2405+ refresh_specified = 1;
2406+ } else
2407+ goto out;
2408+ break;
2409+ case '-':
2410+ len = i;
2411+ if (!bpp_specified && !yres_specified) {
2412+ *bpp = simple_strtoul(&mode_option[i+1],
2413+ NULL, 0);
2414+ bpp_specified = 1;
2415+ } else
2416+ goto out;
2417+ break;
2418+ case 'x':
2419+ if (!yres_specified) {
2420+ *yres = simple_strtoul(&mode_option[i+1],
2421+ NULL, 0);
2422+ yres_specified = 1;
2423+ } else
2424+ goto out;
2425+ break;
2426+ case '0'...'9':
2427+ break;
2428+ default:
2429+ goto out;
2430+ }
2431+ }
2432+
2433+ if (i < 0 && yres_specified) {
2434+ *xres = simple_strtoul(mode_option, NULL, 0);
2435+ res_specified = 1;
2436+ }
2437+
2438+out: if (!res_specified || !yres_specified) {
2439+ printk(KERN_ERR "vesafb: invalid resolution, "
2440+ "%s not specified\n",
2441+ (!res_specified) ? "width" : "height");
2442+ err = -EINVAL;
2443+ }
2444+
2445+ return err;
2446+}
2447+
2448+static int __init vesafb_init_set_mode(struct fb_info *info)
2449+{
2450+ struct fb_videomode *fbmode;
2451+ struct fb_videomode mode;
2452+ int i, modeid, refresh = 0;
2453+ u8 refresh_specified = 0;
2454+
2455+ if (!mode_option)
2456+ mode_option = CONFIG_FB_VESA_DEFAULT_MODE;
2457+
2458+ if (vbemode > 0) {
2459+ for (i = 0; i < vbe_modes_cnt; i++) {
2460+ if (vbe_modes[i].mode_id == vbemode) {
2461+ info->var.vmode = FB_VMODE_NONINTERLACED;
2462+ info->var.sync = FB_SYNC_VERT_HIGH_ACT;
2463+ vesafb_setup_var(&info->var, info,
2464+ &vbe_modes[i]);
2465+ fb_get_mode(FB_VSYNCTIMINGS | FB_IGNOREMON,
2466+ 60, &info->var, info);
2467+ /* With pixclock set to 0, the default BIOS
2468+ * timings will be used in set_par(). */
2469+ info->var.pixclock = 0;
2470+ modeid = i;
2471+ goto out;
2472+ }
2473+ }
2474+ printk(KERN_INFO "specified VBE mode %d not found\n",
2475+ vbemode);
2476+ vbemode = 0;
2477+ }
2478+
2479+ /* Decode the mode specified on the kernel command line. We save
2480+ * the depth into bits_per_pixel, which is wrong, but will work
2481+ * anyway. */
2482+ if (decode_mode(&info->var.xres, &info->var.yres,
2483+ &info->var.bits_per_pixel, &refresh))
2484+ return -EINVAL;
2485+ if (refresh)
2486+ refresh_specified = 1;
2487+ else
2488+ refresh = 60;
2489+
2490+ /* Look for a matching VBE mode. We can live if an exact match
2491+ * cannot be found. */
2492+ modeid = vesafb_find_vbe_mode(info->var.xres, info->var.yres,
2493+ info->var.bits_per_pixel, 0);
2494+
2495+ if (modeid == -1) {
2496+ return -EINVAL;
2497+ } else {
2498+ info->var.vmode = FB_VMODE_NONINTERLACED;
2499+ info->var.sync = FB_SYNC_VERT_HIGH_ACT;
2500+ vesafb_setup_var(&info->var, info, &vbe_modes[modeid]);
2501+ }
2502+ if (vbe_ib.vbe_version < 0x0300) {
2503+ fb_get_mode(FB_VSYNCTIMINGS | FB_IGNOREMON, 60,
2504+ &info->var, info);
2505+ goto out;
2506+ }
2507+ if (!gtf) {
2508+ struct fb_videomode tmode;
2509+
2510+ if (refresh_specified) {
2511+ fb_var_to_videomode(&tmode, &info->var);
2512+ tmode.refresh = refresh;
2513+ fbmode = fb_find_nearest_mode(&tmode,
2514+ &info->modelist);
2515+ } else
2516+ fbmode = fb_find_best_mode(&info->var,
2517+ &info->modelist);
2518+
2519+ if (fbmode->xres == info->var.xres &&
2520+ fbmode->yres == info->var.yres &&
2521+ !(fbmode->vmode & (FB_VMODE_INTERLACED | FB_VMODE_DOUBLE))
2522+ && (!refresh_specified ||
2523+ abs(refresh - fbmode->refresh) <= 5)) {
2524+ fb_videomode_to_var(&info->var, fbmode);
2525+ return modeid;
2526+ }
2527+ }
2528+ i = FB_MAXTIMINGS;
2529+ if (!info->monspecs.gtf)
2530+ i = FB_IGNOREMON | FB_VSYNCTIMINGS;
2531+ else if (refresh_specified)
2532+ i = FB_VSYNCTIMINGS;
2533+ if (!fb_get_mode(i, refresh, &info->var, info))
2534+ goto out;
2535+ if (info->monspecs.gtf &&
2536+ !fb_get_mode(FB_MAXTIMINGS, 0, &info->var, info))
2537+ goto out;
2538+ /* Use default refresh rate */
2539+ printk(KERN_WARNING "vesafb: using default BIOS refresh rate\n");
2540+ info->var.pixclock = 0;
2541+
2542+out:
2543+ fb_var_to_videomode(&mode, &info->var);
2544+ fb_add_videomode(&mode, &info->modelist);
2545+ return modeid;
2546+}
2547+
2548+static int __init vesafb_probe(struct platform_device *dev)
2549+{
2550+ char entry[16];
2551+ struct fb_info *info;
2552+ struct vesafb_mode_ib *mode = NULL;
2553+ int err = 0, i, h;
2554+ unsigned int size_vmode;
2555+ unsigned int size_remap;
2556+ unsigned int size_total;
2557+
2558+ vesafb_info = info = framebuffer_alloc(sizeof(struct vesafb_par) +
2559+ sizeof(u32) * 256, &dev->dev);
2560+ if (!info)
2561+ return -ENOMEM;
2562+
2563+ if (vesafb_wait_for_thread()) {
2564+ printk(KERN_ERR "vesafb: vesafb thread not running\n");
2565+ framebuffer_release(info);
2566+ return -EINVAL;
2567+ }
2568+
2569+ if (vesafb_vbe_init(info)) {
2570+ printk(KERN_ERR "vesafb: vbe_init failed\n");
2571+ err = -EINVAL;
2572+ goto out;
2573+ }
2574+
2575+ vesafb_fix.ypanstep = ypan ? 1 : 0;
2576+ vesafb_fix.ywrapstep = (ypan>1) ? 1 : 0;
2577+
2578+ info->pseudo_palette = ((u8*)info->par + sizeof(struct vesafb_par));
2579+ info->fbops = &vesafb_ops;
2580+ info->var = vesafb_defined;
2581+ info->fix = vesafb_fix;
2582+
2583+ if (fb_alloc_cmap(&info->cmap, 256, 0) < 0) {
2584+ err = -ENXIO;
2585+ goto out;
2586+ }
2587+
2588+ i = vesafb_init_set_mode(info);
2589+ if (i < 0) {
2590+ err = -EINVAL;
2591+ goto out_cmap;
2592+ } else
2593+ mode = &vbe_modes[i];
2594+
2595+ /* Disable blanking if the user requested so. */
2596+ if (!blank) {
2597+ info->fbops->fb_blank = NULL;
2598+ }
2599+
2600+ /* Find out how much IO memory is required for the mode with
2601+ * the highest resolution. */
2602+ size_remap = 0;
2603+ for (i = 0; i < vbe_modes_cnt; i++) {
2604+ h = vbe_modes[i].bytes_per_scan_line * vbe_modes[i].y_res;
2605+ if (h > size_remap)
2606+ size_remap = h;
2607+ }
2608+ size_remap *= 2;
2609+
2610+ /* size_vmode -- that is the amount of memory needed for the
2611+ * used video mode, i.e. the minimum amount of
2612+ * memory we need. */
2613+ if (mode != NULL) {
2614+ size_vmode = info->var.yres * mode->bytes_per_scan_line;
2615+ } else {
2616+ size_vmode = info->var.yres * info->var.xres *
2617+ ((info->var.bits_per_pixel + 7) >> 3);
2618+ }
2619+
2620+ /* size_total -- all video memory we have. Used for mtrr
2621+ * entries, ressource allocation and bounds
2622+ * checking. */
2623+ size_total = vbe_ib.total_memory * 65536;
2624+ if (vram_total)
2625+ size_total = vram_total * 1024 * 1024;
2626+ if (size_total < size_vmode)
2627+ size_total = size_vmode;
2628+ ((struct vesafb_par*)(info->par))->mem_total = size_total;
2629+
2630+ /* size_remap -- the amount of video memory we are going to
2631+ * use for vesafb. With modern cards it is no
2632+ * option to simply use size_total as th
2633+ * wastes plenty of kernel address space. */
2634+ if (vram_remap)
2635+ size_remap = vram_remap * 1024 * 1024;
2636+ if (size_remap < size_vmode)
2637+ size_remap = size_vmode;
2638+ if (size_remap > size_total)
2639+ size_remap = size_total;
2640+
2641+ info->fix.smem_len = size_remap;
2642+ info->fix.smem_start = mode->phys_base_ptr;
2643+
2644+ /* We have to set it here, because when setup_var() was called,
2645+ * smem_len wasn't defined yet. */
2646+ info->var.yres_virtual = info->fix.smem_len /
2647+ mode->bytes_per_scan_line;
2648+
2649+ if (ypan && info->var.yres_virtual > info->var.yres) {
2650+ printk(KERN_INFO "vesafb: scrolling: %s "
2651+ "using protected mode interface, "
2652+ "yres_virtual=%d\n",
2653+ (ypan > 1) ? "ywrap" : "ypan",info->var.yres_virtual);
2654+ } else {
2655+ printk(KERN_INFO "vesafb: scrolling: redraw\n");
2656+ info->var.yres_virtual = info->var.yres;
2657+ ypan = 0;
2658+ }
2659+
2660+ info->flags = FBINFO_FLAG_DEFAULT |
2661+ (ypan) ? FBINFO_HWACCEL_YPAN : 0;
2662+
2663+ if (!ypan)
2664+ info->fbops->fb_pan_display = NULL;
2665+
2666+ if (!request_mem_region(info->fix.smem_start, size_total, "vesafb")) {
2667+ printk(KERN_WARNING "vesafb: cannot reserve video memory at "
2668+ "0x%lx\n", info->fix.smem_start);
2669+ /* We cannot make this fatal. Sometimes this comes from magic
2670+ spaces our resource handlers simply don't know about. */
2671+ }
2672+
2673+ info->screen_base = ioremap(info->fix.smem_start, info->fix.smem_len);
2674+
2675+ if (!info->screen_base) {
2676+ printk(KERN_ERR
2677+ "vesafb: abort, cannot ioremap video memory "
2678+ "0x%x @ 0x%lx\n",
2679+ info->fix.smem_len, info->fix.smem_start);
2680+ err = -EIO;
2681+ goto out_mem;
2682+ }
2683+
2684+ /* Request failure does not faze us, as vgacon probably has this
2685+ region already (FIXME) */
2686+ request_region(0x3c0, 32, "vesafb");
2687+
2688+#ifdef CONFIG_MTRR
2689+ if (mtrr && !(info->fix.smem_start & (PAGE_SIZE - 1))) {
2690+ int temp_size = size_total;
2691+ unsigned int type = 0;
2692+
2693+ switch (mtrr) {
2694+ case 1:
2695+ type = MTRR_TYPE_UNCACHABLE;
2696+ break;
2697+ case 2:
2698+ type = MTRR_TYPE_WRBACK;
2699+ break;
2700+ case 3:
2701+ type = MTRR_TYPE_WRCOMB;
2702+ break;
2703+ case 4:
2704+ type = MTRR_TYPE_WRTHROUGH;
2705+ break;
2706+ default:
2707+ type = 0;
2708+ break;
2709+ }
2710+
2711+ if (type) {
2712+ int rc;
2713+
2714+ /* Find the largest power-of-two */
2715+ while (temp_size & (temp_size - 1))
2716+ temp_size &= (temp_size - 1);
2717+
2718+ /* Try and find a power of two to add */
2719+ do {
2720+ rc = mtrr_add(info->fix.smem_start,
2721+ temp_size, type, 1);
2722+ temp_size >>= 1;
2723+ } while (temp_size >= PAGE_SIZE && rc == -EINVAL);
2724+ }
2725+ }
2726+#endif /* CONFIG_MTRR */
2727+
2728+ if (register_framebuffer(info) < 0) {
2729+ printk(KERN_ERR
2730+ "vesafb: failed to register framebuffer device\n");
2731+ err = -EINVAL;
2732+ goto out_mem;
2733+ }
2734+
2735+ printk(KERN_INFO "vesafb: framebuffer at 0x%lx, mapped to 0x%p, "
2736+ "using %dk, total %dk\n", info->fix.smem_start,
2737+ info->screen_base, size_remap/1024, size_total/1024);
2738+ printk(KERN_INFO "fb%d: %s frame buffer device\n", info->node,
2739+ info->fix.id);
2740+
2741+ sprintf(entry, "fb%d", info->node);
2742+ proc_mkdir(entry, 0);
2743+
2744+ sprintf(entry, "fb%d/modes", info->node);
2745+ create_proc_read_entry(entry, 0, 0, vesafb_read_proc_modes, NULL);
2746+
2747+ sprintf(entry, "fb%d/vbe_info", info->node);
2748+ create_proc_read_entry(entry, 0, 0, vesafb_read_proc_vbe_info, NULL);
2749+ return 0;
2750+
2751+out_mem:
2752+ release_mem_region(info->fix.smem_start, size_total);
2753+ if (!list_empty(&info->modelist))
2754+ fb_destroy_modelist(&info->modelist);
2755+ fb_destroy_modedb(info->monspecs.modedb);
2756+out_cmap:
2757+ fb_dealloc_cmap(&info->cmap);
2758+out:
2759+ framebuffer_release(info);
2760+ vesafb_info = NULL;
2761+ kfree(vbe_modes);
2762+ vbe_modes = NULL;
2763+ return err;
2764+}
2765+
2766+int __init vesafb_init(void)
2767+{
2768+ int ret;
2769+#ifndef MODULE
2770+ char *option = NULL;
2771+
2772+ if (fb_get_options("vesafb", &option))
2773+ return -ENODEV;
2774+ vesafb_setup(option);
2775+#endif
2776+ ret = platform_driver_register(&vesafb_driver);
2777+
2778+ if (!ret) {
2779+ vesafb_device = platform_device_alloc("vesafb", 0);
2780+
2781+ if (vesafb_device)
2782+ ret = platform_device_add(vesafb_device);
2783+ else
2784+ ret = -ENOMEM;
2785+
2786+ if (ret) {
2787+ platform_device_put(vesafb_device);
2788+ platform_driver_unregister(&vesafb_driver);
2789+ }
2790+ }
2791+ return ret;
2792+}
2793+
2794+module_init(vesafb_init);
2795+
2796+#ifdef MODULE
2797+void __exit vesafb_exit(void)
2798+{
2799+ char entry[16];
2800+
2801+ if (vesafb_info)
2802+ unregister_framebuffer(vesafb_info);
2803+
2804+ platform_device_unregister(vesafb_device);
2805+ platform_driver_unregister(&vesafb_driver);
2806+
2807+ if (vesafb_info) {
2808+ struct vesafb_par *par = (struct vesafb_par*)vesafb_info->par;
2809+
2810+ sprintf(entry, "fb%d/modes", vesafb_info->node);
2811+ remove_proc_entry(entry, NULL);
2812+
2813+ sprintf(entry, "fb%d/vbe_info", vesafb_info->node);
2814+ remove_proc_entry(entry, NULL);
2815+
2816+ sprintf(entry, "fb%d", vesafb_info->node);
2817+ remove_proc_entry(entry, NULL);
2818+
2819+ iounmap(vesafb_info->screen_base);
2820+ release_mem_region(vesafb_info->fix.smem_start,
2821+ par->mem_total);
2822+ fb_dealloc_cmap(&vesafb_info->cmap);
2823+ if (!list_empty(&vesafb_info->modelist))
2824+ fb_destroy_modelist(&vesafb_info->modelist);
2825+ fb_destroy_modedb(vesafb_info->monspecs.modedb);
2826+ framebuffer_release(vesafb_info);
2827+ }
2828+
2829+ if (vbe_modes != NULL)
2830+ kfree(vbe_modes);
2831+}
2832+
2833+module_exit(vesafb_exit);
2834+
2835+static inline int param_get_scroll(char *buffer, struct kernel_param *kp)
2836+{
2837+ return 0;
2838+}
2839+static inline int param_set_scroll(const char *val, struct kernel_param *kp)
2840+{
2841+ ypan = 0;
2842+
2843+ if (! strcmp(val, "redraw"))
2844+ ypan = 0;
2845+ else if (! strcmp(val, "ypan"))
2846+ ypan = 1;
2847+ else if (! strcmp(val, "ywrap"))
2848+ ypan = 2;
2849+
2850+ return 0;
2851+}
2852+
2853+#define param_check_scroll(name, p) __param_check(name, p, void);
2854+
2855+module_param_named(scroll, ypan, scroll, 0);
2856+MODULE_PARM_DESC(scroll,"Scrolling mode, set to 'redraw', 'ypan' or 'ywrap'");
2857+module_param_named(vgapal, pmi_setpal, invbool, 0);
2858+MODULE_PARM_DESC(vgapal,"bool: set palette using VGA registers");
2859+module_param_named(pmipal, pmi_setpal, bool, 0);
2860+MODULE_PARM_DESC(pmipal,"bool: set palette using PMI calls");
2861+module_param(mtrr, uint, 0);
2862+MODULE_PARM_DESC(mtrr,"Memory Type Range Registers setting. Use 0 to disable.");
2863+module_param(blank, bool, 1);
2864+MODULE_PARM_DESC(blank,"bool: enable hardware blanking");
2865+module_param(nocrtc, bool, 0);
2866+MODULE_PARM_DESC(nocrtc,"bool: ignore CRTC timings when setting modes");
2867+module_param(noedid, bool, 0);
2868+MODULE_PARM_DESC(noedid,"bool: ignore EDID-provided monitor limits "
2869+ "when setting modes");
2870+module_param(gtf, bool, 0);
2871+MODULE_PARM_DESC(gtf,"bool: force use of VESA GTF to calculate mode timings");
2872+module_param(vram_remap, uint, 0);
2873+MODULE_PARM_DESC(vram_remap,"Set amount of video memory to be used [MiB]");
2874+module_param(vram_total, uint, 0);
2875+MODULE_PARM_DESC(vram_total,"Set total amount of video memoery [MiB]");
2876+module_param(maxclk, ushort, 0);
2877+MODULE_PARM_DESC(maxclk,"Maximum pixelclock [MHz], overrides EDID data");
2878+module_param(maxhf, ushort, 0);
2879+MODULE_PARM_DESC(maxhf,"Maximum horizontal frequency [kHz], "
2880+ "overrides EDID data");
2881+module_param(maxvf, ushort, 0);
2882+MODULE_PARM_DESC(maxvf,"Maximum vertical frequency [Hz], "
2883+ "overrides EDID data");
2884+module_param_named(mode, mode_option, charp, 0);
2885+MODULE_PARM_DESC(mode, "Specify resolution as "
2886+ "\"<xres>x<yres>[-<bpp>][@<refresh>]\"");
2887+module_param(vbemode, ushort, 0);
2888+MODULE_PARM_DESC(vbemode,"VBE mode number to set, overrides 'mode' setting");
2889+
2890+#endif /* MODULE */
2891+
2892+MODULE_LICENSE("GPL");
2893+MODULE_AUTHOR("Michal Januszewski");
2894+MODULE_DESCRIPTION("Framebuffer driver for VBE2.0+ compliant graphics boards");
2895+
2896diff --git a/include/linux/sched.h b/include/linux/sched.h
2897index 4463735..7283e48 100644
2898--- a/include/linux/sched.h
2899+++ b/include/linux/sched.h
2900@@ -1390,6 +1390,8 @@ extern void mmput(struct mm_struct *);
2901 extern struct mm_struct *get_task_mm(struct task_struct *task);
2902 /* Remove the current tasks stale references to the old mm_struct */
2903 extern void mm_release(struct task_struct *, struct mm_struct *);
2904+/* Create a new mm for a kernel thread */
2905+extern int set_new_mm(void);
2906
2907 extern int copy_thread(int, unsigned long, unsigned long, unsigned long, struct task_struct *, struct pt_regs *);
2908 extern void flush_thread(void);
2909diff --git a/include/video/vesa.h b/include/video/vesa.h
2910new file mode 100644
2911index 0000000..bb5abcf
2912--- /dev/null
2913+++ b/include/video/vesa.h
2914@@ -0,0 +1,150 @@
2915+#if 0
2916+#define DPRINTK(fmt, args...) printk(KERN_DEBUG "%s: " fmt, __FUNCTION__ , \
2917+ ## args)
2918+#else
2919+#define DPRINTK(fmt, args...)
2920+#endif
2921+
2922+#define p_crtc(arg) ((struct vesafb_crtc_ib*)(arg))
2923+#define p_vbe(arg) ((struct vesafb_vbe_ib*)(arg))
2924+#define p_mode(arg) ((struct vesafb_mode_ib*)(arg))
2925+
2926+struct vesafb_task {
2927+ u8 flags;
2928+ void *buf;
2929+ int buf_len;
2930+ struct vm86_regs regs;
2931+ struct list_head node;
2932+ struct completion done;
2933+};
2934+
2935+/* Vesafb task flags and masks */
2936+#define TF_CALL 0x00
2937+#define TF_EXIT 0x01
2938+#define TF_GETVBEIB 0x02
2939+#define TF_BUF_DI 0x04
2940+#define TF_BUF_BX 0x08
2941+#define TF_RETURN_BUF 0x10
2942+
2943+/* Macros and functions for manipulating vesafb tasks */
2944+#define vesafb_create_task(task) \
2945+do { \
2946+ task = kmalloc(sizeof(struct vesafb_task), GFP_ATOMIC); \
2947+ if (task) \
2948+ memset(task, 0, sizeof(struct vesafb_task)); \
2949+ init_completion(&task->done); \
2950+} while (0)
2951+
2952+#define vesafb_wait_for_task(task) wait_for_completion(&task->done);
2953+#define vesafb_reset_task(task) init_completion(&task->done);
2954+int vesafb_queue_task(struct vesafb_task *task);
2955+
2956+/* Functions for controlling the vesafb thread */
2957+int vesafb_wait_for_thread(void);
2958+
2959+#define VBE_CAP_CAN_SWITCH_DAC 0x01
2960+#define VBE_CAP_VGACOMPAT 0x02
2961+
2962+/* This struct is 512 bytes long */
2963+struct vesafb_vbe_ib {
2964+ char vbe_signature[4];
2965+ u16 vbe_version;
2966+ u32 oem_string_ptr;
2967+ u32 capabilities;
2968+ u32 mode_list_ptr;
2969+ u16 total_memory;
2970+ u16 oem_software_rev;
2971+ u32 oem_vendor_name_ptr;
2972+ u32 oem_product_name_ptr;
2973+ u32 oem_product_rev_ptr;
2974+ u8 reserved[222];
2975+ char oem_data[256];
2976+} __attribute__ ((packed));
2977+
2978+struct vesafb_crtc_ib {
2979+ u16 horiz_total;
2980+ u16 horiz_start;
2981+ u16 horiz_end;
2982+ u16 vert_total;
2983+ u16 vert_start;
2984+ u16 vert_end;
2985+ u8 flags;
2986+ u32 pixel_clock;
2987+ u16 refresh_rate;
2988+ u8 reserved[40];
2989+} __attribute__ ((packed));
2990+
2991+#define VBE_MODE_VGACOMPAT 0x20
2992+
2993+struct vesafb_mode_ib {
2994+ /* for all VBE revisions */
2995+ u16 mode_attr;
2996+ u8 winA_attr;
2997+ u8 winB_attr;
2998+ u16 win_granularity;
2999+ u16 win_size;
3000+ u16 winA_seg;
3001+ u16 winB_seg;
3002+ u32 win_func_ptr;
3003+ u16 bytes_per_scan_line;
3004+
3005+ /* for VBE 1.2+ */
3006+ u16 x_res;
3007+ u16 y_res;
3008+ u8 x_char_size;
3009+ u8 y_char_size;
3010+ u8 planes;
3011+ u8 bits_per_pixel;
3012+ u8 banks;
3013+ u8 memory_model;
3014+ u8 bank_size;
3015+ u8 image_pages;
3016+ u8 reserved1;
3017+
3018+ /* Direct color fields for direct/6 and YUV/7 memory models. */
3019+ /* Offsets are bit positions of lsb in the mask. */
3020+ u8 red_len;
3021+ u8 red_off;
3022+ u8 green_len;
3023+ u8 green_off;
3024+ u8 blue_len;
3025+ u8 blue_off;
3026+ u8 rsvd_len;
3027+ u8 rsvd_off;
3028+ u8 direct_color_info; /* direct color mode attributes */
3029+
3030+ /* for VBE 2.0+ */
3031+ u32 phys_base_ptr;
3032+ u8 reserved2[6];
3033+
3034+ /* for VBE 3.0+ */
3035+ u16 lin_bytes_per_scan_line;
3036+ u8 bnk_image_pages;
3037+ u8 lin_image_pages;
3038+ u8 lin_red_len;
3039+ u8 lin_red_off;
3040+ u8 lin_green_len;
3041+ u8 lin_green_off;
3042+ u8 lin_blue_len;
3043+ u8 lin_blue_off;
3044+ u8 lin_rsvd_len;
3045+ u8 lin_rsvd_off;
3046+ u32 max_pixel_clock;
3047+ u16 mode_id;
3048+ u8 depth;
3049+} __attribute__ ((packed));
3050+
3051+struct vesafb_pal_entry {
3052+ u_char blue, green, red, pad;
3053+} __attribute__ ((packed));
3054+
3055+struct vesafb_par {
3056+ u8 *vbe_state;
3057+ int vbe_state_size;
3058+ atomic_t ref_count;
3059+
3060+ u32 mem_total;
3061+ int mode_idx;
3062+ struct vesafb_crtc_ib crtc;
3063+};
3064+
3065diff --git a/kernel/fork.c b/kernel/fork.c
3066index fc723e5..dc8f93b 100644
3067--- a/kernel/fork.c
3068+++ b/kernel/fork.c
3069@@ -100,6 +100,7 @@ struct kmem_cache *fs_cachep;
3070
3071 /* SLAB cache for vm_area_struct structures */
3072 struct kmem_cache *vm_area_cachep;
3073+EXPORT_SYMBOL_GPL(vm_area_cachep);
3074
3075 /* SLAB cache for mm_struct structures (tsk->mm) */
3076 static struct kmem_cache *mm_cachep;
3077@@ -399,6 +400,40 @@ void mmput(struct mm_struct *mm)
3078 EXPORT_SYMBOL_GPL(mmput);
3079
3080 /**
3081+ * set_new_mm - allocate, init and activate a new mm for a kernel thread
3082+ */
3083+int set_new_mm(void)
3084+{
3085+ struct mm_struct *mm;
3086+ struct task_struct *tsk = current;
3087+ struct mm_struct *active_mm;
3088+
3089+ mm = mm_alloc();
3090+ if (!mm)
3091+ goto fail_nomem;
3092+ if (init_new_context(current,mm))
3093+ goto fail_nocontext;
3094+
3095+ task_lock(tsk);
3096+ tsk->flags |= PF_BORROWED_MM;
3097+ active_mm = tsk->active_mm;
3098+ current->mm = mm;
3099+ current->active_mm = mm;
3100+ activate_mm(active_mm, mm);
3101+ task_unlock(current);
3102+
3103+ /* Drop the previous active_mm */
3104+ mmdrop(active_mm);
3105+ return 0;
3106+
3107+fail_nocontext:
3108+ mmdrop(mm);
3109+fail_nomem:
3110+ return -EINVAL;
3111+}
3112+EXPORT_SYMBOL_GPL(set_new_mm);
3113+
3114+/**
3115 * get_task_mm - acquire a reference to the task's mm
3116 *
3117 * Returns %NULL if the task has no mm. Checks PF_BORROWED_MM (meaning
3118diff --git a/mm/memory.c b/mm/memory.c
3119index 563792f..a9519ea 100644
3120--- a/mm/memory.c
3121+++ b/mm/memory.c
3122@@ -1193,6 +1193,7 @@ int zeromap_page_range(struct vm_area_struct *vma,
3123 } while (pgd++, addr = next, addr != end);
3124 return err;
3125 }
3126+EXPORT_SYMBOL_GPL(zeromap_page_range);
3127
3128 pte_t * fastcall get_locked_pte(struct mm_struct *mm, unsigned long addr, spinlock_t **ptl)
3129 {
3130diff --git a/mm/mmap.c b/mm/mmap.c
3131index 9717337..6fa5b1c 100644
3132--- a/mm/mmap.c
3133+++ b/mm/mmap.c
3134@@ -2024,6 +2024,7 @@ int insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma)
3135 vma_link(mm, vma, prev, rb_link, rb_parent);
3136 return 0;
3137 }
3138+EXPORT_SYMBOL_GPL(insert_vm_struct);
3139
3140 /*
3141 * Copy the vma structure to a new location in the same mm,
diff --git a/meta/packages/linux/linux-rp-2.6.21/wm97xx-lcdnoise-r0.patch b/meta/packages/linux/linux-rp-2.6.21/wm97xx-lcdnoise-r0.patch
new file mode 100644
index 0000000000..191de3af22
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21/wm97xx-lcdnoise-r0.patch
@@ -0,0 +1,208 @@
1Index: linux-tosa/drivers/input/touchscreen/wm9712.c
2===================================================================
3--- linux-tosa.orig/drivers/input/touchscreen/wm9712.c 2006-08-29 16:52:36.008543280 +0100
4+++ linux-tosa/drivers/input/touchscreen/wm9712.c 2006-08-29 16:52:50.923275896 +0100
5@@ -1,7 +1,7 @@
6 /*
7 * wm9712.c -- Codec driver for Wolfson WM9712 AC97 Codecs.
8 *
9- * Copyright 2003, 2004, 2005 Wolfson Microelectronics PLC.
10+ * Copyright 2003, 2004, 2005, 2006 Wolfson Microelectronics PLC.
11 * Author: Liam Girdwood
12 * liam.girdwood@wolfsonmicro.com or linux@wolfsonmicro.com
13 * Parts Copyright : Ian Molton <spyro@f2s.com>
14@@ -13,6 +13,12 @@
15 * Free Software Foundation; either version 2 of the License, or (at your
16 * option) any later version.
17 *
18+ * Revision history
19+ * 4th Jul 2005 Initial version.
20+ * 29th Aug 2006 Mike Arthur <mike@mikearthur.co.uk>
21+ * Added fixes for Sharp SL-6000 (Tosa) LCD noise causing
22+ * touchscreen interference.
23+ *
24 */
25
26 #include <linux/module.h>
27@@ -28,6 +34,10 @@
28 #define WM9705_VERSION "0.60"
29 #define DEFAULT_PRESSURE 0xb0c0
30
31+#define CCNT(a) asm volatile ("mrc p14, 0, %0, C1, C1, 0" : "=r"(a))
32+#define CCNT_ON() asm("mcr p14, 0, %0, C0, C0, 0" : : "r"(1))
33+#define CCNT_OFF() asm("mcr p14, 0, %0, C0, C0, 0" : : "r"(1))
34+
35 /*
36 * Debug
37 */
38@@ -243,6 +253,36 @@
39 return wm->dig[2] & WM9712_PDEN;
40 }
41
42+
43+#ifdef CONFIG_MACH_TOSA
44+/* On the Sharp SL-6000 (Tosa), due to a noisy LCD, we need to perform a wait
45+ * before sampling the Y axis of the touchscreen */
46+static inline void wm9712_lcd_sync_on(struct wm97xx* wm, int adcsel) {
47+ unsigned long timer1 = 0, timer2 = 0, wait_time = 0;
48+ if (adcsel == WM97XX_ADCSEL_Y) {
49+ wait_time = wm97xx_calc_lcd_waittime(wm);
50+
51+ CCNT_ON();
52+
53+ if (wait_time) {
54+ /* wait for LCD rising edge */
55+ wm_machinfo->wait_hsync();
56+ /* get clock */
57+ CCNT(timer1);
58+ CCNT(timer2);
59+
60+ while ((timer2 - timer1) < wait_time) {
61+ CCNT(timer2);
62+ }
63+ }
64+ }
65+}
66+
67+static inline void wm9712_lcd_sync_off(void) {
68+ CCNT_OFF();
69+}
70+#endif
71+
72 /*
73 * Read a sample from the WM9712 adc in polling mode.
74 */
75@@ -260,6 +300,9 @@
76 /* set up digitiser */
77 if (adcsel & 0x8000)
78 adcsel = ((adcsel & 0x7fff) + 3) << 12;
79+ #ifdef CONFIG_MACH_TOSA
80+ wm9712_lcd_sync_on(wm, adcsel);
81+ #endif
82 wm97xx_reg_write(wm, AC97_WM97XX_DIGITISER1, adcsel | WM97XX_POLL | WM97XX_DELAY(delay));
83
84 /* wait 3 AC97 time slots + delay for conversion */
85@@ -282,6 +325,10 @@
86
87 *sample = wm97xx_reg_read(wm, AC97_WM97XX_DIGITISER_RD);
88
89+ #ifdef CONFIG_MACH_TOSA
90+ wm9712_lcd_sync_off();
91+ #endif
92+
93 /* check we have correct sample */
94 if ((*sample & WM97XX_ADCSEL_MASK) != adcsel) {
95 dbg ("adc wrong sample, read %x got %x", adcsel,
96@@ -303,11 +350,12 @@
97 static int wm9712_poll_touch(struct wm97xx* wm, struct wm97xx_data *data)
98 {
99 int rc;
100-
101 if ((rc = wm9712_poll_sample(wm, WM97XX_ADCSEL_X, &data->x)) != RC_VALID)
102 return rc;
103+
104 if ((rc = wm9712_poll_sample(wm, WM97XX_ADCSEL_Y, &data->y)) != RC_VALID)
105 return rc;
106+
107 if (pil && !five_wire) {
108 if ((rc = wm9712_poll_sample(wm, WM97XX_ADCSEL_PRES, &data->p)) != RC_VALID)
109 return rc;
110Index: linux-tosa/drivers/input/touchscreen/wm97xx-core.c
111===================================================================
112--- linux-tosa.orig/drivers/input/touchscreen/wm97xx-core.c 2006-08-29 16:52:36.008543280 +0100
113+++ linux-tosa/drivers/input/touchscreen/wm97xx-core.c 2006-08-29 16:52:50.924275744 +0100
114@@ -2,7 +2,7 @@
115 * wm97xx-core.c -- Touch screen driver core for Wolfson WM9705, WM9712
116 * and WM9713 AC97 Codecs.
117 *
118- * Copyright 2003, 2004, 2005 Wolfson Microelectronics PLC.
119+ * Copyright 2003, 2004, 2005, 2006 Wolfson Microelectronics PLC.
120 * Author: Liam Girdwood
121 * liam.girdwood@wolfsonmicro.com or linux@wolfsonmicro.com
122 * Parts Copyright : Ian Molton <spyro@f2s.com>
123@@ -67,6 +67,9 @@
124 * GPIOs) and 2.6 power management.
125 * 29th Nov 2004 Added WM9713 support.
126 * 4th Jul 2005 Moved codec specific code out to seperate files.
127+ * 29th Aug 2006 Mike Arthur <mike@mikearthur.co.uk>
128+ * Added fixes for Sharp SL-6000 (Tosa) LCD noise causing
129+ * touchscreen interference.
130 */
131
132 #include <linux/module.h>
133@@ -94,6 +97,7 @@
134 static DECLARE_MUTEX(gpio_sem);
135 static LIST_HEAD(wm97xx_misc_list);
136 static struct wm97xx* wm_codec = NULL;
137+struct wm97xx_machinfo *wm_machinfo;
138
139 /*
140 * WM97xx - enable/disable AUX ADC sysfs
141@@ -832,6 +836,23 @@
142 mdev->remove(wm_codec);
143 }
144
145+#ifdef CONFIG_MACH_TOSA
146+/* On the Sharp SL-6000 (Tosa), due to a noisy LCD, we need to perform a wait
147+ * before sampling the Y axis of the touchscreen */
148+unsigned long wm97xx_calc_lcd_waittime(struct wm97xx *wm) {
149+ unsigned long hsync_time = wm_machinfo->get_hsync_time();
150+ return hsync_time;
151+}
152+
153+void wm97xx_set_machinfo(struct wm97xx_machinfo *machinfo) {
154+ wm_machinfo = machinfo;
155+}
156+
157+void wm97xx_unset_machinfo() {
158+ wm_machinfo = NULL;
159+}
160+#endif
161+
162 static struct device_driver wm97xx_driver = {
163 .name = "ac97",
164 .bus = &ac97_bus_type,
165@@ -861,6 +882,9 @@
166 EXPORT_SYMBOL_GPL(wm97xx_reg_write);
167 EXPORT_SYMBOL_GPL(wm97xx_register_misc_dev);
168 EXPORT_SYMBOL_GPL(wm97xx_unregister_misc_dev);
169+EXPORT_SYMBOL_GPL(wm97xx_calc_lcd_waittime);
170+EXPORT_SYMBOL_GPL(wm97xx_set_machinfo);
171+EXPORT_SYMBOL_GPL(wm97xx_unset_machinfo);
172
173 module_init(wm97xx_init);
174 module_exit(wm97xx_exit);
175Index: linux-tosa/include/linux/wm97xx.h
176===================================================================
177--- linux-tosa.orig/include/linux/wm97xx.h 2006-08-29 16:52:36.008543280 +0100
178+++ linux-tosa/include/linux/wm97xx.h 2006-08-29 16:52:50.924275744 +0100
179@@ -207,6 +207,7 @@
180
181 struct wm97xx;
182 extern struct wm97xx_codec_drv wm97xx_codec;
183+extern struct wm97xx_machinfo *wm_machinfo;
184
185 /*
186 * Codec driver interface - allows mapping to WM9705/12/13 and newer codecs
187@@ -253,6 +254,11 @@
188 struct list_head list;
189 };
190
191+struct wm97xx_machinfo {
192+ unsigned long (*get_hsync_time)(void);
193+ void (*wait_hsync)(void);
194+};
195+
196 int wm97xx_register_misc_dev(struct wm97xx_misc_dev* mdev);
197 void wm97xx_unregister_misc_dev(struct wm97xx_misc_dev* mdev);
198
199@@ -281,4 +287,9 @@
200 int wm97xx_acc_startup(struct wm97xx* wm);
201 void wm97xx_acc_shutdown(struct wm97xx* wm);
202
203+
204+unsigned long wm97xx_calc_lcd_waittime(struct wm97xx *wm);
205+void wm97xx_set_machinfo(struct wm97xx_machinfo *machinfo);
206+void wm97xx_unset_machinfo(void);
207+
208 #endif
diff --git a/meta/packages/linux/linux-rp_2.6.21.bb b/meta/packages/linux/linux-rp_2.6.21.bb
new file mode 100644
index 0000000000..0474c521bd
--- /dev/null
+++ b/meta/packages/linux/linux-rp_2.6.21.bb
@@ -0,0 +1,106 @@
1require linux-rp.inc
2
3PR = "r0"
4
5# Handy URLs
6# git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;tag=ef7d1b244fa6c94fb76d5f787b8629df64ea4046
7# http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.tar.bz2
8# http://www.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.20-rc4.tar.bz2
9# http://www.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.18-rc6.bz2;patch=1
10# http://www.kernel.org/pub/linux/kernel/v2.6/snapshots/patch-2.6.18-rc2-git1.bz2;patch=1
11# http://www.kernel.org/pub/linux/kernel/people/alan/linux-2.6/2.6.10/patch-2.6.10-ac8.gz;patch=1
12# http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.14-rc2/2.6.14-rc2-mm1/2.6.14-rc2-mm1.bz2;patch=1
13
14# Patches submitted upstream are towards top of this list
15# Hacks should clearly named and at the bottom
16SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.21.tar.bz2 \
17 ${RPSRC}/lzo_kernel-r0.patch;patch=1 \
18 ${RPSRC}/lzo_jffs2-r0.patch;patch=1 \
19 ${RPSRC}/lzo_crypto-r1.patch;patch=1 \
20 ${RPSRC}/lzo_jffs2_lzomode-r0.patch;patch=1 \
21 ${RPSRC}/lzo_jffs2_sysfs-r0.patch;patch=1 \
22 ${RPSRC}/hx2750_base-r28.patch;patch=1 \
23 ${RPSRC}/hx2750_bl-r9.patch;patch=1 \
24 ${RPSRC}/hx2750_pcmcia-r2.patch;patch=1 \
25 ${RPSRC}/pxa_keys-r7.patch;patch=1 \
26 ${RPSRC}/tsc2101-r16.patch;patch=1 \
27 ${RPSRC}/hx2750_test1-r6.patch;patch=1 \
28 ${RPSRC}/pxa_timerfix-r0.patch;patch=1 \
29 ${RPSRC}/input_power-r6.patch;patch=1 \
30 ${RPSRC}/pxa25x_cpufreq-r2.patch;patch=1 \
31 ${RPSRC}/sharpsl_pm_fixes1-r0.patch;patch=1 \
32 ${RPSRC}/pm_changes-r1.patch;patch=1 \
33 ${RPSRC}/usb_add_epalloc-r3.patch;patch=1 \
34 ${RPSRC}/usb_pxa27x_udc-r4.patch;patch=1 \
35 ${RPSRC}/locomo_kbd_tweak-r1.patch;patch=1 \
36 ${RPSRC}/poodle_pm-r3.patch;patch=1 \
37 ${RPSRC}/pxa27x_overlay-r5.patch;patch=1 \
38 ${RPSRC}/w100_extaccel-r0.patch;patch=1 \
39 file://serial-add-support-for-non-standard-xtals-to-16c950-driver.patch;patch=1 \
40 ${RPSRC}/logo_oh-r0.patch.bz2;patch=1;status=unmergable \
41 ${RPSRC}/logo_oz-r2.patch.bz2;patch=1;status=unmergable \
42 ${RPSRC}/pxa-linking-bug.patch;patch=1;status=unmergable \
43 ${RPSRC}/mmcsd_large_cards-r0.patch;patch=1;status=hack \
44 ${RPSRC}/mmcsd_no_scr_check-r0.patch;patch=1;status=hack \
45 ${RPSRC}/integrator_rgb-r1.patch;patch=1;status=hack \
46 ${RPSRC}/pxa_cf_initorder_hack-r1.patch;patch=1;status=hack \
47 file://pxa-serial-hack.patch;patch=1;status=hack \
48 file://connectplus-remove-ide-HACK.patch;patch=1;status=hack \
49 file://squashfs3.0-2.6.15.patch;patch=1;status=external \
50 file://vesafb-tng-1.0-rc2-2.6.20-rc2.patch;patch=1;status=external \
51 file://defconfig-c7x0 \
52 file://defconfig-hx2000 \
53 file://defconfig-collie \
54 file://defconfig-poodle \
55 file://defconfig-akita \
56 file://defconfig-spitz \
57 file://defconfig-qemuarm \
58 file://defconfig-qemux86 \
59 file://defconfig-tosa "
60
61# Add this to enable pm debug code (useful with a serial lead)
62# ${RPSRC}/sharpsl_pm_debug-r0.patch;patch=1
63
64# Disabled until I find the reason this gives issues with cdc_subset
65# ${RPSRC}/usb_rndis_tweaks-r0.patch;patch=1 \
66
67# Is anything out of this still needed? Parts were commited to mainline by rmk (drivers/mfd/)
68# (Pavel Machek's git tree has updated versions of this?)
69# ${JLSRC}/zaurus-lcd-2.6.11.diff.gz;patch=1
70
71# These patches are extracted from Pavel Machek's git tree
72# (diff against vanilla kernel)
73SRC_URI_append_collie = "\
74 ${DOSRC}/collie/mtd-sharp-flash-hack-r0.patch;patch=1 \
75 ${DOSRC}/collie/collie-r0.patch;patch=1 \
76 ${DOSRC}/collie/locomolcd-backlight-r0.patch;patch=1 \
77 ${DOSRC}/collie/ucb1x00-touch-audio-r0.patch;patch=1 \
78 file://collie-mcp-r1.patch;patch=1 \
79 ${DOSRC}/collie/sa1100-udc-r0.patch;patch=1 \
80# ${DOSRC}/collie/collie-pm-r1.patch;patch=1 \
81"
82
83SRC_URI_append_tosa = "\
84 ${CHSRC}/usb-ohci-hooks-r1.patch;patch=1 \
85 ${CHSRC}/tmio-core-r4.patch;patch=1 \
86 file://tmio-tc6393-r8.patch;patch=1 \
87 file://tmio-nand-r7.patch;patch=1 \
88 file://tmio-ohci-r6.patch;patch=1 \
89 ${CHSRC}/tmio-fb-r6.patch;patch=1 \
90 file://tosa-keyboard-r18.patch;patch=1 \
91 ${DOSRC}/tosa-pxaac97-r6.patch;patch=1 \
92 ${DOSRC}/tosa-tmio-r6.patch;patch=1 \
93 ${DOSRC}/tosa-power-r17.patch;patch=1 \
94 file://tosa-tmio-lcd-r10.patch;patch=1 \
95 ${DOSRC}/tosa-bluetooth-r8.patch;patch=1 \
96 ${DOSRC}/wm97xx-lg7-r0.patch;patch=1 \
97 file://wm9712-suspend-cold-res-r2.patch;patch=1 \
98 file://sharpsl-pm-postresume-r1.patch;patch=1 \
99 ${DOSRC}/wm97xx-dig-restore-r0.patch;patch=1 \
100 ${DOSRC}/wm97xx-miscdevs-resume-r0.patch;patch=1 \
101 file://wm9712-reset-loop-r2.patch;patch=1 \
102 file://tosa-lcdnoise-r1.patch;patch=1 \
103 file://wm97xx-lcdnoise-r0.patch;patch=1 "
104# ${DOSRC}/tosa-asoc-r1.patch;patch=1 "
105
106S = "${WORKDIR}/linux-2.6.21"