summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2007-01-09 00:00:30 +0000
committerRichard Purdie <richard@openedhand.com>2007-01-09 00:00:30 +0000
commit69177da01df0a46e9899a22838adba5ae4e89bd9 (patch)
tree5e65d17bc01788e9bb6824029ec34e98e429751d
parent1cacbe3d99af0d21e84d41411e4536288221c404 (diff)
downloadpoky-69177da01df0a46e9899a22838adba5ae4e89bd9.tar.gz
linux-rp: Add 2.6.20-rc4
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1133 311d38ba-8fff-0310-9ca6-ca027cbcb966
-rw-r--r--meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/00-hostap.patch45
-rw-r--r--meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/10-pcnet.patch27
-rw-r--r--meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/add-oz-release-string.patch28
-rw-r--r--meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/connectplus-remove-ide-HACK.patch12
-rw-r--r--meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-akita1572
-rw-r--r--meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-c7x01608
-rw-r--r--meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-collie1641
-rw-r--r--meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-hx20001161
-rw-r--r--meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-ipaq-pxa2701021
-rw-r--r--meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-poodle1655
-rw-r--r--meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-qemuarm1193
-rw-r--r--meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-qemux861566
-rw-r--r--meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-spitz1603
-rw-r--r--meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-tosa1608
-rw-r--r--meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/hrw-pcmcia-ids-r5.patch54
-rw-r--r--meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/orinoco-remove-all-which-are-in-hostap-HACK.patch88
-rw-r--r--meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/pxa-serial-hack.patch80
-rw-r--r--meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch155
-rw-r--r--meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/squashfs3.0-2.6.15.patch4191
-rw-r--r--meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/vesafb-tng-1.0-rc2-git-20060629.patch3089
-rw-r--r--meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/wm97xx-lcdnoise-r0.patch208
-rw-r--r--meta/packages/linux/linux-rp_2.6.17.bb5
-rw-r--r--meta/packages/linux/linux-rp_2.6.19+2.6.20-rc4.bb102
23 files changed, 22708 insertions, 4 deletions
diff --git a/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/00-hostap.patch b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/00-hostap.patch
new file mode 100644
index 0000000000..20432b404a
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/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.19+2.6.20-rc4/10-pcnet.patch b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/10-pcnet.patch
new file mode 100644
index 0000000000..2e1966e837
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/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.19+2.6.20-rc4/add-oz-release-string.patch b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/add-oz-release-string.patch
new file mode 100644
index 0000000000..a80a1d5528
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/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.19+2.6.20-rc4/connectplus-remove-ide-HACK.patch b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/connectplus-remove-ide-HACK.patch
new file mode 100644
index 0000000000..4414b21191
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/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.19+2.6.20-rc4/defconfig-akita b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-akita
new file mode 100644
index 0000000000..249466ac87
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-akita
@@ -0,0 +1,1572 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16
4# Thu Mar 23 22:11:12 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
120# CONFIG_PXA_SHARPSL_25x is not set
121CONFIG_PXA_SHARPSL_27x=y
122CONFIG_MACH_AKITA=y
123CONFIG_MACH_SPITZ=y
124CONFIG_MACH_BORZOI=y
125CONFIG_PXA27x=y
126# CONFIG_PXA_KEYS is not set
127CONFIG_IWMMXT=y
128CONFIG_PXA_SHARP_Cxx00=y
129CONFIG_PXA_SSP=y
130
131#
132# Processor Type
133#
134CONFIG_CPU_32=y
135CONFIG_CPU_XSCALE=y
136CONFIG_CPU_32v5=y
137CONFIG_CPU_ABRT_EV5T=y
138CONFIG_CPU_CACHE_VIVT=y
139CONFIG_CPU_TLB_V4WBI=y
140
141#
142# Processor Features
143#
144CONFIG_ARM_THUMB=y
145CONFIG_XSCALE_PMU=y
146CONFIG_KEXEC=y
147CONFIG_SHARP_PARAM=y
148CONFIG_SHARPSL_PM=y
149CONFIG_SHARP_SCOOP=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#
196# CONFIG_CPU_FREQ is not set
197
198#
199# Floating point emulation
200#
201
202#
203# At least one emulation must be selected
204#
205CONFIG_FPE_NWFPE=y
206# CONFIG_FPE_NWFPE_XP is not set
207# CONFIG_FPE_FASTFPE is not set
208
209#
210# Userspace binary formats
211#
212CONFIG_BINFMT_ELF=y
213CONFIG_BINFMT_AOUT=m
214CONFIG_BINFMT_MISC=m
215# CONFIG_ARTHUR is not set
216
217#
218# Power management options
219#
220CONFIG_PM=y
221# CONFIG_PM_LEGACY is not set
222# CONFIG_PM_DEBUG is not set
223CONFIG_APM=y
224
225#
226# Networking
227#
228CONFIG_NET=y
229
230#
231# Networking options
232#
233# CONFIG_NETDEBUG is not set
234CONFIG_PACKET=y
235CONFIG_PACKET_MMAP=y
236CONFIG_UNIX=y
237CONFIG_XFRM=y
238# CONFIG_XFRM_USER is not set
239# CONFIG_NET_KEY is not set
240CONFIG_INET=y
241# CONFIG_IP_MULTICAST is not set
242# CONFIG_IP_ADVANCED_ROUTER is not set
243CONFIG_IP_FIB_HASH=y
244# CONFIG_IP_PNP is not set
245# CONFIG_NET_IPIP is not set
246# CONFIG_NET_IPGRE is not set
247# CONFIG_ARPD is not set
248CONFIG_SYN_COOKIES=y
249# CONFIG_INET_AH is not set
250# CONFIG_INET_ESP is not set
251# CONFIG_INET_IPCOMP is not set
252# CONFIG_INET_TUNNEL is not set
253CONFIG_INET_DIAG=m
254CONFIG_INET_TCP_DIAG=m
255# CONFIG_TCP_CONG_ADVANCED is not set
256CONFIG_TCP_CONG_BIC=y
257
258#
259# IP: Virtual Server Configuration
260#
261# CONFIG_IP_VS is not set
262CONFIG_IPV6=m
263# CONFIG_IPV6_PRIVACY is not set
264CONFIG_INET6_AH=m
265CONFIG_INET6_ESP=m
266CONFIG_INET6_IPCOMP=m
267CONFIG_INET6_TUNNEL=m
268CONFIG_IPV6_TUNNEL=m
269CONFIG_NETFILTER=y
270# CONFIG_NETFILTER_DEBUG is not set
271
272#
273# Core Netfilter Configuration
274#
275# CONFIG_NETFILTER_NETLINK is not set
276# CONFIG_NETFILTER_XTABLES is not set
277
278#
279# IP: Netfilter Configuration
280#
281CONFIG_IP_NF_CONNTRACK=m
282# CONFIG_IP_NF_CT_ACCT is not set
283# CONFIG_IP_NF_CONNTRACK_MARK is not set
284# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
285CONFIG_IP_NF_CT_PROTO_SCTP=m
286CONFIG_IP_NF_FTP=m
287CONFIG_IP_NF_IRC=m
288# CONFIG_IP_NF_NETBIOS_NS is not set
289CONFIG_IP_NF_TFTP=m
290CONFIG_IP_NF_AMANDA=m
291# CONFIG_IP_NF_PPTP is not set
292CONFIG_IP_NF_QUEUE=m
293
294#
295# IPv6: Netfilter Configuration (EXPERIMENTAL)
296#
297# CONFIG_IP6_NF_QUEUE is not set
298
299#
300# DCCP Configuration (EXPERIMENTAL)
301#
302# CONFIG_IP_DCCP is not set
303
304#
305# SCTP Configuration (EXPERIMENTAL)
306#
307# CONFIG_IP_SCTP is not set
308
309#
310# TIPC Configuration (EXPERIMENTAL)
311#
312# CONFIG_TIPC is not set
313# CONFIG_ATM is not set
314# CONFIG_BRIDGE is not set
315# CONFIG_VLAN_8021Q is not set
316# CONFIG_DECNET is not set
317# CONFIG_LLC2 is not set
318# CONFIG_IPX is not set
319# CONFIG_ATALK is not set
320# CONFIG_X25 is not set
321# CONFIG_LAPB is not set
322# CONFIG_NET_DIVERT is not set
323# CONFIG_ECONET is not set
324# CONFIG_WAN_ROUTER is not set
325
326#
327# QoS and/or fair queueing
328#
329# CONFIG_NET_SCHED is not set
330
331#
332# Network testing
333#
334# CONFIG_NET_PKTGEN is not set
335# CONFIG_HAMRADIO is not set
336CONFIG_IRDA=m
337
338#
339# IrDA protocols
340#
341CONFIG_IRLAN=m
342CONFIG_IRNET=m
343CONFIG_IRCOMM=m
344# CONFIG_IRDA_ULTRA is not set
345
346#
347# IrDA options
348#
349# CONFIG_IRDA_CACHE_LAST_LSAP is not set
350# CONFIG_IRDA_FAST_RR is not set
351# CONFIG_IRDA_DEBUG is not set
352
353#
354# Infrared-port device drivers
355#
356
357#
358# SIR device drivers
359#
360# CONFIG_IRTTY_SIR is not set
361
362#
363# Dongle support
364#
365
366#
367# Old SIR device drivers
368#
369# CONFIG_IRPORT_SIR is not set
370
371#
372# Old Serial dongle support
373#
374
375#
376# FIR device drivers
377#
378# CONFIG_USB_IRDA is not set
379# CONFIG_SIGMATEL_FIR is not set
380CONFIG_PXA_FICP=m
381CONFIG_BT=m
382CONFIG_BT_L2CAP=m
383CONFIG_BT_SCO=m
384CONFIG_BT_RFCOMM=m
385CONFIG_BT_RFCOMM_TTY=y
386CONFIG_BT_BNEP=m
387CONFIG_BT_BNEP_MC_FILTER=y
388CONFIG_BT_BNEP_PROTO_FILTER=y
389CONFIG_BT_HIDP=m
390
391#
392# Bluetooth device drivers
393#
394CONFIG_BT_HCIUSB=m
395# CONFIG_BT_HCIUSB_SCO is not set
396CONFIG_BT_HCIUART=m
397CONFIG_BT_HCIUART_H4=y
398CONFIG_BT_HCIUART_BCSP=y
399CONFIG_BT_HCIBCM203X=m
400CONFIG_BT_HCIBPA10X=m
401CONFIG_BT_HCIBFUSB=m
402CONFIG_BT_HCIDTL1=m
403CONFIG_BT_HCIBT3C=m
404CONFIG_BT_HCIBLUECARD=m
405CONFIG_BT_HCIBTUART=m
406CONFIG_BT_HCIVHCI=m
407CONFIG_IEEE80211=m
408# CONFIG_IEEE80211_DEBUG is not set
409CONFIG_IEEE80211_CRYPT_WEP=m
410CONFIG_IEEE80211_CRYPT_CCMP=m
411CONFIG_IEEE80211_CRYPT_TKIP=m
412
413#
414# Device Drivers
415#
416
417#
418# Generic Driver Options
419#
420CONFIG_STANDALONE=y
421CONFIG_PREVENT_FIRMWARE_BUILD=y
422CONFIG_FW_LOADER=y
423# CONFIG_DEBUG_DRIVER is not set
424
425#
426# Connector - unified userspace <-> kernelspace linker
427#
428# CONFIG_CONNECTOR is not set
429
430#
431# Memory Technology Devices (MTD)
432#
433CONFIG_MTD=y
434# CONFIG_MTD_DEBUG is not set
435# CONFIG_MTD_CONCAT is not set
436CONFIG_MTD_PARTITIONS=y
437# CONFIG_MTD_REDBOOT_PARTS is not set
438CONFIG_MTD_CMDLINE_PARTS=y
439# CONFIG_MTD_AFS_PARTS is not set
440
441#
442# User Modules And Translation Layers
443#
444CONFIG_MTD_CHAR=y
445CONFIG_MTD_BLOCK=y
446# CONFIG_FTL is not set
447# CONFIG_NFTL is not set
448# CONFIG_INFTL is not set
449# CONFIG_RFD_FTL is not set
450
451#
452# RAM/ROM/Flash chip drivers
453#
454# CONFIG_MTD_CFI is not set
455# CONFIG_MTD_JEDECPROBE is not set
456CONFIG_MTD_MAP_BANK_WIDTH_1=y
457CONFIG_MTD_MAP_BANK_WIDTH_2=y
458CONFIG_MTD_MAP_BANK_WIDTH_4=y
459# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
460# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
461# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
462CONFIG_MTD_CFI_I1=y
463CONFIG_MTD_CFI_I2=y
464# CONFIG_MTD_CFI_I4 is not set
465# CONFIG_MTD_CFI_I8 is not set
466# CONFIG_MTD_RAM is not set
467CONFIG_MTD_ROM=y
468# CONFIG_MTD_ABSENT is not set
469# CONFIG_MTD_OBSOLETE_CHIPS is not set
470
471#
472# Mapping drivers for chip access
473#
474CONFIG_MTD_COMPLEX_MAPPINGS=y
475CONFIG_MTD_SHARP_SL=y
476# CONFIG_MTD_PLATRAM is not set
477
478#
479# Self-contained MTD device drivers
480#
481# CONFIG_MTD_SLRAM is not set
482# CONFIG_MTD_PHRAM is not set
483# CONFIG_MTD_MTDRAM is not set
484# CONFIG_MTD_BLKMTD is not set
485# CONFIG_MTD_BLOCK2MTD is not set
486
487#
488# Disk-On-Chip Device Drivers
489#
490# CONFIG_MTD_DOC2000 is not set
491# CONFIG_MTD_DOC2001 is not set
492# CONFIG_MTD_DOC2001PLUS is not set
493
494#
495# NAND Flash Device Drivers
496#
497CONFIG_MTD_NAND=y
498CONFIG_MTD_NAND_VERIFY_WRITE=y
499# CONFIG_MTD_NAND_H1900 is not set
500CONFIG_MTD_NAND_IDS=y
501# CONFIG_MTD_NAND_DISKONCHIP is not set
502CONFIG_MTD_NAND_SHARPSL=y
503# CONFIG_MTD_NAND_NANDSIM is not set
504
505#
506# OneNAND Flash Device Drivers
507#
508# CONFIG_MTD_ONENAND is not set
509
510#
511# Parallel port support
512#
513# CONFIG_PARPORT is not set
514
515#
516# Plug and Play support
517#
518
519#
520# Block devices
521#
522# CONFIG_BLK_DEV_COW_COMMON is not set
523CONFIG_BLK_DEV_LOOP=y
524# CONFIG_BLK_DEV_CRYPTOLOOP is not set
525# CONFIG_BLK_DEV_NBD is not set
526# CONFIG_BLK_DEV_UB is not set
527# CONFIG_BLK_DEV_RAM is not set
528CONFIG_BLK_DEV_RAM_COUNT=16
529# CONFIG_CDROM_PKTCDVD is not set
530# CONFIG_ATA_OVER_ETH is not set
531
532#
533# ATA/ATAPI/MFM/RLL support
534#
535CONFIG_IDE=y
536CONFIG_BLK_DEV_IDE=y
537
538#
539# Please see Documentation/ide.txt for help/info on IDE drives
540#
541# CONFIG_BLK_DEV_IDE_SATA is not set
542CONFIG_BLK_DEV_IDEDISK=y
543# CONFIG_IDEDISK_MULTI_MODE is not set
544CONFIG_BLK_DEV_IDECS=y
545# CONFIG_BLK_DEV_IDECD is not set
546# CONFIG_BLK_DEV_IDETAPE is not set
547# CONFIG_BLK_DEV_IDEFLOPPY is not set
548# CONFIG_BLK_DEV_IDESCSI is not set
549# CONFIG_IDE_TASK_IOCTL is not set
550
551#
552# IDE chipset support/bugfixes
553#
554CONFIG_IDE_GENERIC=y
555# CONFIG_IDE_ARM is not set
556# CONFIG_BLK_DEV_IDEDMA is not set
557# CONFIG_IDEDMA_AUTO is not set
558# CONFIG_BLK_DEV_HD is not set
559
560#
561# SCSI device support
562#
563# CONFIG_RAID_ATTRS is not set
564CONFIG_SCSI=m
565CONFIG_SCSI_PROC_FS=y
566
567#
568# SCSI support type (disk, tape, CD-ROM)
569#
570CONFIG_BLK_DEV_SD=m
571CONFIG_CHR_DEV_ST=m
572CONFIG_CHR_DEV_OSST=m
573CONFIG_BLK_DEV_SR=m
574# CONFIG_BLK_DEV_SR_VENDOR is not set
575CONFIG_CHR_DEV_SG=m
576# CONFIG_CHR_DEV_SCH is not set
577
578#
579# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
580#
581CONFIG_SCSI_MULTI_LUN=y
582# CONFIG_SCSI_CONSTANTS is not set
583# CONFIG_SCSI_LOGGING is not set
584
585#
586# SCSI Transport Attributes
587#
588# CONFIG_SCSI_SPI_ATTRS is not set
589# CONFIG_SCSI_FC_ATTRS is not set
590# CONFIG_SCSI_ISCSI_ATTRS is not set
591# CONFIG_SCSI_SAS_ATTRS is not set
592
593#
594# SCSI low-level drivers
595#
596# CONFIG_ISCSI_TCP is not set
597# CONFIG_SCSI_SATA is not set
598# CONFIG_SCSI_DEBUG is not set
599
600#
601# PCMCIA SCSI adapter support
602#
603# CONFIG_PCMCIA_AHA152X is not set
604# CONFIG_PCMCIA_FDOMAIN is not set
605# CONFIG_PCMCIA_NINJA_SCSI is not set
606# CONFIG_PCMCIA_QLOGIC is not set
607# CONFIG_PCMCIA_SYM53C500 is not set
608
609#
610# Multi-device support (RAID and LVM)
611#
612CONFIG_MD=y
613CONFIG_BLK_DEV_DM=m
614CONFIG_DM_CRYPT=m
615CONFIG_DM_SNAPSHOT=m
616CONFIG_DM_MIRROR=m
617CONFIG_DM_ZERO=m
618CONFIG_DM_MULTIPATH=m
619CONFIG_DM_MULTIPATH_EMC=m
620
621#
622# Fusion MPT device support
623#
624# CONFIG_FUSION is not set
625
626#
627# IEEE 1394 (FireWire) support
628#
629
630#
631# I2O device support
632#
633
634#
635# Network device support
636#
637CONFIG_NETDEVICES=y
638# CONFIG_DUMMY is not set
639# CONFIG_BONDING is not set
640# CONFIG_EQUALIZER is not set
641CONFIG_TUN=m
642
643#
644# PHY device support
645#
646# CONFIG_PHYLIB is not set
647
648#
649# Ethernet (10 or 100Mbit)
650#
651CONFIG_NET_ETHERNET=y
652CONFIG_MII=m
653# CONFIG_SMC91X is not set
654# CONFIG_DM9000 is not set
655
656#
657# Ethernet (1000 Mbit)
658#
659
660#
661# Ethernet (10000 Mbit)
662#
663
664#
665# Token Ring devices
666#
667
668#
669# Wireless LAN (non-hamradio)
670#
671CONFIG_NET_RADIO=y
672
673#
674# Obsolete Wireless cards support (pre-802.11)
675#
676# CONFIG_STRIP is not set
677# CONFIG_PCMCIA_WAVELAN is not set
678# CONFIG_PCMCIA_NETWAVE is not set
679
680#
681# Wireless 802.11 Frequency Hopping cards support
682#
683# CONFIG_PCMCIA_RAYCS is not set
684
685#
686# Wireless 802.11b ISA/PCI cards support
687#
688CONFIG_HERMES=m
689# CONFIG_ATMEL is not set
690
691#
692# Wireless 802.11b Pcmcia/Cardbus cards support
693#
694CONFIG_PCMCIA_HERMES=m
695CONFIG_PCMCIA_SPECTRUM=m
696# CONFIG_AIRO_CS is not set
697# CONFIG_PCMCIA_WL3501 is not set
698CONFIG_HOSTAP=m
699CONFIG_HOSTAP_FIRMWARE=y
700# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
701CONFIG_HOSTAP_CS=m
702CONFIG_NET_WIRELESS=y
703
704#
705# PCMCIA network device support
706#
707CONFIG_NET_PCMCIA=y
708# CONFIG_PCMCIA_3C589 is not set
709# CONFIG_PCMCIA_3C574 is not set
710# CONFIG_PCMCIA_FMVJ18X is not set
711CONFIG_PCMCIA_PCNET=m
712# CONFIG_PCMCIA_NMCLAN is not set
713# CONFIG_PCMCIA_SMC91C92 is not set
714# CONFIG_PCMCIA_XIRC2PS is not set
715# CONFIG_PCMCIA_AXNET is not set
716
717#
718# Wan interfaces
719#
720# CONFIG_WAN is not set
721CONFIG_PPP=m
722# CONFIG_PPP_MULTILINK is not set
723# CONFIG_PPP_FILTER is not set
724CONFIG_PPP_ASYNC=m
725# CONFIG_PPP_SYNC_TTY is not set
726CONFIG_PPP_DEFLATE=m
727CONFIG_PPP_BSDCOMP=m
728# CONFIG_PPP_MPPE is not set
729# CONFIG_PPPOE is not set
730# CONFIG_SLIP is not set
731# CONFIG_SHAPER is not set
732# CONFIG_NETCONSOLE is not set
733# CONFIG_NETPOLL is not set
734# CONFIG_NET_POLL_CONTROLLER is not set
735
736#
737# ISDN subsystem
738#
739# CONFIG_ISDN is not set
740
741#
742# Input device support
743#
744CONFIG_INPUT=y
745
746#
747# Userland interfaces
748#
749CONFIG_INPUT_MOUSEDEV=m
750# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
751CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
752CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
753# CONFIG_INPUT_JOYDEV is not set
754# CONFIG_INPUT_TSDEV is not set
755CONFIG_INPUT_EVDEV=y
756# CONFIG_INPUT_EVBUG is not set
757CONFIG_INPUT_POWER=y
758
759#
760# Input Device Drivers
761#
762CONFIG_INPUT_KEYBOARD=y
763# CONFIG_KEYBOARD_ATKBD is not set
764# CONFIG_KEYBOARD_SUNKBD is not set
765# CONFIG_KEYBOARD_LKKBD is not set
766# CONFIG_KEYBOARD_XTKBD is not set
767# CONFIG_KEYBOARD_NEWTON is not set
768# CONFIG_KEYBOARD_CORGI is not set
769CONFIG_KEYBOARD_SPITZ=y
770# CONFIG_INPUT_MOUSE is not set
771# CONFIG_INPUT_JOYSTICK is not set
772CONFIG_INPUT_TOUCHSCREEN=y
773CONFIG_TOUCHSCREEN_CORGI=y
774# CONFIG_TOUCHSCREEN_GUNZE is not set
775# CONFIG_TOUCHSCREEN_ELO is not set
776# CONFIG_TOUCHSCREEN_MTOUCH is not set
777# CONFIG_TOUCHSCREEN_MK712 is not set
778CONFIG_INPUT_MISC=y
779CONFIG_INPUT_UINPUT=m
780
781#
782# Hardware I/O ports
783#
784# CONFIG_SERIO is not set
785# CONFIG_GAMEPORT is not set
786
787#
788# Character devices
789#
790CONFIG_VT=y
791CONFIG_VT_CONSOLE=y
792CONFIG_HW_CONSOLE=y
793# CONFIG_SERIAL_NONSTANDARD is not set
794
795#
796# Serial drivers
797#
798CONFIG_SERIAL_8250=m
799CONFIG_SERIAL_8250_CS=m
800CONFIG_SERIAL_8250_NR_UARTS=4
801CONFIG_SERIAL_8250_RUNTIME_UARTS=4
802# CONFIG_SERIAL_8250_EXTENDED is not set
803
804#
805# Non-8250 serial port support
806#
807CONFIG_SERIAL_PXA=y
808CONFIG_SERIAL_PXA_CONSOLE=y
809CONFIG_SERIAL_CORE=y
810CONFIG_SERIAL_CORE_CONSOLE=y
811CONFIG_UNIX98_PTYS=y
812# CONFIG_LEGACY_PTYS is not set
813
814#
815# IPMI
816#
817# CONFIG_IPMI_HANDLER is not set
818
819#
820# Watchdog Cards
821#
822# CONFIG_WATCHDOG is not set
823# CONFIG_NVRAM is not set
824# CONFIG_DTLK is not set
825# CONFIG_R3964 is not set
826
827#
828# Ftape, the floppy tape device driver
829#
830
831#
832# PCMCIA character devices
833#
834# CONFIG_SYNCLINK_CS is not set
835# CONFIG_CARDMAN_4000 is not set
836# CONFIG_CARDMAN_4040 is not set
837# CONFIG_RAW_DRIVER is not set
838
839#
840# TPM devices
841#
842# CONFIG_TCG_TPM is not set
843# CONFIG_TELCLOCK is not set
844
845#
846# I2C support
847#
848CONFIG_I2C=y
849# CONFIG_I2C_CHARDEV is not set
850
851#
852# I2C Algorithms
853#
854# CONFIG_I2C_ALGOBIT is not set
855# CONFIG_I2C_ALGOPCF is not set
856# CONFIG_I2C_ALGOPCA is not set
857
858#
859# I2C Hardware Bus support
860#
861CONFIG_I2C_PXA=y
862# CONFIG_I2C_PXA_SLAVE is not set
863# CONFIG_I2C_PARPORT_LIGHT is not set
864# CONFIG_I2C_STUB is not set
865# CONFIG_I2C_PCA_ISA is not set
866
867#
868# Miscellaneous I2C Chip support
869#
870# CONFIG_SENSORS_DS1337 is not set
871# CONFIG_SENSORS_DS1374 is not set
872# CONFIG_SENSORS_EEPROM is not set
873# CONFIG_SENSORS_PCF8574 is not set
874# CONFIG_SENSORS_PCA9539 is not set
875# CONFIG_SENSORS_PCF8591 is not set
876# CONFIG_SENSORS_MAX6875 is not set
877# CONFIG_I2C_DEBUG_CORE is not set
878# CONFIG_I2C_DEBUG_ALGO is not set
879# CONFIG_I2C_DEBUG_BUS is not set
880# CONFIG_I2C_DEBUG_CHIP is not set
881
882#
883# SPI support
884#
885# CONFIG_SPI is not set
886# CONFIG_SPI_MASTER is not set
887
888#
889# Dallas's 1-wire bus
890#
891# CONFIG_W1 is not set
892
893#
894# Hardware Monitoring support
895#
896# CONFIG_HWMON is not set
897# CONFIG_HWMON_VID is not set
898
899#
900# Misc devices
901#
902
903#
904# Multimedia Capabilities Port drivers
905#
906
907#
908# Multi-Function Devices
909#
910
911#
912# LED devices
913#
914CONFIG_NEW_LEDS=y
915CONFIG_LEDS_CLASS=y
916CONFIG_LEDS_TRIGGERS=y
917CONFIG_LEDS_SPITZ=y
918# CONFIG_LEDS_TOSA is not set
919CONFIG_LEDS_TRIGGER_TIMER=y
920CONFIG_LEDS_TRIGGER_IDE_DISK=y
921
922#
923# Multimedia devices
924#
925# CONFIG_VIDEO_DEV is not set
926
927#
928# Digital Video Broadcasting Devices
929#
930# CONFIG_DVB is not set
931
932#
933# Graphics support
934#
935CONFIG_FB=y
936CONFIG_FB_CFB_FILLRECT=y
937CONFIG_FB_CFB_COPYAREA=y
938CONFIG_FB_CFB_IMAGEBLIT=y
939# CONFIG_FB_MACMODES is not set
940# CONFIG_FB_MODE_HELPERS is not set
941# CONFIG_FB_TILEBLITTING is not set
942# CONFIG_FB_S1D13XXX is not set
943CONFIG_FB_PXA=y
944# CONFIG_FB_PXA_PARAMETERS is not set
945# CONFIG_FB_W100 is not set
946# CONFIG_FB_VIRTUAL is not set
947
948#
949# Console display driver support
950#
951# CONFIG_VGA_CONSOLE is not set
952CONFIG_DUMMY_CONSOLE=y
953CONFIG_FRAMEBUFFER_CONSOLE=y
954CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
955CONFIG_FONTS=y
956# CONFIG_FONT_8x8 is not set
957CONFIG_FONT_8x16=y
958# CONFIG_FONT_6x11 is not set
959# CONFIG_FONT_7x14 is not set
960# CONFIG_FONT_PEARL_8x8 is not set
961# CONFIG_FONT_ACORN_8x8 is not set
962# CONFIG_FONT_MINI_4x6 is not set
963# CONFIG_FONT_SUN8x16 is not set
964# CONFIG_FONT_SUN12x22 is not set
965# CONFIG_FONT_10x18 is not set
966
967#
968# Logo configuration
969#
970# CONFIG_LOGO is not set
971CONFIG_BACKLIGHT_LCD_SUPPORT=y
972CONFIG_BACKLIGHT_CLASS_DEVICE=y
973CONFIG_BACKLIGHT_DEVICE=y
974CONFIG_LCD_CLASS_DEVICE=y
975CONFIG_LCD_DEVICE=y
976CONFIG_BACKLIGHT_CORGI=y
977# CONFIG_BACKLIGHT_HP680 is not set
978
979#
980# Sound
981#
982CONFIG_SOUND=m
983
984#
985# Advanced Linux Sound Architecture
986#
987CONFIG_SND=m
988CONFIG_SND_TIMER=m
989CONFIG_SND_PCM=m
990CONFIG_SND_SEQUENCER=m
991# CONFIG_SND_SEQ_DUMMY is not set
992CONFIG_SND_OSSEMUL=y
993CONFIG_SND_MIXER_OSS=m
994CONFIG_SND_PCM_OSS=m
995# CONFIG_SND_SEQUENCER_OSS is not set
996# CONFIG_SND_DYNAMIC_MINORS is not set
997CONFIG_SND_SUPPORT_OLD_API=y
998CONFIG_SND_VERBOSE_PRINTK=y
999CONFIG_SND_DEBUG=y
1000# CONFIG_SND_DEBUG_DETECT is not set
1001
1002#
1003# Generic devices
1004#
1005CONFIG_SND_AC97_CODEC=m
1006CONFIG_SND_AC97_BUS=m
1007# CONFIG_SND_DUMMY is not set
1008# CONFIG_SND_VIRMIDI is not set
1009# CONFIG_SND_MTPAV is not set
1010# CONFIG_SND_SERIAL_U16550 is not set
1011# CONFIG_SND_MPU401 is not set
1012
1013#
1014# ALSA ARM devices
1015#
1016CONFIG_SND_PXA2XX_PCM=m
1017CONFIG_SND_PXA2XX_AC97=m
1018
1019#
1020# USB devices
1021#
1022CONFIG_SND_USB_AUDIO=m
1023
1024#
1025# PCMCIA devices
1026#
1027
1028#
1029# SoC audio support
1030#
1031CONFIG_SND_SOC=m
1032
1033#
1034# Soc Platforms
1035#
1036
1037#
1038# SoC Audio for the Intel PXA2xx
1039#
1040CONFIG_SND_PXA2xx_SOC=m
1041CONFIG_SND_PXA2xx_SOC_I2S=m
1042# CONFIG_SND_PXA2xx_SOC_MAINSTONE is not set
1043# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM8753 is not set
1044# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9713 is not set
1045# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9712 is not set
1046# CONFIG_SND_PXA2xx_SOC_CORGI is not set
1047CONFIG_SND_PXA2xx_SOC_SPITZ=m
1048# CONFIG_SND_PXA2xx_SOC_TOSA is not set
1049
1050#
1051# Soc Codecs
1052#
1053# CONFIG_SND_SOC_AC97_CODEC is not set
1054# CONFIG_SND_SOC_WM8731 is not set
1055CONFIG_SND_SOC_WM8750=m
1056# CONFIG_SND_SOC_WM8753 is not set
1057# CONFIG_SND_SOC_WM8772 is not set
1058# CONFIG_SND_SOC_WM8971 is not set
1059# CONFIG_SND_SOC_WM9713 is not set
1060# CONFIG_SND_SOC_WM9712 is not set
1061# CONFIG_SND_SOC_UDA1380 is not set
1062# CONFIG_SND_SOC_AK4535 is not set
1063
1064#
1065# Open Sound System
1066#
1067# CONFIG_SOUND_PRIME is not set
1068
1069#
1070# USB support
1071#
1072CONFIG_USB_ARCH_HAS_HCD=y
1073CONFIG_USB_ARCH_HAS_OHCI=y
1074CONFIG_USB=m
1075# CONFIG_USB_DEBUG is not set
1076
1077#
1078# Miscellaneous USB options
1079#
1080CONFIG_USB_DEVICEFS=y
1081# CONFIG_USB_BANDWIDTH is not set
1082# CONFIG_USB_DYNAMIC_MINORS is not set
1083# CONFIG_USB_SUSPEND is not set
1084# CONFIG_USB_OTG is not set
1085
1086#
1087# USB Host Controller Drivers
1088#
1089# CONFIG_USB_ISP116X_HCD is not set
1090CONFIG_USB_OHCI_HCD=m
1091# CONFIG_USB_OHCI_BIG_ENDIAN is not set
1092CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1093CONFIG_USB_SL811_HCD=m
1094CONFIG_USB_SL811_CS=m
1095
1096#
1097# USB Device Class drivers
1098#
1099# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
1100CONFIG_USB_ACM=m
1101CONFIG_USB_PRINTER=m
1102
1103#
1104# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1105#
1106
1107#
1108# may also be needed; see USB_STORAGE Help for more information
1109#
1110CONFIG_USB_STORAGE=m
1111# CONFIG_USB_STORAGE_DEBUG is not set
1112# CONFIG_USB_STORAGE_DATAFAB is not set
1113# CONFIG_USB_STORAGE_FREECOM is not set
1114# CONFIG_USB_STORAGE_ISD200 is not set
1115# CONFIG_USB_STORAGE_DPCM is not set
1116# CONFIG_USB_STORAGE_USBAT is not set
1117# CONFIG_USB_STORAGE_SDDR09 is not set
1118# CONFIG_USB_STORAGE_SDDR55 is not set
1119# CONFIG_USB_STORAGE_JUMPSHOT is not set
1120# CONFIG_USB_STORAGE_ALAUDA is not set
1121# CONFIG_USB_LIBUSUAL is not set
1122
1123#
1124# USB Input Devices
1125#
1126CONFIG_USB_HID=m
1127CONFIG_USB_HIDINPUT=y
1128# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1129# CONFIG_HID_FF is not set
1130# CONFIG_USB_HIDDEV is not set
1131
1132#
1133# USB HID Boot Protocol drivers
1134#
1135CONFIG_USB_KBD=m
1136CONFIG_USB_MOUSE=m
1137CONFIG_USB_AIPTEK=m
1138CONFIG_USB_WACOM=m
1139# CONFIG_USB_ACECAD is not set
1140CONFIG_USB_KBTAB=m
1141CONFIG_USB_POWERMATE=m
1142CONFIG_USB_MTOUCH=m
1143# CONFIG_USB_ITMTOUCH is not set
1144CONFIG_USB_EGALAX=m
1145# CONFIG_USB_YEALINK is not set
1146CONFIG_USB_XPAD=m
1147CONFIG_USB_ATI_REMOTE=m
1148# CONFIG_USB_ATI_REMOTE2 is not set
1149# CONFIG_USB_KEYSPAN_REMOTE is not set
1150# CONFIG_USB_APPLETOUCH is not set
1151
1152#
1153# USB Imaging devices
1154#
1155CONFIG_USB_MDC800=m
1156CONFIG_USB_MICROTEK=m
1157
1158#
1159# USB Multimedia devices
1160#
1161CONFIG_USB_DABUSB=m
1162
1163#
1164# Video4Linux support is needed for USB Multimedia device support
1165#
1166
1167#
1168# USB Network Adapters
1169#
1170CONFIG_USB_CATC=m
1171CONFIG_USB_KAWETH=m
1172CONFIG_USB_PEGASUS=m
1173CONFIG_USB_RTL8150=m
1174CONFIG_USB_USBNET=m
1175CONFIG_USB_NET_AX8817X=m
1176CONFIG_USB_NET_CDCETHER=m
1177# CONFIG_USB_NET_GL620A is not set
1178CONFIG_USB_NET_NET1080=m
1179# CONFIG_USB_NET_PLUSB is not set
1180# CONFIG_USB_NET_RNDIS_HOST is not set
1181# CONFIG_USB_NET_CDC_SUBSET is not set
1182CONFIG_USB_NET_ZAURUS=m
1183# CONFIG_USB_ZD1201 is not set
1184CONFIG_USB_MON=y
1185
1186#
1187# USB port drivers
1188#
1189
1190#
1191# USB Serial Converter support
1192#
1193CONFIG_USB_SERIAL=m
1194CONFIG_USB_SERIAL_GENERIC=y
1195# CONFIG_USB_SERIAL_AIRPRIME is not set
1196# CONFIG_USB_SERIAL_ANYDATA is not set
1197CONFIG_USB_SERIAL_BELKIN=m
1198# CONFIG_USB_SERIAL_WHITEHEAT is not set
1199CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
1200# CONFIG_USB_SERIAL_CP2101 is not set
1201CONFIG_USB_SERIAL_CYPRESS_M8=m
1202CONFIG_USB_SERIAL_EMPEG=m
1203CONFIG_USB_SERIAL_FTDI_SIO=m
1204CONFIG_USB_SERIAL_VISOR=m
1205CONFIG_USB_SERIAL_IPAQ=m
1206CONFIG_USB_SERIAL_IR=m
1207CONFIG_USB_SERIAL_EDGEPORT=m
1208CONFIG_USB_SERIAL_EDGEPORT_TI=m
1209CONFIG_USB_SERIAL_GARMIN=m
1210CONFIG_USB_SERIAL_IPW=m
1211CONFIG_USB_SERIAL_KEYSPAN_PDA=m
1212CONFIG_USB_SERIAL_KEYSPAN=m
1213# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
1214# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
1215# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
1216# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
1217# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
1218# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
1219# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
1220# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
1221# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
1222# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
1223# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
1224# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
1225CONFIG_USB_SERIAL_KLSI=m
1226CONFIG_USB_SERIAL_KOBIL_SCT=m
1227CONFIG_USB_SERIAL_MCT_U232=m
1228CONFIG_USB_SERIAL_PL2303=m
1229# CONFIG_USB_SERIAL_HP4X is not set
1230CONFIG_USB_SERIAL_SAFE=m
1231# CONFIG_USB_SERIAL_SAFE_PADDED is not set
1232CONFIG_USB_SERIAL_TI=m
1233CONFIG_USB_SERIAL_CYBERJACK=m
1234CONFIG_USB_SERIAL_XIRCOM=m
1235# CONFIG_USB_SERIAL_OPTION is not set
1236CONFIG_USB_SERIAL_OMNINET=m
1237CONFIG_USB_EZUSB=y
1238
1239#
1240# USB Miscellaneous drivers
1241#
1242CONFIG_USB_EMI62=m
1243CONFIG_USB_EMI26=m
1244CONFIG_USB_AUERSWALD=m
1245CONFIG_USB_RIO500=m
1246CONFIG_USB_LEGOTOWER=m
1247CONFIG_USB_LCD=m
1248CONFIG_USB_LED=m
1249CONFIG_USB_CYTHERM=m
1250CONFIG_USB_PHIDGETKIT=m
1251CONFIG_USB_PHIDGETSERVO=m
1252CONFIG_USB_IDMOUSE=m
1253# CONFIG_USB_LD is not set
1254# CONFIG_USB_TEST is not set
1255
1256#
1257# USB DSL modem support
1258#
1259
1260#
1261# USB Gadget Support
1262#
1263CONFIG_USB_GADGET=m
1264# CONFIG_USB_GADGET_DEBUG_FILES is not set
1265CONFIG_USB_GADGET_SELECTED=y
1266# CONFIG_USB_GADGET_NET2280 is not set
1267# CONFIG_USB_GADGET_PXA2XX is not set
1268CONFIG_USB_GADGET_PXA27X=y
1269CONFIG_USB_PXA27X=m
1270# CONFIG_USB_GADGET_GOKU is not set
1271# CONFIG_USB_GADGET_LH7A40X is not set
1272# CONFIG_USB_GADGET_OMAP is not set
1273# CONFIG_USB_GADGET_DUMMY_HCD is not set
1274# CONFIG_USB_GADGET_DUALSPEED is not set
1275CONFIG_USB_ZERO=m
1276CONFIG_USB_ETH=m
1277CONFIG_USB_ETH_RNDIS=y
1278CONFIG_USB_GADGETFS=m
1279CONFIG_USB_FILE_STORAGE=m
1280# CONFIG_USB_FILE_STORAGE_TEST is not set
1281CONFIG_USB_G_SERIAL=m
1282
1283#
1284# MMC/SD Card support
1285#
1286CONFIG_MMC=y
1287# CONFIG_MMC_DEBUG is not set
1288CONFIG_MMC_BLOCK=y
1289CONFIG_MMC_PXA=y
1290
1291#
1292# Real Time Clock
1293#
1294CONFIG_RTC_CLASS=y
1295CONFIG_RTC_HCTOSYS=y
1296CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1297
1298#
1299# RTC interfaces
1300#
1301CONFIG_RTC_INTF_SYSFS=y
1302CONFIG_RTC_INTF_PROC=y
1303CONFIG_RTC_INTF_DEV=y
1304
1305#
1306# RTC drivers
1307#
1308# CONFIG_RTC_DRV_X1205 is not set
1309# CONFIG_RTC_DRV_DS1672 is not set
1310# CONFIG_RTC_DRV_PCF8563 is not set
1311# CONFIG_RTC_DRV_RS5C372 is not set
1312CONFIG_RTC_DRV_SA1100=y
1313# CONFIG_RTC_DRV_TEST is not set
1314
1315#
1316# File systems
1317#
1318CONFIG_EXT2_FS=y
1319# CONFIG_EXT2_FS_XATTR is not set
1320# CONFIG_EXT2_FS_XIP is not set
1321CONFIG_EXT3_FS=m
1322# CONFIG_EXT3_FS_XATTR is not set
1323CONFIG_JBD=y
1324# CONFIG_JBD_DEBUG is not set
1325# CONFIG_REISERFS_FS is not set
1326# CONFIG_JFS_FS is not set
1327# CONFIG_FS_POSIX_ACL is not set
1328# CONFIG_XFS_FS is not set
1329# CONFIG_OCFS2_FS is not set
1330# CONFIG_MINIX_FS is not set
1331# CONFIG_ROMFS_FS is not set
1332CONFIG_INOTIFY=y
1333# CONFIG_QUOTA is not set
1334CONFIG_DNOTIFY=y
1335# CONFIG_AUTOFS_FS is not set
1336# CONFIG_AUTOFS4_FS is not set
1337# CONFIG_FUSE_FS is not set
1338
1339#
1340# CD-ROM/DVD Filesystems
1341#
1342# CONFIG_ISO9660_FS is not set
1343# CONFIG_UDF_FS is not set
1344
1345#
1346# DOS/FAT/NT Filesystems
1347#
1348CONFIG_FAT_FS=y
1349# CONFIG_MSDOS_FS is not set
1350CONFIG_VFAT_FS=y
1351CONFIG_FAT_DEFAULT_CODEPAGE=437
1352CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1353# CONFIG_NTFS_FS is not set
1354
1355#
1356# Pseudo filesystems
1357#
1358CONFIG_PROC_FS=y
1359CONFIG_SYSFS=y
1360CONFIG_TMPFS=y
1361# CONFIG_HUGETLB_PAGE is not set
1362CONFIG_RAMFS=y
1363# CONFIG_RELAYFS_FS is not set
1364# CONFIG_CONFIGFS_FS is not set
1365
1366#
1367# Miscellaneous filesystems
1368#
1369# CONFIG_ADFS_FS is not set
1370# CONFIG_AFFS_FS is not set
1371# CONFIG_HFS_FS is not set
1372# CONFIG_HFSPLUS_FS is not set
1373# CONFIG_BEFS_FS is not set
1374# CONFIG_BFS_FS is not set
1375# CONFIG_EFS_FS is not set
1376# CONFIG_JFFS_FS is not set
1377CONFIG_JFFS2_FS=y
1378CONFIG_JFFS2_FS_DEBUG=0
1379CONFIG_JFFS2_FS_WRITEBUFFER=y
1380CONFIG_JFFS2_SUMMARY=y
1381CONFIG_JFFS2_COMPRESSION_OPTIONS=y
1382CONFIG_JFFS2_ZLIB=y
1383CONFIG_JFFS2_RTIME=y
1384CONFIG_JFFS2_RUBIN=y
1385# CONFIG_JFFS2_CMODE_NONE is not set
1386CONFIG_JFFS2_CMODE_PRIORITY=y
1387# CONFIG_JFFS2_CMODE_SIZE is not set
1388CONFIG_CRAMFS=m
1389CONFIG_SQUASHFS=m
1390# CONFIG_SQUASHFS_EMBEDDED is not set
1391CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
1392# CONFIG_SQUASHFS_VMALLOC is not set
1393# CONFIG_VXFS_FS is not set
1394# CONFIG_HPFS_FS is not set
1395# CONFIG_QNX4FS_FS is not set
1396# CONFIG_SYSV_FS is not set
1397# CONFIG_UFS_FS is not set
1398
1399#
1400# Network File Systems
1401#
1402CONFIG_NFS_FS=m
1403CONFIG_NFS_V3=y
1404# CONFIG_NFS_V3_ACL is not set
1405CONFIG_NFS_V4=y
1406# CONFIG_NFS_DIRECTIO is not set
1407# CONFIG_NFSD is not set
1408CONFIG_LOCKD=m
1409CONFIG_LOCKD_V4=y
1410CONFIG_NFS_COMMON=y
1411CONFIG_SUNRPC=m
1412CONFIG_SUNRPC_GSS=m
1413CONFIG_RPCSEC_GSS_KRB5=m
1414# CONFIG_RPCSEC_GSS_SPKM3 is not set
1415CONFIG_SMB_FS=m
1416CONFIG_SMB_NLS_DEFAULT=y
1417CONFIG_SMB_NLS_REMOTE="cp437"
1418CONFIG_CIFS=m
1419# CONFIG_CIFS_STATS is not set
1420# CONFIG_CIFS_XATTR is not set
1421# CONFIG_CIFS_EXPERIMENTAL is not set
1422# CONFIG_NCP_FS is not set
1423# CONFIG_CODA_FS is not set
1424# CONFIG_AFS_FS is not set
1425# CONFIG_9P_FS is not set
1426
1427#
1428# Partition Types
1429#
1430CONFIG_PARTITION_ADVANCED=y
1431# CONFIG_ACORN_PARTITION is not set
1432# CONFIG_OSF_PARTITION is not set
1433# CONFIG_AMIGA_PARTITION is not set
1434# CONFIG_ATARI_PARTITION is not set
1435# CONFIG_MAC_PARTITION is not set
1436CONFIG_MSDOS_PARTITION=y
1437# CONFIG_BSD_DISKLABEL is not set
1438# CONFIG_MINIX_SUBPARTITION is not set
1439# CONFIG_SOLARIS_X86_PARTITION is not set
1440# CONFIG_UNIXWARE_DISKLABEL is not set
1441# CONFIG_LDM_PARTITION is not set
1442# CONFIG_SGI_PARTITION is not set
1443# CONFIG_ULTRIX_PARTITION is not set
1444# CONFIG_SUN_PARTITION is not set
1445# CONFIG_KARMA_PARTITION is not set
1446# CONFIG_EFI_PARTITION is not set
1447
1448#
1449# Native Language Support
1450#
1451CONFIG_NLS=y
1452CONFIG_NLS_DEFAULT="cp437"
1453CONFIG_NLS_CODEPAGE_437=y
1454CONFIG_NLS_CODEPAGE_737=m
1455CONFIG_NLS_CODEPAGE_775=m
1456CONFIG_NLS_CODEPAGE_850=m
1457CONFIG_NLS_CODEPAGE_852=m
1458CONFIG_NLS_CODEPAGE_855=m
1459CONFIG_NLS_CODEPAGE_857=m
1460CONFIG_NLS_CODEPAGE_860=m
1461CONFIG_NLS_CODEPAGE_861=m
1462CONFIG_NLS_CODEPAGE_862=m
1463CONFIG_NLS_CODEPAGE_863=m
1464CONFIG_NLS_CODEPAGE_864=m
1465CONFIG_NLS_CODEPAGE_865=m
1466CONFIG_NLS_CODEPAGE_866=m
1467CONFIG_NLS_CODEPAGE_869=m
1468CONFIG_NLS_CODEPAGE_936=m
1469CONFIG_NLS_CODEPAGE_950=m
1470CONFIG_NLS_CODEPAGE_932=m
1471CONFIG_NLS_CODEPAGE_949=m
1472CONFIG_NLS_CODEPAGE_874=m
1473CONFIG_NLS_ISO8859_8=m
1474CONFIG_NLS_CODEPAGE_1250=m
1475CONFIG_NLS_CODEPAGE_1251=m
1476CONFIG_NLS_ASCII=m
1477CONFIG_NLS_ISO8859_1=y
1478CONFIG_NLS_ISO8859_2=m
1479CONFIG_NLS_ISO8859_3=m
1480CONFIG_NLS_ISO8859_4=m
1481CONFIG_NLS_ISO8859_5=m
1482CONFIG_NLS_ISO8859_6=m
1483CONFIG_NLS_ISO8859_7=m
1484CONFIG_NLS_ISO8859_9=m
1485CONFIG_NLS_ISO8859_13=m
1486CONFIG_NLS_ISO8859_14=m
1487CONFIG_NLS_ISO8859_15=m
1488CONFIG_NLS_KOI8_R=m
1489CONFIG_NLS_KOI8_U=m
1490CONFIG_NLS_UTF8=y
1491
1492#
1493# Profiling support
1494#
1495CONFIG_PROFILING=y
1496CONFIG_OPROFILE=m
1497
1498#
1499# Kernel hacking
1500#
1501# CONFIG_PRINTK_TIME is not set
1502CONFIG_MAGIC_SYSRQ=y
1503CONFIG_DEBUG_KERNEL=y
1504CONFIG_LOG_BUF_SHIFT=14
1505# CONFIG_DETECT_SOFTLOCKUP is not set
1506# CONFIG_SCHEDSTATS is not set
1507# CONFIG_DEBUG_SLAB is not set
1508# CONFIG_DEBUG_PREEMPT is not set
1509# CONFIG_DEBUG_MUTEXES is not set
1510# CONFIG_DEBUG_SPINLOCK is not set
1511# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1512# CONFIG_DEBUG_KOBJECT is not set
1513CONFIG_DEBUG_BUGVERBOSE=y
1514# CONFIG_DEBUG_INFO is not set
1515# CONFIG_DEBUG_FS is not set
1516# CONFIG_DEBUG_VM is not set
1517CONFIG_FRAME_POINTER=y
1518# CONFIG_FORCED_INLINING is not set
1519# CONFIG_RCU_TORTURE_TEST is not set
1520# CONFIG_DEBUG_USER is not set
1521# CONFIG_DEBUG_WAITQ is not set
1522CONFIG_DEBUG_ERRORS=y
1523# CONFIG_DEBUG_LL is not set
1524
1525#
1526# Security options
1527#
1528# CONFIG_KEYS is not set
1529# CONFIG_SECURITY is not set
1530
1531#
1532# Cryptographic options
1533#
1534CONFIG_CRYPTO=y
1535CONFIG_CRYPTO_HMAC=y
1536CONFIG_CRYPTO_NULL=m
1537CONFIG_CRYPTO_MD4=m
1538CONFIG_CRYPTO_MD5=m
1539CONFIG_CRYPTO_SHA1=m
1540CONFIG_CRYPTO_SHA256=m
1541CONFIG_CRYPTO_SHA512=m
1542CONFIG_CRYPTO_WP512=m
1543# CONFIG_CRYPTO_TGR192 is not set
1544CONFIG_CRYPTO_DES=m
1545CONFIG_CRYPTO_BLOWFISH=m
1546CONFIG_CRYPTO_TWOFISH=m
1547CONFIG_CRYPTO_SERPENT=m
1548CONFIG_CRYPTO_AES=m
1549CONFIG_CRYPTO_CAST5=m
1550CONFIG_CRYPTO_CAST6=m
1551CONFIG_CRYPTO_TEA=m
1552CONFIG_CRYPTO_ARC4=m
1553CONFIG_CRYPTO_KHAZAD=m
1554CONFIG_CRYPTO_ANUBIS=m
1555CONFIG_CRYPTO_DEFLATE=m
1556CONFIG_CRYPTO_MICHAEL_MIC=m
1557CONFIG_CRYPTO_CRC32C=m
1558CONFIG_CRYPTO_TEST=m
1559
1560#
1561# Hardware crypto devices
1562#
1563
1564#
1565# Library routines
1566#
1567CONFIG_CRC_CCITT=y
1568# CONFIG_CRC16 is not set
1569CONFIG_CRC32=y
1570CONFIG_LIBCRC32C=m
1571CONFIG_ZLIB_INFLATE=y
1572CONFIG_ZLIB_DEFLATE=y
diff --git a/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-c7x0 b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-c7x0
new file mode 100644
index 0000000000..1d702f60c0
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-c7x0
@@ -0,0 +1,1608 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16
4# Mon May 22 09:00:01 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
123CONFIG_MACH_CORGI=y
124CONFIG_MACH_SHEPHERD=y
125CONFIG_MACH_HUSKY=y
126# CONFIG_MACH_TOSA is not set
127CONFIG_PXA25x=y
128# CONFIG_PXA_KEYS is not set
129CONFIG_PXA_SHARP_C7xx=y
130CONFIG_PXA_SSP=y
131
132#
133# Processor Type
134#
135CONFIG_CPU_32=y
136CONFIG_CPU_XSCALE=y
137CONFIG_CPU_32v5=y
138CONFIG_CPU_ABRT_EV5T=y
139CONFIG_CPU_CACHE_VIVT=y
140CONFIG_CPU_TLB_V4WBI=y
141
142#
143# Processor Features
144#
145CONFIG_ARM_THUMB=y
146CONFIG_XSCALE_PMU=y
147CONFIG_KEXEC=y
148CONFIG_SHARP_PARAM=y
149CONFIG_SHARPSL_PM=y
150CONFIG_SHARP_SCOOP=y
151
152#
153# Bus support
154#
155
156#
157# PCCARD (PCMCIA/CardBus) support
158#
159CONFIG_PCCARD=y
160# CONFIG_PCMCIA_DEBUG is not set
161CONFIG_PCMCIA=y
162CONFIG_PCMCIA_LOAD_CIS=y
163CONFIG_PCMCIA_IOCTL=y
164
165#
166# PC-card bridges
167#
168CONFIG_PCMCIA_PXA2XX=y
169
170#
171# Kernel Features
172#
173CONFIG_PREEMPT=y
174CONFIG_NO_IDLE_HZ=y
175# CONFIG_AEABI is not set
176# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
177CONFIG_SELECT_MEMORY_MODEL=y
178CONFIG_FLATMEM_MANUAL=y
179# CONFIG_DISCONTIGMEM_MANUAL is not set
180# CONFIG_SPARSEMEM_MANUAL is not set
181CONFIG_FLATMEM=y
182CONFIG_FLAT_NODE_MEM_MAP=y
183# CONFIG_SPARSEMEM_STATIC is not set
184CONFIG_SPLIT_PTLOCK_CPUS=4096
185CONFIG_ALIGNMENT_TRAP=y
186
187#
188# Boot options
189#
190CONFIG_ZBOOT_ROM_TEXT=0x0
191CONFIG_ZBOOT_ROM_BSS=0x0
192# CONFIG_XIP_KERNEL is not set
193
194#
195# CPU Frequency scaling
196#
197CONFIG_CPU_FREQ=y
198CONFIG_CPU_FREQ_TABLE=y
199CONFIG_CPU_FREQ_DEBUG=y
200CONFIG_CPU_FREQ_STAT=y
201# CONFIG_CPU_FREQ_STAT_DETAILS is not set
202CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
203# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
204CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
205CONFIG_CPU_FREQ_GOV_POWERSAVE=y
206CONFIG_CPU_FREQ_GOV_USERSPACE=y
207CONFIG_CPU_FREQ_GOV_ONDEMAND=y
208CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
209CONFIG_CPU_FREQ_PXA25x=y
210
211#
212# Floating point emulation
213#
214
215#
216# At least one emulation must be selected
217#
218CONFIG_FPE_NWFPE=y
219# CONFIG_FPE_NWFPE_XP is not set
220# CONFIG_FPE_FASTFPE is not set
221
222#
223# Userspace binary formats
224#
225CONFIG_BINFMT_ELF=y
226CONFIG_BINFMT_AOUT=m
227CONFIG_BINFMT_MISC=m
228# CONFIG_ARTHUR is not set
229
230#
231# Power management options
232#
233CONFIG_PM=y
234# CONFIG_PM_LEGACY is not set
235# CONFIG_PM_DEBUG is not set
236CONFIG_APM=y
237
238#
239# Networking
240#
241CONFIG_NET=y
242
243#
244# Networking options
245#
246# CONFIG_NETDEBUG is not set
247CONFIG_PACKET=y
248CONFIG_PACKET_MMAP=y
249CONFIG_UNIX=y
250CONFIG_XFRM=y
251CONFIG_XFRM_USER=m
252# CONFIG_NET_KEY is not set
253CONFIG_INET=y
254# CONFIG_IP_MULTICAST is not set
255# CONFIG_IP_ADVANCED_ROUTER is not set
256CONFIG_IP_FIB_HASH=y
257# CONFIG_IP_PNP is not set
258# CONFIG_NET_IPIP is not set
259# CONFIG_NET_IPGRE is not set
260# CONFIG_ARPD is not set
261CONFIG_SYN_COOKIES=y
262# CONFIG_INET_AH is not set
263# CONFIG_INET_ESP is not set
264# CONFIG_INET_IPCOMP is not set
265# CONFIG_INET_TUNNEL is not set
266CONFIG_INET_DIAG=m
267CONFIG_INET_TCP_DIAG=m
268# CONFIG_TCP_CONG_ADVANCED is not set
269CONFIG_TCP_CONG_BIC=y
270
271#
272# IP: Virtual Server Configuration
273#
274# CONFIG_IP_VS is not set
275CONFIG_IPV6=m
276# CONFIG_IPV6_PRIVACY is not set
277CONFIG_INET6_AH=m
278CONFIG_INET6_ESP=m
279CONFIG_INET6_IPCOMP=m
280CONFIG_INET6_TUNNEL=m
281CONFIG_IPV6_TUNNEL=m
282CONFIG_NETFILTER=y
283# CONFIG_NETFILTER_DEBUG is not set
284
285#
286# Core Netfilter Configuration
287#
288# CONFIG_NETFILTER_NETLINK is not set
289# CONFIG_NETFILTER_XTABLES is not set
290
291#
292# IP: Netfilter Configuration
293#
294CONFIG_IP_NF_CONNTRACK=m
295# CONFIG_IP_NF_CT_ACCT is not set
296# CONFIG_IP_NF_CONNTRACK_MARK is not set
297# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
298CONFIG_IP_NF_CT_PROTO_SCTP=m
299CONFIG_IP_NF_FTP=m
300CONFIG_IP_NF_IRC=m
301# CONFIG_IP_NF_NETBIOS_NS is not set
302CONFIG_IP_NF_TFTP=m
303CONFIG_IP_NF_AMANDA=m
304# CONFIG_IP_NF_PPTP is not set
305CONFIG_IP_NF_QUEUE=m
306
307#
308# IPv6: Netfilter Configuration (EXPERIMENTAL)
309#
310# CONFIG_IP6_NF_QUEUE is not set
311
312#
313# DCCP Configuration (EXPERIMENTAL)
314#
315# CONFIG_IP_DCCP is not set
316
317#
318# SCTP Configuration (EXPERIMENTAL)
319#
320# CONFIG_IP_SCTP is not set
321
322#
323# TIPC Configuration (EXPERIMENTAL)
324#
325# CONFIG_TIPC is not set
326# CONFIG_ATM is not set
327# CONFIG_BRIDGE is not set
328# CONFIG_VLAN_8021Q is not set
329# CONFIG_DECNET is not set
330# CONFIG_LLC2 is not set
331# CONFIG_IPX is not set
332# CONFIG_ATALK is not set
333# CONFIG_X25 is not set
334# CONFIG_LAPB is not set
335# CONFIG_NET_DIVERT is not set
336# CONFIG_ECONET is not set
337# CONFIG_WAN_ROUTER is not set
338
339#
340# QoS and/or fair queueing
341#
342# CONFIG_NET_SCHED is not set
343
344#
345# Network testing
346#
347# CONFIG_NET_PKTGEN is not set
348# CONFIG_HAMRADIO is not set
349CONFIG_IRDA=m
350
351#
352# IrDA protocols
353#
354CONFIG_IRLAN=m
355CONFIG_IRNET=m
356CONFIG_IRCOMM=m
357# CONFIG_IRDA_ULTRA is not set
358
359#
360# IrDA options
361#
362# CONFIG_IRDA_CACHE_LAST_LSAP is not set
363# CONFIG_IRDA_FAST_RR is not set
364# CONFIG_IRDA_DEBUG is not set
365
366#
367# Infrared-port device drivers
368#
369
370#
371# SIR device drivers
372#
373# CONFIG_IRTTY_SIR is not set
374
375#
376# Dongle support
377#
378
379#
380# Old SIR device drivers
381#
382# CONFIG_IRPORT_SIR is not set
383
384#
385# Old Serial dongle support
386#
387
388#
389# FIR device drivers
390#
391# CONFIG_USB_IRDA is not set
392# CONFIG_SIGMATEL_FIR is not set
393CONFIG_PXA_FICP=m
394CONFIG_BT=m
395CONFIG_BT_L2CAP=m
396CONFIG_BT_SCO=m
397CONFIG_BT_RFCOMM=m
398CONFIG_BT_RFCOMM_TTY=y
399CONFIG_BT_BNEP=m
400CONFIG_BT_BNEP_MC_FILTER=y
401CONFIG_BT_BNEP_PROTO_FILTER=y
402CONFIG_BT_HIDP=m
403
404#
405# Bluetooth device drivers
406#
407CONFIG_BT_HCIUSB=m
408# CONFIG_BT_HCIUSB_SCO is not set
409CONFIG_BT_HCIUART=m
410CONFIG_BT_HCIUART_H4=y
411CONFIG_BT_HCIUART_BCSP=y
412CONFIG_BT_HCIBCM203X=m
413CONFIG_BT_HCIBPA10X=m
414CONFIG_BT_HCIBFUSB=m
415CONFIG_BT_HCIDTL1=m
416CONFIG_BT_HCIBT3C=m
417CONFIG_BT_HCIBLUECARD=m
418CONFIG_BT_HCIBTUART=m
419CONFIG_BT_HCIVHCI=m
420CONFIG_IEEE80211=m
421# CONFIG_IEEE80211_DEBUG is not set
422CONFIG_IEEE80211_CRYPT_WEP=m
423CONFIG_IEEE80211_CRYPT_CCMP=m
424CONFIG_IEEE80211_CRYPT_TKIP=m
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
451CONFIG_MTD_CMDLINE_PARTS=y
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
482# CONFIG_MTD_OBSOLETE_CHIPS is not set
483
484#
485# Mapping drivers for chip access
486#
487CONFIG_MTD_COMPLEX_MAPPINGS=y
488CONFIG_MTD_SHARP_SL=y
489# CONFIG_MTD_PLATRAM is not set
490
491#
492# Self-contained MTD device drivers
493#
494# CONFIG_MTD_SLRAM is not set
495# CONFIG_MTD_PHRAM is not set
496# CONFIG_MTD_MTDRAM is not set
497# CONFIG_MTD_BLKMTD 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#
510CONFIG_MTD_NAND=y
511CONFIG_MTD_NAND_VERIFY_WRITE=y
512# CONFIG_MTD_NAND_H1900 is not set
513CONFIG_MTD_NAND_IDS=y
514# CONFIG_MTD_NAND_DISKONCHIP is not set
515CONFIG_MTD_NAND_SHARPSL=y
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=y
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#
567CONFIG_IDE_GENERIC=y
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=640
765CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
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
781CONFIG_KEYBOARD_CORGI=y
782# CONFIG_KEYBOARD_SPITZ is not set
783# CONFIG_INPUT_MOUSE is not set
784# CONFIG_INPUT_JOYSTICK is not set
785CONFIG_INPUT_TOUCHSCREEN=y
786CONFIG_TOUCHSCREEN_CORGI=y
787# CONFIG_TOUCHSCREEN_GUNZE is not set
788# CONFIG_TOUCHSCREEN_ELO is not set
789# CONFIG_TOUCHSCREEN_MTOUCH is not set
790# CONFIG_TOUCHSCREEN_MK712 is not set
791CONFIG_INPUT_MISC=y
792CONFIG_INPUT_UINPUT=m
793
794#
795# Hardware I/O ports
796#
797# CONFIG_SERIO is not set
798# CONFIG_GAMEPORT is not set
799
800#
801# Character devices
802#
803CONFIG_VT=y
804CONFIG_VT_CONSOLE=y
805CONFIG_HW_CONSOLE=y
806# CONFIG_SERIAL_NONSTANDARD is not set
807
808#
809# Serial drivers
810#
811CONFIG_SERIAL_8250=m
812CONFIG_SERIAL_8250_CS=m
813CONFIG_SERIAL_8250_NR_UARTS=4
814CONFIG_SERIAL_8250_RUNTIME_UARTS=4
815# CONFIG_SERIAL_8250_EXTENDED is not set
816
817#
818# Non-8250 serial port support
819#
820CONFIG_SERIAL_PXA=y
821CONFIG_SERIAL_PXA_CONSOLE=y
822CONFIG_SERIAL_CORE=y
823CONFIG_SERIAL_CORE_CONSOLE=y
824CONFIG_UNIX98_PTYS=y
825# CONFIG_LEGACY_PTYS is not set
826
827#
828# IPMI
829#
830# CONFIG_IPMI_HANDLER is not set
831
832#
833# Watchdog Cards
834#
835# CONFIG_WATCHDOG is not set
836# CONFIG_NVRAM is not set
837# CONFIG_DTLK is not set
838# CONFIG_R3964 is not set
839
840#
841# Ftape, the floppy tape device driver
842#
843
844#
845# PCMCIA character devices
846#
847# CONFIG_SYNCLINK_CS is not set
848# CONFIG_CARDMAN_4000 is not set
849# CONFIG_CARDMAN_4040 is not set
850# CONFIG_RAW_DRIVER is not set
851
852#
853# TPM devices
854#
855# CONFIG_TCG_TPM is not set
856# CONFIG_TELCLOCK is not set
857
858#
859# I2C support
860#
861CONFIG_I2C=y
862# CONFIG_I2C_CHARDEV is not set
863
864#
865# I2C Algorithms
866#
867CONFIG_I2C_ALGOBIT=y
868# CONFIG_I2C_ALGOPCF is not set
869# CONFIG_I2C_ALGOPCA is not set
870
871#
872# I2C Hardware Bus support
873#
874CONFIG_I2C_PXA=y
875# CONFIG_I2C_PXA_SLAVE is not set
876# CONFIG_I2C_PARPORT_LIGHT is not set
877# CONFIG_I2C_STUB is not set
878# CONFIG_I2C_PCA_ISA is not set
879
880#
881# Miscellaneous I2C Chip support
882#
883# CONFIG_SENSORS_DS1337 is not set
884# CONFIG_SENSORS_DS1374 is not set
885# CONFIG_SENSORS_EEPROM is not set
886# CONFIG_SENSORS_PCF8574 is not set
887# CONFIG_SENSORS_PCA9539 is not set
888# CONFIG_SENSORS_PCF8591 is not set
889# CONFIG_SENSORS_MAX6875 is not set
890# CONFIG_I2C_DEBUG_CORE is not set
891# CONFIG_I2C_DEBUG_ALGO is not set
892# CONFIG_I2C_DEBUG_BUS is not set
893# CONFIG_I2C_DEBUG_CHIP is not set
894
895#
896# SPI support
897#
898# CONFIG_SPI is not set
899# CONFIG_SPI_MASTER is not set
900
901#
902# Dallas's 1-wire bus
903#
904# CONFIG_W1 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_CORGI=y
931# CONFIG_LEDS_TOSA is not set
932CONFIG_LEDS_TRIGGER_TIMER=y
933CONFIG_LEDS_TRIGGER_IDE_DISK=y
934
935#
936# Multimedia devices
937#
938CONFIG_VIDEO_DEV=m
939
940#
941# Video For Linux
942#
943
944#
945# Video Adapters
946#
947# CONFIG_VIDEO_ADV_DEBUG is not set
948# CONFIG_VIDEO_CPIA is not set
949# CONFIG_VIDEO_SAA5246A is not set
950# CONFIG_VIDEO_SAA5249 is not set
951# CONFIG_TUNER_3036 is not set
952# CONFIG_VIDEO_EM28XX is not set
953# CONFIG_VIDEO_OVCAMCHIP is not set
954# CONFIG_VIDEO_AUDIO_DECODER is not set
955# CONFIG_VIDEO_DECODER is not set
956
957#
958# Radio Adapters
959#
960# CONFIG_RADIO_MAESTRO is not set
961
962#
963# Digital Video Broadcasting Devices
964#
965# CONFIG_DVB is not set
966
967#
968# Graphics support
969#
970CONFIG_FB=y
971CONFIG_FB_CFB_FILLRECT=y
972CONFIG_FB_CFB_COPYAREA=y
973CONFIG_FB_CFB_IMAGEBLIT=y
974# CONFIG_FB_MACMODES is not set
975# CONFIG_FB_MODE_HELPERS is not set
976# CONFIG_FB_TILEBLITTING is not set
977# CONFIG_FB_S1D13XXX is not set
978# CONFIG_FB_PXA is not set
979CONFIG_FB_W100=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
990# CONFIG_FONT_8x8 is not set
991CONFIG_FONT_8x16=y
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=m
1019
1020#
1021# Advanced Linux Sound Architecture
1022#
1023CONFIG_SND=m
1024CONFIG_SND_TIMER=m
1025CONFIG_SND_PCM=m
1026CONFIG_SND_SEQUENCER=m
1027# CONFIG_SND_SEQ_DUMMY is not set
1028CONFIG_SND_OSSEMUL=y
1029CONFIG_SND_MIXER_OSS=m
1030CONFIG_SND_PCM_OSS=m
1031# CONFIG_SND_SEQUENCER_OSS is not set
1032# CONFIG_SND_DYNAMIC_MINORS is not set
1033CONFIG_SND_SUPPORT_OLD_API=y
1034CONFIG_SND_VERBOSE_PRINTK=y
1035CONFIG_SND_DEBUG=y
1036# CONFIG_SND_DEBUG_DETECT is not set
1037
1038#
1039# Generic devices
1040#
1041CONFIG_SND_AC97_CODEC=m
1042CONFIG_SND_AC97_BUS=m
1043# CONFIG_SND_DUMMY is not set
1044# CONFIG_SND_VIRMIDI is not set
1045# CONFIG_SND_MTPAV is not set
1046# CONFIG_SND_SERIAL_U16550 is not set
1047# CONFIG_SND_MPU401 is not set
1048
1049#
1050# ALSA ARM devices
1051#
1052CONFIG_SND_PXA2XX_PCM=m
1053CONFIG_SND_PXA2XX_AC97=m
1054
1055#
1056# USB devices
1057#
1058CONFIG_SND_USB_AUDIO=m
1059
1060#
1061# PCMCIA devices
1062#
1063
1064#
1065# SoC audio support
1066#
1067CONFIG_SND_SOC=m
1068
1069#
1070# Soc Platforms
1071#
1072
1073#
1074# SoC Audio for the Intel PXA2xx
1075#
1076CONFIG_SND_PXA2xx_SOC=m
1077CONFIG_SND_PXA2xx_SOC_I2S=m
1078# CONFIG_SND_PXA2xx_SOC_MAINSTONE is not set
1079# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM8753 is not set
1080# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9713 is not set
1081# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9712 is not set
1082CONFIG_SND_PXA2xx_SOC_CORGI=m
1083# CONFIG_SND_PXA2xx_SOC_SPITZ is not set
1084# CONFIG_SND_PXA2xx_SOC_TOSA is not set
1085
1086#
1087# Soc Codecs
1088#
1089# CONFIG_SND_SOC_AC97_CODEC is not set
1090CONFIG_SND_SOC_WM8731=m
1091# CONFIG_SND_SOC_WM8750 is not set
1092# CONFIG_SND_SOC_WM8753 is not set
1093# CONFIG_SND_SOC_WM8772 is not set
1094# CONFIG_SND_SOC_WM8971 is not set
1095# CONFIG_SND_SOC_WM9713 is not set
1096# CONFIG_SND_SOC_WM9712 is not set
1097# CONFIG_SND_SOC_UDA1380 is not set
1098# CONFIG_SND_SOC_AK4535 is not set
1099
1100#
1101# Open Sound System
1102#
1103# CONFIG_SOUND_PRIME is not set
1104
1105#
1106# USB support
1107#
1108CONFIG_USB_ARCH_HAS_HCD=y
1109# CONFIG_USB_ARCH_HAS_OHCI is not set
1110CONFIG_USB=m
1111# CONFIG_USB_DEBUG is not set
1112
1113#
1114# Miscellaneous USB options
1115#
1116CONFIG_USB_DEVICEFS=y
1117# CONFIG_USB_BANDWIDTH is not set
1118# CONFIG_USB_DYNAMIC_MINORS is not set
1119# CONFIG_USB_SUSPEND is not set
1120# CONFIG_USB_OTG is not set
1121
1122#
1123# USB Host Controller Drivers
1124#
1125# CONFIG_USB_ISP116X_HCD is not set
1126CONFIG_USB_SL811_HCD=m
1127CONFIG_USB_SL811_CS=m
1128
1129#
1130# USB Device Class drivers
1131#
1132# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
1133CONFIG_USB_ACM=m
1134CONFIG_USB_PRINTER=m
1135
1136#
1137# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1138#
1139
1140#
1141# may also be needed; see USB_STORAGE Help for more information
1142#
1143CONFIG_USB_STORAGE=m
1144# CONFIG_USB_STORAGE_DEBUG is not set
1145# CONFIG_USB_STORAGE_DATAFAB is not set
1146# CONFIG_USB_STORAGE_FREECOM is not set
1147# CONFIG_USB_STORAGE_ISD200 is not set
1148# CONFIG_USB_STORAGE_DPCM is not set
1149# CONFIG_USB_STORAGE_USBAT is not set
1150# CONFIG_USB_STORAGE_SDDR09 is not set
1151# CONFIG_USB_STORAGE_SDDR55 is not set
1152# CONFIG_USB_STORAGE_JUMPSHOT is not set
1153# CONFIG_USB_STORAGE_ALAUDA is not set
1154# CONFIG_USB_LIBUSUAL is not set
1155
1156#
1157# USB Input Devices
1158#
1159CONFIG_USB_HID=m
1160CONFIG_USB_HIDINPUT=y
1161# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1162# CONFIG_HID_FF is not set
1163# CONFIG_USB_HIDDEV is not set
1164
1165#
1166# USB HID Boot Protocol drivers
1167#
1168CONFIG_USB_KBD=m
1169CONFIG_USB_MOUSE=m
1170CONFIG_USB_AIPTEK=m
1171CONFIG_USB_WACOM=m
1172# CONFIG_USB_ACECAD is not set
1173CONFIG_USB_KBTAB=m
1174CONFIG_USB_POWERMATE=m
1175CONFIG_USB_MTOUCH=m
1176# CONFIG_USB_ITMTOUCH is not set
1177CONFIG_USB_EGALAX=m
1178# CONFIG_USB_YEALINK is not set
1179CONFIG_USB_XPAD=m
1180CONFIG_USB_ATI_REMOTE=m
1181# CONFIG_USB_ATI_REMOTE2 is not set
1182# CONFIG_USB_KEYSPAN_REMOTE is not set
1183# CONFIG_USB_APPLETOUCH is not set
1184
1185#
1186# USB Imaging devices
1187#
1188CONFIG_USB_MDC800=m
1189CONFIG_USB_MICROTEK=m
1190
1191#
1192# USB Multimedia devices
1193#
1194CONFIG_USB_DABUSB=m
1195CONFIG_USB_VICAM=m
1196CONFIG_USB_DSBR=m
1197# CONFIG_USB_ET61X251 is not set
1198CONFIG_USB_IBMCAM=m
1199CONFIG_USB_KONICAWC=m
1200CONFIG_USB_OV511=m
1201CONFIG_USB_SE401=m
1202CONFIG_USB_SN9C102=m
1203CONFIG_USB_STV680=m
1204# CONFIG_USB_PWC is not set
1205
1206#
1207# USB Network Adapters
1208#
1209CONFIG_USB_CATC=m
1210CONFIG_USB_KAWETH=m
1211CONFIG_USB_PEGASUS=m
1212CONFIG_USB_RTL8150=m
1213CONFIG_USB_USBNET=m
1214CONFIG_USB_NET_AX8817X=m
1215CONFIG_USB_NET_CDCETHER=m
1216# CONFIG_USB_NET_GL620A is not set
1217CONFIG_USB_NET_NET1080=m
1218# CONFIG_USB_NET_PLUSB is not set
1219# CONFIG_USB_NET_RNDIS_HOST is not set
1220# CONFIG_USB_NET_CDC_SUBSET is not set
1221CONFIG_USB_NET_ZAURUS=m
1222# CONFIG_USB_ZD1201 is not set
1223CONFIG_USB_MON=y
1224
1225#
1226# USB port drivers
1227#
1228
1229#
1230# USB Serial Converter support
1231#
1232CONFIG_USB_SERIAL=m
1233CONFIG_USB_SERIAL_GENERIC=y
1234# CONFIG_USB_SERIAL_AIRPRIME is not set
1235# CONFIG_USB_SERIAL_ANYDATA is not set
1236CONFIG_USB_SERIAL_BELKIN=m
1237# CONFIG_USB_SERIAL_WHITEHEAT is not set
1238CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
1239# CONFIG_USB_SERIAL_CP2101 is not set
1240CONFIG_USB_SERIAL_CYPRESS_M8=m
1241CONFIG_USB_SERIAL_EMPEG=m
1242CONFIG_USB_SERIAL_FTDI_SIO=m
1243CONFIG_USB_SERIAL_VISOR=m
1244CONFIG_USB_SERIAL_IPAQ=m
1245CONFIG_USB_SERIAL_IR=m
1246CONFIG_USB_SERIAL_EDGEPORT=m
1247CONFIG_USB_SERIAL_EDGEPORT_TI=m
1248CONFIG_USB_SERIAL_GARMIN=m
1249CONFIG_USB_SERIAL_IPW=m
1250CONFIG_USB_SERIAL_KEYSPAN_PDA=m
1251CONFIG_USB_SERIAL_KEYSPAN=m
1252# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
1253# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
1254# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
1255# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
1256# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
1257# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
1258# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
1259# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
1260# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
1261# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
1262# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
1263# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
1264CONFIG_USB_SERIAL_KLSI=m
1265CONFIG_USB_SERIAL_KOBIL_SCT=m
1266CONFIG_USB_SERIAL_MCT_U232=m
1267CONFIG_USB_SERIAL_PL2303=m
1268# CONFIG_USB_SERIAL_HP4X is not set
1269CONFIG_USB_SERIAL_SAFE=m
1270# CONFIG_USB_SERIAL_SAFE_PADDED is not set
1271CONFIG_USB_SERIAL_TI=m
1272CONFIG_USB_SERIAL_CYBERJACK=m
1273CONFIG_USB_SERIAL_XIRCOM=m
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
1373# CONFIG_FUSE_FS is not set
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=y
1385# CONFIG_MSDOS_FS is not set
1386CONFIG_VFAT_FS=y
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#
1531CONFIG_PROFILING=y
1532CONFIG_OPROFILE=m
1533
1534#
1535# Kernel hacking
1536#
1537# CONFIG_PRINTK_TIME is not set
1538CONFIG_MAGIC_SYSRQ=y
1539CONFIG_DEBUG_KERNEL=y
1540CONFIG_LOG_BUF_SHIFT=14
1541CONFIG_DETECT_SOFTLOCKUP=y
1542# CONFIG_SCHEDSTATS is not set
1543# CONFIG_DEBUG_SLAB is not set
1544# CONFIG_DEBUG_PREEMPT is not set
1545# CONFIG_DEBUG_MUTEXES is not set
1546# CONFIG_DEBUG_SPINLOCK is not set
1547# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1548# CONFIG_DEBUG_KOBJECT is not set
1549CONFIG_DEBUG_BUGVERBOSE=y
1550# CONFIG_DEBUG_INFO is not set
1551# CONFIG_DEBUG_FS is not set
1552# CONFIG_DEBUG_VM is not set
1553CONFIG_FRAME_POINTER=y
1554# CONFIG_FORCED_INLINING is not set
1555# CONFIG_RCU_TORTURE_TEST is not set
1556# CONFIG_DEBUG_USER is not set
1557# CONFIG_DEBUG_WAITQ is not set
1558CONFIG_DEBUG_ERRORS=y
1559# CONFIG_DEBUG_LL is not set
1560
1561#
1562# Security options
1563#
1564# CONFIG_KEYS is not set
1565# CONFIG_SECURITY is not set
1566
1567#
1568# Cryptographic options
1569#
1570CONFIG_CRYPTO=y
1571CONFIG_CRYPTO_HMAC=y
1572CONFIG_CRYPTO_NULL=m
1573CONFIG_CRYPTO_MD4=m
1574CONFIG_CRYPTO_MD5=m
1575CONFIG_CRYPTO_SHA1=m
1576CONFIG_CRYPTO_SHA256=m
1577CONFIG_CRYPTO_SHA512=m
1578CONFIG_CRYPTO_WP512=m
1579# CONFIG_CRYPTO_TGR192 is not set
1580CONFIG_CRYPTO_DES=m
1581CONFIG_CRYPTO_BLOWFISH=m
1582CONFIG_CRYPTO_TWOFISH=m
1583CONFIG_CRYPTO_SERPENT=m
1584CONFIG_CRYPTO_AES=m
1585CONFIG_CRYPTO_CAST5=m
1586CONFIG_CRYPTO_CAST6=m
1587CONFIG_CRYPTO_TEA=m
1588CONFIG_CRYPTO_ARC4=m
1589CONFIG_CRYPTO_KHAZAD=m
1590CONFIG_CRYPTO_ANUBIS=m
1591CONFIG_CRYPTO_DEFLATE=m
1592CONFIG_CRYPTO_MICHAEL_MIC=m
1593CONFIG_CRYPTO_CRC32C=m
1594CONFIG_CRYPTO_TEST=m
1595
1596#
1597# Hardware crypto devices
1598#
1599
1600#
1601# Library routines
1602#
1603CONFIG_CRC_CCITT=y
1604# CONFIG_CRC16 is not set
1605CONFIG_CRC32=y
1606CONFIG_LIBCRC32C=m
1607CONFIG_ZLIB_INFLATE=y
1608CONFIG_ZLIB_DEFLATE=y
diff --git a/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-collie b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-collie
new file mode 100644
index 0000000000..f488d42d93
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/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.19+2.6.20-rc4/defconfig-hx2000 b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-hx2000
new file mode 100644
index 0000000000..296c462641
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/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.19+2.6.20-rc4/defconfig-ipaq-pxa270 b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-ipaq-pxa270
new file mode 100644
index 0000000000..cb7cce7bdd
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/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.19+2.6.20-rc4/defconfig-poodle b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-poodle
new file mode 100644
index 0000000000..deacd170f2
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/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.19+2.6.20-rc4/defconfig-qemuarm b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-qemuarm
new file mode 100644
index 0000000000..abb6726556
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-qemuarm
@@ -0,0 +1,1193 @@
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#
619CONFIG_INPUT_MOUSEDEV=y
620CONFIG_INPUT_MOUSEDEV_PSAUX=y
621CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
622CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
623# CONFIG_INPUT_JOYDEV is not set
624# CONFIG_INPUT_TSDEV is not set
625CONFIG_INPUT_EVDEV=y
626# CONFIG_INPUT_EVBUG is not set
627# CONFIG_INPUT_POWER is not set
628
629#
630# Input Device Drivers
631#
632CONFIG_INPUT_KEYBOARD=y
633CONFIG_KEYBOARD_ATKBD=y
634# CONFIG_KEYBOARD_SUNKBD is not set
635# CONFIG_KEYBOARD_LKKBD is not set
636# CONFIG_KEYBOARD_XTKBD is not set
637# CONFIG_KEYBOARD_NEWTON is not set
638CONFIG_INPUT_MOUSE=y
639CONFIG_MOUSE_PS2=y
640# CONFIG_MOUSE_SERIAL is not set
641# CONFIG_MOUSE_VSXXXAA is not set
642# CONFIG_INPUT_JOYSTICK is not set
643# CONFIG_INPUT_TOUCHSCREEN is not set
644CONFIG_INPUT_MISC=y
645# CONFIG_INPUT_UINPUT is not set
646
647#
648# Hardware I/O ports
649#
650CONFIG_SERIO=y
651# CONFIG_SERIO_SERPORT is not set
652CONFIG_SERIO_AMBAKMI=y
653# CONFIG_SERIO_PCIPS2 is not set
654CONFIG_SERIO_LIBPS2=y
655# CONFIG_SERIO_RAW is not set
656# CONFIG_GAMEPORT is not set
657
658#
659# Character devices
660#
661CONFIG_VT=y
662CONFIG_VT_CONSOLE=y
663CONFIG_HW_CONSOLE=y
664# CONFIG_SERIAL_NONSTANDARD is not set
665
666#
667# Serial drivers
668#
669# CONFIG_SERIAL_8250 is not set
670
671#
672# Non-8250 serial port support
673#
674CONFIG_SERIAL_AMBA_PL011=y
675CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
676CONFIG_SERIAL_CORE=y
677CONFIG_SERIAL_CORE_CONSOLE=y
678# CONFIG_SERIAL_JSM is not set
679CONFIG_UNIX98_PTYS=y
680# CONFIG_LEGACY_PTYS is not set
681
682#
683# IPMI
684#
685# CONFIG_IPMI_HANDLER is not set
686
687#
688# Watchdog Cards
689#
690# CONFIG_WATCHDOG is not set
691# CONFIG_NVRAM is not set
692# CONFIG_DTLK is not set
693# CONFIG_R3964 is not set
694# CONFIG_APPLICOM is not set
695
696#
697# Ftape, the floppy tape device driver
698#
699# CONFIG_DRM is not set
700# CONFIG_RAW_DRIVER is not set
701
702#
703# TPM devices
704#
705# CONFIG_TCG_TPM is not set
706# CONFIG_TELCLOCK is not set
707
708#
709# I2C support
710#
711# CONFIG_I2C is not set
712
713#
714# SPI support
715#
716# CONFIG_SPI is not set
717# CONFIG_SPI_MASTER is not set
718
719#
720# Dallas's 1-wire bus
721#
722# CONFIG_W1 is not set
723
724#
725# Hardware Monitoring support
726#
727CONFIG_HWMON=y
728# CONFIG_HWMON_VID is not set
729# CONFIG_SENSORS_F71805F is not set
730# CONFIG_HWMON_DEBUG_CHIP is not set
731
732#
733# Misc devices
734#
735
736#
737# Multi-Function Devices
738#
739
740#
741# LED devices
742#
743CONFIG_NEW_LEDS=y
744# CONFIG_LEDS_CLASS is not set
745
746#
747# LED drivers
748#
749
750#
751# LED Triggers
752#
753# CONFIG_LEDS_TRIGGERS is not set
754
755#
756# Multimedia devices
757#
758# CONFIG_VIDEO_DEV is not set
759CONFIG_VIDEO_V4L2=y
760
761#
762# Digital Video Broadcasting Devices
763#
764# CONFIG_DVB is not set
765# CONFIG_USB_DABUSB is not set
766
767#
768# Graphics support
769#
770CONFIG_FB=y
771CONFIG_FB_CFB_FILLRECT=y
772CONFIG_FB_CFB_COPYAREA=y
773CONFIG_FB_CFB_IMAGEBLIT=y
774# CONFIG_FB_MACMODES is not set
775CONFIG_FB_FIRMWARE_EDID=y
776CONFIG_FB_MODE_HELPERS=y
777CONFIG_FB_TILEBLITTING=y
778# CONFIG_FB_CIRRUS is not set
779# CONFIG_FB_PM2 is not set
780CONFIG_FB_ARMCLCD=y
781# CONFIG_FB_CYBER2000 is not set
782# CONFIG_FB_ASILIANT is not set
783# CONFIG_FB_IMSTT is not set
784# CONFIG_FB_S1D13XXX is not set
785# CONFIG_FB_NVIDIA is not set
786# CONFIG_FB_RIVA is not set
787# CONFIG_FB_MATROX is not set
788# CONFIG_FB_RADEON is not set
789# CONFIG_FB_ATY128 is not set
790# CONFIG_FB_ATY is not set
791# CONFIG_FB_SAVAGE is not set
792# CONFIG_FB_SIS is not set
793# CONFIG_FB_NEOMAGIC is not set
794# CONFIG_FB_KYRO is not set
795# CONFIG_FB_3DFX is not set
796# CONFIG_FB_VOODOO1 is not set
797# CONFIG_FB_TRIDENT is not set
798# CONFIG_FB_VIRTUAL is not set
799
800#
801# Console display driver support
802#
803CONFIG_DUMMY_CONSOLE=y
804CONFIG_FRAMEBUFFER_CONSOLE=y
805# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
806# CONFIG_FONTS is not set
807CONFIG_FONT_8x8=y
808CONFIG_FONT_8x16=y
809
810#
811# Logo configuration
812#
813CONFIG_LOGO=y
814CONFIG_LOGO_LINUX_MONO=y
815CONFIG_LOGO_LINUX_VGA16=y
816# CONFIG_LOGO_LINUX_CLUT224 is not set
817CONFIG_LOGO_OHAND_CLUT224=y
818# CONFIG_LOGO_OZ240_CLUT224 is not set
819# CONFIG_LOGO_OZ480_CLUT224 is not set
820# CONFIG_LOGO_OZ640_CLUT224 is not set
821# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
822
823#
824# Sound
825#
826# CONFIG_SOUND is not set
827
828#
829# USB support
830#
831CONFIG_USB_ARCH_HAS_HCD=y
832CONFIG_USB_ARCH_HAS_OHCI=y
833CONFIG_USB_ARCH_HAS_EHCI=y
834CONFIG_USB=y
835# CONFIG_USB_DEBUG is not set
836
837#
838# Miscellaneous USB options
839#
840# CONFIG_USB_DEVICEFS is not set
841# CONFIG_USB_BANDWIDTH is not set
842# CONFIG_USB_DYNAMIC_MINORS is not set
843# CONFIG_USB_SUSPEND is not set
844# CONFIG_USB_OTG is not set
845
846#
847# USB Host Controller Drivers
848#
849# CONFIG_USB_EHCI_HCD is not set
850# CONFIG_USB_ISP116X_HCD is not set
851CONFIG_USB_OHCI_HCD=y
852# CONFIG_USB_OHCI_BIG_ENDIAN is not set
853CONFIG_USB_OHCI_LITTLE_ENDIAN=y
854# CONFIG_USB_UHCI_HCD is not set
855# CONFIG_USB_SL811_HCD is not set
856
857#
858# USB Device Class drivers
859#
860# CONFIG_USB_ACM is not set
861# CONFIG_USB_PRINTER is not set
862
863#
864# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
865#
866
867#
868# may also be needed; see USB_STORAGE Help for more information
869#
870# CONFIG_USB_STORAGE is not set
871# CONFIG_USB_LIBUSUAL is not set
872
873#
874# USB Input Devices
875#
876CONFIG_USB_HID=y
877
878#
879# USB HID Boot Protocol drivers
880#
881# CONFIG_USB_KBD is not set
882# CONFIG_USB_MOUSE is not set
883# CONFIG_USB_AIPTEK is not set
884CONFIG_USB_WACOM=y
885# CONFIG_USB_ACECAD is not set
886# CONFIG_USB_KBTAB is not set
887# CONFIG_USB_POWERMATE is not set
888# CONFIG_USB_TOUCHSCREEN is not set
889# CONFIG_USB_YEALINK is not set
890# CONFIG_USB_XPAD is not set
891# CONFIG_USB_ATI_REMOTE is not set
892# CONFIG_USB_ATI_REMOTE2 is not set
893# CONFIG_USB_KEYSPAN_REMOTE is not set
894# CONFIG_USB_APPLETOUCH is not set
895
896#
897# USB Imaging devices
898#
899# CONFIG_USB_MDC800 is not set
900# CONFIG_USB_MICROTEK is not set
901
902#
903# USB Network Adapters
904#
905# CONFIG_USB_CATC is not set
906# CONFIG_USB_KAWETH is not set
907# CONFIG_USB_PEGASUS is not set
908# CONFIG_USB_RTL8150 is not set
909# CONFIG_USB_USBNET is not set
910CONFIG_USB_MON=y
911
912#
913# USB port drivers
914#
915
916#
917# USB Serial Converter support
918#
919# CONFIG_USB_SERIAL is not set
920
921#
922# USB Miscellaneous drivers
923#
924# CONFIG_USB_EMI62 is not set
925# CONFIG_USB_EMI26 is not set
926# CONFIG_USB_AUERSWALD is not set
927# CONFIG_USB_RIO500 is not set
928# CONFIG_USB_LEGOTOWER is not set
929# CONFIG_USB_LCD is not set
930# CONFIG_USB_LED is not set
931# CONFIG_USB_CYTHERM is not set
932# CONFIG_USB_PHIDGETKIT is not set
933# CONFIG_USB_PHIDGETSERVO is not set
934# CONFIG_USB_IDMOUSE is not set
935# CONFIG_USB_LD is not set
936
937#
938# USB DSL modem support
939#
940
941#
942# USB Gadget Support
943#
944# CONFIG_USB_GADGET is not set
945
946#
947# MMC/SD Card support
948#
949# CONFIG_MMC is not set
950
951#
952# Real Time Clock
953#
954CONFIG_RTC_LIB=y
955CONFIG_RTC_CLASS=y
956CONFIG_RTC_HCTOSYS=y
957CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
958
959#
960# RTC interfaces
961#
962CONFIG_RTC_INTF_SYSFS=y
963CONFIG_RTC_INTF_PROC=y
964CONFIG_RTC_INTF_DEV=y
965
966#
967# RTC drivers
968#
969# CONFIG_RTC_DRV_M48T86 is not set
970# CONFIG_RTC_DRV_TEST is not set
971
972#
973# File systems
974#
975CONFIG_EXT2_FS=y
976# CONFIG_EXT2_FS_XATTR is not set
977# CONFIG_EXT2_FS_XIP is not set
978# CONFIG_EXT3_FS is not set
979# CONFIG_REISERFS_FS is not set
980# CONFIG_JFS_FS is not set
981# CONFIG_FS_POSIX_ACL is not set
982# CONFIG_XFS_FS is not set
983# CONFIG_OCFS2_FS is not set
984# CONFIG_MINIX_FS is not set
985# CONFIG_ROMFS_FS is not set
986CONFIG_INOTIFY=y
987# CONFIG_QUOTA is not set
988CONFIG_DNOTIFY=y
989# CONFIG_AUTOFS_FS is not set
990# CONFIG_AUTOFS4_FS is not set
991# CONFIG_FUSE_FS is not set
992
993#
994# CD-ROM/DVD Filesystems
995#
996# CONFIG_ISO9660_FS is not set
997# CONFIG_UDF_FS is not set
998
999#
1000# DOS/FAT/NT Filesystems
1001#
1002# CONFIG_MSDOS_FS is not set
1003# CONFIG_VFAT_FS is not set
1004# CONFIG_NTFS_FS is not set
1005
1006#
1007# Pseudo filesystems
1008#
1009CONFIG_PROC_FS=y
1010CONFIG_SYSFS=y
1011CONFIG_TMPFS=y
1012# CONFIG_HUGETLB_PAGE is not set
1013CONFIG_RAMFS=y
1014# CONFIG_CONFIGFS_FS is not set
1015
1016#
1017# Miscellaneous filesystems
1018#
1019# CONFIG_ADFS_FS is not set
1020# CONFIG_AFFS_FS is not set
1021# CONFIG_HFS_FS is not set
1022# CONFIG_HFSPLUS_FS is not set
1023# CONFIG_BEFS_FS is not set
1024# CONFIG_BFS_FS is not set
1025# CONFIG_EFS_FS is not set
1026# CONFIG_JFFS_FS is not set
1027CONFIG_JFFS2_FS=y
1028CONFIG_JFFS2_FS_DEBUG=0
1029CONFIG_JFFS2_FS_WRITEBUFFER=y
1030# CONFIG_JFFS2_SUMMARY is not set
1031# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
1032CONFIG_JFFS2_ZLIB=y
1033CONFIG_JFFS2_RTIME=y
1034# CONFIG_JFFS2_RUBIN is not set
1035CONFIG_CRAMFS=y
1036# CONFIG_SQUASHFS is not set
1037# CONFIG_VXFS_FS is not set
1038# CONFIG_HPFS_FS is not set
1039# CONFIG_QNX4FS_FS is not set
1040# CONFIG_SYSV_FS is not set
1041# CONFIG_UFS_FS is not set
1042
1043#
1044# Network File Systems
1045#
1046CONFIG_NFS_FS=y
1047CONFIG_NFS_V3=y
1048# CONFIG_NFS_V3_ACL is not set
1049# CONFIG_NFS_V4 is not set
1050# CONFIG_NFS_DIRECTIO is not set
1051CONFIG_NFSD=y
1052CONFIG_NFSD_V3=y
1053# CONFIG_NFSD_V3_ACL is not set
1054# CONFIG_NFSD_V4 is not set
1055# CONFIG_NFSD_TCP is not set
1056CONFIG_ROOT_NFS=y
1057CONFIG_LOCKD=y
1058CONFIG_LOCKD_V4=y
1059CONFIG_EXPORTFS=y
1060CONFIG_NFS_COMMON=y
1061CONFIG_SUNRPC=y
1062# CONFIG_RPCSEC_GSS_KRB5 is not set
1063# CONFIG_RPCSEC_GSS_SPKM3 is not set
1064CONFIG_SMB_FS=y
1065# CONFIG_SMB_NLS_DEFAULT is not set
1066# CONFIG_CIFS is not set
1067# CONFIG_NCP_FS is not set
1068# CONFIG_CODA_FS is not set
1069# CONFIG_AFS_FS is not set
1070# CONFIG_9P_FS is not set
1071
1072#
1073# Partition Types
1074#
1075CONFIG_PARTITION_ADVANCED=y
1076# CONFIG_ACORN_PARTITION is not set
1077# CONFIG_OSF_PARTITION is not set
1078# CONFIG_AMIGA_PARTITION is not set
1079# CONFIG_ATARI_PARTITION is not set
1080# CONFIG_MAC_PARTITION is not set
1081CONFIG_MSDOS_PARTITION=y
1082# CONFIG_BSD_DISKLABEL is not set
1083# CONFIG_MINIX_SUBPARTITION is not set
1084# CONFIG_SOLARIS_X86_PARTITION is not set
1085# CONFIG_UNIXWARE_DISKLABEL is not set
1086# CONFIG_LDM_PARTITION is not set
1087# CONFIG_SGI_PARTITION is not set
1088# CONFIG_ULTRIX_PARTITION is not set
1089# CONFIG_SUN_PARTITION is not set
1090# CONFIG_KARMA_PARTITION is not set
1091# CONFIG_EFI_PARTITION is not set
1092
1093#
1094# Native Language Support
1095#
1096CONFIG_NLS=y
1097CONFIG_NLS_DEFAULT="iso8859-1"
1098# CONFIG_NLS_CODEPAGE_437 is not set
1099# CONFIG_NLS_CODEPAGE_737 is not set
1100# CONFIG_NLS_CODEPAGE_775 is not set
1101# CONFIG_NLS_CODEPAGE_850 is not set
1102# CONFIG_NLS_CODEPAGE_852 is not set
1103# CONFIG_NLS_CODEPAGE_855 is not set
1104# CONFIG_NLS_CODEPAGE_857 is not set
1105# CONFIG_NLS_CODEPAGE_860 is not set
1106# CONFIG_NLS_CODEPAGE_861 is not set
1107# CONFIG_NLS_CODEPAGE_862 is not set
1108# CONFIG_NLS_CODEPAGE_863 is not set
1109# CONFIG_NLS_CODEPAGE_864 is not set
1110# CONFIG_NLS_CODEPAGE_865 is not set
1111# CONFIG_NLS_CODEPAGE_866 is not set
1112# CONFIG_NLS_CODEPAGE_869 is not set
1113# CONFIG_NLS_CODEPAGE_936 is not set
1114# CONFIG_NLS_CODEPAGE_950 is not set
1115# CONFIG_NLS_CODEPAGE_932 is not set
1116# CONFIG_NLS_CODEPAGE_949 is not set
1117# CONFIG_NLS_CODEPAGE_874 is not set
1118# CONFIG_NLS_ISO8859_8 is not set
1119# CONFIG_NLS_CODEPAGE_1250 is not set
1120# CONFIG_NLS_CODEPAGE_1251 is not set
1121# CONFIG_NLS_ASCII is not set
1122# CONFIG_NLS_ISO8859_1 is not set
1123# CONFIG_NLS_ISO8859_2 is not set
1124# CONFIG_NLS_ISO8859_3 is not set
1125# CONFIG_NLS_ISO8859_4 is not set
1126# CONFIG_NLS_ISO8859_5 is not set
1127# CONFIG_NLS_ISO8859_6 is not set
1128# CONFIG_NLS_ISO8859_7 is not set
1129# CONFIG_NLS_ISO8859_9 is not set
1130# CONFIG_NLS_ISO8859_13 is not set
1131# CONFIG_NLS_ISO8859_14 is not set
1132# CONFIG_NLS_ISO8859_15 is not set
1133# CONFIG_NLS_KOI8_R is not set
1134# CONFIG_NLS_KOI8_U is not set
1135# CONFIG_NLS_UTF8 is not set
1136
1137#
1138# Profiling support
1139#
1140CONFIG_PROFILING=y
1141CONFIG_OPROFILE=m
1142
1143#
1144# Kernel hacking
1145#
1146# CONFIG_PRINTK_TIME is not set
1147CONFIG_MAGIC_SYSRQ=y
1148CONFIG_DEBUG_KERNEL=y
1149CONFIG_LOG_BUF_SHIFT=14
1150CONFIG_DETECT_SOFTLOCKUP=y
1151# CONFIG_SCHEDSTATS is not set
1152# CONFIG_DEBUG_SLAB is not set
1153# CONFIG_DEBUG_MUTEXES is not set
1154# CONFIG_DEBUG_SPINLOCK is not set
1155# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1156# CONFIG_DEBUG_KOBJECT is not set
1157CONFIG_DEBUG_BUGVERBOSE=y
1158CONFIG_DEBUG_INFO=y
1159# CONFIG_DEBUG_FS is not set
1160# CONFIG_DEBUG_VM is not set
1161CONFIG_FRAME_POINTER=y
1162# CONFIG_UNWIND_INFO is not set
1163CONFIG_FORCED_INLINING=y
1164# CONFIG_RCU_TORTURE_TEST is not set
1165# CONFIG_DEBUG_USER is not set
1166# CONFIG_DEBUG_WAITQ is not set
1167CONFIG_DEBUG_ERRORS=y
1168# CONFIG_DEBUG_LL is not set
1169
1170#
1171# Security options
1172#
1173# CONFIG_KEYS is not set
1174# CONFIG_SECURITY is not set
1175
1176#
1177# Cryptographic options
1178#
1179# CONFIG_CRYPTO is not set
1180
1181#
1182# Hardware crypto devices
1183#
1184
1185#
1186# Library routines
1187#
1188# CONFIG_CRC_CCITT is not set
1189# CONFIG_CRC16 is not set
1190CONFIG_CRC32=y
1191# CONFIG_LIBCRC32C is not set
1192CONFIG_ZLIB_INFLATE=y
1193CONFIG_ZLIB_DEFLATE=y
diff --git a/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-qemux86 b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-qemux86
new file mode 100644
index 0000000000..fb66874b90
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-qemux86
@@ -0,0 +1,1566 @@
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
42# CONFIG_EMBEDDED is not set
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#
815CONFIG_INPUT_MOUSEDEV=y
816CONFIG_INPUT_MOUSEDEV_PSAUX=y
817CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
818CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
819# CONFIG_INPUT_JOYDEV is not set
820# CONFIG_INPUT_TSDEV is not set
821# CONFIG_INPUT_EVDEV is not set
822# CONFIG_INPUT_EVBUG is not set
823# CONFIG_INPUT_POWER is not set
824
825#
826# Input Device Drivers
827#
828CONFIG_INPUT_KEYBOARD=y
829CONFIG_KEYBOARD_ATKBD=y
830# CONFIG_KEYBOARD_SUNKBD is not set
831# CONFIG_KEYBOARD_LKKBD is not set
832# CONFIG_KEYBOARD_XTKBD is not set
833# CONFIG_KEYBOARD_NEWTON is not set
834CONFIG_INPUT_MOUSE=y
835CONFIG_MOUSE_PS2=y
836# CONFIG_MOUSE_SERIAL is not set
837# CONFIG_MOUSE_INPORT is not set
838# CONFIG_MOUSE_LOGIBM is not set
839# CONFIG_MOUSE_PC110PAD is not set
840# CONFIG_MOUSE_VSXXXAA is not set
841# CONFIG_INPUT_JOYSTICK is not set
842# CONFIG_INPUT_TOUCHSCREEN is not set
843# CONFIG_INPUT_MISC is not set
844
845#
846# Hardware I/O ports
847#
848CONFIG_SERIO=y
849CONFIG_SERIO_I8042=y
850# CONFIG_SERIO_SERPORT is not set
851# CONFIG_SERIO_CT82C710 is not set
852# CONFIG_SERIO_PARKBD is not set
853# CONFIG_SERIO_PCIPS2 is not set
854CONFIG_SERIO_LIBPS2=y
855# CONFIG_SERIO_RAW is not set
856# CONFIG_GAMEPORT is not set
857
858#
859# Character devices
860#
861CONFIG_VT=y
862CONFIG_VT_CONSOLE=y
863CONFIG_HW_CONSOLE=y
864# CONFIG_SERIAL_NONSTANDARD is not set
865
866#
867# Serial drivers
868#
869CONFIG_SERIAL_8250=y
870# CONFIG_SERIAL_8250_CONSOLE is not set
871CONFIG_SERIAL_8250_PCI=y
872CONFIG_SERIAL_8250_PNP=y
873CONFIG_SERIAL_8250_NR_UARTS=4
874CONFIG_SERIAL_8250_RUNTIME_UARTS=4
875# CONFIG_SERIAL_8250_EXTENDED is not set
876
877#
878# Non-8250 serial port support
879#
880CONFIG_SERIAL_CORE=y
881# CONFIG_SERIAL_JSM is not set
882CONFIG_UNIX98_PTYS=y
883CONFIG_LEGACY_PTYS=y
884CONFIG_LEGACY_PTY_COUNT=256
885CONFIG_PRINTER=y
886# CONFIG_LP_CONSOLE is not set
887# CONFIG_PPDEV is not set
888# CONFIG_TIPAR is not set
889
890#
891# IPMI
892#
893# CONFIG_IPMI_HANDLER is not set
894
895#
896# Watchdog Cards
897#
898# CONFIG_WATCHDOG is not set
899# CONFIG_HW_RANDOM is not set
900# CONFIG_NVRAM is not set
901# CONFIG_RTC is not set
902# CONFIG_GEN_RTC is not set
903# CONFIG_DTLK is not set
904# CONFIG_R3964 is not set
905# CONFIG_APPLICOM is not set
906# CONFIG_SONYPI is not set
907
908#
909# Ftape, the floppy tape device driver
910#
911CONFIG_AGP=y
912# CONFIG_AGP_ALI is not set
913# CONFIG_AGP_ATI is not set
914# CONFIG_AGP_AMD is not set
915# CONFIG_AGP_AMD64 is not set
916CONFIG_AGP_INTEL=y
917# CONFIG_AGP_NVIDIA is not set
918# CONFIG_AGP_SIS is not set
919# CONFIG_AGP_SWORKS is not set
920# CONFIG_AGP_VIA is not set
921# CONFIG_AGP_EFFICEON is not set
922CONFIG_DRM=y
923# CONFIG_DRM_TDFX is not set
924# CONFIG_DRM_R128 is not set
925# CONFIG_DRM_RADEON is not set
926# CONFIG_DRM_I810 is not set
927# CONFIG_DRM_I830 is not set
928# CONFIG_DRM_I915 is not set
929# CONFIG_DRM_MGA is not set
930# CONFIG_DRM_SIS is not set
931# CONFIG_DRM_VIA is not set
932# CONFIG_DRM_SAVAGE is not set
933# CONFIG_MWAVE is not set
934# CONFIG_CS5535_GPIO is not set
935# CONFIG_RAW_DRIVER is not set
936# CONFIG_HPET is not set
937# CONFIG_HANGCHECK_TIMER is not set
938
939#
940# TPM devices
941#
942# CONFIG_TCG_TPM is not set
943# CONFIG_TELCLOCK is not set
944
945#
946# I2C support
947#
948# CONFIG_I2C is not set
949
950#
951# SPI support
952#
953# CONFIG_SPI is not set
954# CONFIG_SPI_MASTER is not set
955
956#
957# Dallas's 1-wire bus
958#
959# CONFIG_W1 is not set
960
961#
962# Hardware Monitoring support
963#
964CONFIG_HWMON=y
965# CONFIG_HWMON_VID is not set
966# CONFIG_SENSORS_F71805F is not set
967# CONFIG_SENSORS_HDAPS is not set
968# CONFIG_HWMON_DEBUG_CHIP is not set
969
970#
971# Misc devices
972#
973# CONFIG_IBM_ASM is not set
974
975#
976# Multi-Function Devices
977#
978
979#
980# Multimedia devices
981#
982# CONFIG_VIDEO_DEV is not set
983CONFIG_VIDEO_V4L2=y
984
985#
986# Digital Video Broadcasting Devices
987#
988# CONFIG_DVB is not set
989# CONFIG_USB_DABUSB is not set
990
991#
992# Graphics support
993#
994CONFIG_FB=y
995CONFIG_FB_CFB_FILLRECT=y
996CONFIG_FB_CFB_COPYAREA=y
997CONFIG_FB_CFB_IMAGEBLIT=y
998# CONFIG_FB_MACMODES is not set
999CONFIG_FB_FIRMWARE_EDID=y
1000CONFIG_FB_MODE_HELPERS=y
1001# CONFIG_FB_TILEBLITTING is not set
1002# CONFIG_FB_CIRRUS is not set
1003# CONFIG_FB_PM2 is not set
1004# CONFIG_FB_CYBER2000 is not set
1005# CONFIG_FB_ARC is not set
1006# CONFIG_FB_ASILIANT is not set
1007# CONFIG_FB_IMSTT is not set
1008CONFIG_FB_VGA16=y
1009CONFIG_FB_VESA=y
1010# CONFIG_FB_VESA_STD is not set
1011CONFIG_FB_VESA_TNG=y
1012CONFIG_FB_VESA_DEFAULT_MODE="640x480-32@60"
1013CONFIG_VIDEO_SELECT=y
1014# CONFIG_FB_HGA is not set
1015# CONFIG_FB_S1D13XXX is not set
1016# CONFIG_FB_NVIDIA is not set
1017# CONFIG_FB_RIVA is not set
1018# CONFIG_FB_I810 is not set
1019# CONFIG_FB_INTEL is not set
1020# CONFIG_FB_MATROX is not set
1021# CONFIG_FB_RADEON is not set
1022# CONFIG_FB_ATY128 is not set
1023# CONFIG_FB_ATY is not set
1024# CONFIG_FB_SAVAGE is not set
1025# CONFIG_FB_SIS is not set
1026# CONFIG_FB_NEOMAGIC is not set
1027# CONFIG_FB_KYRO is not set
1028# CONFIG_FB_3DFX is not set
1029# CONFIG_FB_VOODOO1 is not set
1030# CONFIG_FB_CYBLA is not set
1031# CONFIG_FB_TRIDENT is not set
1032# CONFIG_FB_GEODE is not set
1033# CONFIG_FB_VIRTUAL is not set
1034
1035#
1036# Console display driver support
1037#
1038CONFIG_VGA_CONSOLE=y
1039# CONFIG_VGACON_SOFT_SCROLLBACK is not set
1040# CONFIG_MDA_CONSOLE is not set
1041CONFIG_DUMMY_CONSOLE=y
1042CONFIG_FRAMEBUFFER_CONSOLE=y
1043# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
1044CONFIG_FONTS=y
1045CONFIG_FONT_8x8=y
1046CONFIG_FONT_8x16=y
1047# CONFIG_FONT_6x11 is not set
1048# CONFIG_FONT_7x14 is not set
1049# CONFIG_FONT_PEARL_8x8 is not set
1050# CONFIG_FONT_ACORN_8x8 is not set
1051# CONFIG_FONT_MINI_4x6 is not set
1052# CONFIG_FONT_SUN8x16 is not set
1053# CONFIG_FONT_SUN12x22 is not set
1054# CONFIG_FONT_10x18 is not set
1055
1056#
1057# Logo configuration
1058#
1059CONFIG_LOGO=y
1060# CONFIG_LOGO_LINUX_MONO is not set
1061# CONFIG_LOGO_LINUX_VGA16 is not set
1062# CONFIG_LOGO_LINUX_CLUT224 is not set
1063CONFIG_LOGO_OHAND_CLUT224=y
1064# CONFIG_LOGO_OZ240_CLUT224 is not set
1065# CONFIG_LOGO_OZ480_CLUT224 is not set
1066# CONFIG_LOGO_OZ640_CLUT224 is not set
1067# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
1068
1069#
1070# Sound
1071#
1072CONFIG_SOUND=y
1073
1074#
1075# Advanced Linux Sound Architecture
1076#
1077CONFIG_SND=y
1078CONFIG_SND_TIMER=y
1079CONFIG_SND_PCM=y
1080CONFIG_SND_SEQUENCER=y
1081# CONFIG_SND_SEQ_DUMMY is not set
1082CONFIG_SND_OSSEMUL=y
1083CONFIG_SND_MIXER_OSS=y
1084CONFIG_SND_PCM_OSS=y
1085CONFIG_SND_PCM_OSS_PLUGINS=y
1086CONFIG_SND_SEQUENCER_OSS=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#
1096CONFIG_SND_AC97_CODEC=y
1097CONFIG_SND_AC97_BUS=y
1098# CONFIG_SND_DUMMY is not set
1099# CONFIG_SND_VIRMIDI is not set
1100# CONFIG_SND_MTPAV is not set
1101# CONFIG_SND_SERIAL_U16550 is not set
1102# CONFIG_SND_MPU401 is not set
1103
1104#
1105# ISA devices
1106#
1107# CONFIG_SND_ADLIB is not set
1108# CONFIG_SND_AD1816A is not set
1109# CONFIG_SND_AD1848 is not set
1110# CONFIG_SND_ALS100 is not set
1111# CONFIG_SND_AZT2320 is not set
1112# CONFIG_SND_CMI8330 is not set
1113# CONFIG_SND_CS4231 is not set
1114# CONFIG_SND_CS4232 is not set
1115# CONFIG_SND_CS4236 is not set
1116# CONFIG_SND_DT019X is not set
1117# CONFIG_SND_ES968 is not set
1118# CONFIG_SND_ES1688 is not set
1119# CONFIG_SND_ES18XX is not set
1120# CONFIG_SND_GUSCLASSIC is not set
1121# CONFIG_SND_GUSEXTREME is not set
1122# CONFIG_SND_GUSMAX is not set
1123# CONFIG_SND_INTERWAVE is not set
1124# CONFIG_SND_INTERWAVE_STB is not set
1125# CONFIG_SND_OPL3SA2 is not set
1126# CONFIG_SND_OPTI92X_AD1848 is not set
1127# CONFIG_SND_OPTI92X_CS4231 is not set
1128# CONFIG_SND_OPTI93X is not set
1129# CONFIG_SND_MIRO is not set
1130# CONFIG_SND_SB8 is not set
1131# CONFIG_SND_SB16 is not set
1132# CONFIG_SND_SBAWE is not set
1133# CONFIG_SND_SGALAXY is not set
1134# CONFIG_SND_SSCAPE is not set
1135# CONFIG_SND_WAVEFRONT is not set
1136
1137#
1138# PCI devices
1139#
1140# CONFIG_SND_AD1889 is not set
1141# CONFIG_SND_ALS300 is not set
1142# CONFIG_SND_ALS4000 is not set
1143# CONFIG_SND_ALI5451 is not set
1144# CONFIG_SND_ATIIXP is not set
1145# CONFIG_SND_ATIIXP_MODEM is not set
1146# CONFIG_SND_AU8810 is not set
1147# CONFIG_SND_AU8820 is not set
1148# CONFIG_SND_AU8830 is not set
1149# CONFIG_SND_AZT3328 is not set
1150# CONFIG_SND_BT87X is not set
1151# CONFIG_SND_CA0106 is not set
1152# CONFIG_SND_CMIPCI is not set
1153# CONFIG_SND_CS4281 is not set
1154# CONFIG_SND_CS46XX is not set
1155# CONFIG_SND_CS5535AUDIO is not set
1156# CONFIG_SND_EMU10K1 is not set
1157# CONFIG_SND_EMU10K1X is not set
1158# CONFIG_SND_ENS1370 is not set
1159# CONFIG_SND_ENS1371 is not set
1160# CONFIG_SND_ES1938 is not set
1161# CONFIG_SND_ES1968 is not set
1162# CONFIG_SND_FM801 is not set
1163# CONFIG_SND_HDA_INTEL is not set
1164# CONFIG_SND_HDSP is not set
1165# CONFIG_SND_HDSPM is not set
1166# CONFIG_SND_ICE1712 is not set
1167# CONFIG_SND_ICE1724 is not set
1168CONFIG_SND_INTEL8X0=y
1169# CONFIG_SND_INTEL8X0M is not set
1170# CONFIG_SND_KORG1212 is not set
1171# CONFIG_SND_MAESTRO3 is not set
1172# CONFIG_SND_MIXART is not set
1173# CONFIG_SND_NM256 is not set
1174# CONFIG_SND_PCXHR is not set
1175# CONFIG_SND_RIPTIDE is not set
1176# CONFIG_SND_RME32 is not set
1177# CONFIG_SND_RME96 is not set
1178# CONFIG_SND_RME9652 is not set
1179# CONFIG_SND_SONICVIBES is not set
1180# CONFIG_SND_TRIDENT is not set
1181# CONFIG_SND_VIA82XX is not set
1182# CONFIG_SND_VIA82XX_MODEM is not set
1183# CONFIG_SND_VX222 is not set
1184# CONFIG_SND_YMFPCI is not set
1185
1186#
1187# USB devices
1188#
1189# CONFIG_SND_USB_AUDIO is not set
1190# CONFIG_SND_USB_USX2Y is not set
1191
1192#
1193# SoC audio support
1194#
1195# CONFIG_SND_SOC is not set
1196
1197#
1198# Open Sound System
1199#
1200# CONFIG_SOUND_PRIME is not set
1201
1202#
1203# USB support
1204#
1205CONFIG_USB_ARCH_HAS_HCD=y
1206CONFIG_USB_ARCH_HAS_OHCI=y
1207CONFIG_USB_ARCH_HAS_EHCI=y
1208CONFIG_USB=y
1209# CONFIG_USB_DEBUG is not set
1210
1211#
1212# Miscellaneous USB options
1213#
1214CONFIG_USB_DEVICEFS=y
1215# CONFIG_USB_BANDWIDTH is not set
1216# CONFIG_USB_DYNAMIC_MINORS is not set
1217# CONFIG_USB_SUSPEND is not set
1218# CONFIG_USB_OTG is not set
1219
1220#
1221# USB Host Controller Drivers
1222#
1223CONFIG_USB_EHCI_HCD=y
1224# CONFIG_USB_EHCI_SPLIT_ISO is not set
1225# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1226# CONFIG_USB_ISP116X_HCD is not set
1227# CONFIG_USB_OHCI_HCD is not set
1228CONFIG_USB_UHCI_HCD=y
1229# CONFIG_USB_SL811_HCD is not set
1230
1231#
1232# USB Device Class drivers
1233#
1234# CONFIG_USB_ACM is not set
1235CONFIG_USB_PRINTER=y
1236
1237#
1238# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1239#
1240
1241#
1242# may also be needed; see USB_STORAGE Help for more information
1243#
1244CONFIG_USB_STORAGE=y
1245# CONFIG_USB_STORAGE_DEBUG is not set
1246# CONFIG_USB_STORAGE_DATAFAB is not set
1247# CONFIG_USB_STORAGE_FREECOM is not set
1248# CONFIG_USB_STORAGE_ISD200 is not set
1249# CONFIG_USB_STORAGE_DPCM is not set
1250# CONFIG_USB_STORAGE_USBAT is not set
1251# CONFIG_USB_STORAGE_SDDR09 is not set
1252# CONFIG_USB_STORAGE_SDDR55 is not set
1253# CONFIG_USB_STORAGE_JUMPSHOT is not set
1254# CONFIG_USB_STORAGE_ALAUDA is not set
1255# CONFIG_USB_LIBUSUAL is not set
1256
1257#
1258# USB Input Devices
1259#
1260CONFIG_USB_HID=y
1261CONFIG_USB_HIDINPUT=y
1262# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1263# CONFIG_HID_FF is not set
1264# CONFIG_USB_HIDDEV is not set
1265# CONFIG_USB_AIPTEK is not set
1266# CONFIG_USB_WACOM is not set
1267# CONFIG_USB_ACECAD is not set
1268# CONFIG_USB_KBTAB is not set
1269# CONFIG_USB_POWERMATE is not set
1270# CONFIG_USB_TOUCHSCREEN is not set
1271# CONFIG_USB_YEALINK is not set
1272# CONFIG_USB_XPAD is not set
1273# CONFIG_USB_ATI_REMOTE is not set
1274# CONFIG_USB_ATI_REMOTE2 is not set
1275# CONFIG_USB_KEYSPAN_REMOTE is not set
1276# CONFIG_USB_APPLETOUCH is not set
1277
1278#
1279# USB Imaging devices
1280#
1281# CONFIG_USB_MDC800 is not set
1282# CONFIG_USB_MICROTEK is not set
1283
1284#
1285# USB Network Adapters
1286#
1287# CONFIG_USB_CATC is not set
1288# CONFIG_USB_KAWETH is not set
1289# CONFIG_USB_PEGASUS is not set
1290# CONFIG_USB_RTL8150 is not set
1291# CONFIG_USB_USBNET is not set
1292CONFIG_USB_MON=y
1293
1294#
1295# USB port drivers
1296#
1297# CONFIG_USB_USS720 is not set
1298
1299#
1300# USB Serial Converter support
1301#
1302# CONFIG_USB_SERIAL is not set
1303
1304#
1305# USB Miscellaneous drivers
1306#
1307# CONFIG_USB_EMI62 is not set
1308# CONFIG_USB_EMI26 is not set
1309# CONFIG_USB_AUERSWALD is not set
1310# CONFIG_USB_RIO500 is not set
1311# CONFIG_USB_LEGOTOWER is not set
1312# CONFIG_USB_LCD is not set
1313# CONFIG_USB_LED is not set
1314CONFIG_USB_CYTHERM=m
1315# CONFIG_USB_PHIDGETKIT is not set
1316CONFIG_USB_PHIDGETSERVO=m
1317# CONFIG_USB_IDMOUSE is not set
1318# CONFIG_USB_SISUSBVGA is not set
1319# CONFIG_USB_LD is not set
1320# CONFIG_USB_TEST is not set
1321
1322#
1323# USB DSL modem support
1324#
1325
1326#
1327# USB Gadget Support
1328#
1329# CONFIG_USB_GADGET is not set
1330
1331#
1332# MMC/SD Card support
1333#
1334# CONFIG_MMC is not set
1335
1336#
1337# LED devices
1338#
1339# CONFIG_NEW_LEDS is not set
1340
1341#
1342# LED drivers
1343#
1344
1345#
1346# LED Triggers
1347#
1348
1349#
1350# InfiniBand support
1351#
1352# CONFIG_INFINIBAND is not set
1353
1354#
1355# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
1356#
1357# CONFIG_EDAC is not set
1358
1359#
1360# Real Time Clock
1361#
1362# CONFIG_RTC_CLASS is not set
1363
1364#
1365# File systems
1366#
1367CONFIG_EXT2_FS=y
1368# CONFIG_EXT2_FS_XATTR is not set
1369# CONFIG_EXT2_FS_XIP is not set
1370CONFIG_EXT3_FS=y
1371CONFIG_EXT3_FS_XATTR=y
1372# CONFIG_EXT3_FS_POSIX_ACL is not set
1373# CONFIG_EXT3_FS_SECURITY is not set
1374CONFIG_JBD=y
1375# CONFIG_JBD_DEBUG is not set
1376CONFIG_FS_MBCACHE=y
1377# CONFIG_REISERFS_FS is not set
1378# CONFIG_JFS_FS is not set
1379# CONFIG_FS_POSIX_ACL is not set
1380# CONFIG_XFS_FS is not set
1381# CONFIG_OCFS2_FS is not set
1382# CONFIG_MINIX_FS is not set
1383# CONFIG_ROMFS_FS is not set
1384CONFIG_INOTIFY=y
1385# CONFIG_QUOTA is not set
1386CONFIG_DNOTIFY=y
1387# CONFIG_AUTOFS_FS is not set
1388CONFIG_AUTOFS4_FS=y
1389# CONFIG_FUSE_FS is not set
1390
1391#
1392# CD-ROM/DVD Filesystems
1393#
1394CONFIG_ISO9660_FS=y
1395CONFIG_JOLIET=y
1396# CONFIG_ZISOFS is not set
1397CONFIG_UDF_FS=y
1398CONFIG_UDF_NLS=y
1399
1400#
1401# DOS/FAT/NT Filesystems
1402#
1403CONFIG_FAT_FS=y
1404CONFIG_MSDOS_FS=y
1405CONFIG_VFAT_FS=y
1406CONFIG_FAT_DEFAULT_CODEPAGE=437
1407CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1408# CONFIG_NTFS_FS is not set
1409
1410#
1411# Pseudo filesystems
1412#
1413CONFIG_PROC_FS=y
1414CONFIG_PROC_KCORE=y
1415CONFIG_SYSFS=y
1416CONFIG_TMPFS=y
1417# CONFIG_HUGETLBFS is not set
1418# CONFIG_HUGETLB_PAGE is not set
1419CONFIG_RAMFS=y
1420# CONFIG_CONFIGFS_FS is not set
1421
1422#
1423# Miscellaneous filesystems
1424#
1425# CONFIG_ADFS_FS is not set
1426# CONFIG_AFFS_FS is not set
1427# CONFIG_HFS_FS is not set
1428# CONFIG_HFSPLUS_FS is not set
1429# CONFIG_BEFS_FS is not set
1430# CONFIG_BFS_FS is not set
1431# CONFIG_EFS_FS is not set
1432# CONFIG_CRAMFS is not set
1433# CONFIG_SQUASHFS is not set
1434# CONFIG_VXFS_FS is not set
1435# CONFIG_HPFS_FS is not set
1436# CONFIG_QNX4FS_FS is not set
1437# CONFIG_SYSV_FS is not set
1438# CONFIG_UFS_FS is not set
1439
1440#
1441# Network File Systems
1442#
1443CONFIG_NFS_FS=y
1444# CONFIG_NFS_V3 is not set
1445# CONFIG_NFS_V4 is not set
1446# CONFIG_NFS_DIRECTIO is not set
1447CONFIG_NFSD=y
1448# CONFIG_NFSD_V3 is not set
1449CONFIG_NFSD_TCP=y
1450CONFIG_ROOT_NFS=y
1451CONFIG_LOCKD=y
1452CONFIG_EXPORTFS=y
1453CONFIG_NFS_COMMON=y
1454CONFIG_SUNRPC=y
1455# CONFIG_RPCSEC_GSS_KRB5 is not set
1456# CONFIG_RPCSEC_GSS_SPKM3 is not set
1457# CONFIG_SMB_FS is not set
1458# CONFIG_CIFS is not set
1459# CONFIG_NCP_FS is not set
1460# CONFIG_CODA_FS is not set
1461# CONFIG_AFS_FS is not set
1462# CONFIG_9P_FS is not set
1463
1464#
1465# Partition Types
1466#
1467# CONFIG_PARTITION_ADVANCED is not set
1468CONFIG_MSDOS_PARTITION=y
1469
1470#
1471# Native Language Support
1472#
1473CONFIG_NLS=y
1474CONFIG_NLS_DEFAULT="iso8859-1"
1475CONFIG_NLS_CODEPAGE_437=y
1476# CONFIG_NLS_CODEPAGE_737 is not set
1477# CONFIG_NLS_CODEPAGE_775 is not set
1478# CONFIG_NLS_CODEPAGE_850 is not set
1479# CONFIG_NLS_CODEPAGE_852 is not set
1480# CONFIG_NLS_CODEPAGE_855 is not set
1481# CONFIG_NLS_CODEPAGE_857 is not set
1482# CONFIG_NLS_CODEPAGE_860 is not set
1483# CONFIG_NLS_CODEPAGE_861 is not set
1484# CONFIG_NLS_CODEPAGE_862 is not set
1485# CONFIG_NLS_CODEPAGE_863 is not set
1486# CONFIG_NLS_CODEPAGE_864 is not set
1487# CONFIG_NLS_CODEPAGE_865 is not set
1488# CONFIG_NLS_CODEPAGE_866 is not set
1489# CONFIG_NLS_CODEPAGE_869 is not set
1490# CONFIG_NLS_CODEPAGE_936 is not set
1491# CONFIG_NLS_CODEPAGE_950 is not set
1492# CONFIG_NLS_CODEPAGE_932 is not set
1493# CONFIG_NLS_CODEPAGE_949 is not set
1494# CONFIG_NLS_CODEPAGE_874 is not set
1495# CONFIG_NLS_ISO8859_8 is not set
1496# CONFIG_NLS_CODEPAGE_1250 is not set
1497# CONFIG_NLS_CODEPAGE_1251 is not set
1498# CONFIG_NLS_ASCII is not set
1499CONFIG_NLS_ISO8859_1=y
1500# CONFIG_NLS_ISO8859_2 is not set
1501# CONFIG_NLS_ISO8859_3 is not set
1502# CONFIG_NLS_ISO8859_4 is not set
1503# CONFIG_NLS_ISO8859_5 is not set
1504# CONFIG_NLS_ISO8859_6 is not set
1505# CONFIG_NLS_ISO8859_7 is not set
1506# CONFIG_NLS_ISO8859_9 is not set
1507# CONFIG_NLS_ISO8859_13 is not set
1508# CONFIG_NLS_ISO8859_14 is not set
1509# CONFIG_NLS_ISO8859_15 is not set
1510# CONFIG_NLS_KOI8_R is not set
1511# CONFIG_NLS_KOI8_U is not set
1512# CONFIG_NLS_UTF8 is not set
1513
1514#
1515# Instrumentation Support
1516#
1517CONFIG_PROFILING=y
1518CONFIG_OPROFILE=y
1519# CONFIG_KPROBES is not set
1520
1521#
1522# Kernel hacking
1523#
1524# CONFIG_PRINTK_TIME is not set
1525# CONFIG_MAGIC_SYSRQ is not set
1526# CONFIG_DEBUG_KERNEL is not set
1527CONFIG_LOG_BUF_SHIFT=15
1528CONFIG_DEBUG_BUGVERBOSE=y
1529# CONFIG_DEBUG_FS is not set
1530# CONFIG_UNWIND_INFO is not set
1531CONFIG_EARLY_PRINTK=y
1532CONFIG_STACK_BACKTRACE_COLS=2
1533CONFIG_X86_FIND_SMP_CONFIG=y
1534CONFIG_X86_MPPARSE=y
1535CONFIG_DOUBLEFAULT=y
1536
1537#
1538# Security options
1539#
1540# CONFIG_KEYS is not set
1541# CONFIG_SECURITY is not set
1542
1543#
1544# Cryptographic options
1545#
1546# CONFIG_CRYPTO is not set
1547
1548#
1549# Hardware crypto devices
1550#
1551
1552#
1553# Library routines
1554#
1555# CONFIG_CRC_CCITT is not set
1556# CONFIG_CRC16 is not set
1557CONFIG_CRC32=y
1558CONFIG_LIBCRC32C=m
1559CONFIG_GENERIC_HARDIRQS=y
1560CONFIG_GENERIC_IRQ_PROBE=y
1561CONFIG_GENERIC_PENDING_IRQ=y
1562CONFIG_X86_SMP=y
1563CONFIG_X86_HT=y
1564CONFIG_X86_BIOS_REBOOT=y
1565CONFIG_X86_TRAMPOLINE=y
1566CONFIG_KTIME_SCALAR=y
diff --git a/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-spitz b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-spitz
new file mode 100644
index 0000000000..824fd57aaa
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-spitz
@@ -0,0 +1,1603 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.17
4# Sun Sep 3 23:29:17 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
122# CONFIG_PXA_SHARPSL_25x is not set
123CONFIG_PXA_SHARPSL_27x=y
124CONFIG_MACH_AKITA=y
125CONFIG_MACH_SPITZ=y
126CONFIG_MACH_BORZOI=y
127CONFIG_PXA27x=y
128# CONFIG_PXA_KEYS is not set
129CONFIG_IWMMXT=y
130CONFIG_PXA_SHARP_Cxx00=y
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_PARAM=y
150CONFIG_SHARPSL_PM=y
151CONFIG_SHARP_SCOOP=y
152
153#
154# Bus support
155#
156
157#
158# PCCARD (PCMCIA/CardBus) support
159#
160CONFIG_PCCARD=y
161# CONFIG_PCMCIA_DEBUG is not set
162CONFIG_PCMCIA=y
163CONFIG_PCMCIA_LOAD_CIS=y
164CONFIG_PCMCIA_IOCTL=y
165
166#
167# PC-card bridges
168#
169CONFIG_PCMCIA_PXA2XX=y
170
171#
172# Kernel Features
173#
174CONFIG_PREEMPT=y
175CONFIG_NO_IDLE_HZ=y
176CONFIG_HZ=100
177# CONFIG_AEABI is not set
178# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
179CONFIG_SELECT_MEMORY_MODEL=y
180CONFIG_FLATMEM_MANUAL=y
181# CONFIG_DISCONTIGMEM_MANUAL is not set
182# CONFIG_SPARSEMEM_MANUAL is not set
183CONFIG_FLATMEM=y
184CONFIG_FLAT_NODE_MEM_MAP=y
185# CONFIG_SPARSEMEM_STATIC is not set
186CONFIG_SPLIT_PTLOCK_CPUS=4096
187CONFIG_ALIGNMENT_TRAP=y
188
189#
190# Boot options
191#
192CONFIG_ZBOOT_ROM_TEXT=0x0
193CONFIG_ZBOOT_ROM_BSS=0x0
194CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/hda1 rootfstype=ext3 rw fbcon=rotate:1 dyntick=enable debug"
195# CONFIG_XIP_KERNEL is not set
196
197#
198# CPU Frequency scaling
199#
200# CONFIG_CPU_FREQ is not set
201
202#
203# Floating point emulation
204#
205
206#
207# At least one emulation must be selected
208#
209CONFIG_FPE_NWFPE=y
210# CONFIG_FPE_NWFPE_XP is not set
211# CONFIG_FPE_FASTFPE is not set
212
213#
214# Userspace binary formats
215#
216CONFIG_BINFMT_ELF=y
217CONFIG_BINFMT_AOUT=m
218CONFIG_BINFMT_MISC=m
219# CONFIG_ARTHUR is not set
220
221#
222# Power management options
223#
224CONFIG_PM=y
225# CONFIG_PM_LEGACY is not set
226# CONFIG_PM_DEBUG is not set
227CONFIG_APM=y
228
229#
230# Networking
231#
232CONFIG_NET=y
233
234#
235# Networking options
236#
237# CONFIG_NETDEBUG is not set
238CONFIG_PACKET=y
239CONFIG_PACKET_MMAP=y
240CONFIG_UNIX=y
241CONFIG_XFRM=y
242# CONFIG_XFRM_USER is not set
243# CONFIG_NET_KEY is not set
244CONFIG_INET=y
245# CONFIG_IP_MULTICAST is not set
246# CONFIG_IP_ADVANCED_ROUTER is not set
247CONFIG_IP_FIB_HASH=y
248# CONFIG_IP_PNP is not set
249# CONFIG_NET_IPIP is not set
250# CONFIG_NET_IPGRE is not set
251# CONFIG_ARPD is not set
252CONFIG_SYN_COOKIES=y
253# CONFIG_INET_AH is not set
254# CONFIG_INET_ESP is not set
255# CONFIG_INET_IPCOMP is not set
256# CONFIG_INET_XFRM_TUNNEL is not set
257# CONFIG_INET_TUNNEL is not set
258CONFIG_INET_DIAG=m
259CONFIG_INET_TCP_DIAG=m
260# CONFIG_TCP_CONG_ADVANCED is not set
261CONFIG_TCP_CONG_BIC=y
262
263#
264# IP: Virtual Server Configuration
265#
266# CONFIG_IP_VS is not set
267CONFIG_IPV6=m
268# CONFIG_IPV6_PRIVACY is not set
269# CONFIG_IPV6_ROUTER_PREF is not set
270CONFIG_INET6_AH=m
271CONFIG_INET6_ESP=m
272CONFIG_INET6_IPCOMP=m
273CONFIG_INET6_XFRM_TUNNEL=m
274CONFIG_INET6_TUNNEL=m
275CONFIG_IPV6_TUNNEL=m
276CONFIG_NETFILTER=y
277# CONFIG_NETFILTER_DEBUG is not set
278
279#
280# Core Netfilter Configuration
281#
282# CONFIG_NETFILTER_NETLINK is not set
283# CONFIG_NETFILTER_XTABLES is not set
284
285#
286# IP: Netfilter Configuration
287#
288CONFIG_IP_NF_CONNTRACK=m
289# CONFIG_IP_NF_CT_ACCT is not set
290# CONFIG_IP_NF_CONNTRACK_MARK is not set
291# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
292CONFIG_IP_NF_CT_PROTO_SCTP=m
293CONFIG_IP_NF_FTP=m
294CONFIG_IP_NF_IRC=m
295# CONFIG_IP_NF_NETBIOS_NS is not set
296CONFIG_IP_NF_TFTP=m
297CONFIG_IP_NF_AMANDA=m
298# CONFIG_IP_NF_PPTP is not set
299# CONFIG_IP_NF_H323 is not set
300CONFIG_IP_NF_QUEUE=m
301
302#
303# IPv6: Netfilter Configuration (EXPERIMENTAL)
304#
305# CONFIG_IP6_NF_QUEUE is not set
306
307#
308# DCCP Configuration (EXPERIMENTAL)
309#
310# CONFIG_IP_DCCP is not set
311
312#
313# SCTP Configuration (EXPERIMENTAL)
314#
315# CONFIG_IP_SCTP is not set
316
317#
318# TIPC Configuration (EXPERIMENTAL)
319#
320# CONFIG_TIPC is not set
321# CONFIG_ATM is not set
322# CONFIG_BRIDGE is not set
323# CONFIG_VLAN_8021Q is not set
324# CONFIG_DECNET is not set
325# CONFIG_LLC2 is not set
326# CONFIG_IPX is not set
327# CONFIG_ATALK is not set
328# CONFIG_X25 is not set
329# CONFIG_LAPB is not set
330# CONFIG_NET_DIVERT is not set
331# CONFIG_ECONET is not set
332# CONFIG_WAN_ROUTER is not set
333
334#
335# QoS and/or fair queueing
336#
337# CONFIG_NET_SCHED is not set
338
339#
340# Network testing
341#
342# CONFIG_NET_PKTGEN is not set
343# CONFIG_HAMRADIO is not set
344CONFIG_IRDA=m
345
346#
347# IrDA protocols
348#
349CONFIG_IRLAN=m
350CONFIG_IRNET=m
351CONFIG_IRCOMM=m
352# CONFIG_IRDA_ULTRA is not set
353
354#
355# IrDA options
356#
357# CONFIG_IRDA_CACHE_LAST_LSAP is not set
358# CONFIG_IRDA_FAST_RR is not set
359# CONFIG_IRDA_DEBUG is not set
360
361#
362# Infrared-port device drivers
363#
364
365#
366# SIR device drivers
367#
368# CONFIG_IRTTY_SIR is not set
369
370#
371# Dongle support
372#
373
374#
375# Old SIR device drivers
376#
377# CONFIG_IRPORT_SIR is not set
378
379#
380# Old Serial dongle support
381#
382
383#
384# FIR device drivers
385#
386# CONFIG_USB_IRDA is not set
387# CONFIG_SIGMATEL_FIR is not set
388CONFIG_PXA_FICP=m
389CONFIG_BT=m
390CONFIG_BT_L2CAP=m
391CONFIG_BT_SCO=m
392CONFIG_BT_RFCOMM=m
393CONFIG_BT_RFCOMM_TTY=y
394CONFIG_BT_BNEP=m
395CONFIG_BT_BNEP_MC_FILTER=y
396CONFIG_BT_BNEP_PROTO_FILTER=y
397CONFIG_BT_HIDP=m
398
399#
400# Bluetooth device drivers
401#
402CONFIG_BT_HCIUSB=m
403# CONFIG_BT_HCIUSB_SCO is not set
404CONFIG_BT_HCIUART=m
405CONFIG_BT_HCIUART_H4=y
406CONFIG_BT_HCIUART_BCSP=y
407CONFIG_BT_HCIBCM203X=m
408CONFIG_BT_HCIBPA10X=m
409CONFIG_BT_HCIBFUSB=m
410CONFIG_BT_HCIDTL1=m
411CONFIG_BT_HCIBT3C=m
412CONFIG_BT_HCIBLUECARD=m
413CONFIG_BT_HCIBTUART=m
414CONFIG_BT_HCIVHCI=m
415CONFIG_IEEE80211=m
416# CONFIG_IEEE80211_DEBUG is not set
417CONFIG_IEEE80211_CRYPT_WEP=m
418CONFIG_IEEE80211_CRYPT_CCMP=m
419CONFIG_IEEE80211_CRYPT_TKIP=m
420# CONFIG_IEEE80211_SOFTMAC is not set
421CONFIG_WIRELESS_EXT=y
422
423#
424# Device Drivers
425#
426
427#
428# Generic Driver Options
429#
430CONFIG_STANDALONE=y
431CONFIG_PREVENT_FIRMWARE_BUILD=y
432CONFIG_FW_LOADER=y
433# CONFIG_DEBUG_DRIVER is not set
434
435#
436# Connector - unified userspace <-> kernelspace linker
437#
438# CONFIG_CONNECTOR is not set
439
440#
441# Memory Technology Devices (MTD)
442#
443CONFIG_MTD=y
444# CONFIG_MTD_DEBUG is not set
445# CONFIG_MTD_CONCAT is not set
446CONFIG_MTD_PARTITIONS=y
447# CONFIG_MTD_REDBOOT_PARTS is not set
448CONFIG_MTD_CMDLINE_PARTS=y
449# CONFIG_MTD_AFS_PARTS is not set
450
451#
452# User Modules And Translation Layers
453#
454CONFIG_MTD_CHAR=y
455CONFIG_MTD_BLOCK=y
456# CONFIG_FTL is not set
457# CONFIG_NFTL is not set
458# CONFIG_INFTL is not set
459# CONFIG_RFD_FTL is not set
460
461#
462# RAM/ROM/Flash chip drivers
463#
464# CONFIG_MTD_CFI is not set
465# CONFIG_MTD_JEDECPROBE is not set
466CONFIG_MTD_MAP_BANK_WIDTH_1=y
467CONFIG_MTD_MAP_BANK_WIDTH_2=y
468CONFIG_MTD_MAP_BANK_WIDTH_4=y
469# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
470# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
471# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
472CONFIG_MTD_CFI_I1=y
473CONFIG_MTD_CFI_I2=y
474# CONFIG_MTD_CFI_I4 is not set
475# CONFIG_MTD_CFI_I8 is not set
476# CONFIG_MTD_RAM is not set
477CONFIG_MTD_ROM=y
478# CONFIG_MTD_ABSENT is not set
479# CONFIG_MTD_OBSOLETE_CHIPS is not set
480
481#
482# Mapping drivers for chip access
483#
484CONFIG_MTD_COMPLEX_MAPPINGS=y
485CONFIG_MTD_SHARP_SL=y
486# CONFIG_MTD_PLATRAM is not set
487
488#
489# Self-contained MTD device drivers
490#
491# CONFIG_MTD_SLRAM is not set
492# CONFIG_MTD_PHRAM is not set
493# CONFIG_MTD_MTDRAM is not set
494# CONFIG_MTD_BLOCK2MTD is not set
495
496#
497# Disk-On-Chip Device Drivers
498#
499# CONFIG_MTD_DOC2000 is not set
500# CONFIG_MTD_DOC2001 is not set
501# CONFIG_MTD_DOC2001PLUS is not set
502
503#
504# NAND Flash Device Drivers
505#
506CONFIG_MTD_NAND=y
507CONFIG_MTD_NAND_VERIFY_WRITE=y
508# CONFIG_MTD_NAND_H1900 is not set
509CONFIG_MTD_NAND_IDS=y
510# CONFIG_MTD_NAND_DISKONCHIP is not set
511CONFIG_MTD_NAND_SHARPSL=y
512# CONFIG_MTD_NAND_NANDSIM is not set
513
514#
515# OneNAND Flash Device Drivers
516#
517# CONFIG_MTD_ONENAND is not set
518
519#
520# Parallel port support
521#
522# CONFIG_PARPORT is not set
523
524#
525# Plug and Play support
526#
527
528#
529# Block devices
530#
531# CONFIG_BLK_DEV_COW_COMMON is not set
532CONFIG_BLK_DEV_LOOP=y
533# CONFIG_BLK_DEV_CRYPTOLOOP is not set
534# CONFIG_BLK_DEV_NBD is not set
535# CONFIG_BLK_DEV_UB is not set
536# CONFIG_BLK_DEV_RAM is not set
537# CONFIG_BLK_DEV_INITRD is not set
538# CONFIG_CDROM_PKTCDVD is not set
539# CONFIG_ATA_OVER_ETH is not set
540
541#
542# ATA/ATAPI/MFM/RLL support
543#
544CONFIG_IDE=y
545CONFIG_BLK_DEV_IDE=y
546
547#
548# Please see Documentation/ide.txt for help/info on IDE drives
549#
550# CONFIG_BLK_DEV_IDE_SATA is not set
551CONFIG_BLK_DEV_IDEDISK=y
552# CONFIG_IDEDISK_MULTI_MODE is not set
553CONFIG_BLK_DEV_IDECS=y
554# CONFIG_BLK_DEV_IDECD is not set
555# CONFIG_BLK_DEV_IDETAPE is not set
556# CONFIG_BLK_DEV_IDEFLOPPY is not set
557# CONFIG_BLK_DEV_IDESCSI is not set
558# CONFIG_IDE_TASK_IOCTL is not set
559
560#
561# IDE chipset support/bugfixes
562#
563CONFIG_IDE_GENERIC=y
564# CONFIG_IDE_ARM 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_SATA is not set
607# CONFIG_SCSI_DEBUG is not set
608
609#
610# PCMCIA SCSI adapter support
611#
612# CONFIG_PCMCIA_AHA152X is not set
613# CONFIG_PCMCIA_FDOMAIN is not set
614# CONFIG_PCMCIA_NINJA_SCSI is not set
615# CONFIG_PCMCIA_QLOGIC is not set
616# CONFIG_PCMCIA_SYM53C500 is not set
617
618#
619# Multi-device support (RAID and LVM)
620#
621CONFIG_MD=y
622CONFIG_BLK_DEV_DM=m
623CONFIG_DM_CRYPT=m
624CONFIG_DM_SNAPSHOT=m
625CONFIG_DM_MIRROR=m
626CONFIG_DM_ZERO=m
627CONFIG_DM_MULTIPATH=m
628CONFIG_DM_MULTIPATH_EMC=m
629
630#
631# Fusion MPT device support
632#
633# CONFIG_FUSION is not set
634
635#
636# IEEE 1394 (FireWire) support
637#
638
639#
640# I2O device support
641#
642
643#
644# Network device support
645#
646CONFIG_NETDEVICES=y
647# CONFIG_DUMMY is not set
648# CONFIG_BONDING is not set
649# CONFIG_EQUALIZER is not set
650CONFIG_TUN=m
651
652#
653# PHY device support
654#
655# CONFIG_PHYLIB is not set
656
657#
658# Ethernet (10 or 100Mbit)
659#
660CONFIG_NET_ETHERNET=y
661CONFIG_MII=m
662# CONFIG_SMC91X is not set
663# CONFIG_DM9000 is not set
664
665#
666# Ethernet (1000 Mbit)
667#
668
669#
670# Ethernet (10000 Mbit)
671#
672
673#
674# Token Ring devices
675#
676
677#
678# Wireless LAN (non-hamradio)
679#
680CONFIG_NET_RADIO=y
681# CONFIG_NET_WIRELESS_RTNETLINK is not set
682
683#
684# Obsolete Wireless cards support (pre-802.11)
685#
686# CONFIG_STRIP is not set
687# CONFIG_PCMCIA_WAVELAN is not set
688# CONFIG_PCMCIA_NETWAVE is not set
689
690#
691# Wireless 802.11 Frequency Hopping cards support
692#
693# CONFIG_PCMCIA_RAYCS is not set
694
695#
696# Wireless 802.11b ISA/PCI cards support
697#
698CONFIG_HERMES=m
699# CONFIG_ATMEL is not set
700
701#
702# Wireless 802.11b Pcmcia/Cardbus cards support
703#
704CONFIG_PCMCIA_HERMES=m
705CONFIG_PCMCIA_SPECTRUM=m
706# CONFIG_AIRO_CS is not set
707# CONFIG_PCMCIA_WL3501 is not set
708CONFIG_HOSTAP=m
709CONFIG_HOSTAP_FIRMWARE=y
710# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
711CONFIG_HOSTAP_CS=m
712CONFIG_NET_WIRELESS=y
713
714#
715# PCMCIA network device support
716#
717CONFIG_NET_PCMCIA=y
718# CONFIG_PCMCIA_3C589 is not set
719# CONFIG_PCMCIA_3C574 is not set
720# CONFIG_PCMCIA_FMVJ18X is not set
721CONFIG_PCMCIA_PCNET=m
722# CONFIG_PCMCIA_NMCLAN is not set
723# CONFIG_PCMCIA_SMC91C92 is not set
724# CONFIG_PCMCIA_XIRC2PS is not set
725# CONFIG_PCMCIA_AXNET is not set
726
727#
728# Wan interfaces
729#
730# CONFIG_WAN is not set
731CONFIG_PPP=m
732# CONFIG_PPP_MULTILINK is not set
733# CONFIG_PPP_FILTER is not set
734CONFIG_PPP_ASYNC=m
735# CONFIG_PPP_SYNC_TTY is not set
736CONFIG_PPP_DEFLATE=m
737CONFIG_PPP_BSDCOMP=m
738# CONFIG_PPP_MPPE is not set
739# CONFIG_PPPOE is not set
740# CONFIG_SLIP is not set
741# CONFIG_SHAPER is not set
742# CONFIG_NETCONSOLE is not set
743# CONFIG_NETPOLL is not set
744# CONFIG_NET_POLL_CONTROLLER is not set
745
746#
747# ISDN subsystem
748#
749# CONFIG_ISDN is not set
750
751#
752# Input device support
753#
754CONFIG_INPUT=y
755
756#
757# Userland interfaces
758#
759CONFIG_INPUT_MOUSEDEV=m
760# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
761CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
762CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
763# CONFIG_INPUT_JOYDEV is not set
764# CONFIG_INPUT_TSDEV is not set
765CONFIG_INPUT_EVDEV=y
766# CONFIG_INPUT_EVBUG is not set
767CONFIG_INPUT_POWER=y
768
769#
770# Input Device Drivers
771#
772CONFIG_INPUT_KEYBOARD=y
773# CONFIG_KEYBOARD_ATKBD is not set
774# CONFIG_KEYBOARD_SUNKBD is not set
775# CONFIG_KEYBOARD_LKKBD is not set
776# CONFIG_KEYBOARD_XTKBD is not set
777# CONFIG_KEYBOARD_NEWTON is not set
778# CONFIG_KEYBOARD_CORGI is not set
779CONFIG_KEYBOARD_SPITZ=y
780# CONFIG_INPUT_MOUSE is not set
781# CONFIG_INPUT_JOYSTICK is not set
782CONFIG_INPUT_TOUCHSCREEN=y
783CONFIG_TOUCHSCREEN_CORGI=y
784# CONFIG_TOUCHSCREEN_GUNZE is not set
785# CONFIG_TOUCHSCREEN_ELO is not set
786# CONFIG_TOUCHSCREEN_MTOUCH is not set
787# CONFIG_TOUCHSCREEN_MK712 is not set
788CONFIG_INPUT_MISC=y
789CONFIG_INPUT_UINPUT=m
790
791#
792# Hardware I/O ports
793#
794# CONFIG_SERIO is not set
795# CONFIG_GAMEPORT is not set
796
797#
798# Character devices
799#
800CONFIG_VT=y
801CONFIG_VT_CONSOLE=y
802CONFIG_HW_CONSOLE=y
803# CONFIG_SERIAL_NONSTANDARD is not set
804
805#
806# Serial drivers
807#
808CONFIG_SERIAL_8250=m
809CONFIG_SERIAL_8250_CS=m
810CONFIG_SERIAL_8250_NR_UARTS=4
811CONFIG_SERIAL_8250_RUNTIME_UARTS=4
812# CONFIG_SERIAL_8250_EXTENDED is not set
813
814#
815# Non-8250 serial port support
816#
817CONFIG_SERIAL_PXA=y
818CONFIG_SERIAL_PXA_CONSOLE=y
819CONFIG_SERIAL_CORE=y
820CONFIG_SERIAL_CORE_CONSOLE=y
821CONFIG_UNIX98_PTYS=y
822# CONFIG_LEGACY_PTYS is not set
823
824#
825# IPMI
826#
827# CONFIG_IPMI_HANDLER is not set
828
829#
830# Watchdog Cards
831#
832# CONFIG_WATCHDOG is not set
833# CONFIG_NVRAM is not set
834# CONFIG_DTLK is not set
835# CONFIG_R3964 is not set
836
837#
838# Ftape, the floppy tape device driver
839#
840
841#
842# PCMCIA character devices
843#
844# CONFIG_SYNCLINK_CS is not set
845# CONFIG_CARDMAN_4000 is not set
846# CONFIG_CARDMAN_4040 is not set
847# CONFIG_RAW_DRIVER is not set
848
849#
850# TPM devices
851#
852# CONFIG_TCG_TPM is not set
853# CONFIG_TELCLOCK is not set
854
855#
856# I2C support
857#
858CONFIG_I2C=y
859# CONFIG_I2C_CHARDEV is not set
860
861#
862# I2C Algorithms
863#
864# CONFIG_I2C_ALGOBIT is not set
865# CONFIG_I2C_ALGOPCF is not set
866# CONFIG_I2C_ALGOPCA is not set
867
868#
869# I2C Hardware Bus support
870#
871CONFIG_I2C_PXA=y
872# CONFIG_I2C_PXA_SLAVE is not set
873# CONFIG_I2C_PARPORT_LIGHT is not set
874# CONFIG_I2C_STUB is not set
875# CONFIG_I2C_PCA_ISA is not set
876
877#
878# Miscellaneous I2C Chip support
879#
880# CONFIG_SENSORS_DS1337 is not set
881# CONFIG_SENSORS_DS1374 is not set
882# CONFIG_SENSORS_EEPROM is not set
883# CONFIG_SENSORS_PCF8574 is not set
884# CONFIG_SENSORS_PCA9539 is not set
885# CONFIG_SENSORS_PCF8591 is not set
886# CONFIG_SENSORS_MAX6875 is not set
887# CONFIG_I2C_DEBUG_CORE is not set
888# CONFIG_I2C_DEBUG_ALGO is not set
889# CONFIG_I2C_DEBUG_BUS is not set
890# CONFIG_I2C_DEBUG_CHIP is not set
891
892#
893# SPI support
894#
895# CONFIG_SPI is not set
896# CONFIG_SPI_MASTER is not set
897
898#
899# Dallas's 1-wire bus
900#
901# CONFIG_W1 is not set
902
903#
904# Hardware Monitoring support
905#
906# CONFIG_HWMON is not set
907# CONFIG_HWMON_VID is not set
908
909#
910# Misc devices
911#
912
913#
914# Multi-Function Devices
915#
916
917#
918# LED devices
919#
920CONFIG_NEW_LEDS=y
921CONFIG_LEDS_CLASS=y
922
923#
924# LED drivers
925#
926CONFIG_LEDS_SPITZ=y
927# CONFIG_LEDS_TOSA is not set
928
929#
930# LED Triggers
931#
932CONFIG_LEDS_TRIGGERS=y
933CONFIG_LEDS_TRIGGER_TIMER=y
934CONFIG_LEDS_TRIGGER_IDE_DISK=y
935
936#
937# Multimedia devices
938#
939# CONFIG_VIDEO_DEV is not set
940CONFIG_VIDEO_V4L2=y
941
942#
943# Digital Video Broadcasting Devices
944#
945# CONFIG_DVB is not set
946CONFIG_USB_DABUSB=m
947
948#
949# Graphics support
950#
951CONFIG_FB=y
952CONFIG_FB_CFB_FILLRECT=y
953CONFIG_FB_CFB_COPYAREA=y
954CONFIG_FB_CFB_IMAGEBLIT=y
955# CONFIG_FB_MACMODES is not set
956CONFIG_FB_FIRMWARE_EDID=y
957# CONFIG_FB_MODE_HELPERS is not set
958# CONFIG_FB_TILEBLITTING is not set
959# CONFIG_FB_S1D13XXX is not set
960CONFIG_FB_PXA=y
961CONFIG_FB_PXA_LCD_QVGA=y
962# CONFIG_FB_PXA_LCD_VGA is not set
963CONFIG_FB_PXA_OVERLAY=y
964# CONFIG_FB_PXA_PARAMETERS is not set
965# CONFIG_FB_W100 is not set
966# CONFIG_FB_VIRTUAL is not set
967
968#
969# Console display driver support
970#
971# CONFIG_VGA_CONSOLE is not set
972CONFIG_DUMMY_CONSOLE=y
973CONFIG_FRAMEBUFFER_CONSOLE=y
974CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
975CONFIG_FONTS=y
976# CONFIG_FONT_8x8 is not set
977CONFIG_FONT_8x16=y
978# CONFIG_FONT_6x11 is not set
979# CONFIG_FONT_7x14 is not set
980# CONFIG_FONT_PEARL_8x8 is not set
981# CONFIG_FONT_ACORN_8x8 is not set
982# CONFIG_FONT_MINI_4x6 is not set
983# CONFIG_FONT_SUN8x16 is not set
984# CONFIG_FONT_SUN12x22 is not set
985# CONFIG_FONT_10x18 is not set
986
987#
988# Logo configuration
989#
990CONFIG_LOGO=y
991CONFIG_LOGO_LINUX_MONO=y
992CONFIG_LOGO_LINUX_VGA16=y
993# CONFIG_LOGO_LINUX_CLUT224 is not set
994# CONFIG_LOGO_OHAND_CLUT224 is not set
995# CONFIG_LOGO_OZ240_CLUT224 is not set
996# CONFIG_LOGO_OZ480_CLUT224 is not set
997CONFIG_LOGO_OZ640_CLUT224=y
998CONFIG_BACKLIGHT_LCD_SUPPORT=y
999CONFIG_BACKLIGHT_CLASS_DEVICE=y
1000CONFIG_BACKLIGHT_DEVICE=y
1001CONFIG_LCD_CLASS_DEVICE=y
1002CONFIG_LCD_DEVICE=y
1003CONFIG_BACKLIGHT_CORGI=y
1004
1005#
1006# Sound
1007#
1008CONFIG_SOUND=m
1009
1010#
1011# Advanced Linux Sound Architecture
1012#
1013CONFIG_SND=m
1014CONFIG_SND_TIMER=m
1015CONFIG_SND_PCM=m
1016CONFIG_SND_HWDEP=m
1017CONFIG_SND_RAWMIDI=m
1018CONFIG_SND_SEQUENCER=m
1019# CONFIG_SND_SEQ_DUMMY is not set
1020CONFIG_SND_OSSEMUL=y
1021CONFIG_SND_MIXER_OSS=m
1022CONFIG_SND_PCM_OSS=m
1023CONFIG_SND_PCM_OSS_PLUGINS=y
1024# CONFIG_SND_SEQUENCER_OSS is not set
1025# CONFIG_SND_DYNAMIC_MINORS is not set
1026CONFIG_SND_SUPPORT_OLD_API=y
1027CONFIG_SND_VERBOSE_PROCFS=y
1028CONFIG_SND_VERBOSE_PRINTK=y
1029CONFIG_SND_DEBUG=y
1030# CONFIG_SND_DEBUG_DETECT is not set
1031# CONFIG_SND_PCM_XRUN_DEBUG is not set
1032
1033#
1034# Generic devices
1035#
1036CONFIG_SND_AC97_CODEC=m
1037CONFIG_SND_AC97_BUS=m
1038# CONFIG_SND_DUMMY is not set
1039# CONFIG_SND_VIRMIDI is not set
1040# CONFIG_SND_MTPAV is not set
1041# CONFIG_SND_SERIAL_U16550 is not set
1042# CONFIG_SND_MPU401 is not set
1043
1044#
1045# ALSA ARM devices
1046#
1047CONFIG_SND_PXA2XX_PCM=m
1048CONFIG_SND_PXA2XX_AC97=m
1049
1050#
1051# USB devices
1052#
1053CONFIG_SND_USB_AUDIO=m
1054
1055#
1056# PCMCIA devices
1057#
1058# CONFIG_SND_VXPOCKET is not set
1059# CONFIG_SND_PDAUDIOCF is not set
1060
1061#
1062# SoC audio support
1063#
1064CONFIG_SND_SOC=m
1065
1066#
1067# Soc Platforms
1068#
1069
1070#
1071# SoC Audio for the Intel PXA2xx
1072#
1073CONFIG_SND_PXA2xx_SOC=m
1074CONFIG_SND_PXA2xx_SOC_I2S=m
1075CONFIG_SND_PXA2xx_SOC_SPITZ=m
1076
1077#
1078# SoC Audio for the Atmel AT91
1079#
1080
1081#
1082# SoC Audio for the Freescale i.MX
1083#
1084
1085#
1086# Soc Codecs
1087#
1088# CONFIG_SND_SOC_AC97_CODEC is not set
1089# CONFIG_SND_SOC_WM8731 is not set
1090CONFIG_SND_SOC_WM8750=m
1091# CONFIG_SND_SOC_WM8753 is not set
1092# CONFIG_SND_SOC_WM8772 is not set
1093# CONFIG_SND_SOC_WM8971 is not set
1094# CONFIG_SND_SOC_WM8974 is not set
1095# CONFIG_SND_SOC_WM9713 is not set
1096# CONFIG_SND_SOC_WM9712 is not set
1097# CONFIG_SND_SOC_UDA1380 is not set
1098# CONFIG_SND_SOC_AK4535 is not set
1099
1100#
1101# Open Sound System
1102#
1103# CONFIG_SOUND_PRIME is not set
1104
1105#
1106# USB support
1107#
1108CONFIG_USB_ARCH_HAS_HCD=y
1109CONFIG_USB_ARCH_HAS_OHCI=y
1110# CONFIG_USB_ARCH_HAS_EHCI is not set
1111CONFIG_USB=m
1112# CONFIG_USB_DEBUG is not set
1113
1114#
1115# Miscellaneous USB options
1116#
1117CONFIG_USB_DEVICEFS=y
1118# CONFIG_USB_BANDWIDTH is not set
1119# CONFIG_USB_DYNAMIC_MINORS is not set
1120# CONFIG_USB_SUSPEND is not set
1121# CONFIG_USB_OTG is not set
1122
1123#
1124# USB Host Controller Drivers
1125#
1126# CONFIG_USB_ISP116X_HCD is not set
1127CONFIG_USB_OHCI_HCD=m
1128# CONFIG_USB_OHCI_BIG_ENDIAN is not set
1129CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1130CONFIG_USB_SL811_HCD=m
1131CONFIG_USB_SL811_CS=m
1132
1133#
1134# USB Device Class drivers
1135#
1136CONFIG_USB_ACM=m
1137CONFIG_USB_PRINTER=m
1138
1139#
1140# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1141#
1142
1143#
1144# may also be needed; see USB_STORAGE Help for more information
1145#
1146CONFIG_USB_STORAGE=m
1147# CONFIG_USB_STORAGE_DEBUG is not set
1148# CONFIG_USB_STORAGE_DATAFAB is not set
1149# CONFIG_USB_STORAGE_FREECOM is not set
1150# CONFIG_USB_STORAGE_ISD200 is not set
1151# CONFIG_USB_STORAGE_DPCM is not set
1152# CONFIG_USB_STORAGE_USBAT is not set
1153# CONFIG_USB_STORAGE_SDDR09 is not set
1154# CONFIG_USB_STORAGE_SDDR55 is not set
1155# CONFIG_USB_STORAGE_JUMPSHOT is not set
1156# CONFIG_USB_STORAGE_ALAUDA is not set
1157# CONFIG_USB_LIBUSUAL is not set
1158
1159#
1160# USB Input Devices
1161#
1162CONFIG_USB_HID=m
1163CONFIG_USB_HIDINPUT=y
1164# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1165# CONFIG_HID_FF is not set
1166# CONFIG_USB_HIDDEV is not set
1167
1168#
1169# USB HID Boot Protocol drivers
1170#
1171CONFIG_USB_KBD=m
1172CONFIG_USB_MOUSE=m
1173CONFIG_USB_AIPTEK=m
1174CONFIG_USB_WACOM=m
1175# CONFIG_USB_ACECAD is not set
1176CONFIG_USB_KBTAB=m
1177CONFIG_USB_POWERMATE=m
1178# CONFIG_USB_TOUCHSCREEN is not set
1179# CONFIG_USB_YEALINK is not set
1180CONFIG_USB_XPAD=m
1181CONFIG_USB_ATI_REMOTE=m
1182# CONFIG_USB_ATI_REMOTE2 is not set
1183# CONFIG_USB_KEYSPAN_REMOTE is not set
1184# CONFIG_USB_APPLETOUCH is not set
1185
1186#
1187# USB Imaging devices
1188#
1189CONFIG_USB_MDC800=m
1190CONFIG_USB_MICROTEK=m
1191
1192#
1193# USB Network Adapters
1194#
1195CONFIG_USB_CATC=m
1196CONFIG_USB_KAWETH=m
1197CONFIG_USB_PEGASUS=m
1198CONFIG_USB_RTL8150=m
1199CONFIG_USB_USBNET=m
1200CONFIG_USB_NET_AX8817X=m
1201CONFIG_USB_NET_CDCETHER=m
1202# CONFIG_USB_NET_GL620A is not set
1203CONFIG_USB_NET_NET1080=m
1204# CONFIG_USB_NET_PLUSB is not set
1205# CONFIG_USB_NET_RNDIS_HOST is not set
1206# CONFIG_USB_NET_CDC_SUBSET is not set
1207CONFIG_USB_NET_ZAURUS=m
1208# CONFIG_USB_ZD1201 is not set
1209CONFIG_USB_MON=y
1210
1211#
1212# USB port drivers
1213#
1214
1215#
1216# USB Serial Converter support
1217#
1218CONFIG_USB_SERIAL=m
1219CONFIG_USB_SERIAL_GENERIC=y
1220# CONFIG_USB_SERIAL_AIRPRIME is not set
1221# CONFIG_USB_SERIAL_ANYDATA is not set
1222# CONFIG_USB_SERIAL_ARK3116 is not set
1223CONFIG_USB_SERIAL_BELKIN=m
1224# CONFIG_USB_SERIAL_WHITEHEAT is not set
1225CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
1226# CONFIG_USB_SERIAL_CP2101 is not set
1227CONFIG_USB_SERIAL_CYPRESS_M8=m
1228CONFIG_USB_SERIAL_EMPEG=m
1229CONFIG_USB_SERIAL_FTDI_SIO=m
1230# CONFIG_USB_SERIAL_FUNSOFT is not set
1231CONFIG_USB_SERIAL_VISOR=m
1232CONFIG_USB_SERIAL_IPAQ=m
1233CONFIG_USB_SERIAL_IR=m
1234CONFIG_USB_SERIAL_EDGEPORT=m
1235CONFIG_USB_SERIAL_EDGEPORT_TI=m
1236CONFIG_USB_SERIAL_GARMIN=m
1237CONFIG_USB_SERIAL_IPW=m
1238CONFIG_USB_SERIAL_KEYSPAN_PDA=m
1239CONFIG_USB_SERIAL_KEYSPAN=m
1240# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
1241# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
1242# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
1243# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
1244# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
1245# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
1246# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
1247# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
1248# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
1249# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
1250# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
1251# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
1252CONFIG_USB_SERIAL_KLSI=m
1253CONFIG_USB_SERIAL_KOBIL_SCT=m
1254CONFIG_USB_SERIAL_MCT_U232=m
1255# CONFIG_USB_SERIAL_NAVMAN is not set
1256CONFIG_USB_SERIAL_PL2303=m
1257# CONFIG_USB_SERIAL_HP4X is not set
1258CONFIG_USB_SERIAL_SAFE=m
1259# CONFIG_USB_SERIAL_SAFE_PADDED is not set
1260CONFIG_USB_SERIAL_TI=m
1261CONFIG_USB_SERIAL_CYBERJACK=m
1262CONFIG_USB_SERIAL_XIRCOM=m
1263# CONFIG_USB_SERIAL_OPTION is not set
1264CONFIG_USB_SERIAL_OMNINET=m
1265CONFIG_USB_EZUSB=y
1266
1267#
1268# USB Miscellaneous drivers
1269#
1270CONFIG_USB_EMI62=m
1271CONFIG_USB_EMI26=m
1272CONFIG_USB_AUERSWALD=m
1273CONFIG_USB_RIO500=m
1274CONFIG_USB_LEGOTOWER=m
1275CONFIG_USB_LCD=m
1276CONFIG_USB_LED=m
1277CONFIG_USB_CYTHERM=m
1278CONFIG_USB_PHIDGETKIT=m
1279CONFIG_USB_PHIDGETSERVO=m
1280CONFIG_USB_IDMOUSE=m
1281# CONFIG_USB_LD is not set
1282# CONFIG_USB_TEST is not set
1283
1284#
1285# USB DSL modem support
1286#
1287
1288#
1289# USB Gadget Support
1290#
1291CONFIG_USB_GADGET=m
1292# CONFIG_USB_GADGET_DEBUG_FILES is not set
1293CONFIG_USB_GADGET_SELECTED=y
1294# CONFIG_USB_GADGET_NET2280 is not set
1295# CONFIG_USB_GADGET_PXA2XX is not set
1296CONFIG_USB_GADGET_PXA27X=y
1297CONFIG_USB_PXA27X=m
1298# CONFIG_USB_GADGET_GOKU is not set
1299# CONFIG_USB_GADGET_LH7A40X is not set
1300# CONFIG_USB_GADGET_OMAP is not set
1301# CONFIG_USB_GADGET_AT91 is not set
1302# CONFIG_USB_GADGET_DUMMY_HCD is not set
1303# CONFIG_USB_GADGET_DUALSPEED is not set
1304CONFIG_USB_ZERO=m
1305CONFIG_USB_ETH=m
1306CONFIG_USB_ETH_RNDIS=y
1307CONFIG_USB_GADGETFS=m
1308CONFIG_USB_FILE_STORAGE=m
1309# CONFIG_USB_FILE_STORAGE_TEST is not set
1310CONFIG_USB_G_SERIAL=m
1311
1312#
1313# MMC/SD Card support
1314#
1315CONFIG_MMC=y
1316# CONFIG_MMC_DEBUG is not set
1317CONFIG_MMC_BLOCK=y
1318CONFIG_MMC_PXA=y
1319
1320#
1321# Real Time Clock
1322#
1323CONFIG_RTC_LIB=y
1324CONFIG_RTC_CLASS=y
1325CONFIG_RTC_HCTOSYS=y
1326CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1327
1328#
1329# RTC interfaces
1330#
1331CONFIG_RTC_INTF_SYSFS=y
1332CONFIG_RTC_INTF_PROC=y
1333CONFIG_RTC_INTF_DEV=y
1334
1335#
1336# RTC drivers
1337#
1338# CONFIG_RTC_DRV_X1205 is not set
1339# CONFIG_RTC_DRV_DS1672 is not set
1340# CONFIG_RTC_DRV_PCF8563 is not set
1341# CONFIG_RTC_DRV_RS5C372 is not set
1342# CONFIG_RTC_DRV_M48T86 is not set
1343CONFIG_RTC_DRV_SA1100=y
1344# CONFIG_RTC_DRV_TEST is not set
1345
1346#
1347# File systems
1348#
1349CONFIG_EXT2_FS=y
1350# CONFIG_EXT2_FS_XATTR is not set
1351# CONFIG_EXT2_FS_XIP is not set
1352CONFIG_EXT3_FS=y
1353# CONFIG_EXT3_FS_XATTR is not set
1354CONFIG_JBD=y
1355# CONFIG_JBD_DEBUG is not set
1356# CONFIG_REISERFS_FS is not set
1357# CONFIG_JFS_FS is not set
1358# CONFIG_FS_POSIX_ACL is not set
1359# CONFIG_XFS_FS is not set
1360# CONFIG_OCFS2_FS is not set
1361# CONFIG_MINIX_FS is not set
1362# CONFIG_ROMFS_FS is not set
1363CONFIG_INOTIFY=y
1364# CONFIG_QUOTA is not set
1365CONFIG_DNOTIFY=y
1366# CONFIG_AUTOFS_FS is not set
1367# CONFIG_AUTOFS4_FS is not set
1368# CONFIG_FUSE_FS is not set
1369
1370#
1371# CD-ROM/DVD Filesystems
1372#
1373# CONFIG_ISO9660_FS is not set
1374# CONFIG_UDF_FS is not set
1375
1376#
1377# DOS/FAT/NT Filesystems
1378#
1379CONFIG_FAT_FS=y
1380# CONFIG_MSDOS_FS is not set
1381CONFIG_VFAT_FS=y
1382CONFIG_FAT_DEFAULT_CODEPAGE=437
1383CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1384# CONFIG_NTFS_FS is not set
1385
1386#
1387# Pseudo filesystems
1388#
1389CONFIG_PROC_FS=y
1390CONFIG_SYSFS=y
1391CONFIG_TMPFS=y
1392# CONFIG_HUGETLB_PAGE is not set
1393CONFIG_RAMFS=y
1394# CONFIG_CONFIGFS_FS is not set
1395
1396#
1397# Miscellaneous filesystems
1398#
1399# CONFIG_ADFS_FS is not set
1400# CONFIG_AFFS_FS is not set
1401# CONFIG_HFS_FS is not set
1402# CONFIG_HFSPLUS_FS is not set
1403# CONFIG_BEFS_FS is not set
1404# CONFIG_BFS_FS is not set
1405# CONFIG_EFS_FS is not set
1406# CONFIG_JFFS_FS is not set
1407CONFIG_JFFS2_FS=m
1408CONFIG_JFFS2_FS_DEBUG=0
1409CONFIG_JFFS2_FS_WRITEBUFFER=y
1410CONFIG_JFFS2_SUMMARY=y
1411CONFIG_JFFS2_COMPRESSION_OPTIONS=y
1412CONFIG_JFFS2_ZLIB=y
1413CONFIG_JFFS2_RTIME=y
1414CONFIG_JFFS2_RUBIN=y
1415# CONFIG_JFFS2_CMODE_NONE is not set
1416CONFIG_JFFS2_CMODE_PRIORITY=y
1417# CONFIG_JFFS2_CMODE_SIZE is not set
1418CONFIG_CRAMFS=m
1419CONFIG_SQUASHFS=m
1420# CONFIG_SQUASHFS_EMBEDDED is not set
1421CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
1422# CONFIG_SQUASHFS_VMALLOC is not set
1423# CONFIG_VXFS_FS is not set
1424# CONFIG_HPFS_FS is not set
1425# CONFIG_QNX4FS_FS is not set
1426# CONFIG_SYSV_FS is not set
1427# CONFIG_UFS_FS is not set
1428
1429#
1430# Network File Systems
1431#
1432CONFIG_NFS_FS=m
1433CONFIG_NFS_V3=y
1434# CONFIG_NFS_V3_ACL is not set
1435CONFIG_NFS_V4=y
1436# CONFIG_NFS_DIRECTIO is not set
1437# CONFIG_NFSD is not set
1438CONFIG_LOCKD=m
1439CONFIG_LOCKD_V4=y
1440CONFIG_NFS_COMMON=y
1441CONFIG_SUNRPC=m
1442CONFIG_SUNRPC_GSS=m
1443CONFIG_RPCSEC_GSS_KRB5=m
1444# CONFIG_RPCSEC_GSS_SPKM3 is not set
1445CONFIG_SMB_FS=m
1446CONFIG_SMB_NLS_DEFAULT=y
1447CONFIG_SMB_NLS_REMOTE="cp437"
1448CONFIG_CIFS=m
1449# CONFIG_CIFS_STATS is not set
1450# CONFIG_CIFS_XATTR is not set
1451# CONFIG_CIFS_EXPERIMENTAL is not set
1452# CONFIG_NCP_FS is not set
1453# CONFIG_CODA_FS is not set
1454# CONFIG_AFS_FS is not set
1455# CONFIG_9P_FS is not set
1456
1457#
1458# Partition Types
1459#
1460CONFIG_PARTITION_ADVANCED=y
1461# CONFIG_ACORN_PARTITION is not set
1462# CONFIG_OSF_PARTITION is not set
1463# CONFIG_AMIGA_PARTITION is not set
1464# CONFIG_ATARI_PARTITION is not set
1465# CONFIG_MAC_PARTITION is not set
1466CONFIG_MSDOS_PARTITION=y
1467# CONFIG_BSD_DISKLABEL is not set
1468# CONFIG_MINIX_SUBPARTITION is not set
1469# CONFIG_SOLARIS_X86_PARTITION is not set
1470# CONFIG_UNIXWARE_DISKLABEL is not set
1471# CONFIG_LDM_PARTITION is not set
1472# CONFIG_SGI_PARTITION is not set
1473# CONFIG_ULTRIX_PARTITION is not set
1474# CONFIG_SUN_PARTITION is not set
1475# CONFIG_KARMA_PARTITION is not set
1476# CONFIG_EFI_PARTITION is not set
1477
1478#
1479# Native Language Support
1480#
1481CONFIG_NLS=y
1482CONFIG_NLS_DEFAULT="cp437"
1483CONFIG_NLS_CODEPAGE_437=y
1484CONFIG_NLS_CODEPAGE_737=m
1485CONFIG_NLS_CODEPAGE_775=m
1486CONFIG_NLS_CODEPAGE_850=m
1487CONFIG_NLS_CODEPAGE_852=m
1488CONFIG_NLS_CODEPAGE_855=m
1489CONFIG_NLS_CODEPAGE_857=m
1490CONFIG_NLS_CODEPAGE_860=m
1491CONFIG_NLS_CODEPAGE_861=m
1492CONFIG_NLS_CODEPAGE_862=m
1493CONFIG_NLS_CODEPAGE_863=m
1494CONFIG_NLS_CODEPAGE_864=m
1495CONFIG_NLS_CODEPAGE_865=m
1496CONFIG_NLS_CODEPAGE_866=m
1497CONFIG_NLS_CODEPAGE_869=m
1498CONFIG_NLS_CODEPAGE_936=m
1499CONFIG_NLS_CODEPAGE_950=m
1500CONFIG_NLS_CODEPAGE_932=m
1501CONFIG_NLS_CODEPAGE_949=m
1502CONFIG_NLS_CODEPAGE_874=m
1503CONFIG_NLS_ISO8859_8=m
1504CONFIG_NLS_CODEPAGE_1250=m
1505CONFIG_NLS_CODEPAGE_1251=m
1506CONFIG_NLS_ASCII=m
1507CONFIG_NLS_ISO8859_1=y
1508CONFIG_NLS_ISO8859_2=m
1509CONFIG_NLS_ISO8859_3=m
1510CONFIG_NLS_ISO8859_4=m
1511CONFIG_NLS_ISO8859_5=m
1512CONFIG_NLS_ISO8859_6=m
1513CONFIG_NLS_ISO8859_7=m
1514CONFIG_NLS_ISO8859_9=m
1515CONFIG_NLS_ISO8859_13=m
1516CONFIG_NLS_ISO8859_14=m
1517CONFIG_NLS_ISO8859_15=m
1518CONFIG_NLS_KOI8_R=m
1519CONFIG_NLS_KOI8_U=m
1520CONFIG_NLS_UTF8=y
1521
1522#
1523# Profiling support
1524#
1525CONFIG_PROFILING=y
1526CONFIG_OPROFILE=m
1527
1528#
1529# Kernel hacking
1530#
1531# CONFIG_PRINTK_TIME is not set
1532CONFIG_MAGIC_SYSRQ=y
1533CONFIG_DEBUG_KERNEL=y
1534CONFIG_LOG_BUF_SHIFT=14
1535# CONFIG_DETECT_SOFTLOCKUP is not set
1536# CONFIG_SCHEDSTATS is not set
1537# CONFIG_DEBUG_SLAB is not set
1538# CONFIG_DEBUG_PREEMPT is not set
1539# CONFIG_DEBUG_MUTEXES is not set
1540# CONFIG_DEBUG_SPINLOCK is not set
1541# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1542# CONFIG_DEBUG_KOBJECT is not set
1543CONFIG_DEBUG_BUGVERBOSE=y
1544# CONFIG_DEBUG_INFO is not set
1545# CONFIG_DEBUG_FS is not set
1546# CONFIG_DEBUG_VM is not set
1547CONFIG_FRAME_POINTER=y
1548# CONFIG_UNWIND_INFO is not set
1549# CONFIG_FORCED_INLINING is not set
1550# CONFIG_RCU_TORTURE_TEST is not set
1551# CONFIG_DEBUG_USER is not set
1552# CONFIG_DEBUG_WAITQ is not set
1553CONFIG_DEBUG_ERRORS=y
1554# CONFIG_DEBUG_LL is not set
1555
1556#
1557# Security options
1558#
1559# CONFIG_KEYS is not set
1560# CONFIG_SECURITY is not set
1561
1562#
1563# Cryptographic options
1564#
1565CONFIG_CRYPTO=y
1566CONFIG_CRYPTO_HMAC=y
1567CONFIG_CRYPTO_NULL=m
1568CONFIG_CRYPTO_MD4=m
1569CONFIG_CRYPTO_MD5=m
1570CONFIG_CRYPTO_SHA1=m
1571CONFIG_CRYPTO_SHA256=m
1572CONFIG_CRYPTO_SHA512=m
1573CONFIG_CRYPTO_WP512=m
1574# CONFIG_CRYPTO_TGR192 is not set
1575CONFIG_CRYPTO_DES=m
1576CONFIG_CRYPTO_BLOWFISH=m
1577CONFIG_CRYPTO_TWOFISH=m
1578CONFIG_CRYPTO_SERPENT=m
1579CONFIG_CRYPTO_AES=m
1580CONFIG_CRYPTO_CAST5=m
1581CONFIG_CRYPTO_CAST6=m
1582CONFIG_CRYPTO_TEA=m
1583CONFIG_CRYPTO_ARC4=m
1584CONFIG_CRYPTO_KHAZAD=m
1585CONFIG_CRYPTO_ANUBIS=m
1586CONFIG_CRYPTO_DEFLATE=m
1587CONFIG_CRYPTO_MICHAEL_MIC=m
1588CONFIG_CRYPTO_CRC32C=m
1589CONFIG_CRYPTO_TEST=m
1590
1591#
1592# Hardware crypto devices
1593#
1594
1595#
1596# Library routines
1597#
1598CONFIG_CRC_CCITT=y
1599# CONFIG_CRC16 is not set
1600CONFIG_CRC32=y
1601CONFIG_LIBCRC32C=m
1602CONFIG_ZLIB_INFLATE=m
1603CONFIG_ZLIB_DEFLATE=m
diff --git a/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-tosa b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/defconfig-tosa
new file mode 100644
index 0000000000..4144e5cf38
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/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.19+2.6.20-rc4/hrw-pcmcia-ids-r5.patch b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/hrw-pcmcia-ids-r5.patch
new file mode 100644
index 0000000000..b5a570d38c
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/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.19+2.6.20-rc4/orinoco-remove-all-which-are-in-hostap-HACK.patch b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/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.19+2.6.20-rc4/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.19+2.6.20-rc4/pxa-serial-hack.patch b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/pxa-serial-hack.patch
new file mode 100644
index 0000000000..9ece71331a
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/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.19+2.6.20-rc4/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/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.19+2.6.20-rc4/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.19+2.6.20-rc4/squashfs3.0-2.6.15.patch b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/squashfs3.0-2.6.15.patch
new file mode 100644
index 0000000000..405d4ec124
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/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.19+2.6.20-rc4/vesafb-tng-1.0-rc2-git-20060629.patch b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/vesafb-tng-1.0-rc2-git-20060629.patch
new file mode 100644
index 0000000000..188ce6094e
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/vesafb-tng-1.0-rc2-git-20060629.patch
@@ -0,0 +1,3089 @@
1# Patch generated against a6047eef1c465c38aacfbdab193161b3f0cd144
2---
3# Documentation/fb/vesafb.txt | 250 ++++--
4# arch/i386/boot/video.S | 12
5# drivers/video/Kconfig | 56 +
6# drivers/video/Makefile | 6
7# drivers/video/fbmem.c | 1
8# drivers/video/modedb.c | 1
9# drivers/video/vesafb-thread.c | 727 +++++++++++++++++++
10# drivers/video/vesafb-tng.c | 1598 ++++++++++++++++++++++++++++++++++++++++++
11# include/linux/sched.h | 2
12# include/video/vesa.h | 150 +++
13# kernel/fork.c | 35
14# mm/memory.c | 1
15# mm/mmap.c | 1
16# 13 files changed, 2748 insertions(+), 92 deletions(-)
17#
18--- linux-2.6.17.orig/Documentation/fb/vesafb.txt
19+++ linux-2.6.17/Documentation/fb/vesafb.txt
20@@ -2,16 +2,18 @@
21 What is vesafb?
22 ===============
23
24-This is a generic driver for a graphic framebuffer on intel boxes.
25+Vesafb is a generic framebuffer driver for x86 and x86_64 boxes.
26
27-The idea is simple: Turn on graphics mode at boot time with the help
28-of the BIOS, and use this as framebuffer device /dev/fb0, like the m68k
29-(and other) ports do.
30+VESA BIOS Extensions Version 2.0 are required, because we need access to
31+a linear frame buffer. VBE 3.0 is required if you want to use modes with a
32+higher (than the standard 60 Hz) refresh rate.
33
34-This means we decide at boot time whenever we want to run in text or
35-graphics mode. Switching mode later on (in protected mode) is
36-impossible; BIOS calls work in real mode only. VESA BIOS Extensions
37-Version 2.0 are required, because we need a linear frame buffer.
38+The VESA framebuffer driver comes in two flavors - the standard 'vesafb'
39+and 'vesafb-tng'. Vesafb-tng is available only on 32-bit x86 due to the
40+technology it uses (vm86). Vesafb-tng has more features than vesafb
41+(adjusting the refresh rate on VBE 3.0 compliant boards, switching the
42+video mode without rebooting, selecting a mode by providing its
43+modedb name, and more).
44
45 Advantages:
46
47@@ -29,26 +31,35 @@ Disadvantages:
48 How to use it?
49 ==============
50
51-Switching modes is done using the vga=... boot parameter. Read
52-Documentation/svga.txt for details.
53+If you are running a 32-bit x86 system and you decide to use vesafb-tng,
54+you can either compile the driver into the kernel or use it as a module.
55+The graphics mode you want to use is in both cases specified using the
56+standard modedb format.
57
58-You should compile in both vgacon (for text mode) and vesafb (for
59-graphics mode). Which of them takes over the console depends on
60-whenever the specified mode is text or graphics.
61+If your system doesn't support vm86 calls, things get a little more tricky.
62+Since on such systems you can't do BIOS calls from protected mode in which
63+kernel runs, you have to decide at boot time whenever you want to run in text
64+or in graphics mode. Switching mode later on is impossible. Switching modes
65+is done using the vga=... boot parameter. Read Documentation/svga.txt for
66+details. Below is a more detailed description of what to do on systems using
67+the standard vesafb driver.
68
69-The graphic modes are NOT in the list which you get if you boot with
70-vga=ask and hit return. The mode you wish to use is derived from the
71-VESA mode number. Here are those VESA mode numbers:
72+You should compile in both vgacon (for text mode) and vesafb (for graphics
73+mode). Which of them takes over the console depends on whenever the
74+specified mode is text or graphics.
75+
76+The graphic modes are NOT in the list which you get if you boot with vga=ask
77+and hit return. The mode you wish to use is derived from the VESA mode number.
78+Here are those VESA mode numbers:
79
80 | 640x480 800x600 1024x768 1280x1024
81 ----+-------------------------------------
82-256 | 0x101 0x103 0x105 0x107
83-32k | 0x110 0x113 0x116 0x119
84-64k | 0x111 0x114 0x117 0x11A
85-16M | 0x112 0x115 0x118 0x11B
86+256 | 0x101 0x103 0x105 0x107
87+32k | 0x110 0x113 0x116 0x119
88+64k | 0x111 0x114 0x117 0x11A
89+16M | 0x112 0x115 0x118 0x11B
90
91-The video mode number of the Linux kernel is the VESA mode number plus
92-0x200.
93+The video mode number of the Linux kernel is the VESA mode number plus 0x200.
94
95 Linux_kernel_mode_number = VESA_mode_number + 0x200
96
97@@ -56,15 +67,15 @@ So the table for the Kernel mode numbers
98
99 | 640x480 800x600 1024x768 1280x1024
100 ----+-------------------------------------
101-256 | 0x301 0x303 0x305 0x307
102-32k | 0x310 0x313 0x316 0x319
103-64k | 0x311 0x314 0x317 0x31A
104-16M | 0x312 0x315 0x318 0x31B
105+256 | 0x301 0x303 0x305 0x307
106+32k | 0x310 0x313 0x316 0x319
107+64k | 0x311 0x314 0x317 0x31A
108+16M | 0x312 0x315 0x318 0x31B
109
110-To enable one of those modes you have to specify "vga=ask" in the
111-lilo.conf file and rerun LILO. Then you can type in the desired
112-mode at the "vga=ask" prompt. For example if you like to use
113-1024x768x256 colors you have to say "305" at this prompt.
114+To enable one of those modes you have to specify "vga=ask" in the lilo.conf
115+file and rerun LILO. Then you can type in the desired mode at the "vga=ask"
116+prompt. For example if you like to use 1024x768x256 colors you have to say
117+"305" at this prompt.
118
119 If this does not work, this might be because your BIOS does not support
120 linear framebuffers or because it does not support this mode at all.
121@@ -72,11 +83,12 @@ Even if your board does, it might be the
122 Extensions v2.0 are required, 1.2 is NOT sufficient. You will get a
123 "bad mode number" message if something goes wrong.
124
125-1. Note: LILO cannot handle hex, for booting directly with
126+1. Note: LILO cannot handle hex, for booting directly with
127 "vga=mode-number" you have to transform the numbers to decimal.
128 2. Note: Some newer versions of LILO appear to work with those hex values,
129 if you set the 0x in front of the numbers.
130
131+
132 X11
133 ===
134
135@@ -84,98 +96,164 @@ XF68_FBDev should work just fine, but it
136 another (accelerated) X-Server like XF86_SVGA might or might not work.
137 It depends on X-Server and graphics board.
138
139-The X-Server must restore the video mode correctly, else you end up
140+The X-Server must restore the video mode correctly, or else you end up
141 with a broken console (and vesafb cannot do anything about this).
142+With vesafb-tng chances are that the console will be restored properly
143+even if the X server messes up the video mode.
144
145
146 Refresh rates
147 =============
148
149-There is no way to change the vesafb video mode and/or timings after
150-booting linux. If you are not happy with the 60 Hz refresh rate, you
151-have these options:
152+With VBE 3.0 compatible BIOSes and vesafb-tng it is possible to change
153+the refresh rate either at boot time (by specifying the @<rr> part of
154+the mode name) or later, using the fbset utility.
155
156- * configure and load the DOS-Tools for your the graphics board (if
157- available) and boot linux with loadlin.
158- * use a native driver (matroxfb/atyfb) instead if vesafb. If none
159+If you want to use the default BIOS refresh rate while switching modes
160+on a running system, set pixclock to 0.
161+
162+With VBE 2.0 there is no way to change the mode timings after booting
163+Linux. If you are not happy with the 60 Hz refresh rate, you have
164+the following options:
165+
166+ * Configure and load the DOS tools for your the graphics board (if
167+ available) and boot Linux with loadlin.
168+ * Use a native driver (matroxfb/atyfb) instead of vesafb. If none
169 is available, write a new one!
170- * VBE 3.0 might work too. I have neither a gfx board with VBE 3.0
171- support nor the specs, so I have not checked this yet.
172+ * Use a BIOS editor to change the default refresh rate (such an
173+ editor does exist at least for ATI Radeon BIOSes).
174+ * If you're running a non-vm86 and VBE 3.0 compatible system, you can
175+ use a kernel patch (vesafb-rrc) to hard-code some mode timings in
176+ the kernel and use these while setting the video mode at boot time.
177+
178+Note that there are some boards (nVidia 59**, 57** and newer models)
179+claiming that their Video BIOS is VBE 3.0 compliant, while ignoring the
180+CRTC values provided by software such as vesafb-tng. You'll not be able
181+to adjust the refresh rate if you're using one of these boards.
182
183
184 Configuration
185 =============
186
187-The VESA BIOS provides protected mode interface for changing
188-some parameters. vesafb can use it for palette changes and
189-to pan the display. It is turned off by default because it
190-seems not to work with some BIOS versions, but there are options
191-to turn it on.
192+The VESA BIOS provides protected mode interface for changing some parameters.
193+vesafb can use it for palette changes and to pan the display. It is turned
194+off by default because it seems not to work with some BIOS versions, but
195+there are options to turn it on.
196
197-You can pass options to vesafb using "video=vesafb:option" on
198-the kernel command line. Multiple options should be separated
199-by comma, like this: "video=vesafb:ypan,invers"
200+You can pass options to vesafb using "video=vesafb:option" on the kernel
201+command line. Multiple options should be separated by a comma, like this:
202+"video=vesafb:ypan,1024x768-32@85"
203
204-Accepted options:
205+Note that vesafb-tng still uses the "video=vesafb:option" format of the
206+kernel command line video parameter. "video=vesafb-tng:xxx" is incorrect.
207
208-invers no comment...
209+Accepted options (both vesafb and vesafb-tng):
210
211-ypan enable display panning using the VESA protected mode
212- interface. The visible screen is just a window of the
213- video memory, console scrolling is done by changing the
214- start of the window.
215- pro: * scrolling (fullscreen) is fast, because there is
216- no need to copy around data.
217- * You'll get scrollback (the Shift-PgUp thing),
218- the video memory can be used as scrollback buffer
219- kontra: * scrolling only parts of the screen causes some
220- ugly flicker effects (boot logo flickers for
221- example).
222+ypan Enable display panning using the VESA protected mode interface
223+ The visible screen is just a window of the video memory,
224+ console scrolling is done by changing the start of the window.
225+ pro: * scrolling (fullscreen) is fast, because there is
226+ no need to copy around data.
227+ * you'll get scrollback (the Shift-PgUp thing),
228+ the video memory can be used as scrollback buffer
229+ con: * scrolling only parts of the screen causes some
230+ ugly flicker effects (boot logo flickers for
231+ example).
232
233-ywrap Same as ypan, but assumes your gfx board can wrap-around
234- the video memory (i.e. starts reading from top if it
235- reaches the end of video memory). Faster than ypan.
236+ywrap Same as ypan, but assumes your gfx board can wrap-around the video
237+ memory (i.e. starts reading from top if it reaches the end of
238+ video memory). Faster than ypan.
239
240-redraw scroll by redrawing the affected part of the screen, this
241- is the safe (and slow) default.
242+redraw Scroll by redrawing the affected part of the screen, this is the
243+ safe (and slow) default.
244
245+vgapal Use the standard VGA registers for palette changes.
246
247-vgapal Use the standard vga registers for palette changes.
248- This is the default.
249-pmipal Use the protected mode interface for palette changes.
250+pmipal Use the protected mode interface for palette changes.
251+ This is the default is the protected mode interface is available.
252
253-mtrr:n setup memory type range registers for the vesafb framebuffer
254- where n:
255- 0 - disabled (equivalent to nomtrr) (default)
256- 1 - uncachable
257- 2 - write-back
258- 3 - write-combining
259- 4 - write-through
260+mtrr:n Setup memory type range registers for the vesafb framebuffer
261+ where n:
262+ 0 - disabled (equivalent to nomtrr) (default)
263+ 1 - uncachable
264+ 2 - write-back
265+ 3 - write-combining
266+ 4 - write-through
267
268- If you see the following in dmesg, choose the type that matches the
269- old one. In this example, use "mtrr:2".
270+ If you see the following in dmesg, choose the type that matches
271+ the old one. In this example, use "mtrr:2".
272 ...
273 mtrr: type mismatch for e0000000,8000000 old: write-back new: write-combining
274 ...
275
276-nomtrr disable mtrr
277+nomtrr Do not use memory type range registers for vesafb.
278
279 vremap:n
280 remap 'n' MiB of video RAM. If 0 or not specified, remap memory
281- according to video mode. (2.5.66 patch/idea by Antonino Daplas
282- reversed to give override possibility (allocate more fb memory
283- than the kernel would) to 2.4 by tmb@iki.fi)
284+ according to video mode. (2.5.66 patch/idea by Antonino Daplas
285+ reversed to give override possibility (allocate more fb memory
286+ than the kernel would) to 2.4 by tmb@iki.fi)
287
288 vtotal:n
289 if the video BIOS of your card incorrectly determines the total
290 amount of video RAM, use this option to override the BIOS (in MiB).
291
292-Have fun!
293+Options accepted only by vesafb-tng:
294
295- Gerd
296+<mode> The mode you want to set, in the standard modedb format. Refer to
297+ modedb.txt for a detailed description. If you specify a mode that is
298+ not supported by your board's BIOS, vesafb-tng will attempt to set a
299+ similar mode. The list of supported modes can be found in
300+ /proc/fbx/modes, where x is the framebuffer number (usually 0).
301+ When vesafb-tng is compiled as a module, the mode string should be
302+ provided as a value of the parameter 'mode'.
303+
304+vbemode:x
305+ Force the use of VBE mode x. The mode will only be set if it's
306+ found in the VBE-provided list of supported modes.
307+ NOTE: The mode number 'x' should be specified in VESA mode number
308+ notation, not the Linux kernel one (eg. 257 instead of 769).
309+ HINT: If you use this option because normal <mode> parameter does
310+ not work for you and you use a X server, you'll probably want to
311+ set the 'nocrtc' option to ensure that the video mode is properly
312+ restored after console <-> X switches.
313+
314+nocrtc Do not use CRTC timings while setting the video mode. This option
315+ makes sence only with VBE 3.0 compliant systems. Use it if you have
316+ problems with modes set in the standard way. Note that using this
317+ option means that any refresh rate adjustments will be ignored
318+ and the refresh rate will stay at your BIOS default (60 Hz).
319+
320+noedid Do not try to fetch and use EDID-provided modes.
321+
322+noblank Disable hardware blanking.
323+
324+gtf Force the use of VESA's GTF (Generalized Timing Formula). Specifying
325+ this will cause vesafb to skip its internal modedb and EDID-modedb
326+ and jump straight to the GTF part of the code (normally used only if
327+ everything else failed). This can be useful if you want to get as
328+ much as possible from your graphics board but your BIOS doesn't
329+ support modes with the refresh rates you require. Note that you may
330+ need to specify the maxhf, maxvf and maxclk parameters if they are not
331+ provided by the EDID block.
332+
333+Additionally, the following parameters may be provided. They all override the
334+EDID-provided values and BIOS defaults. Refer to your monitor's specs to get
335+the correct values for maxhf, maxvf and maxclk for your hardware.
336+
337+maxhf:n Maximum horizontal frequency (in kHz).
338+maxvf:n Maximum vertical frequency (in Hz).
339+maxclk:n Maximum pixel clock (in MHz).
340+
341+Have fun!
342
343 --
344+Original document for the vesafb driver by
345 Gerd Knorr <kraxel@goldbach.in-berlin.de>
346
347-Minor (mostly typo) changes
348-by Nico Schmoigl <schmoigl@rumms.uni-mannheim.de>
349+Minor (mostly typo) changes by
350+Nico Schmoigl <schmoigl@rumms.uni-mannheim.de>
351+
352+Extended documentation for vm86, VBE 3.0 and vesafb-tng by
353+Michal Januszewski <spock@gentoo.org>
354+
355--- linux-2.6.17.orig/arch/i386/boot/video.S
356+++ linux-2.6.17/arch/i386/boot/video.S
357@@ -165,10 +165,12 @@ basret: ret
358 # parameters in the default 80x25 mode -- these are set directly,
359 # because some very obscure BIOSes supply insane values.
360 mode_params:
361+#ifdef CONFIG_FB_VESA_STD
362 #ifdef CONFIG_VIDEO_SELECT
363 cmpb $0, graphic_mode
364 jnz mopar_gr
365 #endif
366+#endif
367 movb $0x03, %ah # Read cursor position
368 xorb %bh, %bh
369 int $0x10
370@@ -201,6 +203,7 @@ mopar2: movb %al, %fs:(PARAM_VIDEO_LINES
371 ret
372
373 #ifdef CONFIG_VIDEO_SELECT
374+#ifdef CONFIG_FB_VESA_STD
375 # Fetching of VESA frame buffer parameters
376 mopar_gr:
377 leaw modelist+1024, %di
378@@ -283,6 +286,7 @@ dac_done:
379 movw %es, %fs:(PARAM_VESAPM_SEG)
380 movw %di, %fs:(PARAM_VESAPM_OFF)
381 no_pm: ret
382+#endif
383
384 # The video mode menu
385 mode_menu:
386@@ -497,10 +501,12 @@ mode_set:
387
388 cmpb $VIDEO_FIRST_V7>>8, %ah
389 jz setv7
390-
391+
392+#ifdef CONFIG_FB_VESA_STD
393 cmpb $VIDEO_FIRST_VESA>>8, %ah
394 jnc check_vesa
395-
396+#endif
397+
398 orb %ah, %ah
399 jz setmenu
400
401@@ -572,6 +578,7 @@ setr1: lodsw
402 movw -4(%si), %ax # Fetch mode ID
403 jmp _m_s
404
405+#ifdef CONFIG_FB_VESA_STD
406 check_vesa:
407 leaw modelist+1024, %di
408 subb $VIDEO_FIRST_VESA>>8, %bh
409@@ -605,6 +612,7 @@ check_vesa:
410 ret
411
412 _setbad: jmp setbad # Ugly...
413+#endif
414
415 # Recalculate vertical display end registers -- this fixes various
416 # inconsistencies of extended modes on many adapters. Called when
417--- linux-2.6.17.orig/drivers/video/Kconfig
418+++ linux-2.6.17/drivers/video/Kconfig
419@@ -472,8 +472,22 @@ config FB_TGA
420 cards. Say Y if you have one of those.
421
422 config FB_VESA
423- bool "VESA VGA graphics support"
424- depends on (FB = y) && X86
425+ tristate "VESA VGA graphics support"
426+ depends on (FB = y) && (X86 || X86_64)
427+ help
428+ This is the frame buffer device driver for generic VESA 2.0
429+ compliant graphic cards. The older VESA 1.2 cards are not supported.
430+ You will get a boot time penguin logo at no additional cost. Please
431+ read <file:Documentation/fb/vesafb.txt>. If unsure, say Y.
432+
433+choice
434+ prompt "VESA driver type"
435+ depends on FB_VESA
436+ default FB_VESA_STD if X86_64
437+ default FB_VESA_TNG if X86
438+
439+config FB_VESA_STD
440+ bool "vesafb"
441 select FB_CFB_FILLRECT
442 select FB_CFB_COPYAREA
443 select FB_CFB_IMAGEBLIT
444@@ -481,7 +495,43 @@ config FB_VESA
445 This is the frame buffer device driver for generic VESA 2.0
446 compliant graphic cards. The older VESA 1.2 cards are not supported.
447 You will get a boot time penguin logo at no additional cost. Please
448- read <file:Documentation/fb/vesafb.txt>. If unsure, say Y.
449+ read <file:Documentation/fb/vesafb.txt>. Choose this driver if you
450+ are experiencing problems with vesafb-tng or if you own a 64-bit system.
451+
452+ Note that this driver cannot be compiled as a module.
453+
454+config FB_VESA_TNG
455+ bool "vesafb-tng"
456+ depends on !X86_64
457+ select FB_MODE_HELPERS
458+ select FB_CFB_FILLRECT
459+ select FB_CFB_COPYAREA
460+ select FB_CFB_IMAGEBLIT
461+ help
462+ This is the frame buffer device driver for generic VESA 2.0
463+ compliant graphic cards. It is capable of taking advantage of
464+ VBE 3.0 features. With this driver you will be able to adjust
465+ the refresh rate (VBE 3.0 compliant boards only) and change
466+ the graphic mode on-the-fly.
467+
468+ You will also get a boot time penguin logo at no additional cost. Please
469+ read <file:Documentation/fb/vesafb.txt>.
470+
471+endchoice
472+
473+config FB_VESA_DEFAULT_MODE
474+ string "VESA default mode"
475+ depends on FB_VESA_TNG
476+ default "640x480@60"
477+ help
478+ This option is used to determine the default mode vesafb is
479+ supposed to switch to in case no mode is provided as a kernel
480+ command line parameter.
481+
482+config VIDEO_SELECT
483+ bool
484+ depends on FB_VESA
485+ default y
486
487 config VIDEO_SELECT
488 bool
489--- linux-2.6.17.orig/drivers/video/Makefile
490+++ linux-2.6.17/drivers/video/Makefile
491@@ -97,7 +97,11 @@ obj-$(CONFIG_FB_IMX) += imx
492 obj-$(CONFIG_FB_S3C2410) += s3c2410fb.o
493
494 # Platform or fallback drivers go here
495-obj-$(CONFIG_FB_VESA) += vesafb.o
496+ifeq ($(CONFIG_FB_VESA_STD),y)
497+ obj-y += vesafb.o
498+else
499+ obj-$(CONFIG_FB_VESA) += vesafb-thread.o vesafb-tng.o
500+endif
501 obj-$(CONFIG_FB_VGA16) += vga16fb.o vgastate.o
502 obj-$(CONFIG_FB_OF) += offb.o
503
504--- linux-2.6.17.orig/drivers/video/fbmem.c
505+++ linux-2.6.17/drivers/video/fbmem.c
506@@ -1438,6 +1438,7 @@ fbmem_init(void)
507 printk(KERN_WARNING "Unable to create fb class; errno = %ld\n", PTR_ERR(fb_class));
508 fb_class = NULL;
509 }
510+
511 return 0;
512 }
513
514--- linux-2.6.17.orig/drivers/video/modedb.c
515+++ linux-2.6.17/drivers/video/modedb.c
516@@ -671,6 +671,7 @@ void fb_var_to_videomode(struct fb_video
517 {
518 u32 pixclock, hfreq, htotal, vtotal;
519
520+ mode->refresh = 0;
521 mode->name = NULL;
522 mode->xres = var->xres;
523 mode->yres = var->yres;
524--- /dev/null
525+++ linux-2.6.17/drivers/video/vesafb-thread.c
526@@ -0,0 +1,727 @@
527+/*
528+ * Framebuffer driver for VBE 2.0+ compliant graphic boards.
529+ * Kernel thread and vm86 routines.
530+ *
531+ * (c) 2004-2006 Michal Januszewski <spock@gentoo.org>
532+ *
533+ */
534+
535+#include <linux/config.h>
536+#include <linux/slab.h>
537+#include <linux/workqueue.h>
538+#include <linux/completion.h>
539+#include <linux/module.h>
540+#include <linux/kernel.h>
541+#include <linux/errno.h>
542+#include <linux/mm.h>
543+#include <linux/delay.h>
544+#include <linux/signal.h>
545+#include <linux/suspend.h>
546+#include <linux/unistd.h>
547+#include <video/vesa.h>
548+#include <video/edid.h>
549+#include <asm/mman.h>
550+#include <asm/page.h>
551+#include <asm/vm86.h>
552+#include <asm/thread_info.h>
553+#include <asm/uaccess.h>
554+#include <asm/mmu_context.h>
555+#include "edid.h"
556+
557+#ifdef MODULE
558+int errno;
559+#endif
560+
561+static DECLARE_COMPLETION(vesafb_th_completion);
562+static DECLARE_MUTEX(vesafb_task_list_sem);
563+static LIST_HEAD(vesafb_task_list);
564+static DECLARE_WAIT_QUEUE_HEAD(vesafb_wait);
565+
566+static struct vm86_struct vm86;
567+static int vesafb_pid = 0;
568+
569+_syscall3(int,ioperm,unsigned long, a, unsigned long, b, unsigned long, c);
570+_syscall1(int,vm86old,struct vm86_struct __user*, v86);
571+
572+#define DEFAULT_VM86_FLAGS (IF_MASK | IOPL_MASK)
573+#define VM86_PUSHW(x) \
574+do { \
575+ vm86.regs.esp -= 2; \
576+ *(u16*)(STACK_ADDR + vm86.regs.esp) = x; \
577+} while(0);
578+
579+/* Stack, the return code and buffers will be put into
580+ * one contiguous memory chunk:
581+ *
582+ * [ STACK | RET_CODE | BUFFER ]
583+ *
584+ * Some video BIOSes (sis6326) try to store data somewhere
585+ * in 0x7000-0x7fff, so we zeromap more memory to be safe.
586+ */
587+#define IVTBDA_SIZE PAGE_SIZE
588+#define RET_CODE_SIZE 0x0010
589+#define STACK_SIZE 0x0500
590+#define BUFFER_SIZE 0x10000
591+
592+/* The amount of memory that will be allocated should be a multiple
593+ * of PAGE_SIZE. */
594+#define __MEM_SIZE (RET_CODE_SIZE + STACK_SIZE + BUFFER_SIZE)
595+#define REAL_MEM_SIZE (((__MEM_SIZE / PAGE_SIZE) + 1) * PAGE_SIZE)
596+
597+#define IVTBDA_ADDR 0x00000
598+#define STACK_ADDR (IVTBDA_ADDR + IVTBDA_SIZE)
599+#define RET_CODE_ADDR (STACK_ADDR + STACK_SIZE)
600+#define BUF_ADDR (RET_CODE_ADDR + RET_CODE_SIZE)
601+
602+#define FLAG_D (1 << 10)
603+
604+/* Segment prefix opcodes */
605+enum {
606+ P_CS = 0x2e,
607+ P_SS = 0x36,
608+ P_DS = 0x3e,
609+ P_ES = 0x26,
610+ P_FS = 0x64,
611+ P_GS = 0x65
612+};
613+
614+/* Emulated vm86 ins instruction */
615+static void vm86_ins(int size)
616+{
617+ u32 edx, edi;
618+ edx = vm86.regs.edx & 0xffff;
619+ edi = (vm86.regs.edi & 0xffff) + (u32)(vm86.regs.es << 4);
620+
621+ if (vm86.regs.eflags & FLAG_D)
622+ asm volatile ("std\n");
623+ else
624+ asm volatile ("cld\n");
625+
626+ switch (size) {
627+ case 4:
628+ asm volatile ("insl\n" : "=D" (edi) : "d" (edx), "0" (edi));
629+ break;
630+ case 2:
631+ asm volatile ("insw\n" : "=D" (edi) : "d" (edx), "0" (edi));
632+ break;
633+ case 1:
634+ asm volatile ("insb\n" : "=D" (edi) : "d" (edx), "0" (edi));
635+ break;
636+ }
637+
638+ if (vm86.regs.eflags & FLAG_D)
639+ asm volatile ("cld\n");
640+
641+ edi -= (u32)(vm86.regs.es << 4);
642+
643+ vm86.regs.edi &= 0xffff0000;
644+ vm86.regs.edi |= edi & 0xffff;
645+}
646+
647+static void vm86_rep_ins(int size)
648+{
649+ u16 cx = vm86.regs.ecx;
650+ while (cx--)
651+ vm86_ins(size);
652+
653+ vm86.regs.ecx &= 0xffff0000;
654+}
655+
656+/* Emulated vm86 outs instruction */
657+static void vm86_outs(int size, int segment)
658+{
659+ u32 edx, esi, base;
660+
661+ edx = vm86.regs.edx & 0xffff;
662+ esi = vm86.regs.esi & 0xffff;
663+
664+ switch (segment) {
665+ case P_CS: base = vm86.regs.cs; break;
666+ case P_SS: base = vm86.regs.ss; break;
667+ case P_ES: base = vm86.regs.es; break;
668+ case P_FS: base = vm86.regs.fs; break;
669+ case P_GS: base = vm86.regs.gs; break;
670+ default: base = vm86.regs.ds; break;
671+ }
672+
673+ esi += base << 4;
674+
675+ if (vm86.regs.eflags & FLAG_D)
676+ asm volatile ("std\n");
677+ else
678+ asm volatile ("cld\n");
679+
680+ switch (size) {
681+ case 4:
682+ asm volatile ("outsl\n" : "=S" (esi) : "d" (edx), "0" (esi));
683+ break;
684+ case 2:
685+ asm volatile ("outsw\n" : "=S" (esi) : "d" (edx), "0" (esi));
686+ break;
687+ case 1:
688+ asm volatile ("outsb\n" : "=S" (esi) : "d" (edx), "0" (esi));
689+ break;
690+ }
691+
692+ if (vm86.regs.eflags & FLAG_D)
693+ asm volatile ("cld");
694+
695+ esi -= base << 4;
696+ vm86.regs.esi &= 0xffff0000;
697+ vm86.regs.esi |= (esi & 0xffff);
698+}
699+
700+static void vm86_rep_outs(int size, int segment)
701+{
702+ u16 cx = vm86.regs.ecx;
703+ while (cx--)
704+ vm86_outs(size, segment);
705+
706+ vm86.regs.ecx &= 0xffff0000;
707+}
708+
709+static int vm86_do_unknown(void)
710+{
711+ u8 data32 = 0, segment = P_DS, rep = 0;
712+ u8 *instr;
713+ int ret = 0, i = 0;
714+
715+ instr = (u8*)((vm86.regs.cs << 4) + vm86.regs.eip);
716+
717+ while (1) {
718+ switch(instr[i]) {
719+ case 0x66: /* operand size prefix */
720+ data32 = 1 - data32;
721+ i++;
722+ break;
723+ case 0xf2: /* repnz */
724+ case 0xf3: /* rep */
725+ rep = 1;
726+ i++;
727+ break;
728+ case P_CS: /* segment prefix */
729+ case P_SS:
730+ case P_DS:
731+ case P_ES:
732+ case P_FS:
733+ case P_GS:
734+ segment = instr[i];
735+ i++;
736+ break;
737+ case 0xf0: /* LOCK - ignored */
738+ case 0x67: /* address size prefix - ignored */
739+ i++;
740+ break;
741+ case 0x6c: /* insb */
742+ if (rep)
743+ vm86_rep_ins(1);
744+ else
745+ vm86_ins(1);
746+ i++;
747+ goto out;
748+ case 0x6d: /* insw / insd */
749+ if (rep) {
750+ if (data32)
751+ vm86_rep_ins(4);
752+ else
753+ vm86_rep_ins(2);
754+ } else {
755+ if (data32)
756+ vm86_ins(4);
757+ else
758+ vm86_ins(2);
759+ }
760+ i++;
761+ goto out;
762+ case 0x6e: /* outsb */
763+ if (rep)
764+ vm86_rep_outs(1, segment);
765+ else
766+ vm86_outs(1, segment);
767+ i++;
768+ goto out;
769+ case 0x6f: /* outsw / outsd */
770+ if (rep) {
771+ if (data32)
772+ vm86_rep_outs(4, segment);
773+ else
774+ vm86_rep_outs(2, segment);
775+ } else {
776+ if (data32)
777+ vm86_outs(4, segment);
778+ else
779+ vm86_outs(2, segment);
780+ }
781+ i++;
782+ goto out;
783+ case 0xe4: /* inb xx */
784+ asm volatile (
785+ "inb %w1, %b0"
786+ : "=a" (vm86.regs.eax)
787+ : "d" (instr[i+1]), "0" (vm86.regs.eax));
788+ i += 2;
789+ goto out;
790+ case 0xe5: /* inw xx / ind xx */
791+ if (data32) {
792+ asm volatile (
793+ "inl %w1, %0"
794+ : "=a" (vm86.regs.eax)
795+ : "d" (instr[i+1]),
796+ "0" (vm86.regs.eax));
797+ } else {
798+ asm volatile (
799+ "inw %w1, %w0"
800+ : "=a" (vm86.regs.eax)
801+ : "d" (instr[i+1]),
802+ "0" (vm86.regs.eax));
803+ }
804+ i += 2;
805+ goto out;
806+
807+ case 0xec: /* inb dx */
808+ asm volatile (
809+ "inb %w1, %b0"
810+ : "=a" (vm86.regs.eax)
811+ : "d" (vm86.regs.edx), "0" (vm86.regs.eax));
812+ i++;
813+ goto out;
814+ case 0xed: /* inw dx / ind dx */
815+ if (data32) {
816+ asm volatile (
817+ "inl %w1, %0"
818+ : "=a" (vm86.regs.eax)
819+ : "d" (vm86.regs.edx));
820+ } else {
821+ asm volatile (
822+ "inw %w1, %w0"
823+ : "=a" (vm86.regs.eax)
824+ : "d" (vm86.regs.edx));
825+ }
826+ i++;
827+ goto out;
828+ case 0xe6: /* outb xx */
829+ asm volatile (
830+ "outb %b0, %w1"
831+ : /* no return value */
832+ : "a" (vm86.regs.eax), "d" (instr[i+1]));
833+ i += 2;
834+ goto out;
835+ case 0xe7: /* outw xx / outd xx */
836+ if (data32) {
837+ asm volatile (
838+ "outl %0, %w1"
839+ : /* no return value */
840+ : "a" (vm86.regs.eax),
841+ "d" (instr[i+1]));
842+ } else {
843+ asm volatile (
844+ "outw %w0, %w1"
845+ : /* no return value */
846+ : "a" (vm86.regs.eax),
847+ "d" (instr[i+1]));
848+ }
849+ i += 2;
850+ goto out;
851+ case 0xee: /* outb dx */
852+ asm volatile (
853+ "outb %b0, %w1"
854+ : /* no return value */
855+ : "a" (vm86.regs.eax), "d" (vm86.regs.edx));
856+ i++;
857+ goto out;
858+ case 0xef: /* outw dx / outd dx */
859+ if (data32) {
860+ asm volatile (
861+ "outl %0, %w1"
862+ : /* no return value */
863+ : "a" (vm86.regs.eax),
864+ "d" (vm86.regs.edx));
865+ } else {
866+ asm volatile (
867+ "outw %w0, %w1"
868+ : /* no return value */
869+ : "a" (vm86.regs.eax),
870+ "d" (vm86.regs.edx));
871+ }
872+ i++;
873+ goto out;
874+ default:
875+ printk(KERN_ERR "vesafb: BUG, opcode 0x%x emulation "
876+ "not supported (EIP: 0x%lx)\n",
877+ instr[i], (u32)(vm86.regs.cs << 4) +
878+ vm86.regs.eip);
879+ ret = 1;
880+ goto out;
881+ }
882+ }
883+out: vm86.regs.eip += i;
884+ return ret;
885+}
886+
887+void vesafb_do_vm86(struct vm86_regs *regs)
888+{
889+ unsigned int ret;
890+ u8 *retcode = (void*)RET_CODE_ADDR;
891+
892+ memset(&vm86,0,sizeof(vm86));
893+ memcpy(&vm86.regs, regs, sizeof(struct vm86_regs));
894+
895+ /* The return code */
896+ retcode[0] = 0xcd; /* int opcode */
897+ retcode[1] = 0xff; /* int number (255) */
898+
899+ /* We use int 0xff to get back to protected mode */
900+ memset(&vm86.int_revectored, 0, sizeof(vm86.int_revectored));
901+ ((unsigned char *)&vm86.int_revectored)[0xff / 8] |= (1 << (0xff % 8));
902+
903+ /*
904+ * We want to call int 0x10, so we set:
905+ * CS = 0x42 = 0x10 * 4 + 2
906+ * IP = 0x40 = 0x10 * 4
907+ * and SS:ESP. It's up to the caller to set the rest of the registers.
908+ */
909+ vm86.regs.eflags = DEFAULT_VM86_FLAGS;
910+ vm86.regs.cs = *(unsigned short *)0x42;
911+ vm86.regs.eip = *(unsigned short *)0x40;
912+ vm86.regs.ss = (STACK_ADDR >> 4);
913+ vm86.regs.esp = ((STACK_ADDR & 0x0000f) + STACK_SIZE);
914+
915+ /* These will be fetched off the stack when we come to an iret in the
916+ * int's 0x10 code. */
917+ VM86_PUSHW(DEFAULT_VM86_FLAGS);
918+ VM86_PUSHW((RET_CODE_ADDR >> 4)); /* return code segment */
919+ VM86_PUSHW((RET_CODE_ADDR & 0x0000f)); /* return code offset */
920+
921+ while(1) {
922+ ret = vm86old(&vm86);
923+
924+ if (VM86_TYPE(ret) == VM86_INTx) {
925+ int vint = VM86_ARG(ret);
926+
927+ /* If exit from vm86 was caused by int 0xff, then
928+ * we're done.. */
929+ if (vint == 0xff)
930+ goto out;
931+
932+ /* .. otherwise, we have to call the int handler
933+ * manually */
934+ VM86_PUSHW(vm86.regs.eflags);
935+ VM86_PUSHW(vm86.regs.cs);
936+ VM86_PUSHW(vm86.regs.eip);
937+
938+ vm86.regs.cs = *(u16 *)((vint << 2) + 2);
939+ vm86.regs.eip = *(u16 *)(vint << 2);
940+ vm86.regs.eflags &= ~(VIF_MASK | TF_MASK);
941+ } else if (VM86_TYPE(ret) == VM86_UNKNOWN) {
942+ if (vm86_do_unknown())
943+ goto out;
944+ } else {
945+ printk(KERN_ERR "vesafb: BUG, returned from "
946+ "vm86 with %x (EIP: 0x%lx)\n",
947+ ret, (u32)(vm86.regs.cs << 4) +
948+ vm86.regs.eip);
949+ goto out;
950+ }
951+ }
952+
953+out: /* copy the registers' state back to the caller's struct */
954+ memcpy(regs, &vm86.regs, sizeof(struct vm86_regs));
955+}
956+
957+static int vesafb_remap_pfn_range(unsigned long start, unsigned long end,
958+ unsigned long pgoff, unsigned long prot,
959+ int type)
960+{
961+ struct vm_area_struct *vma;
962+ struct mm_struct *mm = current->mm;
963+ int ret = 0;
964+
965+ vma = kmem_cache_alloc(vm_area_cachep, SLAB_KERNEL);
966+ if (!vma)
967+ return -ENOMEM;
968+ memset(vma, 0, sizeof(*vma));
969+ down_write(&mm->mmap_sem);
970+ vma->vm_mm = mm;
971+ vma->vm_start = start;
972+ vma->vm_end = end;
973+ vma->vm_flags = VM_READ | VM_WRITE | VM_EXEC;
974+ vma->vm_flags |= mm->def_flags;
975+ vma->vm_page_prot.pgprot = prot;
976+ vma->vm_pgoff = pgoff;
977+
978+ if ((ret = insert_vm_struct(mm, vma))) {
979+ up_write(&mm->mmap_sem);
980+ kmem_cache_free(vm_area_cachep, vma);
981+ return ret;
982+ }
983+
984+ if (type) {
985+ ret = zeromap_page_range(vma,
986+ vma->vm_start,
987+ vma->vm_end - vma->vm_start,
988+ vma->vm_page_prot);
989+ } else {
990+ vma->vm_flags |= VM_SHARED;
991+ ret = remap_pfn_range(vma,
992+ vma->vm_start,
993+ vma->vm_pgoff,
994+ vma->vm_end - vma->vm_start,
995+ vma->vm_page_prot);
996+ }
997+ up_write(&mm->mmap_sem);
998+ return ret;
999+}
1000+
1001+static inline int vesafb_init_mem(void)
1002+{
1003+ int ret = 0;
1004+
1005+ /* The memory chunks we're remapping here should be multiples
1006+ * of PAGE_SIZE. */
1007+ ret += vesafb_remap_pfn_range(0x00000, IVTBDA_SIZE, 0,
1008+ PROT_READ | PROT_EXEC | PROT_WRITE, 0);
1009+ ret += vesafb_remap_pfn_range(IVTBDA_SIZE, REAL_MEM_SIZE, 0,
1010+ PROT_READ | PROT_EXEC | PROT_WRITE, 1);
1011+ ret += vesafb_remap_pfn_range(0x9f000, 0x100000,
1012+ 0x9f000 >> PAGE_SHIFT,
1013+ PROT_READ | PROT_EXEC | PROT_WRITE, 0);
1014+ if (ret)
1015+ printk(KERN_ERR "vesafb thread: memory remapping failed\n");
1016+
1017+ return ret;
1018+}
1019+
1020+#define vesafb_get_string(str) \
1021+{ \
1022+ /* The address is in the form ssssoooo, where oooo = offset, \
1023+ * ssss = segment */ \
1024+ addr = ((p_vbe(tsk->buf)->str & 0xffff0000) >> 12) + \
1025+ (p_vbe(tsk->buf)->str & 0x0000ffff); \
1026+ \
1027+ /* The data is in ROM which is shared between processes, so we \
1028+ * just translate the real mode address into one visible from \
1029+ * kernel space */ \
1030+ if (addr >= 0xa0000) { \
1031+ p_vbe(tsk->buf)->str = (u32) __va(addr); \
1032+ \
1033+ /* The data is in the buffer, we just have to convert the \
1034+ * address so that it points into the buffer user provided. */ \
1035+ } else if (addr > BUF_ADDR && addr < BUF_ADDR + \
1036+ sizeof(struct vesafb_vbe_ib)) { \
1037+ addr -= BUF_ADDR; \
1038+ p_vbe(tsk->buf)->str = (u32) (tsk->buf + addr); \
1039+ \
1040+ /* This should never happen: someone was insane enough to put \
1041+ * the data somewhere in RAM.. */ \
1042+ } else { \
1043+ p_vbe(tsk->buf)->str = (u32) ""; \
1044+ } \
1045+}
1046+
1047+void vesafb_handle_getvbeib(struct vesafb_task *tsk)
1048+{
1049+ int addr, res;
1050+
1051+ tsk->regs.es = (BUF_ADDR >> 4);
1052+ tsk->regs.edi = (BUF_ADDR & 0x000f);
1053+ strncpy(p_vbe(BUF_ADDR)->vbe_signature, "VBE2", 4);
1054+
1055+ vesafb_do_vm86(&tsk->regs);
1056+ memcpy(tsk->buf, (void*)(BUF_ADDR), sizeof(struct vesafb_vbe_ib));
1057+
1058+ /* The OEM fields were not defined prior to VBE 2.0 */
1059+ if (p_vbe(tsk->buf)->vbe_version >= 0x200) {
1060+ vesafb_get_string(oem_string_ptr);
1061+ vesafb_get_string(oem_vendor_name_ptr);
1062+ vesafb_get_string(oem_product_name_ptr);
1063+ vesafb_get_string(oem_product_rev_ptr);
1064+ }
1065+
1066+ /* This is basically the same as vesafb_get_string() */
1067+ addr = ((p_vbe(tsk->buf)->mode_list_ptr & 0xffff0000) >> 12) +
1068+ (p_vbe(tsk->buf)->mode_list_ptr & 0x0000ffff);
1069+
1070+ if (addr >= 0xa0000) {
1071+ p_vbe(tsk->buf)->mode_list_ptr = (u32) __va(addr);
1072+ } else if (addr > BUF_ADDR && addr < BUF_ADDR +
1073+ sizeof(struct vesafb_vbe_ib)) {
1074+ addr -= BUF_ADDR;
1075+ p_vbe(tsk->buf)->mode_list_ptr = (u32) (tsk->buf + addr);
1076+ } else {
1077+ res = 0;
1078+ printk(KERN_WARNING "vesafb: warning, copying modelist "
1079+ "from somewhere in RAM!\n");
1080+ while (*(u16*)(addr+res) != 0xffff &&
1081+ res < (sizeof(p_vbe(tsk->buf)->reserved) - 2)) {
1082+ *(u16*) ((u32)&(p_vbe(tsk->buf)->reserved) + res) =
1083+ *(u16*)(addr+res);
1084+ res += 2;
1085+ }
1086+ *(u16*) ((u32)&(p_vbe(tsk->buf)->reserved) + res) = 0xffff;
1087+ }
1088+}
1089+
1090+int vesafb_handle_tasks(void)
1091+{
1092+ struct vesafb_task *tsk;
1093+ struct list_head *curr, *next;
1094+ int ret = 0;
1095+
1096+ down(&vesafb_task_list_sem);
1097+ list_for_each_safe(curr, next, &vesafb_task_list) {
1098+ tsk = list_entry(curr, struct vesafb_task, node);
1099+
1100+ if (tsk->flags & TF_EXIT) {
1101+ ret = 1;
1102+ goto task_done;
1103+ }
1104+ if (tsk->flags & TF_GETVBEIB) {
1105+ vesafb_handle_getvbeib(tsk);
1106+ goto task_done;
1107+ }
1108+ /* Do we need to store a pointer to the buffer in ES:EDI? */
1109+ if (tsk->flags & TF_BUF_DI) {
1110+ tsk->regs.es = (BUF_ADDR >> 4);
1111+ tsk->regs.edi = (BUF_ADDR & 0x000f);
1112+ }
1113+ /* Sometimes the pointer has to be in ES:EBX. */
1114+ if (tsk->flags & TF_BUF_BX) {
1115+ tsk->regs.es = (BUF_ADDR >> 4);
1116+ tsk->regs.ebx = (BUF_ADDR & 0x000f);
1117+ }
1118+ if (tsk->flags & (TF_BUF_DI | TF_BUF_BX))
1119+ memcpy((void*)BUF_ADDR, tsk->buf, tsk->buf_len);
1120+
1121+ vesafb_do_vm86(&tsk->regs);
1122+
1123+ if (tsk->flags & TF_RETURN_BUF)
1124+ memcpy(tsk->buf, (void*)BUF_ADDR, tsk->buf_len);
1125+
1126+task_done: list_del(curr);
1127+ complete(&tsk->done);
1128+ }
1129+
1130+ /* If we're going to kill this thread, don't allow any elements
1131+ * to be added to the task list. */
1132+ if (!ret)
1133+ up(&vesafb_task_list_sem);
1134+
1135+ return ret;
1136+}
1137+
1138+/*
1139+ * This 'hybrid' thread serves as a backend for vesafb-tng, handling all vm86
1140+ * calls. It is started as a kernel thread. It then creates its own mm struct,
1141+ * thus separating itself from any userspace processes. At this moment, it
1142+ * stops being a kernel thread (kernel threads have mm = NULL) and becomes
1143+ * a 'hybrid' thread -- one that has full access to kernel space, yet runs
1144+ * with its own address space.
1145+ *
1146+ * This is necessary because in order to make vm86 calls some parts of the
1147+ * first 1MB of RAM have to be setup to mimic the real mode. These are:
1148+ * - interrupt vector table [0x00000-0x003ff]
1149+ * - BIOS data area [0x00400-0x004ff]
1150+ * - Extended BIOS data area [0x9fc00-0x9ffff]
1151+ * - the video RAM [0xa0000-0xbffff]
1152+ * - video BIOS [0xc0000-0xcffff]
1153+ * - motherboard BIOS [0xf0000-0xfffff]
1154+ */
1155+int vesafb_thread(void *unused)
1156+{
1157+ int err = 0;
1158+
1159+ set_fs(KERNEL_DS);
1160+ daemonize("vesafb");
1161+
1162+ if (set_new_mm()) {
1163+ err = -ENOMEM;
1164+ goto thr_end;
1165+ }
1166+ if (vesafb_init_mem()) {
1167+ err = -ENOMEM;
1168+ goto thr_end;
1169+ }
1170+
1171+ DPRINTK("started vesafb thread\n");
1172+
1173+ /* Having an IO bitmap makes things faster as we avoid GPFs
1174+ * when running vm86 code. We can live if it fails, though,
1175+ * so don't bother checking for errors. */
1176+ ioperm(0,1024,1);
1177+ set_user_nice(current, -10);
1178+
1179+ complete(&vesafb_th_completion);
1180+
1181+ while (1) {
1182+ if (vesafb_handle_tasks())
1183+ break;
1184+ wait_event_interruptible(vesafb_wait,
1185+ !list_empty(&vesafb_task_list));
1186+ try_to_freeze();
1187+ }
1188+
1189+out: DPRINTK("exiting the vesafb thread\n");
1190+ vesafb_pid = -1;
1191+
1192+ /* Now that all callers know this thread is no longer running
1193+ * (pid < 0), allow them to continue. */
1194+ up(&vesafb_task_list_sem);
1195+ return err;
1196+thr_end:
1197+ down(&vesafb_task_list_sem);
1198+ complete(&vesafb_th_completion);
1199+ goto out;
1200+}
1201+
1202+int vesafb_queue_task(struct vesafb_task *tsk)
1203+{
1204+ down(&vesafb_task_list_sem);
1205+ if (vesafb_pid < 0)
1206+ return -1;
1207+ list_add_tail(&tsk->node, &vesafb_task_list);
1208+ up(&vesafb_task_list_sem);
1209+ wake_up(&vesafb_wait);
1210+ return 0;
1211+}
1212+
1213+int vesafb_wait_for_thread(void)
1214+{
1215+ /* PID 0 means that the thread is still initializing. */
1216+ if (vesafb_pid < 0)
1217+ return -1;
1218+ wait_for_completion(&vesafb_th_completion);
1219+ return 0;
1220+}
1221+
1222+int __init vesafb_init_thread(void)
1223+{
1224+ vesafb_pid = kernel_thread(vesafb_thread,NULL,0);
1225+ return 0;
1226+}
1227+
1228+#ifdef MODULE
1229+void __exit vesafb_kill_thread(void)
1230+{
1231+ struct vesafb_task *tsk;
1232+ if (vesafb_pid <= 0)
1233+ return;
1234+
1235+ vesafb_create_task(tsk);
1236+ if (!tsk)
1237+ return;
1238+ tsk->flags |= TF_EXIT;
1239+ vesafb_queue_task(tsk);
1240+ vesafb_wait_for_task(tsk);
1241+ kfree(tsk);
1242+ return;
1243+}
1244+module_exit(vesafb_kill_thread);
1245+#endif
1246+module_init(vesafb_init_thread);
1247+
1248+EXPORT_SYMBOL_GPL(vesafb_queue_task);
1249+EXPORT_SYMBOL_GPL(vesafb_wait_for_thread);
1250+
1251+MODULE_LICENSE("GPL");
1252+MODULE_AUTHOR("Michal Januszewski");
1253+
1254--- /dev/null
1255+++ linux-2.6.17/drivers/video/vesafb-tng.c
1256@@ -0,0 +1,1598 @@
1257+/*
1258+ * Framebuffer driver for VBE 2.0+ compliant graphic boards
1259+ *
1260+ * (c) 2004-2006 Michal Januszewski <spock@gentoo.org>
1261+ * Based upon vesafb code by Gerd Knorr <kraxel@goldbach.in-berlin.de>
1262+ *
1263+ */
1264+
1265+#include <linux/module.h>
1266+#include <linux/kernel.h>
1267+#include <linux/errno.h>
1268+#include <linux/string.h>
1269+#include <linux/mm.h>
1270+#include <linux/tty.h>
1271+#include <linux/delay.h>
1272+#include <linux/fb.h>
1273+#include <linux/ioport.h>
1274+#include <linux/init.h>
1275+#include <linux/proc_fs.h>
1276+#include <linux/completion.h>
1277+#include <linux/platform_device.h>
1278+#include <video/edid.h>
1279+#include <video/vesa.h>
1280+#include <video/vga.h>
1281+#include <asm/io.h>
1282+#include <asm/mtrr.h>
1283+#include <asm/page.h>
1284+#include <asm/pgtable.h>
1285+#include "edid.h"
1286+
1287+#define dac_reg (0x3c8)
1288+#define dac_val (0x3c9)
1289+
1290+#define VESAFB_NEED_EXACT_RES 1
1291+#define VESAFB_NEED_EXACT_DEPTH 2
1292+
1293+/* --------------------------------------------------------------------- */
1294+
1295+static struct fb_var_screeninfo vesafb_defined __initdata = {
1296+ .activate = FB_ACTIVATE_NOW,
1297+ .height = 0,
1298+ .width = 0,
1299+ .right_margin = 32,
1300+ .upper_margin = 16,
1301+ .lower_margin = 4,
1302+ .vsync_len = 4,
1303+ .vmode = FB_VMODE_NONINTERLACED,
1304+};
1305+
1306+static struct fb_fix_screeninfo vesafb_fix __initdata = {
1307+ .id = "VESA VGA",
1308+ .type = FB_TYPE_PACKED_PIXELS,
1309+ .accel = FB_ACCEL_NONE,
1310+};
1311+
1312+static int mtrr = 0; /* disable mtrr by default */
1313+static int blank = 1; /* enable blanking by default */
1314+static int ypan = 0; /* 0 - nothing, 1 - ypan, 2 - ywrap */
1315+static int pmi_setpal = 1; /* pmi for palette changes */
1316+static u16 *pmi_base = NULL; /* protected mode interface location */
1317+static void (*pmi_start)(void) = NULL;
1318+static void (*pmi_pal)(void) = NULL;
1319+static struct vesafb_vbe_ib vbe_ib;
1320+static struct vesafb_mode_ib *vbe_modes;
1321+static int vbe_modes_cnt = 0;
1322+static struct fb_info *vesafb_info = NULL;
1323+static int nocrtc = 0; /* ignore CRTC settings */
1324+static int noedid __initdata = 0; /* don't try DDC transfers */
1325+static int vram_remap __initdata = 0; /* set amount of memory to be used */
1326+static int vram_total __initdata = 0; /* set total amount of memory */
1327+static u16 maxclk __initdata = 0; /* maximum pixel clock */
1328+static u16 maxvf __initdata = 0; /* maximum vertical frequency */
1329+static u16 maxhf __initdata = 0; /* maximum horizontal frequency */
1330+static int gtf __initdata = 0; /* forces use of the GTF */
1331+static char *mode_option __initdata = NULL;
1332+static u16 vbemode __initdata = 0;
1333+
1334+/* --------------------------------------------------------------------- */
1335+
1336+static int vesafb_find_vbe_mode(int xres, int yres, int depth,
1337+ unsigned char flags)
1338+{
1339+ int i, match = -1, h = 0, d = 0x7fffffff;
1340+
1341+ for (i = 0; i < vbe_modes_cnt; i++) {
1342+ h = abs(vbe_modes[i].x_res - xres) +
1343+ abs(vbe_modes[i].y_res - yres) +
1344+ abs(depth - vbe_modes[i].depth);
1345+ if (h == 0)
1346+ return i;
1347+ if (h < d || (h == d && vbe_modes[i].depth > depth)) {
1348+ d = h;
1349+ match = i;
1350+ }
1351+ }
1352+ i = 1;
1353+
1354+ if (flags & VESAFB_NEED_EXACT_DEPTH && vbe_modes[match].depth != depth)
1355+ i = 0;
1356+ if (flags & VESAFB_NEED_EXACT_RES && d > 24)
1357+ i = 0;
1358+ if (i != 0)
1359+ return match;
1360+ else
1361+ return -1;
1362+}
1363+
1364+static int vesafb_pan_display(struct fb_var_screeninfo *var,
1365+ struct fb_info *info)
1366+{
1367+ int offset;
1368+
1369+ offset = (var->yoffset * info->fix.line_length + var->xoffset) / 4;
1370+
1371+ /* It turns out it's not the best idea to do panning via vm86,
1372+ * so we only allow it if we have a PMI. */
1373+ if (pmi_start) {
1374+ __asm__ __volatile__(
1375+ "call *(%%edi)"
1376+ : /* no return value */
1377+ : "a" (0x4f07), /* EAX */
1378+ "b" (0), /* EBX */
1379+ "c" (offset), /* ECX */
1380+ "d" (offset >> 16), /* EDX */
1381+ "D" (&pmi_start)); /* EDI */
1382+ }
1383+ return 0;
1384+}
1385+
1386+static int vesafb_blank(int blank, struct fb_info *info)
1387+{
1388+ struct vesafb_task *tsk;
1389+ int err = 1;
1390+
1391+ if (vbe_ib.capabilities & VBE_CAP_VGACOMPAT) {
1392+ int loop = 10000;
1393+ u8 seq = 0, crtc17 = 0;
1394+
1395+ if (blank == FB_BLANK_POWERDOWN) {
1396+ seq = 0x20;
1397+ crtc17 = 0x00;
1398+ err = 0;
1399+ } else {
1400+ seq = 0x00;
1401+ crtc17 = 0x80;
1402+ err = (blank == FB_BLANK_UNBLANK) ? 0 : -EINVAL;
1403+ }
1404+
1405+ vga_wseq(NULL, 0x00, 0x01);
1406+ seq |= vga_rseq(NULL, 0x01) & ~0x20;
1407+ vga_wseq(NULL, 0x00, seq);
1408+
1409+ crtc17 |= vga_rcrt(NULL, 0x17) & ~0x80;
1410+ while (loop--);
1411+ vga_wcrt(NULL, 0x17, crtc17);
1412+ vga_wseq(NULL, 0x00, 0x03);
1413+ } else {
1414+ vesafb_create_task (tsk);
1415+ if (!tsk)
1416+ return -ENOMEM;
1417+ tsk->regs.eax = 0x4f10;
1418+ switch (blank) {
1419+ case FB_BLANK_UNBLANK:
1420+ tsk->regs.ebx = 0x0001;
1421+ break;
1422+ case FB_BLANK_NORMAL:
1423+ tsk->regs.ebx = 0x0101; /* standby */
1424+ break;
1425+ case FB_BLANK_POWERDOWN:
1426+ tsk->regs.ebx = 0x0401; /* powerdown */
1427+ break;
1428+ default:
1429+ goto out;
1430+ }
1431+ tsk->flags = TF_CALL;
1432+ if (!vesafb_queue_task (tsk))
1433+ vesafb_wait_for_task(tsk);
1434+
1435+ if ((tsk->regs.eax & 0xffff) == 0x004f)
1436+ err = 0;
1437+out: kfree(tsk);
1438+ }
1439+ return err;
1440+}
1441+
1442+static int vesafb_setpalette(struct vesafb_pal_entry *entries, int count,
1443+ int start, struct fb_info *info)
1444+{
1445+ struct vesafb_task *tsk;
1446+ int i = ((struct vesafb_par*)info->par)->mode_idx;
1447+ int ret = 0;
1448+
1449+ /* We support palette modifications for 8 bpp modes only, so
1450+ * there can never be more than 256 entries. */
1451+ if (start + count > 256)
1452+ return -EINVAL;
1453+
1454+ /* Use VGA registers if mode is VGA-compatible. */
1455+ if (i >= 0 && i < vbe_modes_cnt &&
1456+ vbe_modes[i].mode_attr & VBE_MODE_VGACOMPAT) {
1457+ for (i = 0; i < count; i++) {
1458+ outb_p(start + i, dac_reg);
1459+ outb_p(entries[i].red, dac_val);
1460+ outb_p(entries[i].green, dac_val);
1461+ outb_p(entries[i].blue, dac_val);
1462+ }
1463+ } else if (pmi_setpal) {
1464+ __asm__ __volatile__(
1465+ "call *(%%esi)"
1466+ : /* no return value */
1467+ : "a" (0x4f09), /* EAX */
1468+ "b" (0), /* EBX */
1469+ "c" (count), /* ECX */
1470+ "d" (start), /* EDX */
1471+ "D" (entries), /* EDI */
1472+ "S" (&pmi_pal)); /* ESI */
1473+ } else {
1474+ vesafb_create_task (tsk);
1475+ if (!tsk)
1476+ return -ENOMEM;
1477+ tsk->regs.eax = 0x4f09;
1478+ tsk->regs.ebx = 0x0;
1479+ tsk->regs.ecx = count;
1480+ tsk->regs.edx = start;
1481+ tsk->buf = entries;
1482+ tsk->buf_len = sizeof(struct vesafb_pal_entry) * count;
1483+ tsk->flags = TF_CALL | TF_BUF_DI;
1484+
1485+ if (!vesafb_queue_task (tsk))
1486+ vesafb_wait_for_task(tsk);
1487+ if ((tsk->regs.eax & 0xffff) != 0x004f)
1488+ ret = 1;
1489+ kfree(tsk);
1490+ }
1491+ return ret;
1492+}
1493+
1494+static int vesafb_setcolreg(unsigned regno, unsigned red, unsigned green,
1495+ unsigned blue, unsigned transp,
1496+ struct fb_info *info)
1497+{
1498+ struct vesafb_pal_entry entry;
1499+ int shift = 16 - info->var.green.length;
1500+ int ret = 0;
1501+
1502+ if (regno >= info->cmap.len)
1503+ return -EINVAL;
1504+
1505+ if (info->var.bits_per_pixel == 8) {
1506+ entry.red = red >> shift;
1507+ entry.green = green >> shift;
1508+ entry.blue = blue >> shift;
1509+ entry.pad = 0;
1510+
1511+ ret = vesafb_setpalette(&entry, 1, regno, info);
1512+ } else if (regno < 16) {
1513+ switch (info->var.bits_per_pixel) {
1514+ case 16:
1515+ if (info->var.red.offset == 10) {
1516+ /* 1:5:5:5 */
1517+ ((u32*) (info->pseudo_palette))[regno] =
1518+ ((red & 0xf800) >> 1) |
1519+ ((green & 0xf800) >> 6) |
1520+ ((blue & 0xf800) >> 11);
1521+ } else {
1522+ /* 0:5:6:5 */
1523+ ((u32*) (info->pseudo_palette))[regno] =
1524+ ((red & 0xf800) ) |
1525+ ((green & 0xfc00) >> 5) |
1526+ ((blue & 0xf800) >> 11);
1527+ }
1528+ break;
1529+
1530+ case 24:
1531+ case 32:
1532+ red >>= 8;
1533+ green >>= 8;
1534+ blue >>= 8;
1535+ ((u32 *)(info->pseudo_palette))[regno] =
1536+ (red << info->var.red.offset) |
1537+ (green << info->var.green.offset) |
1538+ (blue << info->var.blue.offset);
1539+ break;
1540+ }
1541+ }
1542+ return ret;
1543+}
1544+
1545+static int vesafb_setcmap(struct fb_cmap *cmap, struct fb_info *info)
1546+{
1547+ struct vesafb_pal_entry *entries;
1548+ int shift = 16 - info->var.green.length;
1549+ int i, ret = 0;
1550+
1551+ if (info->var.bits_per_pixel == 8) {
1552+ if (cmap->start + cmap->len > info->cmap.start +
1553+ info->cmap.len || cmap->start < info->cmap.start)
1554+ return -EINVAL;
1555+
1556+ entries = vmalloc(sizeof(struct vesafb_pal_entry) * cmap->len);
1557+ if (!entries)
1558+ return -ENOMEM;
1559+ for (i = 0; i < cmap->len; i++) {
1560+ entries[i].red = cmap->red[i] >> shift;
1561+ entries[i].green = cmap->green[i] >> shift;
1562+ entries[i].blue = cmap->blue[i] >> shift;
1563+ entries[i].pad = 0;
1564+ }
1565+ ret = vesafb_setpalette(entries, cmap->len, cmap->start, info);
1566+ vfree(entries);
1567+ } else {
1568+ /* For modes with bpp > 8, we only set the pseudo palette in
1569+ * the fb_info struct. We rely on vesafb_setcolreg to do all
1570+ * sanity checking. */
1571+ for (i = 0; i < cmap->len; i++) {
1572+ ret += vesafb_setcolreg(cmap->start + i, cmap->red[i],
1573+ cmap->green[i], cmap->blue[i],
1574+ 0, info);
1575+ }
1576+ }
1577+ return ret;
1578+}
1579+
1580+static int vesafb_set_par(struct fb_info *info)
1581+{
1582+ struct vesafb_par *par = (struct vesafb_par *) info->par;
1583+ struct vesafb_task *tsk;
1584+ struct vesafb_crtc_ib *crtc = NULL;
1585+ struct vesafb_mode_ib *mode = NULL;
1586+ int i, err = 0, depth = info->var.bits_per_pixel;
1587+
1588+ if (depth > 8 && depth != 32)
1589+ depth = info->var.red.length + info->var.green.length +
1590+ info->var.blue.length;
1591+
1592+ i = vesafb_find_vbe_mode(info->var.xres, info->var.yres, depth,
1593+ VESAFB_NEED_EXACT_RES |
1594+ VESAFB_NEED_EXACT_DEPTH);
1595+ if (i >= 0)
1596+ mode = &vbe_modes[i];
1597+ else
1598+ return -EINVAL;
1599+
1600+ vesafb_create_task (tsk);
1601+ if (!tsk)
1602+ return -ENOMEM;
1603+ tsk->regs.eax = 0x4f02;
1604+ tsk->regs.ebx = mode->mode_id | 0x4000; /* use LFB */
1605+ tsk->flags = TF_CALL;
1606+
1607+ if (vbe_ib.vbe_version >= 0x0300 && !nocrtc &&
1608+ info->var.pixclock != 0) {
1609+ tsk->regs.ebx |= 0x0800; /* use CRTC data */
1610+ tsk->flags |= TF_BUF_DI;
1611+ crtc = kmalloc(sizeof(struct vesafb_crtc_ib), GFP_KERNEL);
1612+ if (!crtc) {
1613+ err = -ENOMEM;
1614+ goto out;
1615+ }
1616+ crtc->horiz_start = info->var.xres + info->var.right_margin;
1617+ crtc->horiz_end = crtc->horiz_start + info->var.hsync_len;
1618+ crtc->horiz_total = crtc->horiz_end + info->var.left_margin;
1619+
1620+ crtc->vert_start = info->var.yres + info->var.lower_margin;
1621+ crtc->vert_end = crtc->vert_start + info->var.vsync_len;
1622+ crtc->vert_total = crtc->vert_end + info->var.upper_margin;
1623+
1624+ crtc->pixel_clock = PICOS2KHZ(info->var.pixclock) * 1000;
1625+ crtc->refresh_rate = (u16)(100 * (crtc->pixel_clock /
1626+ (crtc->vert_total * crtc->horiz_total)));
1627+ crtc->flags = 0;
1628+
1629+ if (info->var.vmode & FB_VMODE_DOUBLE)
1630+ crtc->flags |= 0x1;
1631+ if (info->var.vmode & FB_VMODE_INTERLACED)
1632+ crtc->flags |= 0x2;
1633+ if (!(info->var.sync & FB_SYNC_HOR_HIGH_ACT))
1634+ crtc->flags |= 0x4;
1635+ if (!(info->var.sync & FB_SYNC_VERT_HIGH_ACT))
1636+ crtc->flags |= 0x8;
1637+ memcpy(&par->crtc, crtc, sizeof(struct vesafb_crtc_ib));
1638+ } else
1639+ memset(&par->crtc, 0, sizeof(struct vesafb_crtc_ib));
1640+
1641+ tsk->buf = (void*)crtc;
1642+ tsk->buf_len = sizeof(struct vesafb_crtc_ib);
1643+
1644+ if (vesafb_queue_task (tsk)) {
1645+ err = -EINVAL;
1646+ goto out;
1647+ }
1648+ vesafb_wait_for_task(tsk);
1649+
1650+ if ((tsk->regs.eax & 0xffff) != 0x004f) {
1651+ printk(KERN_ERR "vesafb: mode switch failed (eax: 0x%lx)\n",
1652+ tsk->regs.eax);
1653+ err = -EINVAL;
1654+ goto out;
1655+ }
1656+ par->mode_idx = i;
1657+
1658+ /* For 8bpp modes, always try to set the DAC to 8 bits. */
1659+ if (vbe_ib.capabilities & VBE_CAP_CAN_SWITCH_DAC &&
1660+ mode->bits_per_pixel <= 8) {
1661+ vesafb_reset_task(tsk);
1662+ tsk->flags = TF_CALL;
1663+ tsk->regs.eax = 0x4f08;
1664+ tsk->regs.ebx = 0x0800;
1665+
1666+ if (!vesafb_queue_task (tsk))
1667+ vesafb_wait_for_task(tsk);
1668+
1669+ if ((tsk->regs.eax & 0xffff) != 0x004f ||
1670+ ((tsk->regs.ebx & 0xff00) >> 8) != 8) {
1671+ /* We've failed to set the DAC palette format -
1672+ * time to correct var. */
1673+ info->var.red.length = 6;
1674+ info->var.green.length = 6;
1675+ info->var.blue.length = 6;
1676+ }
1677+ }
1678+
1679+ info->fix.visual = (info->var.bits_per_pixel == 8) ?
1680+ FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_TRUECOLOR;
1681+ info->fix.line_length = mode->bytes_per_scan_line;
1682+
1683+ DPRINTK("set new mode %dx%d-%d (0x%x)\n",
1684+ info->var.xres, info->var.yres, info->var.bits_per_pixel,
1685+ mode->mode_id);
1686+
1687+out: if (crtc != NULL)
1688+ kfree(crtc);
1689+ kfree(tsk);
1690+
1691+ return err;
1692+}
1693+
1694+static void vesafb_setup_var(struct fb_var_screeninfo *var, struct fb_info *info,
1695+ struct vesafb_mode_ib *mode)
1696+{
1697+ var->xres = mode->x_res;
1698+ var->yres = mode->y_res;
1699+ var->xres_virtual = mode->x_res;
1700+ var->yres_virtual = (ypan) ?
1701+ info->fix.smem_len / mode->bytes_per_scan_line :
1702+ mode->y_res;
1703+ var->xoffset = 0;
1704+ var->yoffset = 0;
1705+ var->bits_per_pixel = mode->bits_per_pixel;
1706+
1707+ if (var->bits_per_pixel == 15)
1708+ var->bits_per_pixel = 16;
1709+
1710+ if (var->bits_per_pixel > 8) {
1711+ var->red.offset = mode->red_off;
1712+ var->red.length = mode->red_len;
1713+ var->green.offset = mode->green_off;
1714+ var->green.length = mode->green_len;
1715+ var->blue.offset = mode->blue_off;
1716+ var->blue.length = mode->blue_len;
1717+ var->transp.offset = mode->rsvd_off;
1718+ var->transp.length = mode->rsvd_len;
1719+
1720+ DPRINTK("directcolor: size=%d:%d:%d:%d, shift=%d:%d:%d:%d\n",
1721+ mode->rsvd_len,
1722+ mode->red_len,
1723+ mode->green_len,
1724+ mode->blue_len,
1725+ mode->rsvd_off,
1726+ mode->red_off,
1727+ mode->green_off,
1728+ mode->blue_off);
1729+ } else {
1730+ var->red.offset = 0;
1731+ var->green.offset = 0;
1732+ var->blue.offset = 0;
1733+ var->transp.offset = 0;
1734+
1735+ /* We're assuming that we can switch the DAC to 8 bits. If
1736+ * this proves to be incorrect, we'll update the fields
1737+ * later in set_par(). */
1738+ if (vbe_ib.capabilities & VBE_CAP_CAN_SWITCH_DAC) {
1739+ var->red.length = 8;
1740+ var->green.length = 8;
1741+ var->blue.length = 8;
1742+ var->transp.length = 0;
1743+ } else {
1744+ var->red.length = 6;
1745+ var->green.length = 6;
1746+ var->blue.length = 6;
1747+ var->transp.length = 0;
1748+ }
1749+ }
1750+}
1751+
1752+static void inline vesafb_check_limits(struct fb_var_screeninfo *var,
1753+ struct fb_info *info)
1754+{
1755+ struct fb_videomode *mode;
1756+
1757+ if (!var->pixclock)
1758+ return;
1759+ if (vbe_ib.vbe_version < 0x0300) {
1760+ fb_get_mode(FB_VSYNCTIMINGS | FB_IGNOREMON, 60, var, info);
1761+ return;
1762+ }
1763+ if (!fb_validate_mode(var, info))
1764+ return;
1765+ mode = fb_find_best_mode(var, &info->modelist);
1766+ if (mode) {
1767+ DPRINTK("find_best_mode: %d %d @ %d (vmode: %d)\n",
1768+ mode->xres, mode->yres, mode->refresh, mode->vmode);
1769+ if (mode->xres == var->xres && mode->yres == var->yres &&
1770+ !(mode->vmode & (FB_VMODE_INTERLACED | FB_VMODE_DOUBLE))) {
1771+ fb_videomode_to_var(var, mode);
1772+ return;
1773+ }
1774+ }
1775+ if (info->monspecs.gtf && !fb_get_mode(FB_MAXTIMINGS, 0, var, info))
1776+ return;
1777+ /* Use default refresh rate */
1778+ var->pixclock = 0;
1779+}
1780+
1781+static int vesafb_check_var(struct fb_var_screeninfo *var,
1782+ struct fb_info *info)
1783+{
1784+ int match = -1;
1785+ int depth = var->red.length + var->green.length + var->blue.length;
1786+
1787+ /* Various apps will use bits_per_pixel to set the color depth,
1788+ * which is theoretically incorrect, but which we'll try to handle
1789+ * here. */
1790+ if (depth == 0 || abs(depth - var->bits_per_pixel) >= 8)
1791+ depth = var->bits_per_pixel;
1792+ match = vesafb_find_vbe_mode(var->xres, var->yres, depth,
1793+ VESAFB_NEED_EXACT_RES);
1794+
1795+ if (match == -1) {
1796+ DPRINTK("vesafb: mode %dx%d-%d not found\n", var->xres,
1797+ var->yres, depth);
1798+ return -EINVAL;
1799+ }
1800+
1801+ vesafb_setup_var(var, info, &vbe_modes[match]);
1802+ DPRINTK("found mode 0x%x (%dx%d-%dbpp)\n",
1803+ vbe_modes[match].mode_id, vbe_modes[match].x_res,
1804+ vbe_modes[match].y_res, vbe_modes[match].depth);
1805+
1806+ /* Check whether we have remapped enough memory for this mode. */
1807+ if (var->yres * vbe_modes[match].bytes_per_scan_line >
1808+ info->fix.smem_len) {
1809+ return -EINVAL;
1810+ }
1811+
1812+ if ((var->vmode & FB_VMODE_DOUBLE) &&
1813+ !(vbe_modes[match].mode_attr & 0x100))
1814+ var->vmode &= ~FB_VMODE_DOUBLE;
1815+ if ((var->vmode & FB_VMODE_INTERLACED) &&
1816+ !(vbe_modes[match].mode_attr & 0x200))
1817+ var->vmode &= ~FB_VMODE_INTERLACED;
1818+ vesafb_check_limits(var, info);
1819+ return 0;
1820+}
1821+
1822+static int vesafb_open(struct fb_info *info, int user)
1823+{
1824+ struct vesafb_task *tsk = NULL;
1825+ struct vesafb_par *par = info->par;
1826+ int cnt = atomic_read(&par->ref_count);
1827+
1828+ if (!cnt) {
1829+ vesafb_create_task(tsk);
1830+ if (!tsk)
1831+ goto out;
1832+
1833+ /* Get the VBE state buffer size. We want all available
1834+ * hardware state data (CL = 0x0f). */
1835+ tsk->regs.eax = 0x4f04;
1836+ tsk->regs.ecx = 0x000f;
1837+ tsk->regs.edx = 0x0000;
1838+ tsk->flags = TF_CALL;
1839+
1840+ if (vesafb_queue_task(tsk))
1841+ goto out;
1842+
1843+ vesafb_wait_for_task(tsk);
1844+
1845+ if ((tsk->regs.eax & 0xffff) != 0x004f) {
1846+ printk(KERN_WARNING "vesafb: VBE state buffer size "
1847+ "cannot be determined (eax: 0x%lx)\n",
1848+ tsk->regs.eax);
1849+ goto out;
1850+ }
1851+
1852+ par->vbe_state_size = 64 * (tsk->regs.ebx & 0xffff);
1853+ par->vbe_state = kzalloc(par->vbe_state_size, GFP_KERNEL);
1854+ if (!par->vbe_state)
1855+ goto out;
1856+
1857+ vesafb_reset_task(tsk);
1858+ tsk->regs.eax = 0x4f04;
1859+ tsk->regs.ecx = 0x000f;
1860+ tsk->regs.edx = 0x0001;
1861+ tsk->flags = TF_CALL | TF_BUF_BX | TF_RETURN_BUF;
1862+ tsk->buf = (void*)(par->vbe_state);
1863+ tsk->buf_len = par->vbe_state_size;
1864+
1865+ if (vesafb_queue_task(tsk))
1866+ goto getstate_failed;
1867+ vesafb_wait_for_task(tsk);
1868+
1869+ if ((tsk->regs.eax & 0xffff) != 0x004f) {
1870+ printk(KERN_WARNING "vesafb: VBE get state call "
1871+ "failed (eax: 0x%lx)\n", tsk->regs.eax);
1872+ goto getstate_failed;
1873+ }
1874+ }
1875+out:
1876+ atomic_inc(&par->ref_count);
1877+ if (tsk)
1878+ kfree(tsk);
1879+ return 0;
1880+
1881+getstate_failed:
1882+ kfree(par->vbe_state);
1883+ par->vbe_state = NULL;
1884+ par->vbe_state_size = 0;
1885+ goto out;
1886+}
1887+
1888+static int vesafb_release(struct fb_info *info, int user)
1889+{
1890+ struct vesafb_task *tsk = NULL;
1891+ struct vesafb_par *par = info->par;
1892+ int cnt = atomic_read(&par->ref_count);
1893+
1894+ if (!cnt)
1895+ return -EINVAL;
1896+
1897+ if (cnt == 1 && par->vbe_state && par->vbe_state_size) {
1898+ vesafb_create_task(tsk);
1899+ if (!tsk)
1900+ goto out;
1901+
1902+ tsk->regs.eax = 0x0003;
1903+ tsk->regs.ebx = 0x0000;
1904+ tsk->flags = TF_CALL;
1905+
1906+ if (vesafb_queue_task(tsk))
1907+ goto out;
1908+
1909+ vesafb_wait_for_task(tsk);
1910+
1911+ vesafb_reset_task(tsk);
1912+ tsk->regs.eax = 0x4f04;
1913+ tsk->regs.ecx = 0x000f;
1914+ tsk->regs.edx = 0x0002;
1915+ tsk->buf = (void*)(par->vbe_state);
1916+ tsk->buf_len = par->vbe_state_size;
1917+ tsk->flags = TF_CALL | TF_BUF_BX;
1918+
1919+ if (vesafb_queue_task(tsk))
1920+ goto out;
1921+
1922+ vesafb_wait_for_task(tsk);
1923+
1924+ if ((tsk->regs.eax & 0xffff) != 0x004f)
1925+ printk(KERN_WARNING "vesafb: VBE state restore call "
1926+ "failed (eax: 0x%lx)\n",
1927+ tsk->regs.eax);
1928+ }
1929+out:
1930+ atomic_dec(&par->ref_count);
1931+ if (tsk)
1932+ kfree(tsk);
1933+ return 0;
1934+}
1935+
1936+static int __init vesafb_probe(struct platform_device *device);
1937+
1938+static struct fb_ops vesafb_ops = {
1939+ .owner = THIS_MODULE,
1940+ .fb_open = vesafb_open,
1941+ .fb_release = vesafb_release,
1942+ .fb_setcolreg = vesafb_setcolreg,
1943+ .fb_setcmap = vesafb_setcmap,
1944+ .fb_pan_display = vesafb_pan_display,
1945+ .fb_blank = vesafb_blank,
1946+ .fb_fillrect = cfb_fillrect,
1947+ .fb_copyarea = cfb_copyarea,
1948+ .fb_imageblit = cfb_imageblit,
1949+ .fb_check_var = vesafb_check_var,
1950+ .fb_set_par = vesafb_set_par
1951+};
1952+
1953+static struct platform_driver vesafb_driver = {
1954+ .probe = vesafb_probe,
1955+ .driver = {
1956+ .name = "vesafb",
1957+ },
1958+};
1959+
1960+static struct platform_device *vesafb_device;
1961+
1962+#ifndef MODULE
1963+int __init vesafb_setup(char *options)
1964+{
1965+ char *this_opt;
1966+
1967+ if (!options || !*options)
1968+ return 0;
1969+
1970+ DPRINTK("options %s\n",options);
1971+
1972+ while ((this_opt = strsep(&options, ",")) != NULL) {
1973+ if (!*this_opt) continue;
1974+
1975+ DPRINTK("this_opt: %s\n",this_opt);
1976+
1977+ if (! strcmp(this_opt, "redraw"))
1978+ ypan=0;
1979+ else if (! strcmp(this_opt, "ypan"))
1980+ ypan=1;
1981+ else if (! strcmp(this_opt, "ywrap"))
1982+ ypan=2;
1983+ else if (! strcmp(this_opt, "vgapal"))
1984+ pmi_setpal=0;
1985+ else if (! strcmp(this_opt, "pmipal"))
1986+ pmi_setpal=1;
1987+ else if (! strncmp(this_opt, "mtrr:", 5))
1988+ mtrr = simple_strtoul(this_opt+5, NULL, 0);
1989+ else if (! strcmp(this_opt, "nomtrr"))
1990+ mtrr=0;
1991+ else if (! strcmp(this_opt, "nocrtc"))
1992+ nocrtc=1;
1993+ else if (! strcmp(this_opt, "noedid"))
1994+ noedid=1;
1995+ else if (! strcmp(this_opt, "noblank"))
1996+ blank=0;
1997+ else if (! strcmp(this_opt, "gtf"))
1998+ gtf=1;
1999+ else if (! strncmp(this_opt, "vtotal:", 7))
2000+ vram_total = simple_strtoul(this_opt + 7, NULL, 0);
2001+ else if (! strncmp(this_opt, "vremap:", 7))
2002+ vram_remap = simple_strtoul(this_opt + 7, NULL, 0);
2003+ else if (! strncmp(this_opt, "maxhf:", 6))
2004+ maxhf = simple_strtoul(this_opt + 6, NULL, 0);
2005+ else if (! strncmp(this_opt, "maxvf:", 6))
2006+ maxvf = simple_strtoul(this_opt + 6, NULL, 0);
2007+ else if (! strncmp(this_opt, "maxclk:", 7))
2008+ maxclk = simple_strtoul(this_opt + 7, NULL, 0);
2009+ else if (! strncmp(this_opt, "vbemode:", 8))
2010+ vbemode = simple_strtoul(this_opt + 8, NULL,0);
2011+ else if (this_opt[0] >= '0' && this_opt[0] <= '9') {
2012+ DPRINTK("mode_option: %s\n",this_opt);
2013+ mode_option = this_opt;
2014+ } else {
2015+ printk(KERN_WARNING
2016+ "vesafb: unrecognized option %s\n", this_opt);
2017+ }
2018+ }
2019+
2020+ return 0;
2021+}
2022+#endif /* !MODULE */
2023+
2024+static int vesafb_read_proc_modes(char *buf, char **start, off_t offset,
2025+ int len, int *eof, void *private)
2026+{
2027+ int clen = 0, i;
2028+
2029+ for (i = 0; i < vbe_modes_cnt; i++) {
2030+ clen += sprintf(buf + clen, "%dx%d-%d\n", vbe_modes[i].x_res,
2031+ vbe_modes[i].y_res, vbe_modes[i].depth);
2032+ }
2033+ *start = buf + offset;
2034+
2035+ if (clen > offset) {
2036+ clen -= offset;
2037+ } else {
2038+ clen = 0;
2039+ }
2040+ return clen;
2041+}
2042+
2043+static int vesafb_read_proc_vbe_info(char *buf, char **start, off_t offset,
2044+ int len, int *eof, void *private)
2045+{
2046+ int clen = 0;
2047+
2048+ clen += sprintf(buf + clen, "Version: %d.%d\n",
2049+ ((vbe_ib.vbe_version & 0xff00) >> 8),
2050+ vbe_ib.vbe_version & 0xff);
2051+ clen += sprintf(buf + clen, "Vendor: %s\n",
2052+ (char*)vbe_ib.oem_vendor_name_ptr);
2053+ clen += sprintf(buf + clen, "Product: %s\n",
2054+ (char*)vbe_ib.oem_product_name_ptr);
2055+ clen += sprintf(buf + clen, "OEM rev: %s\n",
2056+ (char*)vbe_ib.oem_product_rev_ptr);
2057+ clen += sprintf(buf + clen, "OEM string: %s\n",
2058+ (char*)vbe_ib.oem_string_ptr);
2059+
2060+ *start = buf + offset;
2061+
2062+ if (clen > offset) {
2063+ clen -= offset;
2064+ } else {
2065+ clen = 0;
2066+ }
2067+ return clen;
2068+}
2069+
2070+static int __init inline vesafb_vbe_getinfo(struct vesafb_task *tsk)
2071+{
2072+ tsk->regs.eax = 0x4f00;
2073+ tsk->flags = TF_CALL | TF_GETVBEIB;
2074+ tsk->buf = &vbe_ib;
2075+ tsk->buf_len = sizeof(vbe_ib);
2076+ if (vesafb_queue_task (tsk))
2077+ return -EINVAL;
2078+ vesafb_wait_for_task(tsk);
2079+
2080+ if (vbe_ib.vbe_version < 0x0200) {
2081+ printk(KERN_ERR "vesafb: Sorry, pre-VBE 2.0 cards are "
2082+ "not supported.\n");
2083+ return -EINVAL;
2084+ }
2085+
2086+ if ((tsk->regs.eax & 0xffff) != 0x004f) {
2087+ printk(KERN_ERR "vesafb: Getting mode info block failed "
2088+ "(eax=0x%x)\n", (u32)tsk->regs.eax);
2089+ return -EINVAL;
2090+ }
2091+
2092+ printk(KERN_INFO "vesafb: %s, %s, %s (OEM: %s)\n",
2093+ (char*)vbe_ib.oem_vendor_name_ptr,
2094+ (char*)vbe_ib.oem_product_name_ptr,
2095+ (char*)vbe_ib.oem_product_rev_ptr,
2096+ (char*)vbe_ib.oem_string_ptr);
2097+
2098+ printk(KERN_INFO "vesafb: VBE version: %d.%d\n",
2099+ ((vbe_ib.vbe_version & 0xff00) >> 8),
2100+ vbe_ib.vbe_version & 0xff);
2101+ return 0;
2102+}
2103+
2104+static int __init inline vesafb_vbe_getmodes(struct vesafb_task *tsk)
2105+{
2106+ u16 *mode = 0;
2107+ int off = 0;
2108+
2109+ /* Count available modes. */
2110+ mode = (u16*)vbe_ib.mode_list_ptr;
2111+ while (*mode != 0xffff) {
2112+ vbe_modes_cnt++;
2113+ mode++;
2114+ }
2115+
2116+ vbe_modes = kmalloc(sizeof(struct vesafb_mode_ib)*
2117+ vbe_modes_cnt, GFP_KERNEL);
2118+ if (!vbe_modes)
2119+ return -ENOMEM;
2120+
2121+ /* Get mode info for all available modes. */
2122+ mode = (u16*)vbe_ib.mode_list_ptr;
2123+
2124+ while (*mode != 0xffff) {
2125+ struct vesafb_mode_ib *mib;
2126+
2127+ vesafb_reset_task(tsk);
2128+ tsk->regs.eax = 0x4f01;
2129+ tsk->regs.ecx = (u32) *mode;
2130+ tsk->flags = TF_CALL | TF_RETURN_BUF | TF_BUF_DI;
2131+ tsk->buf = vbe_modes+off;
2132+ tsk->buf_len = sizeof(struct vesafb_mode_ib);
2133+ if (vesafb_queue_task(tsk))
2134+ return -EINVAL;
2135+ vesafb_wait_for_task(tsk);
2136+ mib = p_mode(tsk->buf);
2137+ mib->mode_id = *mode;
2138+
2139+ /* We only want modes that are supported with the currennt
2140+ * hardware configuration (D0), color (D3), graphics (D4)
2141+ * and that have support for the LFB (D7). */
2142+ if ((mib->mode_attr & 0x99) == 0x99 &&
2143+ mib->bits_per_pixel >= 8) {
2144+ off++;
2145+ } else {
2146+ vbe_modes_cnt--;
2147+ }
2148+ mode++;
2149+ mib->depth = mib->red_len + mib->green_len + mib->blue_len;
2150+ /* Handle 8bpp modes and modes with broken color component
2151+ * lengths. */
2152+ if (mib->depth == 0 ||
2153+ (mib->depth == 24 && mib->bits_per_pixel == 32))
2154+ mib->depth = mib->bits_per_pixel;
2155+ }
2156+
2157+ return 0;
2158+}
2159+
2160+static int __init inline vesafb_vbe_getpmi(struct vesafb_task *tsk)
2161+{
2162+ int i;
2163+
2164+ vesafb_reset_task(tsk);
2165+ tsk->regs.eax = 0x4f0a;
2166+ tsk->regs.ebx = 0x0;
2167+ tsk->flags = TF_CALL;
2168+ if (vesafb_queue_task(tsk))
2169+ return -EINVAL;
2170+ vesafb_wait_for_task(tsk);
2171+
2172+ if ((tsk->regs.eax & 0xffff) != 0x004f || tsk->regs.es < 0xc000) {
2173+ pmi_setpal = ypan = 0;
2174+ } else {
2175+ pmi_base = (u16*)phys_to_virt(((u32)tsk->regs.es << 4) +
2176+ tsk->regs.edi);
2177+ pmi_start = (void*)((char*)pmi_base + pmi_base[1]);
2178+ pmi_pal = (void*)((char*)pmi_base + pmi_base[2]);
2179+ printk(KERN_INFO "vesafb: protected mode interface info at "
2180+ "%04x:%04x\n",
2181+ (u16)tsk->regs.es, (u16)tsk->regs.edi);
2182+ printk(KERN_INFO "vesafb: pmi: set display start = %p, "
2183+ "set palette = %p\n", pmi_start, pmi_pal);
2184+
2185+ if (pmi_base[3]) {
2186+ printk(KERN_INFO "vesafb: pmi: ports = ");
2187+ for (i = pmi_base[3]/2; pmi_base[i] != 0xffff; i++)
2188+ printk("%x ",pmi_base[i]);
2189+ printk("\n");
2190+
2191+ /*
2192+ * memory areas not supported (yet?)
2193+ *
2194+ * Rules are: we have to set up a descriptor for the
2195+ * requested memory area and pass it in the ES register
2196+ * to the BIOS function.
2197+ */
2198+ if (pmi_base[i] != 0xffff) {
2199+ printk(KERN_INFO "vesafb: can't handle memory "
2200+ "requests, pmi disabled\n");
2201+ ypan = pmi_setpal = 0;
2202+ }
2203+ }
2204+ }
2205+ return 0;
2206+}
2207+
2208+static int __init inline vesafb_vbe_getedid(struct vesafb_task *tsk,
2209+ struct fb_info *info)
2210+{
2211+ int res = 0;
2212+
2213+ if (noedid || vbe_ib.vbe_version < 0x0300)
2214+ return -EINVAL;
2215+
2216+ vesafb_reset_task(tsk);
2217+ tsk->regs.eax = 0x4f15;
2218+ tsk->regs.ebx = 0;
2219+ tsk->regs.ecx = 0;
2220+ if (vesafb_queue_task(tsk))
2221+ return -EINVAL;
2222+ vesafb_wait_for_task(tsk);
2223+
2224+ if ((tsk->regs.eax & 0xffff) != 0x004f)
2225+ return -EINVAL;
2226+
2227+ if ((tsk->regs.ebx & 0x3) == 3) {
2228+ printk(KERN_INFO "vesafb: VBIOS/hardware supports both "
2229+ "DDC1 and DDC2 transfers\n");
2230+ } else if ((tsk->regs.ebx & 0x3) == 2) {
2231+ printk(KERN_INFO "vesafb: VBIOS/hardware supports DDC2 "
2232+ "transfers\n");
2233+ } else if ((tsk->regs.ebx & 0x3) == 1) {
2234+ printk(KERN_INFO "vesafb: VBIOS/hardware supports DDC1 "
2235+ "transfers\n");
2236+ } else {
2237+ printk(KERN_INFO "vesafb: VBIOS/hardware doesn't support "
2238+ "DDC transfers\n");
2239+ return -EINVAL;
2240+ }
2241+
2242+ vesafb_reset_task(tsk);
2243+ tsk->regs.eax = 0x4f15;
2244+ tsk->regs.ebx = 1;
2245+ tsk->regs.ecx = tsk->regs.edx = 0;
2246+ tsk->flags = TF_CALL | TF_RETURN_BUF | TF_BUF_DI;
2247+ tsk->buf = kmalloc(EDID_LENGTH, GFP_KERNEL);
2248+ tsk->buf_len = EDID_LENGTH;
2249+
2250+ if (vesafb_queue_task(tsk)) {
2251+ res = -EINVAL;
2252+ goto out;
2253+ }
2254+ vesafb_wait_for_task(tsk);
2255+
2256+ if ((tsk->regs.eax & 0xffff) == 0x004f) {
2257+ fb_edid_to_monspecs(tsk->buf, &info->monspecs);
2258+ fb_videomode_to_modelist(info->monspecs.modedb,
2259+ info->monspecs.modedb_len, &info->modelist);
2260+ if (info->monspecs.vfmax && info->monspecs.hfmax) {
2261+ /* If the maximum pixel clock wasn't specified in
2262+ * the EDID block, set it to 300 MHz. */
2263+ if (info->monspecs.dclkmax == 0)
2264+ info->monspecs.dclkmax = 300 * 1000000;
2265+ info->monspecs.gtf = 1;
2266+ } else {
2267+ res = -EINVAL;
2268+ }
2269+ }
2270+
2271+out: kfree(tsk->buf);
2272+ return res;
2273+}
2274+
2275+static void __init inline vesafb_vbe_getmonspecs(struct vesafb_task *tsk,
2276+ struct fb_info *info)
2277+{
2278+ struct fb_var_screeninfo var;
2279+ int i;
2280+ memset(&info->monspecs, 0, sizeof(struct fb_monspecs));
2281+
2282+ /* If we didn't get all necessary data from the EDID block,
2283+ * mark it as incompatible with the GTF. */
2284+ if (vesafb_vbe_getedid(tsk, info))
2285+ info->monspecs.gtf = 0;
2286+
2287+ /* Kernel command line overrides. */
2288+ if (maxclk)
2289+ info->monspecs.dclkmax = maxclk * 1000000;
2290+ if (maxvf)
2291+ info->monspecs.vfmax = maxvf;
2292+ if (maxhf)
2293+ info->monspecs.hfmax = maxhf * 1000;
2294+
2295+ /* In case DDC transfers are not supported the user can provide
2296+ * monitor limits manually. Lower limits are set to "safe" values. */
2297+ if (info->monspecs.gtf == 0 && maxclk && maxvf && maxhf) {
2298+ info->monspecs.dclkmin = 0;
2299+ info->monspecs.vfmin = 60;
2300+ info->monspecs.hfmin = 29000;
2301+ info->monspecs.gtf = 1;
2302+ }
2303+
2304+ if (info->monspecs.gtf) {
2305+ printk(KERN_INFO
2306+ "vesafb: monitor limits: vf = %d Hz, hf = %d kHz, "
2307+ "clk = %d MHz\n", info->monspecs.vfmax,
2308+ (int)(info->monspecs.hfmax / 1000),
2309+ (int)(info->monspecs.dclkmax / 1000000));
2310+ /* Add valid VESA video modes to our modelist. */
2311+ for (i = 0; i < VESA_MODEDB_SIZE; i++) {
2312+ fb_videomode_to_var(&var, (struct fb_videomode *)
2313+ &vesa_modes[i]);
2314+ if (!fb_validate_mode(&var, info))
2315+ fb_add_videomode((struct fb_videomode *)
2316+ &vesa_modes[i],
2317+ &info->modelist);
2318+ }
2319+ } else {
2320+ /* Add all VESA video modes to our modelist. */
2321+ fb_videomode_to_modelist((struct fb_videomode *)vesa_modes,
2322+ VESA_MODEDB_SIZE, &info->modelist);
2323+ printk(KERN_INFO "vesafb: no monitor limits have been set\n");
2324+ }
2325+ return;
2326+}
2327+
2328+static int __init inline vesafb_vbe_init(struct fb_info *info)
2329+{
2330+ struct vesafb_task *tsk;
2331+ int res = 0;
2332+
2333+ vesafb_create_task(tsk);
2334+ if (!tsk)
2335+ return -EINVAL;
2336+ if ((res = vesafb_vbe_getinfo(tsk)) != 0)
2337+ goto out;
2338+ if ((res = vesafb_vbe_getmodes(tsk)) != 0)
2339+ goto out;
2340+ if (pmi_setpal || ypan)
2341+ vesafb_vbe_getpmi(tsk);
2342+
2343+ INIT_LIST_HEAD(&info->modelist);
2344+ vesafb_vbe_getmonspecs(tsk, info);
2345+
2346+out: kfree(tsk);
2347+ return res;
2348+}
2349+
2350+static int __init decode_mode(u32 *xres, u32 *yres, u32 *bpp, u32 *refresh)
2351+{
2352+ int len = strlen(mode_option), i, err = 0;
2353+ u8 res_specified = 0, bpp_specified = 0, refresh_specified = 0,
2354+ yres_specified = 0;
2355+
2356+ for (i = len-1; i >= 0; i--) {
2357+ switch (mode_option[i]) {
2358+ case '@':
2359+ len = i;
2360+ if (!refresh_specified && !bpp_specified &&
2361+ !yres_specified) {
2362+ *refresh = simple_strtoul(&mode_option[i+1],
2363+ NULL, 0);
2364+ refresh_specified = 1;
2365+ } else
2366+ goto out;
2367+ break;
2368+ case '-':
2369+ len = i;
2370+ if (!bpp_specified && !yres_specified) {
2371+ *bpp = simple_strtoul(&mode_option[i+1],
2372+ NULL, 0);
2373+ bpp_specified = 1;
2374+ } else
2375+ goto out;
2376+ break;
2377+ case 'x':
2378+ if (!yres_specified) {
2379+ *yres = simple_strtoul(&mode_option[i+1],
2380+ NULL, 0);
2381+ yres_specified = 1;
2382+ } else
2383+ goto out;
2384+ break;
2385+ case '0'...'9':
2386+ break;
2387+ default:
2388+ goto out;
2389+ }
2390+ }
2391+
2392+ if (i < 0 && yres_specified) {
2393+ *xres = simple_strtoul(mode_option, NULL, 0);
2394+ res_specified = 1;
2395+ }
2396+
2397+out: if (!res_specified || !yres_specified) {
2398+ printk(KERN_ERR "vesafb: invalid resolution, "
2399+ "%s not specified\n",
2400+ (!res_specified) ? "width" : "height");
2401+ err = -EINVAL;
2402+ }
2403+
2404+ return err;
2405+}
2406+
2407+static int __init vesafb_init_set_mode(struct fb_info *info)
2408+{
2409+ struct fb_videomode *fbmode;
2410+ struct fb_videomode mode;
2411+ int i, modeid, refresh = 0;
2412+ u8 refresh_specified = 0;
2413+
2414+ if (!mode_option)
2415+ mode_option = CONFIG_FB_VESA_DEFAULT_MODE;
2416+
2417+ if (vbemode > 0) {
2418+ for (i = 0; i < vbe_modes_cnt; i++) {
2419+ if (vbe_modes[i].mode_id == vbemode) {
2420+ info->var.vmode = FB_VMODE_NONINTERLACED;
2421+ info->var.sync = FB_SYNC_VERT_HIGH_ACT;
2422+ vesafb_setup_var(&info->var, info,
2423+ &vbe_modes[i]);
2424+ fb_get_mode(FB_VSYNCTIMINGS | FB_IGNOREMON,
2425+ 60, &info->var, info);
2426+ /* With pixclock set to 0, the default BIOS
2427+ * timings will be used in set_par(). */
2428+ info->var.pixclock = 0;
2429+ modeid = i;
2430+ goto out;
2431+ }
2432+ }
2433+ printk(KERN_INFO "specified VBE mode %d not found\n",
2434+ vbemode);
2435+ vbemode = 0;
2436+ }
2437+
2438+ /* Decode the mode specified on the kernel command line. We save
2439+ * the depth into bits_per_pixel, which is wrong, but will work
2440+ * anyway. */
2441+ if (decode_mode(&info->var.xres, &info->var.yres,
2442+ &info->var.bits_per_pixel, &refresh))
2443+ return -EINVAL;
2444+ if (refresh)
2445+ refresh_specified = 1;
2446+ else
2447+ refresh = 60;
2448+
2449+ /* Look for a matching VBE mode. We can live if an exact match
2450+ * cannot be found. */
2451+ modeid = vesafb_find_vbe_mode(info->var.xres, info->var.yres,
2452+ info->var.bits_per_pixel, 0);
2453+
2454+ if (modeid == -1) {
2455+ return -EINVAL;
2456+ } else {
2457+ info->var.vmode = FB_VMODE_NONINTERLACED;
2458+ info->var.sync = FB_SYNC_VERT_HIGH_ACT;
2459+ vesafb_setup_var(&info->var, info, &vbe_modes[modeid]);
2460+ }
2461+ if (vbe_ib.vbe_version < 0x0300) {
2462+ fb_get_mode(FB_VSYNCTIMINGS | FB_IGNOREMON, 60,
2463+ &info->var, info);
2464+ goto out;
2465+ }
2466+ if (!gtf) {
2467+ struct fb_videomode tmode;
2468+
2469+ if (refresh_specified) {
2470+ fb_var_to_videomode(&tmode, &info->var);
2471+ tmode.refresh = refresh;
2472+ fbmode = fb_find_nearest_mode(&tmode,
2473+ &info->modelist);
2474+ } else
2475+ fbmode = fb_find_best_mode(&info->var,
2476+ &info->modelist);
2477+
2478+ if (fbmode->xres == info->var.xres &&
2479+ fbmode->yres == info->var.yres &&
2480+ !(fbmode->vmode & (FB_VMODE_INTERLACED | FB_VMODE_DOUBLE))
2481+ && (!refresh_specified ||
2482+ abs(refresh - fbmode->refresh) <= 5)) {
2483+ fb_videomode_to_var(&info->var, fbmode);
2484+ return modeid;
2485+ }
2486+ }
2487+ i = FB_MAXTIMINGS;
2488+ if (!info->monspecs.gtf)
2489+ i = FB_IGNOREMON | FB_VSYNCTIMINGS;
2490+ else if (refresh_specified)
2491+ i = FB_VSYNCTIMINGS;
2492+ if (!fb_get_mode(i, refresh, &info->var, info))
2493+ goto out;
2494+ if (info->monspecs.gtf &&
2495+ !fb_get_mode(FB_MAXTIMINGS, 0, &info->var, info))
2496+ goto out;
2497+ /* Use default refresh rate */
2498+ printk(KERN_WARNING "vesafb: using default BIOS refresh rate\n");
2499+ info->var.pixclock = 0;
2500+
2501+out:
2502+ fb_var_to_videomode(&mode, &info->var);
2503+ fb_add_videomode(&mode, &info->modelist);
2504+ return modeid;
2505+}
2506+
2507+static int __init vesafb_probe(struct platform_device *dev)
2508+{
2509+ char entry[16];
2510+ struct fb_info *info;
2511+ struct vesafb_mode_ib *mode = NULL;
2512+ int err = 0, i, h;
2513+ unsigned int size_vmode;
2514+ unsigned int size_remap;
2515+ unsigned int size_total;
2516+
2517+ vesafb_info = info = framebuffer_alloc(sizeof(struct vesafb_par) +
2518+ sizeof(u32) * 256, &dev->dev);
2519+ if (!info)
2520+ return -ENOMEM;
2521+
2522+ if (vesafb_wait_for_thread()) {
2523+ printk(KERN_ERR "vesafb: vesafb thread not running\n");
2524+ framebuffer_release(info);
2525+ return -EINVAL;
2526+ }
2527+
2528+ if (vesafb_vbe_init(info)) {
2529+ printk(KERN_ERR "vesafb: vbe_init failed\n");
2530+ err = -EINVAL;
2531+ goto out;
2532+ }
2533+
2534+ vesafb_fix.ypanstep = ypan ? 1 : 0;
2535+ vesafb_fix.ywrapstep = (ypan>1) ? 1 : 0;
2536+
2537+ info->pseudo_palette = ((u8*)info->par + sizeof(struct vesafb_par));
2538+ info->fbops = &vesafb_ops;
2539+ info->var = vesafb_defined;
2540+ info->fix = vesafb_fix;
2541+
2542+ if (fb_alloc_cmap(&info->cmap, 256, 0) < 0) {
2543+ err = -ENXIO;
2544+ goto out;
2545+ }
2546+
2547+ i = vesafb_init_set_mode(info);
2548+ if (i < 0) {
2549+ err = -EINVAL;
2550+ goto out_cmap;
2551+ } else
2552+ mode = &vbe_modes[i];
2553+
2554+ /* Disable blanking if the user requested so. */
2555+ if (!blank) {
2556+ info->fbops->fb_blank = NULL;
2557+ }
2558+
2559+ /* Find out how much IO memory is required for the mode with
2560+ * the highest resolution. */
2561+ size_remap = 0;
2562+ for (i = 0; i < vbe_modes_cnt; i++) {
2563+ h = vbe_modes[i].bytes_per_scan_line * vbe_modes[i].y_res;
2564+ if (h > size_remap)
2565+ size_remap = h;
2566+ }
2567+ size_remap *= 2;
2568+
2569+ /* size_vmode -- that is the amount of memory needed for the
2570+ * used video mode, i.e. the minimum amount of
2571+ * memory we need. */
2572+ if (mode != NULL) {
2573+ size_vmode = info->var.yres * mode->bytes_per_scan_line;
2574+ } else {
2575+ size_vmode = info->var.yres * info->var.xres *
2576+ ((info->var.bits_per_pixel + 7) >> 3);
2577+ }
2578+
2579+ /* size_total -- all video memory we have. Used for mtrr
2580+ * entries, ressource allocation and bounds
2581+ * checking. */
2582+ size_total = vbe_ib.total_memory * 65536;
2583+ if (vram_total)
2584+ size_total = vram_total * 1024 * 1024;
2585+ if (size_total < size_vmode)
2586+ size_total = size_vmode;
2587+ ((struct vesafb_par*)(info->par))->mem_total = size_total;
2588+
2589+ /* size_remap -- the amount of video memory we are going to
2590+ * use for vesafb. With modern cards it is no
2591+ * option to simply use size_total as th
2592+ * wastes plenty of kernel address space. */
2593+ if (vram_remap)
2594+ size_remap = vram_remap * 1024 * 1024;
2595+ if (size_remap < size_vmode)
2596+ size_remap = size_vmode;
2597+ if (size_remap > size_total)
2598+ size_remap = size_total;
2599+
2600+ info->fix.smem_len = size_remap;
2601+ info->fix.smem_start = mode->phys_base_ptr;
2602+
2603+ /* We have to set it here, because when setup_var() was called,
2604+ * smem_len wasn't defined yet. */
2605+ info->var.yres_virtual = info->fix.smem_len /
2606+ mode->bytes_per_scan_line;
2607+
2608+ if (ypan && info->var.yres_virtual > info->var.yres) {
2609+ printk(KERN_INFO "vesafb: scrolling: %s "
2610+ "using protected mode interface, "
2611+ "yres_virtual=%d\n",
2612+ (ypan > 1) ? "ywrap" : "ypan",info->var.yres_virtual);
2613+ } else {
2614+ printk(KERN_INFO "vesafb: scrolling: redraw\n");
2615+ info->var.yres_virtual = info->var.yres;
2616+ ypan = 0;
2617+ }
2618+
2619+ info->flags = FBINFO_FLAG_DEFAULT |
2620+ (ypan) ? FBINFO_HWACCEL_YPAN : 0;
2621+
2622+ if (!ypan)
2623+ info->fbops->fb_pan_display = NULL;
2624+
2625+ if (!request_mem_region(info->fix.smem_start, size_total, "vesafb")) {
2626+ printk(KERN_WARNING "vesafb: cannot reserve video memory at "
2627+ "0x%lx\n", info->fix.smem_start);
2628+ /* We cannot make this fatal. Sometimes this comes from magic
2629+ spaces our resource handlers simply don't know about. */
2630+ }
2631+
2632+ info->screen_base = ioremap(info->fix.smem_start, info->fix.smem_len);
2633+
2634+ if (!info->screen_base) {
2635+ printk(KERN_ERR
2636+ "vesafb: abort, cannot ioremap video memory "
2637+ "0x%x @ 0x%lx\n",
2638+ info->fix.smem_len, info->fix.smem_start);
2639+ err = -EIO;
2640+ goto out_mem;
2641+ }
2642+
2643+ /* Request failure does not faze us, as vgacon probably has this
2644+ region already (FIXME) */
2645+ request_region(0x3c0, 32, "vesafb");
2646+
2647+#ifdef CONFIG_MTRR
2648+ if (mtrr && !(info->fix.smem_start & (PAGE_SIZE - 1))) {
2649+ int temp_size = size_total;
2650+ unsigned int type = 0;
2651+
2652+ switch (mtrr) {
2653+ case 1:
2654+ type = MTRR_TYPE_UNCACHABLE;
2655+ break;
2656+ case 2:
2657+ type = MTRR_TYPE_WRBACK;
2658+ break;
2659+ case 3:
2660+ type = MTRR_TYPE_WRCOMB;
2661+ break;
2662+ case 4:
2663+ type = MTRR_TYPE_WRTHROUGH;
2664+ break;
2665+ default:
2666+ type = 0;
2667+ break;
2668+ }
2669+
2670+ if (type) {
2671+ int rc;
2672+
2673+ /* Find the largest power-of-two */
2674+ while (temp_size & (temp_size - 1))
2675+ temp_size &= (temp_size - 1);
2676+
2677+ /* Try and find a power of two to add */
2678+ do {
2679+ rc = mtrr_add(info->fix.smem_start,
2680+ temp_size, type, 1);
2681+ temp_size >>= 1;
2682+ } while (temp_size >= PAGE_SIZE && rc == -EINVAL);
2683+ }
2684+ }
2685+#endif /* CONFIG_MTRR */
2686+
2687+ if (register_framebuffer(info) < 0) {
2688+ printk(KERN_ERR
2689+ "vesafb: failed to register framebuffer device\n");
2690+ err = -EINVAL;
2691+ goto out_mem;
2692+ }
2693+
2694+ printk(KERN_INFO "vesafb: framebuffer at 0x%lx, mapped to 0x%p, "
2695+ "using %dk, total %dk\n", info->fix.smem_start,
2696+ info->screen_base, size_remap/1024, size_total/1024);
2697+ printk(KERN_INFO "fb%d: %s frame buffer device\n", info->node,
2698+ info->fix.id);
2699+
2700+ sprintf(entry, "fb%d", info->node);
2701+ proc_mkdir(entry, 0);
2702+
2703+ sprintf(entry, "fb%d/modes", info->node);
2704+ create_proc_read_entry(entry, 0, 0, vesafb_read_proc_modes, NULL);
2705+
2706+ sprintf(entry, "fb%d/vbe_info", info->node);
2707+ create_proc_read_entry(entry, 0, 0, vesafb_read_proc_vbe_info, NULL);
2708+ return 0;
2709+
2710+out_mem:
2711+ release_mem_region(info->fix.smem_start, size_total);
2712+ if (!list_empty(&info->modelist))
2713+ fb_destroy_modelist(&info->modelist);
2714+ fb_destroy_modedb(info->monspecs.modedb);
2715+out_cmap:
2716+ fb_dealloc_cmap(&info->cmap);
2717+out:
2718+ framebuffer_release(info);
2719+ vesafb_info = NULL;
2720+ kfree(vbe_modes);
2721+ vbe_modes = NULL;
2722+ return err;
2723+}
2724+
2725+int __init vesafb_init(void)
2726+{
2727+ int ret;
2728+#ifndef MODULE
2729+ char *option = NULL;
2730+
2731+ if (fb_get_options("vesafb", &option))
2732+ return -ENODEV;
2733+ vesafb_setup(option);
2734+#endif
2735+ ret = platform_driver_register(&vesafb_driver);
2736+
2737+ if (!ret) {
2738+ vesafb_device = platform_device_alloc("vesafb", 0);
2739+
2740+ if (vesafb_device)
2741+ ret = platform_device_add(vesafb_device);
2742+ else
2743+ ret = -ENOMEM;
2744+
2745+ if (ret) {
2746+ platform_device_put(vesafb_device);
2747+ platform_driver_unregister(&vesafb_driver);
2748+ }
2749+ }
2750+ return ret;
2751+}
2752+
2753+module_init(vesafb_init);
2754+
2755+#ifdef MODULE
2756+void __exit vesafb_exit(void)
2757+{
2758+ char entry[16];
2759+
2760+ if (vesafb_info)
2761+ unregister_framebuffer(vesafb_info);
2762+
2763+ platform_device_unregister(vesafb_device);
2764+ platform_driver_unregister(&vesafb_driver);
2765+
2766+ if (vesafb_info) {
2767+ struct vesafb_par *par = (struct vesafb_par*)vesafb_info->par;
2768+
2769+ sprintf(entry, "fb%d/modes", vesafb_info->node);
2770+ remove_proc_entry(entry, NULL);
2771+
2772+ sprintf(entry, "fb%d/vbe_info", vesafb_info->node);
2773+ remove_proc_entry(entry, NULL);
2774+
2775+ sprintf(entry, "fb%d", vesafb_info->node);
2776+ remove_proc_entry(entry, NULL);
2777+
2778+ iounmap(vesafb_info->screen_base);
2779+ release_mem_region(vesafb_info->fix.smem_start,
2780+ par->mem_total);
2781+ fb_dealloc_cmap(&vesafb_info->cmap);
2782+ if (!list_empty(&vesafb_info->modelist))
2783+ fb_destroy_modelist(&vesafb_info->modelist);
2784+ fb_destroy_modedb(vesafb_info->monspecs.modedb);
2785+ framebuffer_release(vesafb_info);
2786+ }
2787+
2788+ if (vbe_modes != NULL)
2789+ kfree(vbe_modes);
2790+}
2791+
2792+module_exit(vesafb_exit);
2793+
2794+static inline int param_get_scroll(char *buffer, struct kernel_param *kp)
2795+{
2796+ return 0;
2797+}
2798+static inline int param_set_scroll(const char *val, struct kernel_param *kp)
2799+{
2800+ ypan = 0;
2801+
2802+ if (! strcmp(val, "redraw"))
2803+ ypan = 0;
2804+ else if (! strcmp(val, "ypan"))
2805+ ypan = 1;
2806+ else if (! strcmp(val, "ywrap"))
2807+ ypan = 2;
2808+
2809+ return 0;
2810+}
2811+
2812+#define param_check_scroll(name, p) __param_check(name, p, void);
2813+
2814+module_param_named(scroll, ypan, scroll, 0);
2815+MODULE_PARM_DESC(scroll,"Scrolling mode, set to 'redraw', 'ypan' or 'ywrap'");
2816+module_param_named(vgapal, pmi_setpal, invbool, 0);
2817+MODULE_PARM_DESC(vgapal,"bool: set palette using VGA registers");
2818+module_param_named(pmipal, pmi_setpal, bool, 0);
2819+MODULE_PARM_DESC(pmipal,"bool: set palette using PMI calls");
2820+module_param_named(nomtrr, mtrr, invbool, 0);
2821+MODULE_PARM_DESC(nomtrr,"bool: disable use of MTRR registers");
2822+module_param(blank, bool, 1);
2823+MODULE_PARM_DESC(blank,"bool: enable hardware blanking");
2824+module_param(nocrtc, bool, 0);
2825+MODULE_PARM_DESC(nocrtc,"bool: ignore CRTC timings when setting modes");
2826+module_param(noedid, bool, 0);
2827+MODULE_PARM_DESC(noedid,"bool: ignore EDID-provided monitor limits "
2828+ "when setting modes");
2829+module_param(gtf, bool, 0);
2830+MODULE_PARM_DESC(gtf,"bool: force use of VESA GTF to calculate mode timings");
2831+module_param(vram_remap, uint, 0);
2832+MODULE_PARM_DESC(vram_remap,"Set amount of video memory to be used [MiB]");
2833+module_param(vram_total, uint, 0);
2834+MODULE_PARM_DESC(vram_total,"Set total amount of video memoery [MiB]");
2835+module_param(maxclk, ushort, 0);
2836+MODULE_PARM_DESC(maxclk,"Maximum pixelclock [MHz], overrides EDID data");
2837+module_param(maxhf, ushort, 0);
2838+MODULE_PARM_DESC(maxhf,"Maximum horizontal frequency [kHz], "
2839+ "overrides EDID data");
2840+module_param(maxvf, ushort, 0);
2841+MODULE_PARM_DESC(maxvf,"Maximum vertical frequency [Hz], "
2842+ "overrides EDID data");
2843+module_param_named(mode, mode_option, charp, 0);
2844+MODULE_PARM_DESC(mode, "Specify resolution as "
2845+ "\"<xres>x<yres>[-<bpp>][@<refresh>]\"");
2846+module_param(vbemode, ushort, 0);
2847+MODULE_PARM_DESC(vbemode,"VBE mode number to set, overrides 'mode' setting");
2848+
2849+#endif /* MODULE */
2850+
2851+MODULE_LICENSE("GPL");
2852+MODULE_AUTHOR("Michal Januszewski");
2853+MODULE_DESCRIPTION("Framebuffer driver for VBE2.0+ compliant graphics boards");
2854+
2855--- linux-2.6.17.orig/include/linux/sched.h
2856+++ linux-2.6.17/include/linux/sched.h
2857@@ -1159,6 +1159,8 @@ extern void mmput(struct mm_struct *);
2858 extern struct mm_struct *get_task_mm(struct task_struct *task);
2859 /* Remove the current tasks stale references to the old mm_struct */
2860 extern void mm_release(struct task_struct *, struct mm_struct *);
2861+/* Create a new mm for a kernel thread */
2862+extern int set_new_mm(void);
2863
2864 extern int copy_thread(int, unsigned long, unsigned long, unsigned long, struct task_struct *, struct pt_regs *);
2865 extern void flush_thread(void);
2866--- /dev/null
2867+++ linux-2.6.17/include/video/vesa.h
2868@@ -0,0 +1,150 @@
2869+#if 0
2870+#define DPRINTK(fmt, args...) printk(KERN_DEBUG "%s: " fmt, __FUNCTION__ , \
2871+ ## args)
2872+#else
2873+#define DPRINTK(fmt, args...)
2874+#endif
2875+
2876+#define p_crtc(arg) ((struct vesafb_crtc_ib*)(arg))
2877+#define p_vbe(arg) ((struct vesafb_vbe_ib*)(arg))
2878+#define p_mode(arg) ((struct vesafb_mode_ib*)(arg))
2879+
2880+struct vesafb_task {
2881+ u8 flags;
2882+ void *buf;
2883+ int buf_len;
2884+ struct vm86_regs regs;
2885+ struct list_head node;
2886+ struct completion done;
2887+};
2888+
2889+/* Vesafb task flags and masks */
2890+#define TF_CALL 0x00
2891+#define TF_EXIT 0x01
2892+#define TF_GETVBEIB 0x02
2893+#define TF_BUF_DI 0x04
2894+#define TF_BUF_BX 0x08
2895+#define TF_RETURN_BUF 0x10
2896+
2897+/* Macros and functions for manipulating vesafb tasks */
2898+#define vesafb_create_task(task) \
2899+do { \
2900+ task = kmalloc(sizeof(struct vesafb_task), GFP_ATOMIC); \
2901+ if (task) \
2902+ memset(task, 0, sizeof(struct vesafb_task)); \
2903+ init_completion(&task->done); \
2904+} while (0)
2905+
2906+#define vesafb_wait_for_task(task) wait_for_completion(&task->done);
2907+#define vesafb_reset_task(task) init_completion(&task->done);
2908+int vesafb_queue_task(struct vesafb_task *task);
2909+
2910+/* Functions for controlling the vesafb thread */
2911+int vesafb_wait_for_thread(void);
2912+
2913+#define VBE_CAP_CAN_SWITCH_DAC 0x01
2914+#define VBE_CAP_VGACOMPAT 0x02
2915+
2916+/* This struct is 512 bytes long */
2917+struct vesafb_vbe_ib {
2918+ char vbe_signature[4];
2919+ u16 vbe_version;
2920+ u32 oem_string_ptr;
2921+ u32 capabilities;
2922+ u32 mode_list_ptr;
2923+ u16 total_memory;
2924+ u16 oem_software_rev;
2925+ u32 oem_vendor_name_ptr;
2926+ u32 oem_product_name_ptr;
2927+ u32 oem_product_rev_ptr;
2928+ u8 reserved[222];
2929+ char oem_data[256];
2930+} __attribute__ ((packed));
2931+
2932+struct vesafb_crtc_ib {
2933+ u16 horiz_total;
2934+ u16 horiz_start;
2935+ u16 horiz_end;
2936+ u16 vert_total;
2937+ u16 vert_start;
2938+ u16 vert_end;
2939+ u8 flags;
2940+ u32 pixel_clock;
2941+ u16 refresh_rate;
2942+ u8 reserved[40];
2943+} __attribute__ ((packed));
2944+
2945+#define VBE_MODE_VGACOMPAT 0x20
2946+
2947+struct vesafb_mode_ib {
2948+ /* for all VBE revisions */
2949+ u16 mode_attr;
2950+ u8 winA_attr;
2951+ u8 winB_attr;
2952+ u16 win_granularity;
2953+ u16 win_size;
2954+ u16 winA_seg;
2955+ u16 winB_seg;
2956+ u32 win_func_ptr;
2957+ u16 bytes_per_scan_line;
2958+
2959+ /* for VBE 1.2+ */
2960+ u16 x_res;
2961+ u16 y_res;
2962+ u8 x_char_size;
2963+ u8 y_char_size;
2964+ u8 planes;
2965+ u8 bits_per_pixel;
2966+ u8 banks;
2967+ u8 memory_model;
2968+ u8 bank_size;
2969+ u8 image_pages;
2970+ u8 reserved1;
2971+
2972+ /* Direct color fields for direct/6 and YUV/7 memory models. */
2973+ /* Offsets are bit positions of lsb in the mask. */
2974+ u8 red_len;
2975+ u8 red_off;
2976+ u8 green_len;
2977+ u8 green_off;
2978+ u8 blue_len;
2979+ u8 blue_off;
2980+ u8 rsvd_len;
2981+ u8 rsvd_off;
2982+ u8 direct_color_info; /* direct color mode attributes */
2983+
2984+ /* for VBE 2.0+ */
2985+ u32 phys_base_ptr;
2986+ u8 reserved2[6];
2987+
2988+ /* for VBE 3.0+ */
2989+ u16 lin_bytes_per_scan_line;
2990+ u8 bnk_image_pages;
2991+ u8 lin_image_pages;
2992+ u8 lin_red_len;
2993+ u8 lin_red_off;
2994+ u8 lin_green_len;
2995+ u8 lin_green_off;
2996+ u8 lin_blue_len;
2997+ u8 lin_blue_off;
2998+ u8 lin_rsvd_len;
2999+ u8 lin_rsvd_off;
3000+ u32 max_pixel_clock;
3001+ u16 mode_id;
3002+ u8 depth;
3003+} __attribute__ ((packed));
3004+
3005+struct vesafb_pal_entry {
3006+ u_char blue, green, red, pad;
3007+} __attribute__ ((packed));
3008+
3009+struct vesafb_par {
3010+ u8 *vbe_state;
3011+ int vbe_state_size;
3012+ atomic_t ref_count;
3013+
3014+ u32 mem_total;
3015+ int mode_idx;
3016+ struct vesafb_crtc_ib crtc;
3017+};
3018+
3019--- linux-2.6.17.orig/kernel/fork.c
3020+++ linux-2.6.17/kernel/fork.c
3021@@ -97,6 +97,7 @@ kmem_cache_t *fs_cachep;
3022
3023 /* SLAB cache for vm_area_struct structures */
3024 kmem_cache_t *vm_area_cachep;
3025+EXPORT_SYMBOL_GPL(vm_area_cachep);
3026
3027 /* SLAB cache for mm_struct structures (tsk->mm) */
3028 static kmem_cache_t *mm_cachep;
3029@@ -383,6 +384,40 @@ void mmput(struct mm_struct *mm)
3030 EXPORT_SYMBOL_GPL(mmput);
3031
3032 /**
3033+ * set_new_mm - allocate, init and activate a new mm for a kernel thread
3034+ */
3035+int set_new_mm(void)
3036+{
3037+ struct mm_struct *mm;
3038+ struct task_struct *tsk = current;
3039+ struct mm_struct *active_mm;
3040+
3041+ mm = mm_alloc();
3042+ if (!mm)
3043+ goto fail_nomem;
3044+ if (init_new_context(current,mm))
3045+ goto fail_nocontext;
3046+
3047+ task_lock(tsk);
3048+ tsk->flags |= PF_BORROWED_MM;
3049+ active_mm = tsk->active_mm;
3050+ current->mm = mm;
3051+ current->active_mm = mm;
3052+ activate_mm(active_mm, mm);
3053+ task_unlock(current);
3054+
3055+ /* Drop the previous active_mm */
3056+ mmdrop(active_mm);
3057+ return 0;
3058+
3059+fail_nocontext:
3060+ mmdrop(mm);
3061+fail_nomem:
3062+ return -EINVAL;
3063+}
3064+EXPORT_SYMBOL_GPL(set_new_mm);
3065+
3066+/**
3067 * get_task_mm - acquire a reference to the task's mm
3068 *
3069 * Returns %NULL if the task has no mm. Checks PF_BORROWED_MM (meaning
3070--- linux-2.6.17.orig/mm/memory.c
3071+++ linux-2.6.17/mm/memory.c
3072@@ -1162,6 +1162,7 @@ int zeromap_page_range(struct vm_area_st
3073 } while (pgd++, addr = next, addr != end);
3074 return err;
3075 }
3076+EXPORT_SYMBOL_GPL(zeromap_page_range);
3077
3078 pte_t * fastcall get_locked_pte(struct mm_struct *mm, unsigned long addr, spinlock_t **ptl)
3079 {
3080--- linux-2.6.17.orig/mm/mmap.c
3081+++ linux-2.6.17/mm/mmap.c
3082@@ -1996,6 +1996,7 @@ int insert_vm_struct(struct mm_struct *
3083 vma_link(mm, vma, prev, rb_link, rb_parent);
3084 return 0;
3085 }
3086+EXPORT_SYMBOL_GPL(insert_vm_struct);
3087
3088 /*
3089 * Copy the vma structure to a new location in the same mm,
diff --git a/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/wm97xx-lcdnoise-r0.patch b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/wm97xx-lcdnoise-r0.patch
new file mode 100644
index 0000000000..191de3af22
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/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.17.bb b/meta/packages/linux/linux-rp_2.6.17.bb
index 079255aa1d..d16ce6447a 100644
--- a/meta/packages/linux/linux-rp_2.6.17.bb
+++ b/meta/packages/linux/linux-rp_2.6.17.bb
@@ -48,7 +48,7 @@ SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.tar.bz2 \
48 ${RPSRC}/pxafb_changeres-r0.patch;patch=1 \ 48 ${RPSRC}/pxafb_changeres-r0.patch;patch=1 \
49 ${RPSRC}/poodle_audio-r6.patch;patch=1 \ 49 ${RPSRC}/poodle_audio-r6.patch;patch=1 \
50 ${RPSRC}/pxa27x_overlay-r2.patch;patch=1 \ 50 ${RPSRC}/pxa27x_overlay-r2.patch;patch=1 \
51 ${RPSRC}/xscale_cache_workaround-r0.patch;patch=1 \ 51 ${RPSRC}/xscale_cache_workaround-r1.patch;patch=1 \
52 file://serial-add-support-for-non-standard-xtals-to-16c950-driver.patch;patch=1 \ 52 file://serial-add-support-for-non-standard-xtals-to-16c950-driver.patch;patch=1 \
53 file://hrw-pcmcia-ids-r5.patch;patch=1 \ 53 file://hrw-pcmcia-ids-r5.patch;patch=1 \
54 ${RPSRC}/logo_oh-r0.patch.bz2;patch=1;status=unmergable \ 54 ${RPSRC}/logo_oh-r0.patch.bz2;patch=1;status=unmergable \
@@ -123,6 +123,3 @@ SRC_URI_append_tosa = "\
123# ${DOSRC}/tosa-asoc-r1.patch;patch=1 " 123# ${DOSRC}/tosa-asoc-r1.patch;patch=1 "
124 124
125S = "${WORKDIR}/linux-2.6.17" 125S = "${WORKDIR}/linux-2.6.17"
126
127# to get module dependencies working
128KERNEL_RELEASE = "2.6.17"
diff --git a/meta/packages/linux/linux-rp_2.6.19+2.6.20-rc4.bb b/meta/packages/linux/linux-rp_2.6.19+2.6.20-rc4.bb
new file mode 100644
index 0000000000..1834542970
--- /dev/null
+++ b/meta/packages/linux/linux-rp_2.6.19+2.6.20-rc4.bb
@@ -0,0 +1,102 @@
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/patch-2.6.18-rc6.bz2;patch=1
9# http://www.kernel.org/pub/linux/kernel/v2.6/snapshots/patch-2.6.18-rc2-git1.bz2;patch=1
10# http://www.kernel.org/pub/linux/kernel/people/alan/linux-2.6/2.6.10/patch-2.6.10-ac8.gz;patch=1
11# 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
12
13# Patches submitted upstream are towards top of this list
14# Hacks should clearly named and at the bottom
15SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.20-rc4.tar.bz2 \
16 http://opensource.wolfsonmicro.com/~lg/asoc/asoc-v0.13pre1.patch;patch=1;status=merged \
17 ${RPSRC}/asoc_13pre1_fix-r0.patch;patch=1 \
18 ${RPSRC}/hx2750_base-r28.patch;patch=1 \
19 ${RPSRC}/hx2750_bl-r8.patch;patch=1 \
20 ${RPSRC}/hx2750_pcmcia-r2.patch;patch=1 \
21 ${RPSRC}/pxa_keys-r7.patch;patch=1 \
22 ${RPSRC}/tsc2101-r16.patch;patch=1 \
23 ${RPSRC}/hx2750_test1-r6.patch;patch=1 \
24 ${RPSRC}/pxa_timerfix-r0.patch;patch=1 \
25 ${RPSRC}/input_power-r6.patch;patch=1 \
26 ${RPSRC}/pxa25x_cpufreq-r2.patch;patch=1 \
27 ${RPSRC}/sharpsl_pm_fixes1-r0.patch;patch=1 \
28 ${RPSRC}/pm_changes-r1.patch;patch=1 \
29 ${RPSRC}/usb_add_epalloc-r3.patch;patch=1 \
30 ${RPSRC}/usb_pxa27x_udc-r3.patch;patch=1 \
31 ${DOSRC}/kexec-arm-r4.patch;patch=1 \
32 ${RPSRC}/locomo_kbd_tweak-r1.patch;patch=1 \
33 ${RPSRC}/poodle_pm-r3.patch;patch=1 \
34 ${RPSRC}/pxa27x_overlay-r5.patch;patch=1 \
35 ${RPSRC}/w100_extaccel-r0.patch;patch=1 \
36 file://serial-add-support-for-non-standard-xtals-to-16c950-driver.patch;patch=1 \
37 ${RPSRC}/logo_oh-r0.patch.bz2;patch=1;status=unmergable \
38 ${RPSRC}/logo_oz-r2.patch.bz2;patch=1;status=unmergable \
39 ${RPSRC}/pxa-linking-bug.patch;patch=1;status=unmergable \
40 ${RPSRC}/mmcsd_large_cards-r0.patch;patch=1;status=hack \
41 ${RPSRC}/mmcsd_no_scr_check-r0.patch;patch=1;status=hack \
42 ${RPSRC}/integrator_rgb-r1.patch;patch=1;status=hack \
43 ${RPSRC}/pxa_cf_initorder_hack-r1.patch;patch=1;status=hack \
44 file://pxa-serial-hack.patch;patch=1;status=hack \
45 file://connectplus-remove-ide-HACK.patch;patch=1;status=hack \
46 file://squashfs3.0-2.6.15.patch;patch=1;status=external \
47 file://defconfig-c7x0 \
48 file://defconfig-hx2000 \
49 file://defconfig-collie \
50 file://defconfig-poodle \
51 file://defconfig-akita \
52 file://defconfig-spitz \
53 file://defconfig-qemuarm \
54 file://defconfig-qemux86 \
55 file://defconfig-tosa "
56
57# Add this to enable pm debug code (useful with a serial lead)
58# ${RPSRC}/sharpsl_pm_debug-r0.patch;patch=1
59
60# Disabled until I find the reason this gives issues with cdc_subset
61# ${RPSRC}/usb_rndis_tweaks-r0.patch;patch=1 \
62
63# Is anything out of this still needed? Parts were commited to mainline by rmk (drivers/mfd/)
64# (Pavel Machek's git tree has updated versions of this?)
65# ${JLSRC}/zaurus-lcd-2.6.11.diff.gz;patch=1
66
67# These patches are extracted from Pavel Machek's git tree
68# (diff against vanilla kernel)
69SRC_URI_append_collie = "\
70 ${DOSRC}/collie/mtd-sharp-flash-hack-r0.patch;patch=1 \
71 ${DOSRC}/collie/collie-r0.patch;patch=1 \
72 ${DOSRC}/collie/locomolcd-backlight-r0.patch;patch=1 \
73 ${DOSRC}/collie/ucb1x00-touch-audio-r0.patch;patch=1 \
74 file://collie-mcp-r1.patch;patch=1 \
75 ${DOSRC}/collie/sa1100-udc-r0.patch;patch=1 \
76# ${DOSRC}/collie/collie-pm-r1.patch;patch=1 \
77"
78
79SRC_URI_append_tosa = "\
80 ${CHSRC}/usb-ohci-hooks-r1.patch;patch=1 \
81 ${CHSRC}/tmio-core-r4.patch;patch=1 \
82 file://tmio-tc6393-r8.patch;patch=1 \
83 file://tmio-nand-r7.patch;patch=1 \
84 file://tmio-ohci-r6.patch;patch=1 \
85 ${CHSRC}/tmio-fb-r6.patch;patch=1 \
86 file://tosa-keyboard-r18.patch;patch=1 \
87 ${DOSRC}/tosa-pxaac97-r6.patch;patch=1 \
88 ${DOSRC}/tosa-tmio-r6.patch;patch=1 \
89 ${DOSRC}/tosa-power-r17.patch;patch=1 \
90 file://tosa-tmio-lcd-r10.patch;patch=1 \
91 ${DOSRC}/tosa-bluetooth-r8.patch;patch=1 \
92 ${DOSRC}/wm97xx-lg7-r0.patch;patch=1 \
93 file://wm9712-suspend-cold-res-r2.patch;patch=1 \
94 file://sharpsl-pm-postresume-r1.patch;patch=1 \
95 ${DOSRC}/wm97xx-dig-restore-r0.patch;patch=1 \
96 ${DOSRC}/wm97xx-miscdevs-resume-r0.patch;patch=1 \
97 file://wm9712-reset-loop-r2.patch;patch=1 \
98 file://tosa-lcdnoise-r1.patch;patch=1 \
99 file://wm97xx-lcdnoise-r0.patch;patch=1 "
100# ${DOSRC}/tosa-asoc-r1.patch;patch=1 "
101
102S = "${WORKDIR}/linux-2.6.20-rc4"