mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-18 18:23:53 +08:00
Merge branch 'master'
This commit is contained in:
commit
012e060c95
26
CREDITS
26
CREDITS
@ -2211,6 +2211,15 @@ D: OV511 driver
|
||||
S: (address available on request)
|
||||
S: USA
|
||||
|
||||
N: Ian McDonald
|
||||
E: iam4@cs.waikato.ac.nz
|
||||
E: imcdnzl@gmail.com
|
||||
W: http://wand.net.nz/~iam4
|
||||
W: http://imcdnzl.blogspot.com
|
||||
D: DCCP, CCID3
|
||||
S: Hamilton
|
||||
S: New Zealand
|
||||
|
||||
N: Patrick McHardy
|
||||
E: kaber@trash.net
|
||||
P: 1024D/12155E80 B128 7DE6 FF0A C2B2 48BE AB4C C9D4 964E 1215 5E80
|
||||
@ -2246,19 +2255,12 @@ S: D-90453 Nuernberg
|
||||
S: Germany
|
||||
|
||||
N: Arnaldo Carvalho de Melo
|
||||
E: acme@conectiva.com.br
|
||||
E: acme@kernel.org
|
||||
E: acme@gnu.org
|
||||
W: http://bazar2.conectiva.com.br/~acme
|
||||
W: http://advogato.org/person/acme
|
||||
E: acme@mandriva.com
|
||||
E: acme@ghostprotocols.net
|
||||
W: http://oops.ghostprotocols.net:81/blog/
|
||||
P: 1024D/9224DF01 D5DF E3BB E3C8 BCBB F8AD 841A B6AB 4681 9224 DF01
|
||||
D: wanrouter hacking
|
||||
D: misc Makefile, Config.in, drivers and network stacks fixes
|
||||
D: IPX & LLC network stacks maintainer
|
||||
D: Cyclom 2X synchronous card driver
|
||||
D: wl3501 PCMCIA wireless card driver
|
||||
D: i18n for minicom, net-tools, util-linux, fetchmail, etc
|
||||
S: Conectiva S.A.
|
||||
D: IPX, LLC, DCCP, cyc2x, wl3501_cs, net/ hacks
|
||||
S: Mandriva
|
||||
S: R. Tocantins, 89 - Cristo Rei
|
||||
S: 80050-430 - Curitiba - Paraná
|
||||
S: Brazil
|
||||
|
@ -237,6 +237,12 @@ udev
|
||||
udev is a userspace application for populating /dev dynamically with
|
||||
only entries for devices actually present. udev replaces devfs.
|
||||
|
||||
FUSE
|
||||
----
|
||||
|
||||
Needs libfuse 2.4.0 or later. Absolute minimum is 2.3.0 but mount
|
||||
options 'direct_io' and 'kernel_cache' won't work.
|
||||
|
||||
Networking
|
||||
==========
|
||||
|
||||
@ -390,6 +396,10 @@ udev
|
||||
----
|
||||
o <http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html>
|
||||
|
||||
FUSE
|
||||
----
|
||||
o <http://sourceforge.net/projects/fuse>
|
||||
|
||||
Networking
|
||||
**********
|
||||
|
||||
|
@ -410,7 +410,26 @@ Kernel messages do not have to be terminated with a period.
|
||||
Printing numbers in parentheses (%d) adds no value and should be avoided.
|
||||
|
||||
|
||||
Chapter 13: References
|
||||
Chapter 13: Allocating memory
|
||||
|
||||
The kernel provides the following general purpose memory allocators:
|
||||
kmalloc(), kzalloc(), kcalloc(), and vmalloc(). Please refer to the API
|
||||
documentation for further information about them.
|
||||
|
||||
The preferred form for passing a size of a struct is the following:
|
||||
|
||||
p = kmalloc(sizeof(*p), ...);
|
||||
|
||||
The alternative form where struct name is spelled out hurts readability and
|
||||
introduces an opportunity for a bug when the pointer variable type is changed
|
||||
but the corresponding sizeof that is passed to a memory allocator is not.
|
||||
|
||||
Casting the return value which is a void pointer is redundant. The conversion
|
||||
from void pointer to any other pointer type is guaranteed by the C programming
|
||||
language.
|
||||
|
||||
|
||||
Chapter 14: References
|
||||
|
||||
The C Programming Language, Second Edition
|
||||
by Brian W. Kernighan and Dennis M. Ritchie.
|
||||
|
@ -1105,7 +1105,7 @@ static struct block_device_operations opt_fops = {
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Function names as strings (__func__).
|
||||
Function names as strings (__FUNCTION__).
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
|
@ -301,8 +301,84 @@ now, but you can do this to mark internal company procedures or just
|
||||
point out some special detail about the sign-off.
|
||||
|
||||
|
||||
12) The canonical patch format
|
||||
|
||||
12) More references for submitting patches
|
||||
The canonical patch subject line is:
|
||||
|
||||
Subject: [PATCH 001/123] subsystem: summary phrase
|
||||
|
||||
The canonical patch message body contains the following:
|
||||
|
||||
- A "from" line specifying the patch author.
|
||||
|
||||
- An empty line.
|
||||
|
||||
- The body of the explanation, which will be copied to the
|
||||
permanent changelog to describe this patch.
|
||||
|
||||
- The "Signed-off-by:" lines, described above, which will
|
||||
also go in the changelog.
|
||||
|
||||
- A marker line containing simply "---".
|
||||
|
||||
- Any additional comments not suitable for the changelog.
|
||||
|
||||
- The actual patch (diff output).
|
||||
|
||||
The Subject line format makes it very easy to sort the emails
|
||||
alphabetically by subject line - pretty much any email reader will
|
||||
support that - since because the sequence number is zero-padded,
|
||||
the numerical and alphabetic sort is the same.
|
||||
|
||||
The "subsystem" in the email's Subject should identify which
|
||||
area or subsystem of the kernel is being patched.
|
||||
|
||||
The "summary phrase" in the email's Subject should concisely
|
||||
describe the patch which that email contains. The "summary
|
||||
phrase" should not be a filename. Do not use the same "summary
|
||||
phrase" for every patch in a whole patch series.
|
||||
|
||||
Bear in mind that the "summary phrase" of your email becomes
|
||||
a globally-unique identifier for that patch. It propagates
|
||||
all the way into the git changelog. The "summary phrase" may
|
||||
later be used in developer discussions which refer to the patch.
|
||||
People will want to google for the "summary phrase" to read
|
||||
discussion regarding that patch.
|
||||
|
||||
A couple of example Subjects:
|
||||
|
||||
Subject: [patch 2/5] ext2: improve scalability of bitmap searching
|
||||
Subject: [PATCHv2 001/207] x86: fix eflags tracking
|
||||
|
||||
The "from" line must be the very first line in the message body,
|
||||
and has the form:
|
||||
|
||||
From: Original Author <author@example.com>
|
||||
|
||||
The "from" line specifies who will be credited as the author of the
|
||||
patch in the permanent changelog. If the "from" line is missing,
|
||||
then the "From:" line from the email header will be used to determine
|
||||
the patch author in the changelog.
|
||||
|
||||
The explanation body will be committed to the permanent source
|
||||
changelog, so should make sense to a competent reader who has long
|
||||
since forgotten the immediate details of the discussion that might
|
||||
have led to this patch.
|
||||
|
||||
The "---" marker line serves the essential purpose of marking for patch
|
||||
handling tools where the changelog message ends.
|
||||
|
||||
One good use for the additional comments after the "---" marker is for
|
||||
a diffstat, to show what files have changed, and the number of inserted
|
||||
and deleted lines per file. A diffstat is especially useful on bigger
|
||||
patches. Other comments relevant only to the moment or the maintainer,
|
||||
not suitable for the permanent changelog, should also go here.
|
||||
|
||||
See more details on the proper patch format in the following
|
||||
references.
|
||||
|
||||
|
||||
13) More references for submitting patches
|
||||
|
||||
Andrew Morton, "The perfect patch" (tpp).
|
||||
<http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt>
|
||||
@ -310,6 +386,14 @@ Andrew Morton, "The perfect patch" (tpp).
|
||||
Jeff Garzik, "Linux kernel patch submission format."
|
||||
<http://linux.yyz.us/patch-format.html>
|
||||
|
||||
Greg KH, "How to piss off a kernel subsystem maintainer"
|
||||
<http://www.kroah.com/log/2005/03/31/>
|
||||
|
||||
Kernel Documentation/CodingStyle
|
||||
<http://sosdg.org/~coywolf/lxr/source/Documentation/CodingStyle>
|
||||
|
||||
Linus Torvald's mail on the canonical patch format:
|
||||
<http://lkml.org/lkml/2005/4/7/183>
|
||||
|
||||
|
||||
-----------------------------------
|
||||
|
@ -17,7 +17,9 @@ This driver is known to work with the following cards:
|
||||
* SA P600
|
||||
* SA P800
|
||||
* SA E400
|
||||
* SA E300
|
||||
* SA P400i
|
||||
* SA E200
|
||||
* SA E200i
|
||||
|
||||
If nodes are not already created in the /dev/cciss directory, run as root:
|
||||
|
||||
|
@ -13,6 +13,8 @@ the BIOS on Dell servers (starting from servers sold since 1999), desktops
|
||||
and notebooks (starting from those sold in 2005).
|
||||
Please go to http://support.dell.com register and you can find info on
|
||||
OpenManage and Dell Update packages (DUP).
|
||||
Libsmbios can also be used to update BIOS on Dell systems go to
|
||||
http://linux.dell.com/libsmbios/ for details.
|
||||
|
||||
Dell_RBU driver supports BIOS update using the monilothic image and packetized
|
||||
image methods. In case of moniolithic the driver allocates a contiguous chunk
|
||||
@ -22,8 +24,8 @@ would place each packet in contiguous physical memory. The driver also
|
||||
maintains a link list of packets for reading them back.
|
||||
If the dell_rbu driver is unloaded all the allocated memory is freed.
|
||||
|
||||
The rbu driver needs to have an application which will inform the BIOS to
|
||||
enable the update in the next system reboot.
|
||||
The rbu driver needs to have an application (as mentioned above)which will
|
||||
inform the BIOS to enable the update in the next system reboot.
|
||||
|
||||
The user should not unload the rbu driver after downloading the BIOS image
|
||||
or updating.
|
||||
@ -42,9 +44,11 @@ In case of packet mechanism the single memory can be broken in smaller chuks
|
||||
of contiguous memory and the BIOS image is scattered in these packets.
|
||||
|
||||
By default the driver uses monolithic memory for the update type. This can be
|
||||
changed to contiguous during the driver load time by specifying the load
|
||||
changed to packets during the driver load time by specifying the load
|
||||
parameter image_type=packet. This can also be changed later as below
|
||||
echo packet > /sys/devices/platform/dell_rbu/image_type
|
||||
Also echoing either mono ,packet or init in to image_type will free up the
|
||||
memory allocated by the driver.
|
||||
|
||||
Do the steps below to download the BIOS image.
|
||||
1) echo 1 > /sys/class/firmware/dell_rbu/loading
|
||||
@ -53,9 +57,13 @@ Do the steps below to download the BIOS image.
|
||||
|
||||
The /sys/class/firmware/dell_rbu/ entries will remain till the following is
|
||||
done.
|
||||
echo -1 > /sys/class/firmware/dell_rbu/loading
|
||||
|
||||
echo -1 > /sys/class/firmware/dell_rbu/loading.
|
||||
Until this step is completed the drivr cannot be unloaded.
|
||||
If an user by accident executes steps 1 and 3 above without executing step 2;
|
||||
it will make the /sys/class/firmware/dell_rbu/ entries to disappear.
|
||||
The entries can be recreated by doing the following
|
||||
echo init > /sys/devices/platform/dell_rbu/image_type
|
||||
NOTE: echoing init in image_type does not change it original value.
|
||||
|
||||
Also the driver provides /sys/devices/platform/dell_rbu/data readonly file to
|
||||
read back the image downloaded. This is useful in case of packet update
|
||||
|
73
Documentation/device-mapper/snapshot.txt
Normal file
73
Documentation/device-mapper/snapshot.txt
Normal file
@ -0,0 +1,73 @@
|
||||
Device-mapper snapshot support
|
||||
==============================
|
||||
|
||||
Device-mapper allows you, without massive data copying:
|
||||
|
||||
*) To create snapshots of any block device i.e. mountable, saved states of
|
||||
the block device which are also writable without interfering with the
|
||||
original content;
|
||||
*) To create device "forks", i.e. multiple different versions of the
|
||||
same data stream.
|
||||
|
||||
|
||||
In both cases, dm copies only the chunks of data that get changed and
|
||||
uses a separate copy-on-write (COW) block device for storage.
|
||||
|
||||
|
||||
There are two dm targets available: snapshot and snapshot-origin.
|
||||
|
||||
*) snapshot-origin <origin>
|
||||
|
||||
which will normally have one or more snapshots based on it.
|
||||
You must create the snapshot-origin device before you can create snapshots.
|
||||
Reads will be mapped directly to the backing device. For each write, the
|
||||
original data will be saved in the <COW device> of each snapshot to keep
|
||||
its visible content unchanged, at least until the <COW device> fills up.
|
||||
|
||||
|
||||
*) snapshot <origin> <COW device> <persistent?> <chunksize>
|
||||
|
||||
A snapshot is created of the <origin> block device. Changed chunks of
|
||||
<chunksize> sectors will be stored on the <COW device>. Writes will
|
||||
only go to the <COW device>. Reads will come from the <COW device> or
|
||||
from <origin> for unchanged data. <COW device> will often be
|
||||
smaller than the origin and if it fills up the snapshot will become
|
||||
useless and be disabled, returning errors. So it is important to monitor
|
||||
the amount of free space and expand the <COW device> before it fills up.
|
||||
|
||||
<persistent?> is P (Persistent) or N (Not persistent - will not survive
|
||||
after reboot).
|
||||
|
||||
|
||||
How this is used by LVM2
|
||||
========================
|
||||
When you create the first LVM2 snapshot of a volume, four dm devices are used:
|
||||
|
||||
1) a device containing the original mapping table of the source volume;
|
||||
2) a device used as the <COW device>;
|
||||
3) a "snapshot" device, combining #1 and #2, which is the visible snapshot
|
||||
volume;
|
||||
4) the "original" volume (which uses the device number used by the original
|
||||
source volume), whose table is replaced by a "snapshot-origin" mapping
|
||||
from device #1.
|
||||
|
||||
A fixed naming scheme is used, so with the following commands:
|
||||
|
||||
lvcreate -L 1G -n base volumeGroup
|
||||
lvcreate -L 100M --snapshot -n snap volumeGroup/base
|
||||
|
||||
we'll have this situation (with volumes in above order):
|
||||
|
||||
# dmsetup table|grep volumeGroup
|
||||
|
||||
volumeGroup-base-real: 0 2097152 linear 8:19 384
|
||||
volumeGroup-snap-cow: 0 204800 linear 8:19 2097536
|
||||
volumeGroup-snap: 0 2097152 snapshot 254:11 254:12 P 16
|
||||
volumeGroup-base: 0 2097152 snapshot-origin 254:11
|
||||
|
||||
# ls -lL /dev/mapper/volumeGroup-*
|
||||
brw------- 1 root root 254, 11 29 ago 18:15 /dev/mapper/volumeGroup-base-real
|
||||
brw------- 1 root root 254, 12 29 ago 18:15 /dev/mapper/volumeGroup-snap-cow
|
||||
brw------- 1 root root 254, 13 29 ago 18:15 /dev/mapper/volumeGroup-snap
|
||||
brw------- 1 root root 254, 10 29 ago 18:14 /dev/mapper/volumeGroup-base
|
||||
|
@ -55,6 +55,7 @@ aic7*seq.h*
|
||||
aicasm
|
||||
aicdb.h*
|
||||
asm
|
||||
asm-offsets.*
|
||||
asm_offsets.*
|
||||
autoconf.h*
|
||||
bbootsect
|
||||
|
@ -17,15 +17,6 @@ Who: Greg Kroah-Hartman <greg@kroah.com>
|
||||
|
||||
---------------------------
|
||||
|
||||
What: io_remap_page_range() (macro or function)
|
||||
When: September 2005
|
||||
Why: Replaced by io_remap_pfn_range() which allows more memory space
|
||||
addressabilty (by using a pfn) and supports sparc & sparc64
|
||||
iospace as part of the pfn.
|
||||
Who: Randy Dunlap <rddunlap@osdl.org>
|
||||
|
||||
---------------------------
|
||||
|
||||
What: RAW driver (CONFIG_RAW_DRIVER)
|
||||
When: December 2005
|
||||
Why: declared obsolete since kernel 2.6.3
|
||||
|
@ -15,7 +15,7 @@ retrieve the data as it becomes available.
|
||||
|
||||
The format of the data logged into the channel buffers is completely
|
||||
up to the relayfs client; relayfs does however provide hooks which
|
||||
allow clients to impose some stucture on the buffer data. Nor does
|
||||
allow clients to impose some structure on the buffer data. Nor does
|
||||
relayfs implement any form of data filtering - this also is left to
|
||||
the client. The purpose is to keep relayfs as simple as possible.
|
||||
|
||||
|
194
Documentation/ia64/mca.txt
Normal file
194
Documentation/ia64/mca.txt
Normal file
@ -0,0 +1,194 @@
|
||||
An ad-hoc collection of notes on IA64 MCA and INIT processing. Feel
|
||||
free to update it with notes about any area that is not clear.
|
||||
|
||||
---
|
||||
|
||||
MCA/INIT are completely asynchronous. They can occur at any time, when
|
||||
the OS is in any state. Including when one of the cpus is already
|
||||
holding a spinlock. Trying to get any lock from MCA/INIT state is
|
||||
asking for deadlock. Also the state of structures that are protected
|
||||
by locks is indeterminate, including linked lists.
|
||||
|
||||
---
|
||||
|
||||
The complicated ia64 MCA process. All of this is mandated by Intel's
|
||||
specification for ia64 SAL, error recovery and and unwind, it is not as
|
||||
if we have a choice here.
|
||||
|
||||
* MCA occurs on one cpu, usually due to a double bit memory error.
|
||||
This is the monarch cpu.
|
||||
|
||||
* SAL sends an MCA rendezvous interrupt (which is a normal interrupt)
|
||||
to all the other cpus, the slaves.
|
||||
|
||||
* Slave cpus that receive the MCA interrupt call down into SAL, they
|
||||
end up spinning disabled while the MCA is being serviced.
|
||||
|
||||
* If any slave cpu was already spinning disabled when the MCA occurred
|
||||
then it cannot service the MCA interrupt. SAL waits ~20 seconds then
|
||||
sends an unmaskable INIT event to the slave cpus that have not
|
||||
already rendezvoused.
|
||||
|
||||
* Because MCA/INIT can be delivered at any time, including when the cpu
|
||||
is down in PAL in physical mode, the registers at the time of the
|
||||
event are _completely_ undefined. In particular the MCA/INIT
|
||||
handlers cannot rely on the thread pointer, PAL physical mode can
|
||||
(and does) modify TP. It is allowed to do that as long as it resets
|
||||
TP on return. However MCA/INIT events expose us to these PAL
|
||||
internal TP changes. Hence curr_task().
|
||||
|
||||
* If an MCA/INIT event occurs while the kernel was running (not user
|
||||
space) and the kernel has called PAL then the MCA/INIT handler cannot
|
||||
assume that the kernel stack is in a fit state to be used. Mainly
|
||||
because PAL may or may not maintain the stack pointer internally.
|
||||
Because the MCA/INIT handlers cannot trust the kernel stack, they
|
||||
have to use their own, per-cpu stacks. The MCA/INIT stacks are
|
||||
preformatted with just enough task state to let the relevant handlers
|
||||
do their job.
|
||||
|
||||
* Unlike most other architectures, the ia64 struct task is embedded in
|
||||
the kernel stack[1]. So switching to a new kernel stack means that
|
||||
we switch to a new task as well. Because various bits of the kernel
|
||||
assume that current points into the struct task, switching to a new
|
||||
stack also means a new value for current.
|
||||
|
||||
* Once all slaves have rendezvoused and are spinning disabled, the
|
||||
monarch is entered. The monarch now tries to diagnose the problem
|
||||
and decide if it can recover or not.
|
||||
|
||||
* Part of the monarch's job is to look at the state of all the other
|
||||
tasks. The only way to do that on ia64 is to call the unwinder,
|
||||
as mandated by Intel.
|
||||
|
||||
* The starting point for the unwind depends on whether a task is
|
||||
running or not. That is, whether it is on a cpu or is blocked. The
|
||||
monarch has to determine whether or not a task is on a cpu before it
|
||||
knows how to start unwinding it. The tasks that received an MCA or
|
||||
INIT event are no longer running, they have been converted to blocked
|
||||
tasks. But (and its a big but), the cpus that received the MCA
|
||||
rendezvous interrupt are still running on their normal kernel stacks!
|
||||
|
||||
* To distinguish between these two cases, the monarch must know which
|
||||
tasks are on a cpu and which are not. Hence each slave cpu that
|
||||
switches to an MCA/INIT stack, registers its new stack using
|
||||
set_curr_task(), so the monarch can tell that the _original_ task is
|
||||
no longer running on that cpu. That gives us a decent chance of
|
||||
getting a valid backtrace of the _original_ task.
|
||||
|
||||
* MCA/INIT can be nested, to a depth of 2 on any cpu. In the case of a
|
||||
nested error, we want diagnostics on the MCA/INIT handler that
|
||||
failed, not on the task that was originally running. Again this
|
||||
requires set_curr_task() so the MCA/INIT handlers can register their
|
||||
own stack as running on that cpu. Then a recursive error gets a
|
||||
trace of the failing handler's "task".
|
||||
|
||||
[1] My (Keith Owens) original design called for ia64 to separate its
|
||||
struct task and the kernel stacks. Then the MCA/INIT data would be
|
||||
chained stacks like i386 interrupt stacks. But that required
|
||||
radical surgery on the rest of ia64, plus extra hard wired TLB
|
||||
entries with its associated performance degradation. David
|
||||
Mosberger vetoed that approach. Which meant that separate kernel
|
||||
stacks meant separate "tasks" for the MCA/INIT handlers.
|
||||
|
||||
---
|
||||
|
||||
INIT is less complicated than MCA. Pressing the nmi button or using
|
||||
the equivalent command on the management console sends INIT to all
|
||||
cpus. SAL picks one one of the cpus as the monarch and the rest are
|
||||
slaves. All the OS INIT handlers are entered at approximately the same
|
||||
time. The OS monarch prints the state of all tasks and returns, after
|
||||
which the slaves return and the system resumes.
|
||||
|
||||
At least that is what is supposed to happen. Alas there are broken
|
||||
versions of SAL out there. Some drive all the cpus as monarchs. Some
|
||||
drive them all as slaves. Some drive one cpu as monarch, wait for that
|
||||
cpu to return from the OS then drive the rest as slaves. Some versions
|
||||
of SAL cannot even cope with returning from the OS, they spin inside
|
||||
SAL on resume. The OS INIT code has workarounds for some of these
|
||||
broken SAL symptoms, but some simply cannot be fixed from the OS side.
|
||||
|
||||
---
|
||||
|
||||
The scheduler hooks used by ia64 (curr_task, set_curr_task) are layer
|
||||
violations. Unfortunately MCA/INIT start off as massive layer
|
||||
violations (can occur at _any_ time) and they build from there.
|
||||
|
||||
At least ia64 makes an attempt at recovering from hardware errors, but
|
||||
it is a difficult problem because of the asynchronous nature of these
|
||||
errors. When processing an unmaskable interrupt we sometimes need
|
||||
special code to cope with our inability to take any locks.
|
||||
|
||||
---
|
||||
|
||||
How is ia64 MCA/INIT different from x86 NMI?
|
||||
|
||||
* x86 NMI typically gets delivered to one cpu. MCA/INIT gets sent to
|
||||
all cpus.
|
||||
|
||||
* x86 NMI cannot be nested. MCA/INIT can be nested, to a depth of 2
|
||||
per cpu.
|
||||
|
||||
* x86 has a separate struct task which points to one of multiple kernel
|
||||
stacks. ia64 has the struct task embedded in the single kernel
|
||||
stack, so switching stack means switching task.
|
||||
|
||||
* x86 does not call the BIOS so the NMI handler does not have to worry
|
||||
about any registers having changed. MCA/INIT can occur while the cpu
|
||||
is in PAL in physical mode, with undefined registers and an undefined
|
||||
kernel stack.
|
||||
|
||||
* i386 backtrace is not very sensitive to whether a process is running
|
||||
or not. ia64 unwind is very, very sensitive to whether a process is
|
||||
running or not.
|
||||
|
||||
---
|
||||
|
||||
What happens when MCA/INIT is delivered what a cpu is running user
|
||||
space code?
|
||||
|
||||
The user mode registers are stored in the RSE area of the MCA/INIT on
|
||||
entry to the OS and are restored from there on return to SAL, so user
|
||||
mode registers are preserved across a recoverable MCA/INIT. Since the
|
||||
OS has no idea what unwind data is available for the user space stack,
|
||||
MCA/INIT never tries to backtrace user space. Which means that the OS
|
||||
does not bother making the user space process look like a blocked task,
|
||||
i.e. the OS does not copy pt_regs and switch_stack to the user space
|
||||
stack. Also the OS has no idea how big the user space RSE and memory
|
||||
stacks are, which makes it too risky to copy the saved state to a user
|
||||
mode stack.
|
||||
|
||||
---
|
||||
|
||||
How do we get a backtrace on the tasks that were running when MCA/INIT
|
||||
was delivered?
|
||||
|
||||
mca.c:::ia64_mca_modify_original_stack(). That identifies and
|
||||
verifies the original kernel stack, copies the dirty registers from
|
||||
the MCA/INIT stack's RSE to the original stack's RSE, copies the
|
||||
skeleton struct pt_regs and switch_stack to the original stack, fills
|
||||
in the skeleton structures from the PAL minstate area and updates the
|
||||
original stack's thread.ksp. That makes the original stack look
|
||||
exactly like any other blocked task, i.e. it now appears to be
|
||||
sleeping. To get a backtrace, just start with thread.ksp for the
|
||||
original task and unwind like any other sleeping task.
|
||||
|
||||
---
|
||||
|
||||
How do we identify the tasks that were running when MCA/INIT was
|
||||
delivered?
|
||||
|
||||
If the previous task has been verified and converted to a blocked
|
||||
state, then sos->prev_task on the MCA/INIT stack is updated to point to
|
||||
the previous task. You can look at that field in dumps or debuggers.
|
||||
To help distinguish between the handler and the original tasks,
|
||||
handlers have _TIF_MCA_INIT set in thread_info.flags.
|
||||
|
||||
The sos data is always in the MCA/INIT handler stack, at offset
|
||||
MCA_SOS_OFFSET. You can get that value from mca_asm.h or calculate it
|
||||
as KERNEL_STACK_SIZE - sizeof(struct pt_regs) - sizeof(struct
|
||||
ia64_sal_os_state), with 16 byte alignment for all structures.
|
||||
|
||||
Also the comm field of the MCA/INIT task is modified to include the pid
|
||||
of the original task, for humans to use. For example, a comm field of
|
||||
'MCA 12159' means that pid 12159 was running when the MCA was
|
||||
delivered.
|
@ -66,11 +66,11 @@ SETUP
|
||||
c) Enable "/proc/vmcore support" (Optional, in Pseudo filesystems).
|
||||
CONFIG_PROC_VMCORE=y
|
||||
d) Disable SMP support and build a UP kernel (Until it is fixed).
|
||||
CONFIG_SMP=n
|
||||
CONFIG_SMP=n
|
||||
e) Enable "Local APIC support on uniprocessors".
|
||||
CONFIG_X86_UP_APIC=y
|
||||
CONFIG_X86_UP_APIC=y
|
||||
f) Enable "IO-APIC support on uniprocessors"
|
||||
CONFIG_X86_UP_IOAPIC=y
|
||||
CONFIG_X86_UP_IOAPIC=y
|
||||
|
||||
Note: i) Options a) and b) depend upon "Configure standard kernel features
|
||||
(for small systems)" (under General setup).
|
||||
@ -95,6 +95,11 @@ SETUP
|
||||
hence have memory less than 4GB.
|
||||
iii) Specify "irqpoll" as command line parameter. This reduces driver
|
||||
initialization failures in second kernel due to shared interrupts.
|
||||
iv) <root-dev> needs to be specified in a format corresponding to
|
||||
the root device name in the output of mount command.
|
||||
v) If you have built the drivers required to mount root file
|
||||
system as modules in <second-kernel>, then, specify
|
||||
--initrd=<initrd-for-second-kernel>.
|
||||
|
||||
5) System reboots into the second kernel when a panic occurs. A module can be
|
||||
written to force the panic or "ALT-SysRq-c" can be used initiate a crash
|
||||
|
@ -195,8 +195,8 @@ KEY ACCESS PERMISSIONS
|
||||
======================
|
||||
|
||||
Keys have an owner user ID, a group access ID, and a permissions mask. The mask
|
||||
has up to eight bits each for user, group and other access. Only five of each
|
||||
set of eight bits are defined. These permissions granted are:
|
||||
has up to eight bits each for possessor, user, group and other access. Only
|
||||
five of each set of eight bits are defined. These permissions granted are:
|
||||
|
||||
(*) View
|
||||
|
||||
@ -241,16 +241,16 @@ about the status of the key service:
|
||||
type, description and permissions. The payload of the key is not available
|
||||
this way:
|
||||
|
||||
SERIAL FLAGS USAGE EXPY PERM UID GID TYPE DESCRIPTION: SUMMARY
|
||||
00000001 I----- 39 perm 1f0000 0 0 keyring _uid_ses.0: 1/4
|
||||
00000002 I----- 2 perm 1f0000 0 0 keyring _uid.0: empty
|
||||
00000007 I----- 1 perm 1f0000 0 0 keyring _pid.1: empty
|
||||
0000018d I----- 1 perm 1f0000 0 0 keyring _pid.412: empty
|
||||
000004d2 I--Q-- 1 perm 1f0000 32 -1 keyring _uid.32: 1/4
|
||||
000004d3 I--Q-- 3 perm 1f0000 32 -1 keyring _uid_ses.32: empty
|
||||
00000892 I--QU- 1 perm 1f0000 0 0 user metal:copper: 0
|
||||
00000893 I--Q-N 1 35s 1f0000 0 0 user metal:silver: 0
|
||||
00000894 I--Q-- 1 10h 1f0000 0 0 user metal:gold: 0
|
||||
SERIAL FLAGS USAGE EXPY PERM UID GID TYPE DESCRIPTION: SUMMARY
|
||||
00000001 I----- 39 perm 1f1f0000 0 0 keyring _uid_ses.0: 1/4
|
||||
00000002 I----- 2 perm 1f1f0000 0 0 keyring _uid.0: empty
|
||||
00000007 I----- 1 perm 1f1f0000 0 0 keyring _pid.1: empty
|
||||
0000018d I----- 1 perm 1f1f0000 0 0 keyring _pid.412: empty
|
||||
000004d2 I--Q-- 1 perm 1f1f0000 32 -1 keyring _uid.32: 1/4
|
||||
000004d3 I--Q-- 3 perm 1f1f0000 32 -1 keyring _uid_ses.32: empty
|
||||
00000892 I--QU- 1 perm 1f000000 0 0 user metal:copper: 0
|
||||
00000893 I--Q-N 1 35s 1f1f0000 0 0 user metal:silver: 0
|
||||
00000894 I--Q-- 1 10h 001f0000 0 0 user metal:gold: 0
|
||||
|
||||
The flags are:
|
||||
|
||||
@ -637,6 +637,34 @@ call, and the key released upon close. How to deal with conflicting keys due to
|
||||
two different users opening the same file is left to the filesystem author to
|
||||
solve.
|
||||
|
||||
Note that there are two different types of pointers to keys that may be
|
||||
encountered:
|
||||
|
||||
(*) struct key *
|
||||
|
||||
This simply points to the key structure itself. Key structures will be at
|
||||
least four-byte aligned.
|
||||
|
||||
(*) key_ref_t
|
||||
|
||||
This is equivalent to a struct key *, but the least significant bit is set
|
||||
if the caller "possesses" the key. By "possession" it is meant that the
|
||||
calling processes has a searchable link to the key from one of its
|
||||
keyrings. There are three functions for dealing with these:
|
||||
|
||||
key_ref_t make_key_ref(const struct key *key,
|
||||
unsigned long possession);
|
||||
|
||||
struct key *key_ref_to_ptr(const key_ref_t key_ref);
|
||||
|
||||
unsigned long is_key_possessed(const key_ref_t key_ref);
|
||||
|
||||
The first function constructs a key reference from a key pointer and
|
||||
possession information (which must be 0 or 1 and not any other value).
|
||||
|
||||
The second function retrieves the key pointer from a reference and the
|
||||
third retrieves the possession flag.
|
||||
|
||||
When accessing a key's payload contents, certain precautions must be taken to
|
||||
prevent access vs modification races. See the section "Notes on accessing
|
||||
payload contents" for more information.
|
||||
@ -665,7 +693,11 @@ payload contents" for more information.
|
||||
|
||||
void key_put(struct key *key);
|
||||
|
||||
This can be called from interrupt context. If CONFIG_KEYS is not set then
|
||||
Or:
|
||||
|
||||
void key_ref_put(key_ref_t key_ref);
|
||||
|
||||
These can be called from interrupt context. If CONFIG_KEYS is not set then
|
||||
the argument will not be parsed.
|
||||
|
||||
|
||||
@ -689,13 +721,17 @@ payload contents" for more information.
|
||||
|
||||
(*) If a keyring was found in the search, this can be further searched by:
|
||||
|
||||
struct key *keyring_search(struct key *keyring,
|
||||
const struct key_type *type,
|
||||
const char *description)
|
||||
key_ref_t keyring_search(key_ref_t keyring_ref,
|
||||
const struct key_type *type,
|
||||
const char *description)
|
||||
|
||||
This searches the keyring tree specified for a matching key. Error ENOKEY
|
||||
is returned upon failure. If successful, the returned key will need to be
|
||||
released.
|
||||
is returned upon failure (use IS_ERR/PTR_ERR to determine). If successful,
|
||||
the returned key will need to be released.
|
||||
|
||||
The possession attribute from the keyring reference is used to control
|
||||
access through the permissions mask and is propagated to the returned key
|
||||
reference pointer if successful.
|
||||
|
||||
|
||||
(*) To check the validity of a key, this function can be called:
|
||||
@ -732,7 +768,7 @@ More complex payload contents must be allocated and a pointer to them set in
|
||||
key->payload.data. One of the following ways must be selected to access the
|
||||
data:
|
||||
|
||||
(1) Unmodifyable key type.
|
||||
(1) Unmodifiable key type.
|
||||
|
||||
If the key type does not have a modify method, then the key's payload can
|
||||
be accessed without any form of locking, provided that it's known to be
|
||||
|
@ -355,10 +355,14 @@ ip_dynaddr - BOOLEAN
|
||||
Default: 0
|
||||
|
||||
icmp_echo_ignore_all - BOOLEAN
|
||||
If set non-zero, then the kernel will ignore all ICMP ECHO
|
||||
requests sent to it.
|
||||
Default: 0
|
||||
|
||||
icmp_echo_ignore_broadcasts - BOOLEAN
|
||||
If either is set to true, then the kernel will ignore either all
|
||||
ICMP ECHO requests sent to it or just those to broadcast/multicast
|
||||
addresses, respectively.
|
||||
If set non-zero, then the kernel will ignore all ICMP ECHO and
|
||||
TIMESTAMP requests sent to it via broadcast/multicast.
|
||||
Default: 1
|
||||
|
||||
icmp_ratelimit - INTEGER
|
||||
Limit the maximal rates for sending ICMP packets whose type matches
|
||||
|
@ -205,8 +205,8 @@ Phone: 701-234-7556
|
||||
Tainted kernels:
|
||||
|
||||
Some oops reports contain the string 'Tainted: ' after the program
|
||||
counter, this indicates that the kernel has been tainted by some
|
||||
mechanism. The string is followed by a series of position sensitive
|
||||
counter. This indicates that the kernel has been tainted by some
|
||||
mechanism. The string is followed by a series of position-sensitive
|
||||
characters, each representing a particular tainted value.
|
||||
|
||||
1: 'G' if all modules loaded have a GPL or compatible license, 'P' if
|
||||
@ -214,16 +214,25 @@ characters, each representing a particular tainted value.
|
||||
MODULE_LICENSE or with a MODULE_LICENSE that is not recognised by
|
||||
insmod as GPL compatible are assumed to be proprietary.
|
||||
|
||||
2: 'F' if any module was force loaded by insmod -f, ' ' if all
|
||||
2: 'F' if any module was force loaded by "insmod -f", ' ' if all
|
||||
modules were loaded normally.
|
||||
|
||||
3: 'S' if the oops occurred on an SMP kernel running on hardware that
|
||||
hasn't been certified as safe to run multiprocessor.
|
||||
Currently this occurs only on various Athlons that are not
|
||||
SMP capable.
|
||||
hasn't been certified as safe to run multiprocessor.
|
||||
Currently this occurs only on various Athlons that are not
|
||||
SMP capable.
|
||||
|
||||
4: 'R' if a module was force unloaded by "rmmod -f", ' ' if all
|
||||
modules were unloaded normally.
|
||||
|
||||
5: 'M' if any processor has reported a Machine Check Exception,
|
||||
' ' if no Machine Check Exceptions have occurred.
|
||||
|
||||
6: 'B' if a page-release function has found a bad page reference or
|
||||
some unexpected page flags.
|
||||
|
||||
The primary reason for the 'Tainted: ' string is to tell kernel
|
||||
debuggers if this is a clean kernel or if anything unusual has
|
||||
occurred. Tainting is permanent, even if an offending module is
|
||||
unloading the tainted value remains to indicate that the kernel is not
|
||||
occurred. Tainting is permanent: even if an offending module is
|
||||
unloaded, the tainted value remains to indicate that the kernel is not
|
||||
trustworthy.
|
||||
|
@ -38,6 +38,12 @@ system the associated daemon will exit gracefully.
|
||||
|
||||
Driver Interface -- OBSOLETE, DO NOT USE!
|
||||
----------------*************************
|
||||
|
||||
Note: pm_register(), pm_access(), pm_dev_idle() and friends are
|
||||
obsolete. Please do not use them. Instead you should properly hook
|
||||
your driver into the driver model, and use its suspend()/resume()
|
||||
callbacks to do this kind of stuff.
|
||||
|
||||
If you are writing a new driver or maintaining an old driver, it
|
||||
should include power management support. Without power management
|
||||
support, a single driver may prevent a system with power management
|
||||
|
@ -75,7 +75,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
|
||||
adsp_map - PCM device number maps assigned to the 2st OSS device.
|
||||
- Default: 1
|
||||
nonblock_open
|
||||
- Don't block opening busy PCM devices.
|
||||
- Don't block opening busy PCM devices. Default: 1
|
||||
|
||||
For example, when dsp_map=2, /dev/dsp will be mapped to PCM #2 of
|
||||
the card #0. Similarly, when adsp_map=0, /dev/adsp will be mapped
|
||||
@ -148,6 +148,16 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
|
||||
Module supports up to 8 cards. This module does not support autoprobe
|
||||
thus main port must be specified!!! Other ports are optional.
|
||||
|
||||
Module snd-ad1889
|
||||
-----------------
|
||||
|
||||
Module for Analog Devices AD1889 chips.
|
||||
|
||||
ac97_quirk - AC'97 workaround for strange hardware
|
||||
See the description of intel8x0 module for details.
|
||||
|
||||
This module supports up to 8 cards.
|
||||
|
||||
Module snd-ali5451
|
||||
------------------
|
||||
|
||||
@ -189,15 +199,20 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
|
||||
Module snd-atiixp
|
||||
-----------------
|
||||
|
||||
Module for ATI IXP 150/200/250 AC97 controllers.
|
||||
Module for ATI IXP 150/200/250/400 AC97 controllers.
|
||||
|
||||
ac97_clock - AC'97 clock (defalut = 48000)
|
||||
ac97_clock - AC'97 clock (default = 48000)
|
||||
ac97_quirk - AC'97 workaround for strange hardware
|
||||
See the description of intel8x0 module for details.
|
||||
See "AC97 Quirk Option" section below.
|
||||
spdif_aclink - S/PDIF transfer over AC-link (default = 1)
|
||||
|
||||
This module supports up to 8 cards and autoprobe.
|
||||
|
||||
ATI IXP has two different methods to control SPDIF output. One is
|
||||
over AC-link and another is over the "direct" SPDIF output. The
|
||||
implementation depends on the motherboard, and you'll need to
|
||||
choose the correct one via spdif_aclink module option.
|
||||
|
||||
Module snd-atiixp-modem
|
||||
-----------------------
|
||||
|
||||
@ -230,7 +245,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
|
||||
The hardware EQ hardware and SPDIF is only present in the Vortex2 and
|
||||
Advantage.
|
||||
|
||||
Note: Some ALSA mixer applicactions don't handle the SPDIF samplerate
|
||||
Note: Some ALSA mixer applications don't handle the SPDIF sample rate
|
||||
control correctly. If you have problems regarding this, try
|
||||
another ALSA compliant mixer (alsamixer works).
|
||||
|
||||
@ -302,7 +317,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
|
||||
|
||||
mpu_port - 0x300,0x310,0x320,0x330, 0 = disable (default)
|
||||
fm_port - 0x388 (default), 0 = disable (default)
|
||||
soft_ac3 - Sofware-conversion of raw SPDIF packets (model 033 only)
|
||||
soft_ac3 - Software-conversion of raw SPDIF packets (model 033 only)
|
||||
(default = 1)
|
||||
joystick_port - Joystick port address (0 = disable, 1 = auto-detect)
|
||||
|
||||
@ -384,7 +399,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
|
||||
Module for PCI sound cards based on CS4610/CS4612/CS4614/CS4615/CS4622/
|
||||
CS4624/CS4630/CS4280 PCI chips.
|
||||
|
||||
external_amp - Force to enable external amplifer.
|
||||
external_amp - Force to enable external amplifier.
|
||||
thinkpad - Force to enable Thinkpad's CLKRUN control.
|
||||
mmap_valid - Support OSS mmap mode (default = 0).
|
||||
|
||||
@ -620,7 +635,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
|
||||
VIA VT8251/VT8237A
|
||||
|
||||
model - force the model name
|
||||
position_fix - Fix DMA pointer (0 = FIFO size, 1 = none, 2 = POSBUF)
|
||||
position_fix - Fix DMA pointer (0 = auto, 1 = none, 2 = POSBUF, 3 = FIFO size)
|
||||
|
||||
Module supports up to 8 cards.
|
||||
|
||||
@ -656,6 +671,11 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
|
||||
allout 5-jack in back, 2-jack in front, SPDIF out
|
||||
auto auto-config reading BIOS (default)
|
||||
|
||||
If the default configuration doesn't work and one of the above
|
||||
matches with your device, report it together with the PCI
|
||||
subsystem ID (output of "lspci -nv") to ALSA BTS or alsa-devel
|
||||
ML (see the section "Links and Addresses").
|
||||
|
||||
Note 2: If you get click noises on output, try the module option
|
||||
position_fix=1 or 2. position_fix=1 will use the SD_LPIB
|
||||
register value without FIFO size correction as the current
|
||||
@ -783,20 +803,13 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
|
||||
|
||||
ac97_clock - AC'97 codec clock base (0 = auto-detect)
|
||||
ac97_quirk - AC'97 workaround for strange hardware
|
||||
The following strings are accepted:
|
||||
default = don't override the default setting
|
||||
disable = disable the quirk
|
||||
hp_only = use headphone control as master
|
||||
swap_hp = swap headphone and master controls
|
||||
swap_surround = swap master and surround controls
|
||||
ad_sharing = for AD1985, turn on OMS bit and use headphone
|
||||
alc_jack = for ALC65x, turn on the jack sense mode
|
||||
inv_eapd = inverted EAPD implementation
|
||||
mute_led = bind EAPD bit for turning on/off mute LED
|
||||
For backward compatibility, the corresponding integer
|
||||
value -1, 0, ... are accepted, too.
|
||||
See "AC97 Quirk Option" section below.
|
||||
buggy_irq - Enable workaround for buggy interrupts on some
|
||||
motherboards (default off)
|
||||
motherboards (default yes on nForce chips,
|
||||
otherwise off)
|
||||
buggy_semaphore - Enable workaround for hardwares with buggy
|
||||
semaphores (e.g. on some ASUS laptops)
|
||||
(default off)
|
||||
|
||||
Module supports autoprobe and multiple bus-master chips (max 8).
|
||||
|
||||
@ -808,13 +821,6 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
|
||||
motherboard has these devices, use the ns558 or snd-mpu401
|
||||
modules, respectively.
|
||||
|
||||
The ac97_quirk option is used to enable/override the workaround
|
||||
for specific devices. Some hardware have swapped output pins
|
||||
between Master and Headphone, or Surround. The driver provides
|
||||
the auto-detection of known problematic devices, but some might
|
||||
be unknown or wrongly detected. In such a case, pass the proper
|
||||
value with this option.
|
||||
|
||||
The power-management is supported.
|
||||
|
||||
Module snd-intel8x0m
|
||||
@ -966,7 +972,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
|
||||
with machines with other (most likely CS423x or OPL3SAx) chips,
|
||||
even though the device is detected in lspci. In such a case, try
|
||||
other drivers, e.g. snd-cs4232 or snd-opl3sa2. Some has ISA-PnP
|
||||
but some doesn't have ISA PnP. You'll need to speicfy isapnp=0
|
||||
but some doesn't have ISA PnP. You'll need to specify isapnp=0
|
||||
and proper hardware parameters in the case without ISA PnP.
|
||||
|
||||
Note: some laptops need a workaround for AC97 RESET. For the
|
||||
@ -1302,7 +1308,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
|
||||
channels
|
||||
[VIA8233/C, 8235, 8237 only]
|
||||
ac97_quirk - AC'97 workaround for strange hardware
|
||||
See the description of intel8x0 module for details.
|
||||
See "AC97 Quirk Option" section below.
|
||||
|
||||
Module supports autoprobe and multiple bus-master chips (max 8).
|
||||
|
||||
@ -1327,16 +1333,17 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
|
||||
"lspci -nv").
|
||||
If dxs_support=5 does not work, try dxs_support=4; if it
|
||||
doesn't work too, try dxs_support=1. (dxs_support=1 is
|
||||
usually for old motherboards. The correct implementated
|
||||
usually for old motherboards. The correct implemented
|
||||
board should work with 4 or 5.) If it still doesn't
|
||||
work and the default setting is ok, dxs_support=3 is the
|
||||
right choice. If the default setting doesn't work at all,
|
||||
try dxs_support=2 to disable the DXS channels.
|
||||
In any cases, please let us know the result and the
|
||||
subsystem vendor/device ids.
|
||||
subsystem vendor/device ids. See "Links and Addresses"
|
||||
below.
|
||||
|
||||
Note: for the MPU401 on VIA823x, use snd-mpu401 driver
|
||||
additonally. The mpu_port option is for VIA686 chips only.
|
||||
additionally. The mpu_port option is for VIA686 chips only.
|
||||
|
||||
Module snd-via82xx-modem
|
||||
------------------------
|
||||
@ -1398,8 +1405,10 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
|
||||
Module supports up to 8 cards. The module is compiled only when
|
||||
PCMCIA is supported on kernel.
|
||||
|
||||
To activate the driver via the card manager, you'll need to set
|
||||
up /etc/pcmcia/vxpocket.conf. See the sound/pcmcia/vx/vxpocket.c.
|
||||
With the older 2.6.x kernel, to activate the driver via the card
|
||||
manager, you'll need to set up /etc/pcmcia/vxpocket.conf. See the
|
||||
sound/pcmcia/vx/vxpocket.c. 2.6.13 or later kernel requires no
|
||||
longer require a config file.
|
||||
|
||||
When the driver is compiled as a module and the hotplug firmware
|
||||
is supported, the firmware data is loaded via hotplug automatically.
|
||||
@ -1411,6 +1420,9 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
|
||||
|
||||
Note: the driver is build only when CONFIG_ISA is set.
|
||||
|
||||
Note2: snd-vxp440 driver is merged to snd-vxpocket driver since
|
||||
ALSA 1.0.10.
|
||||
|
||||
Module snd-ymfpci
|
||||
-----------------
|
||||
|
||||
@ -1436,6 +1448,37 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
|
||||
Note: the driver is build only when CONFIG_ISA is set.
|
||||
|
||||
|
||||
AC97 Quirk Option
|
||||
=================
|
||||
|
||||
The ac97_quirk option is used to enable/override the workaround for
|
||||
specific devices on drivers for on-board AC'97 controllers like
|
||||
snd-intel8x0. Some hardware have swapped output pins between Master
|
||||
and Headphone, or Surround (thanks to confusion of AC'97
|
||||
specifications from version to version :-)
|
||||
|
||||
The driver provides the auto-detection of known problematic devices,
|
||||
but some might be unknown or wrongly detected. In such a case, pass
|
||||
the proper value with this option.
|
||||
|
||||
The following strings are accepted:
|
||||
- default Don't override the default setting
|
||||
- disable Disable the quirk
|
||||
- hp_only Bind Master and Headphone controls as a single control
|
||||
- swap_hp Swap headphone and master controls
|
||||
- swap_surround Swap master and surround controls
|
||||
- ad_sharing For AD1985, turn on OMS bit and use headphone
|
||||
- alc_jack For ALC65x, turn on the jack sense mode
|
||||
- inv_eapd Inverted EAPD implementation
|
||||
- mute_led Bind EAPD bit for turning on/off mute LED
|
||||
|
||||
For backward compatibility, the corresponding integer value -1, 0,
|
||||
... are accepted, too.
|
||||
|
||||
For example, if "Master" volume control has no effect on your device
|
||||
but only "Headphone" does, pass ac97_quirk=hp_only module option.
|
||||
|
||||
|
||||
Configuring Non-ISAPNP Cards
|
||||
============================
|
||||
|
||||
@ -1553,6 +1596,8 @@ Proc interfaces (/proc/asound)
|
||||
- whole-frag write only whole fragments (optimization affecting
|
||||
playback only)
|
||||
- no-silence do not fill silence ahead to avoid clicks
|
||||
- buggy-ptr Returns the whitespace blocks in GETOPTR ioctl
|
||||
instead of filled blocks
|
||||
|
||||
Example: echo "x11amp 128 16384" > /proc/asound/card0/pcm0p/oss
|
||||
echo "squake 0 0 disable" > /proc/asound/card0/pcm0c/oss
|
||||
@ -1589,9 +1634,14 @@ commands to the snd-page-alloc driver:
|
||||
use.
|
||||
|
||||
|
||||
Links
|
||||
=====
|
||||
Links and Addresses
|
||||
===================
|
||||
|
||||
ALSA project homepage
|
||||
http://www.alsa-project.org
|
||||
|
||||
ALSA Bug Tracking System
|
||||
https://bugtrack.alsa-project.org/bugs/
|
||||
|
||||
ALSA Developers ML
|
||||
mailto:alsa-devel@lists.sourceforge.net
|
||||
|
@ -447,7 +447,7 @@
|
||||
....
|
||||
|
||||
/* allocate a chip-specific data with zero filled */
|
||||
chip = kcalloc(1, sizeof(*chip), GFP_KERNEL);
|
||||
chip = kzalloc(sizeof(*chip), GFP_KERNEL);
|
||||
if (chip == NULL)
|
||||
return -ENOMEM;
|
||||
|
||||
@ -949,7 +949,7 @@
|
||||
After allocating a card instance via
|
||||
<function>snd_card_new()</function> (with
|
||||
<constant>NULL</constant> on the 4th arg), call
|
||||
<function>kcalloc()</function>.
|
||||
<function>kzalloc()</function>.
|
||||
|
||||
<informalexample>
|
||||
<programlisting>
|
||||
@ -958,7 +958,7 @@
|
||||
mychip_t *chip;
|
||||
card = snd_card_new(index[dev], id[dev], THIS_MODULE, NULL);
|
||||
.....
|
||||
chip = kcalloc(1, sizeof(*chip), GFP_KERNEL);
|
||||
chip = kzalloc(sizeof(*chip), GFP_KERNEL);
|
||||
]]>
|
||||
</programlisting>
|
||||
</informalexample>
|
||||
@ -1136,7 +1136,7 @@
|
||||
return -ENXIO;
|
||||
}
|
||||
|
||||
chip = kcalloc(1, sizeof(*chip), GFP_KERNEL);
|
||||
chip = kzalloc(sizeof(*chip), GFP_KERNEL);
|
||||
if (chip == NULL) {
|
||||
pci_disable_device(pci);
|
||||
return -ENOMEM;
|
||||
@ -1292,7 +1292,7 @@
|
||||
need to initialize this number as -1 before actual allocation,
|
||||
since irq 0 is valid. The port address and its resource pointer
|
||||
can be initialized as null by
|
||||
<function>kcalloc()</function> automatically, so you
|
||||
<function>kzalloc()</function> automatically, so you
|
||||
don't have to take care of resetting them.
|
||||
</para>
|
||||
|
||||
|
@ -51,9 +51,9 @@ or you don't get any checking at all.
|
||||
Where to get sparse
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
With BK, you can just get it from
|
||||
With git, you can just get it from
|
||||
|
||||
bk://sparse.bkbits.net/sparse
|
||||
rsync://rsync.kernel.org/pub/scm/devel/sparse/sparse.git
|
||||
|
||||
and DaveJ has tar-balls at
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
Revised: 2000-Dec-05.
|
||||
Again: 2002-Jul-06
|
||||
Again: 2005-Sep-19
|
||||
|
||||
NOTE:
|
||||
|
||||
@ -18,8 +19,8 @@ called USB Request Block, or URB for short.
|
||||
and deliver the data and status back.
|
||||
|
||||
- Execution of an URB is inherently an asynchronous operation, i.e. the
|
||||
usb_submit_urb(urb) call returns immediately after it has successfully queued
|
||||
the requested action.
|
||||
usb_submit_urb(urb) call returns immediately after it has successfully
|
||||
queued the requested action.
|
||||
|
||||
- Transfers for one URB can be canceled with usb_unlink_urb(urb) at any time.
|
||||
|
||||
@ -94,8 +95,9 @@ To free an URB, use
|
||||
|
||||
void usb_free_urb(struct urb *urb)
|
||||
|
||||
You may not free an urb that you've submitted, but which hasn't yet been
|
||||
returned to you in a completion callback.
|
||||
You may free an urb that you've submitted, but which hasn't yet been
|
||||
returned to you in a completion callback. It will automatically be
|
||||
deallocated when it is no longer in use.
|
||||
|
||||
|
||||
1.4. What has to be filled in?
|
||||
@ -145,30 +147,36 @@ to get seamless ISO streaming.
|
||||
|
||||
1.6. How to cancel an already running URB?
|
||||
|
||||
For an URB which you've submitted, but which hasn't been returned to
|
||||
your driver by the host controller, call
|
||||
There are two ways to cancel an URB you've submitted but which hasn't
|
||||
been returned to your driver yet. For an asynchronous cancel, call
|
||||
|
||||
int usb_unlink_urb(struct urb *urb)
|
||||
|
||||
It removes the urb from the internal list and frees all allocated
|
||||
HW descriptors. The status is changed to reflect unlinking. After
|
||||
usb_unlink_urb() returns with that status code, you can free the URB
|
||||
with usb_free_urb().
|
||||
HW descriptors. The status is changed to reflect unlinking. Note
|
||||
that the URB will not normally have finished when usb_unlink_urb()
|
||||
returns; you must still wait for the completion handler to be called.
|
||||
|
||||
There is also an asynchronous unlink mode. To use this, set the
|
||||
the URB_ASYNC_UNLINK flag in urb->transfer flags before calling
|
||||
usb_unlink_urb(). When using async unlinking, the URB will not
|
||||
normally be unlinked when usb_unlink_urb() returns. Instead, wait
|
||||
for the completion handler to be called.
|
||||
To cancel an URB synchronously, call
|
||||
|
||||
void usb_kill_urb(struct urb *urb)
|
||||
|
||||
It does everything usb_unlink_urb does, and in addition it waits
|
||||
until after the URB has been returned and the completion handler
|
||||
has finished. It also marks the URB as temporarily unusable, so
|
||||
that if the completion handler or anyone else tries to resubmit it
|
||||
they will get a -EPERM error. Thus you can be sure that when
|
||||
usb_kill_urb() returns, the URB is totally idle.
|
||||
|
||||
|
||||
1.7. What about the completion handler?
|
||||
|
||||
The handler is of the following type:
|
||||
|
||||
typedef void (*usb_complete_t)(struct urb *);
|
||||
typedef void (*usb_complete_t)(struct urb *, struct pt_regs *)
|
||||
|
||||
i.e. it gets just the URB that caused the completion call.
|
||||
I.e., it gets the URB that caused the completion call, plus the
|
||||
register values at the time of the corresponding interrupt (if any).
|
||||
In the completion handler, you should have a look at urb->status to
|
||||
detect any USB errors. Since the context parameter is included in the URB,
|
||||
you can pass information to the completion handler.
|
||||
@ -176,17 +184,11 @@ you can pass information to the completion handler.
|
||||
Note that even when an error (or unlink) is reported, data may have been
|
||||
transferred. That's because USB transfers are packetized; it might take
|
||||
sixteen packets to transfer your 1KByte buffer, and ten of them might
|
||||
have transferred succesfully before the completion is called.
|
||||
have transferred succesfully before the completion was called.
|
||||
|
||||
|
||||
NOTE: ***** WARNING *****
|
||||
Don't use urb->dev field in your completion handler; it's cleared
|
||||
as part of giving urbs back to drivers. (Addressing an issue with
|
||||
ownership of periodic URBs, which was otherwise ambiguous.) Instead,
|
||||
use urb->context to hold all the data your driver needs.
|
||||
|
||||
NOTE: ***** WARNING *****
|
||||
Also, NEVER SLEEP IN A COMPLETION HANDLER. These are normally called
|
||||
NEVER SLEEP IN A COMPLETION HANDLER. These are normally called
|
||||
during hardware interrupt processing. If you can, defer substantial
|
||||
work to a tasklet (bottom half) to keep system latencies low. You'll
|
||||
probably need to use spinlocks to protect data structures you manipulate
|
||||
@ -229,24 +231,10 @@ ISO data with some other event stream.
|
||||
Interrupt transfers, like isochronous transfers, are periodic, and happen
|
||||
in intervals that are powers of two (1, 2, 4 etc) units. Units are frames
|
||||
for full and low speed devices, and microframes for high speed ones.
|
||||
|
||||
Currently, after you submit one interrupt URB, that urb is owned by the
|
||||
host controller driver until you cancel it with usb_unlink_urb(). You
|
||||
may unlink interrupt urbs in their completion handlers, if you need to.
|
||||
|
||||
After a transfer completion is called, the URB is automagically resubmitted.
|
||||
THIS BEHAVIOR IS EXPECTED TO BE REMOVED!!
|
||||
|
||||
Interrupt transfers may only send (or receive) the "maxpacket" value for
|
||||
the given interrupt endpoint; if you need more data, you will need to
|
||||
copy that data out of (or into) another buffer. Similarly, you can't
|
||||
queue interrupt transfers.
|
||||
THESE RESTRICTIONS ARE EXPECTED TO BE REMOVED!!
|
||||
|
||||
Note that this automagic resubmission model does make it awkward to use
|
||||
interrupt OUT transfers. The portable solution involves unlinking those
|
||||
OUT urbs after the data is transferred, and perhaps submitting a final
|
||||
URB for a short packet.
|
||||
|
||||
The usb_submit_urb() call modifies urb->interval to the implemented interval
|
||||
value that is less than or equal to the requested interval value.
|
||||
|
||||
In Linux 2.6, unlike earlier versions, interrupt URBs are not automagically
|
||||
restarted when they complete. They end when the completion handler is
|
||||
called, just like other URBs. If you want an interrupt URB to be restarted,
|
||||
your completion handler must resubmit it.
|
||||
|
71
MAINTAINERS
71
MAINTAINERS
@ -370,7 +370,10 @@ W: http://atmelwlandriver.sourceforge.net/
|
||||
S: Maintained
|
||||
|
||||
AUDIT SUBSYSTEM
|
||||
L: linux-audit@redhat.com (subscribers-only)
|
||||
P: David Woodhouse
|
||||
M: dwmw2@infradead.org
|
||||
L: linux-audit@redhat.com
|
||||
W: http://people.redhat.com/sgrubb/audit/
|
||||
S: Maintained
|
||||
|
||||
AX.25 NETWORK LAYER
|
||||
@ -601,6 +604,15 @@ P: H. Peter Anvin
|
||||
M: hpa@zytor.com
|
||||
S: Maintained
|
||||
|
||||
CPUSETS
|
||||
P: Paul Jackson
|
||||
P: Simon Derr
|
||||
M: pj@sgi.com
|
||||
M: simon.derr@bull.net
|
||||
L: linux-kernel@vger.kernel.org
|
||||
W: http://www.bullopensource.org/cpuset/
|
||||
S: Supported
|
||||
|
||||
CRAMFS FILESYSTEM
|
||||
W: http://sourceforge.net/projects/cramfs/
|
||||
S: Orphan
|
||||
@ -683,6 +695,13 @@ P: Guennadi Liakhovetski
|
||||
M: g.liakhovetski@gmx.de
|
||||
S: Maintained
|
||||
|
||||
DCCP PROTOCOL
|
||||
P: Arnaldo Carvalho de Melo
|
||||
M: acme@mandriva.com
|
||||
L: dccp@vger.kernel.org
|
||||
W: http://www.wlug.org.nz/DCCP
|
||||
S: Maintained
|
||||
|
||||
DECnet NETWORK LAYER
|
||||
P: Patrick Caulfield
|
||||
M: patrick@tykepenguin.com
|
||||
@ -1053,8 +1072,6 @@ M: wli@holomorphy.com
|
||||
S: Maintained
|
||||
|
||||
I2C SUBSYSTEM
|
||||
P: Greg Kroah-Hartman
|
||||
M: greg@kroah.com
|
||||
P: Jean Delvare
|
||||
M: khali@linux-fr.org
|
||||
L: lm-sensors@lm-sensors.org
|
||||
@ -1151,11 +1168,6 @@ L: linux1394-devel@lists.sourceforge.net
|
||||
W: http://www.linux1394.org/
|
||||
S: Orphan
|
||||
|
||||
IEEE 1394 SBP2
|
||||
L: linux1394-devel@lists.sourceforge.net
|
||||
W: http://www.linux1394.org/
|
||||
S: Orphan
|
||||
|
||||
IEEE 1394 SUBSYSTEM
|
||||
P: Ben Collins
|
||||
M: bcollins@debian.org
|
||||
@ -1190,6 +1202,15 @@ L: linux1394-devel@lists.sourceforge.net
|
||||
W: http://www.linux1394.org/
|
||||
S: Maintained
|
||||
|
||||
IEEE 1394 SBP2
|
||||
P: Ben Collins
|
||||
M: bcollins@debian.org
|
||||
P: Stefan Richter
|
||||
M: stefanr@s5r6.in-berlin.de
|
||||
L: linux1394-devel@lists.sourceforge.net
|
||||
W: http://www.linux1394.org/
|
||||
S: Maintained
|
||||
|
||||
IMS TWINTURBO FRAMEBUFFER DRIVER
|
||||
P: Paul Mundt
|
||||
M: lethal@chaoticdreams.org
|
||||
@ -1394,6 +1415,18 @@ L: linux-kernel@vger.kernel.org
|
||||
L: fastboot@osdl.org
|
||||
S: Maintained
|
||||
|
||||
KPROBES
|
||||
P: Prasanna S Panchamukhi
|
||||
M: prasanna@in.ibm.com
|
||||
P: Ananth N Mavinakayanahalli
|
||||
M: ananth@in.ibm.com
|
||||
P: Anil S Keshavamurthy
|
||||
M: anil.s.keshavamurthy@intel.com
|
||||
P: David S. Miller
|
||||
M: davem@davemloft.net
|
||||
L: linux-kernel@vger.kernel.org
|
||||
S: Maintained
|
||||
|
||||
LANMEDIA WAN CARD DRIVER
|
||||
P: Andrew Stanley-Jones
|
||||
M: asj@lanmedia.com
|
||||
@ -1714,8 +1747,11 @@ S: Maintained
|
||||
IPVS
|
||||
P: Wensong Zhang
|
||||
M: wensong@linux-vs.org
|
||||
P: Simon Horman
|
||||
M: horms@verge.net.au
|
||||
P: Julian Anastasov
|
||||
M: ja@ssi.bg
|
||||
L: netdev@vger.kernel.org
|
||||
S: Maintained
|
||||
|
||||
NFS CLIENT
|
||||
@ -1886,6 +1922,13 @@ M: joern@wh.fh-wedel.de
|
||||
L: linux-mtd@lists.infradead.org
|
||||
S: Maintained
|
||||
|
||||
PKTCDVD DRIVER
|
||||
P: Peter Osterlund
|
||||
M: petero2@telia.com
|
||||
L: linux-kernel@vger.kernel.org
|
||||
L: packet-writing@suse.com
|
||||
S: Maintained
|
||||
|
||||
POSIX CLOCKS and TIMERS
|
||||
P: George Anzinger
|
||||
M: george@mvista.com
|
||||
@ -2256,6 +2299,12 @@ M: kristen.c.accardi@intel.com
|
||||
L: pcihpd-discuss@lists.sourceforge.net
|
||||
S: Maintained
|
||||
|
||||
SKGE, SKY2 10/100/1000 GIGABIT ETHERNET DRIVERS
|
||||
P: Stephen Hemminger
|
||||
M: shemminger@osdl.org
|
||||
L: netdev@vger.kernel.org
|
||||
S: Maintained
|
||||
|
||||
SPARC (sparc32):
|
||||
P: William L. Irwin
|
||||
M: wli@holomorphy.com
|
||||
@ -2268,12 +2317,6 @@ M: R.E.Wolff@BitWizard.nl
|
||||
L: linux-kernel@vger.kernel.org ?
|
||||
S: Supported
|
||||
|
||||
SPX NETWORK LAYER
|
||||
P: Jay Schulist
|
||||
M: jschlst@samba.org
|
||||
L: netdev@vger.kernel.org
|
||||
S: Supported
|
||||
|
||||
SRM (Alpha) environment access
|
||||
P: Jan-Benedict Glaw
|
||||
M: jbglaw@lug-owl.de
|
||||
|
2
Makefile
2
Makefile
@ -1,7 +1,7 @@
|
||||
VERSION = 2
|
||||
PATCHLEVEL = 6
|
||||
SUBLEVEL = 14
|
||||
EXTRAVERSION =-rc1
|
||||
EXTRAVERSION =-rc3
|
||||
NAME=Affluent Albatross
|
||||
|
||||
# *DOCUMENTATION*
|
||||
|
9
README
9
README
@ -149,6 +149,9 @@ CONFIGURING the kernel:
|
||||
"make gconfig" X windows (Gtk) based configuration tool.
|
||||
"make oldconfig" Default all questions based on the contents of
|
||||
your existing ./.config file.
|
||||
"make silentoldconfig"
|
||||
Like above, but avoids cluttering the screen
|
||||
with questions already answered.
|
||||
|
||||
NOTES on "make config":
|
||||
- having unnecessary drivers will make the kernel bigger, and can
|
||||
@ -169,9 +172,6 @@ CONFIGURING the kernel:
|
||||
should probably answer 'n' to the questions for
|
||||
"development", "experimental", or "debugging" features.
|
||||
|
||||
- Check the top Makefile for further site-dependent configuration
|
||||
(default SVGA mode etc).
|
||||
|
||||
COMPILING the kernel:
|
||||
|
||||
- Make sure you have gcc 2.95.3 available.
|
||||
@ -199,6 +199,9 @@ COMPILING the kernel:
|
||||
are installing a new kernel with the same version number as your
|
||||
working kernel, make a backup of your modules directory before you
|
||||
do a "make modules_install".
|
||||
Alternatively, before compiling, use the kernel config option
|
||||
"LOCALVERSION" to append a unique suffix to the regular kernel version.
|
||||
LOCALVERSION can be set in the "General Setup" menu.
|
||||
|
||||
- In order to boot your new kernel, you'll need to copy the kernel
|
||||
image (e.g. .../linux/arch/i386/boot/bzImage after compilation)
|
||||
|
@ -196,6 +196,7 @@ entUna:
|
||||
stq $26, 208($sp)
|
||||
stq $27, 216($sp)
|
||||
stq $28, 224($sp)
|
||||
mov $sp, $19
|
||||
stq $gp, 232($sp)
|
||||
lda $8, 0x3fff
|
||||
stq $31, 248($sp)
|
||||
|
@ -37,6 +37,7 @@
|
||||
#include <linux/namei.h>
|
||||
#include <linux/uio.h>
|
||||
#include <linux/vfs.h>
|
||||
#include <linux/rcupdate.h>
|
||||
|
||||
#include <asm/fpu.h>
|
||||
#include <asm/io.h>
|
||||
@ -975,6 +976,7 @@ osf_select(int n, fd_set __user *inp, fd_set __user *outp, fd_set __user *exp,
|
||||
long timeout;
|
||||
int ret = -EINVAL;
|
||||
struct fdtable *fdt;
|
||||
int max_fdset;
|
||||
|
||||
timeout = MAX_SCHEDULE_TIMEOUT;
|
||||
if (tvp) {
|
||||
@ -996,8 +998,11 @@ osf_select(int n, fd_set __user *inp, fd_set __user *outp, fd_set __user *exp,
|
||||
}
|
||||
}
|
||||
|
||||
rcu_read_lock();
|
||||
fdt = files_fdtable(current->files);
|
||||
if (n < 0 || n > fdt->max_fdset)
|
||||
max_fdset = fdt->max_fdset;
|
||||
rcu_read_unlock();
|
||||
if (n < 0 || n > max_fdset)
|
||||
goto out_nofds;
|
||||
|
||||
/*
|
||||
|
@ -127,6 +127,10 @@ common_shutdown_1(void *generic_ptr)
|
||||
/* If booted from SRM, reset some of the original environment. */
|
||||
if (alpha_using_srm) {
|
||||
#ifdef CONFIG_DUMMY_CONSOLE
|
||||
/* If we've gotten here after SysRq-b, leave interrupt
|
||||
context before taking over the console. */
|
||||
if (in_interrupt())
|
||||
irq_exit();
|
||||
/* This has the effect of resetting the VGA video origin. */
|
||||
take_over_console(&dummy_con, 0, MAX_NR_CONSOLES-1, 1);
|
||||
#endif
|
||||
|
@ -394,6 +394,22 @@ clipper_init_irq(void)
|
||||
* 10 64 bit PCI option slot 3 (not bus 0)
|
||||
*/
|
||||
|
||||
static int __init
|
||||
isa_irq_fixup(struct pci_dev *dev, int irq)
|
||||
{
|
||||
u8 irq8;
|
||||
|
||||
if (irq > 0)
|
||||
return irq;
|
||||
|
||||
/* This interrupt is routed via ISA bridge, so we'll
|
||||
just have to trust whatever value the console might
|
||||
have assigned. */
|
||||
pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq8);
|
||||
|
||||
return irq8 & 0xf;
|
||||
}
|
||||
|
||||
static int __init
|
||||
dp264_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
@ -407,25 +423,13 @@ dp264_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{ 16+ 3, 16+ 3, 16+ 2, 16+ 1, 16+ 0} /* IdSel 10 slot 3 */
|
||||
};
|
||||
const long min_idsel = 5, max_idsel = 10, irqs_per_slot = 5;
|
||||
|
||||
struct pci_controller *hose = dev->sysdata;
|
||||
int irq = COMMON_TABLE_LOOKUP;
|
||||
|
||||
if (irq > 0) {
|
||||
if (irq > 0)
|
||||
irq += 16 * hose->index;
|
||||
} else {
|
||||
/* ??? The Contaq IDE controller on the ISA bridge uses
|
||||
"legacy" interrupts 14 and 15. I don't know if anything
|
||||
can wind up at the same slot+pin on hose1, so we'll
|
||||
just have to trust whatever value the console might
|
||||
have assigned. */
|
||||
|
||||
u8 irq8;
|
||||
pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq8);
|
||||
irq = irq8;
|
||||
}
|
||||
|
||||
return irq;
|
||||
return isa_irq_fixup(dev, irq);
|
||||
}
|
||||
|
||||
static int __init
|
||||
@ -453,7 +457,8 @@ monet_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{ 24, 24, 25, 26, 27} /* IdSel 15 slot 5 PCI2*/
|
||||
};
|
||||
const long min_idsel = 3, max_idsel = 15, irqs_per_slot = 5;
|
||||
return COMMON_TABLE_LOOKUP;
|
||||
|
||||
return isa_irq_fixup(dev, COMMON_TABLE_LOOKUP);
|
||||
}
|
||||
|
||||
static u8 __init
|
||||
@ -507,7 +512,8 @@ webbrick_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{ 47, 47, 46, 45, 44}, /* IdSel 17 slot 3 */
|
||||
};
|
||||
const long min_idsel = 7, max_idsel = 17, irqs_per_slot = 5;
|
||||
return COMMON_TABLE_LOOKUP;
|
||||
|
||||
return isa_irq_fixup(dev, COMMON_TABLE_LOOKUP);
|
||||
}
|
||||
|
||||
static int __init
|
||||
@ -524,14 +530,13 @@ clipper_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{ -1, -1, -1, -1, -1} /* IdSel 7 ISA Bridge */
|
||||
};
|
||||
const long min_idsel = 1, max_idsel = 7, irqs_per_slot = 5;
|
||||
|
||||
struct pci_controller *hose = dev->sysdata;
|
||||
int irq = COMMON_TABLE_LOOKUP;
|
||||
|
||||
if (irq > 0)
|
||||
irq += 16 * hose->index;
|
||||
|
||||
return irq;
|
||||
return isa_irq_fixup(dev, irq);
|
||||
}
|
||||
|
||||
static void __init
|
||||
|
@ -446,16 +446,15 @@ struct unaligned_stat {
|
||||
|
||||
|
||||
/* Macro for exception fixup code to access integer registers. */
|
||||
#define una_reg(r) (regs.regs[(r) >= 16 && (r) <= 18 ? (r)+19 : (r)])
|
||||
#define una_reg(r) (regs->regs[(r) >= 16 && (r) <= 18 ? (r)+19 : (r)])
|
||||
|
||||
|
||||
asmlinkage void
|
||||
do_entUna(void * va, unsigned long opcode, unsigned long reg,
|
||||
unsigned long a3, unsigned long a4, unsigned long a5,
|
||||
struct allregs regs)
|
||||
struct allregs *regs)
|
||||
{
|
||||
long error, tmp1, tmp2, tmp3, tmp4;
|
||||
unsigned long pc = regs.pc - 4;
|
||||
unsigned long pc = regs->pc - 4;
|
||||
const struct exception_table_entry *fixup;
|
||||
|
||||
unaligned[0].count++;
|
||||
@ -636,7 +635,7 @@ got_exception:
|
||||
printk("Forwarding unaligned exception at %lx (%lx)\n",
|
||||
pc, newpc);
|
||||
|
||||
(®s)->pc = newpc;
|
||||
regs->pc = newpc;
|
||||
return;
|
||||
}
|
||||
|
||||
@ -650,7 +649,7 @@ got_exception:
|
||||
current->comm, current->pid);
|
||||
|
||||
printk("pc = [<%016lx>] ra = [<%016lx>] ps = %04lx\n",
|
||||
pc, una_reg(26), regs.ps);
|
||||
pc, una_reg(26), regs->ps);
|
||||
printk("r0 = %016lx r1 = %016lx r2 = %016lx\n",
|
||||
una_reg(0), una_reg(1), una_reg(2));
|
||||
printk("r3 = %016lx r4 = %016lx r5 = %016lx\n",
|
||||
@ -670,10 +669,10 @@ got_exception:
|
||||
una_reg(22), una_reg(23), una_reg(24));
|
||||
printk("r25= %016lx r27= %016lx r28= %016lx\n",
|
||||
una_reg(25), una_reg(27), una_reg(28));
|
||||
printk("gp = %016lx sp = %p\n", regs.gp, ®s+1);
|
||||
printk("gp = %016lx sp = %p\n", regs->gp, regs+1);
|
||||
|
||||
dik_show_code((unsigned int *)pc);
|
||||
dik_show_trace((unsigned long *)(®s+1));
|
||||
dik_show_trace((unsigned long *)(regs+1));
|
||||
|
||||
if (test_and_set_thread_flag (TIF_DIE_IF_KERNEL)) {
|
||||
printk("die_if_kernel recursion detected.\n");
|
||||
|
@ -175,10 +175,10 @@ else
|
||||
endif
|
||||
@touch $@
|
||||
|
||||
archprepare: maketools include/asm-arm/.arch
|
||||
archprepare: maketools
|
||||
|
||||
.PHONY: maketools FORCE
|
||||
maketools: include/linux/version.h FORCE
|
||||
maketools: include/linux/version.h include/asm-arm/.arch FORCE
|
||||
$(Q)$(MAKE) $(build)=arch/arm/tools include/asm-arm/mach-types.h
|
||||
|
||||
# Convert bzImage to zImage
|
||||
|
@ -256,5 +256,5 @@ asmlinkage void ofw_init(ofw_handle_t o, int *nomr, int *pointer)
|
||||
temp[11]='\0';
|
||||
mem_len = OF_getproplen(o,phandle, temp);
|
||||
OF_getprop(o,phandle, temp, buffer, mem_len);
|
||||
(unsigned char) pointer[32] = ((unsigned char *) buffer)[mem_len-2];
|
||||
* ((unsigned char *) &pointer[32]) = ((unsigned char *) buffer)[mem_len-2];
|
||||
}
|
||||
|
@ -68,6 +68,7 @@ static void gic_unmask_irq(unsigned int irq)
|
||||
writel(mask, gic_dist_base + GIC_DIST_ENABLE_SET + (irq / 32) * 4);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
static void gic_set_cpu(struct irqdesc *desc, unsigned int irq, unsigned int cpu)
|
||||
{
|
||||
void __iomem *reg = gic_dist_base + GIC_DIST_TARGET + (irq & ~3);
|
||||
@ -78,6 +79,7 @@ static void gic_set_cpu(struct irqdesc *desc, unsigned int irq, unsigned int cpu
|
||||
val |= 1 << (cpu + shift);
|
||||
writel(val, reg);
|
||||
}
|
||||
#endif
|
||||
|
||||
static struct irqchip gic_chip = {
|
||||
.ack = gic_ack_irq,
|
||||
|
@ -27,7 +27,6 @@
|
||||
#include <linux/spinlock.h>
|
||||
|
||||
#include <asm/hardware.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/mach/irq.h>
|
||||
@ -551,7 +550,7 @@ struct locomo_save_data {
|
||||
u16 LCM_SPIMD;
|
||||
};
|
||||
|
||||
static int locomo_suspend(struct device *dev, u32 pm_message_t, u32 level)
|
||||
static int locomo_suspend(struct device *dev, pm_message_t state, u32 level)
|
||||
{
|
||||
struct locomo *lchip = dev_get_drvdata(dev);
|
||||
struct locomo_save_data *save;
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.13-rc2
|
||||
# Thu Jul 7 16:41:21 2005
|
||||
# Linux kernel version: 2.6.13
|
||||
# Wed Sep 14 10:51:52 2005
|
||||
#
|
||||
CONFIG_ARM=y
|
||||
CONFIG_MMU=y
|
||||
@ -135,7 +135,6 @@ CONFIG_PCI_NAMES=y
|
||||
#
|
||||
# Kernel Features
|
||||
#
|
||||
# CONFIG_SMP is not set
|
||||
# CONFIG_PREEMPT is not set
|
||||
# CONFIG_NO_IDLE_HZ is not set
|
||||
# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
|
||||
@ -178,6 +177,68 @@ CONFIG_BINFMT_ELF=y
|
||||
#
|
||||
# CONFIG_PM is not set
|
||||
|
||||
#
|
||||
# Networking
|
||||
#
|
||||
CONFIG_NET=y
|
||||
|
||||
#
|
||||
# Networking options
|
||||
#
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_PACKET_MMAP=y
|
||||
CONFIG_UNIX=y
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
# CONFIG_IP_MULTICAST is not set
|
||||
# CONFIG_IP_ADVANCED_ROUTER is not set
|
||||
CONFIG_IP_FIB_HASH=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
# CONFIG_IP_PNP_RARP is not set
|
||||
# CONFIG_NET_IPIP is not set
|
||||
# CONFIG_NET_IPGRE is not set
|
||||
# CONFIG_ARPD is not set
|
||||
CONFIG_SYN_COOKIES=y
|
||||
# CONFIG_INET_AH is not set
|
||||
# CONFIG_INET_ESP is not set
|
||||
# CONFIG_INET_IPCOMP is not set
|
||||
# CONFIG_INET_TUNNEL is not set
|
||||
# CONFIG_IP_TCPDIAG is not set
|
||||
# CONFIG_IP_TCPDIAG_IPV6 is not set
|
||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||
CONFIG_TCP_CONG_BIC=y
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_NETFILTER is not set
|
||||
|
||||
#
|
||||
# SCTP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_SCTP is not set
|
||||
# CONFIG_ATM is not set
|
||||
# CONFIG_BRIDGE is not set
|
||||
# CONFIG_VLAN_8021Q is not set
|
||||
# CONFIG_DECNET is not set
|
||||
# CONFIG_LLC2 is not set
|
||||
# CONFIG_IPX is not set
|
||||
# CONFIG_ATALK is not set
|
||||
# CONFIG_X25 is not set
|
||||
# CONFIG_LAPB is not set
|
||||
# CONFIG_NET_DIVERT is not set
|
||||
# CONFIG_ECONET is not set
|
||||
# CONFIG_WAN_ROUTER is not set
|
||||
# CONFIG_NET_SCHED is not set
|
||||
# CONFIG_NET_CLS_ROUTE is not set
|
||||
|
||||
#
|
||||
# Network testing
|
||||
#
|
||||
# CONFIG_NET_PKTGEN is not set
|
||||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
|
||||
#
|
||||
# Device Drivers
|
||||
#
|
||||
@ -248,6 +309,7 @@ CONFIG_MTD_COMPLEX_MAPPINGS=y
|
||||
CONFIG_MTD_IXP2000=y
|
||||
# CONFIG_MTD_EDB7312 is not set
|
||||
# CONFIG_MTD_PCI is not set
|
||||
# CONFIG_MTD_PLATRAM is not set
|
||||
|
||||
#
|
||||
# Self-contained MTD device drivers
|
||||
@ -334,72 +396,8 @@ CONFIG_IOSCHED_CFQ=y
|
||||
# CONFIG_I2O is not set
|
||||
|
||||
#
|
||||
# Networking support
|
||||
# Network device support
|
||||
#
|
||||
CONFIG_NET=y
|
||||
|
||||
#
|
||||
# Networking options
|
||||
#
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_PACKET_MMAP=y
|
||||
CONFIG_UNIX=y
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
# CONFIG_IP_MULTICAST is not set
|
||||
# CONFIG_IP_ADVANCED_ROUTER is not set
|
||||
CONFIG_IP_FIB_HASH=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
# CONFIG_IP_PNP_RARP is not set
|
||||
# CONFIG_NET_IPIP is not set
|
||||
# CONFIG_NET_IPGRE is not set
|
||||
# CONFIG_ARPD is not set
|
||||
CONFIG_SYN_COOKIES=y
|
||||
# CONFIG_INET_AH is not set
|
||||
# CONFIG_INET_ESP is not set
|
||||
# CONFIG_INET_IPCOMP is not set
|
||||
# CONFIG_INET_TUNNEL is not set
|
||||
# CONFIG_IP_TCPDIAG is not set
|
||||
# CONFIG_IP_TCPDIAG_IPV6 is not set
|
||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||
CONFIG_TCP_CONG_BIC=y
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_NETFILTER is not set
|
||||
|
||||
#
|
||||
# SCTP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_SCTP is not set
|
||||
# CONFIG_ATM is not set
|
||||
# CONFIG_BRIDGE is not set
|
||||
# CONFIG_VLAN_8021Q is not set
|
||||
# CONFIG_DECNET is not set
|
||||
# CONFIG_LLC2 is not set
|
||||
# CONFIG_IPX is not set
|
||||
# CONFIG_ATALK is not set
|
||||
# CONFIG_X25 is not set
|
||||
# CONFIG_LAPB is not set
|
||||
# CONFIG_NET_DIVERT is not set
|
||||
# CONFIG_ECONET is not set
|
||||
# CONFIG_WAN_ROUTER is not set
|
||||
|
||||
#
|
||||
# QoS and/or fair queueing
|
||||
#
|
||||
# CONFIG_NET_SCHED is not set
|
||||
# CONFIG_NET_CLS_ROUTE is not set
|
||||
|
||||
#
|
||||
# Network testing
|
||||
#
|
||||
# CONFIG_NET_PKTGEN is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_DUMMY=y
|
||||
# CONFIG_BONDING is not set
|
||||
@ -509,6 +507,8 @@ CONFIG_DLCI_MAX=8
|
||||
# CONFIG_SLIP is not set
|
||||
# CONFIG_SHAPER is not set
|
||||
# CONFIG_NETCONSOLE is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
|
||||
#
|
||||
# ISDN subsystem
|
||||
@ -635,7 +635,7 @@ CONFIG_I2C_ALGOBIT=y
|
||||
# CONFIG_I2C_I810 is not set
|
||||
# CONFIG_I2C_PIIX4 is not set
|
||||
# CONFIG_I2C_ISA is not set
|
||||
# CONFIG_I2C_IXP2000 is not set
|
||||
CONFIG_I2C_IXP2000=y
|
||||
# CONFIG_I2C_NFORCE2 is not set
|
||||
# CONFIG_I2C_PARPORT_LIGHT is not set
|
||||
# CONFIG_I2C_PROSAVAGE is not set
|
||||
@ -649,11 +649,28 @@ CONFIG_I2C_ALGOBIT=y
|
||||
# CONFIG_I2C_VIAPRO is not set
|
||||
# CONFIG_I2C_VOODOO3 is not set
|
||||
# CONFIG_I2C_PCA_ISA is not set
|
||||
CONFIG_I2C_SENSOR=y
|
||||
|
||||
#
|
||||
# Hardware Sensors Chip support
|
||||
# Miscellaneous I2C Chip support
|
||||
#
|
||||
CONFIG_I2C_SENSOR=y
|
||||
# CONFIG_SENSORS_DS1337 is not set
|
||||
# CONFIG_SENSORS_DS1374 is not set
|
||||
CONFIG_SENSORS_EEPROM=y
|
||||
# CONFIG_SENSORS_PCF8574 is not set
|
||||
# CONFIG_SENSORS_PCA9539 is not set
|
||||
# CONFIG_SENSORS_PCF8591 is not set
|
||||
# CONFIG_SENSORS_RTC8564 is not set
|
||||
# CONFIG_SENSORS_MAX6875 is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
# CONFIG_I2C_DEBUG_CHIP is not set
|
||||
|
||||
#
|
||||
# Hardware Monitoring support
|
||||
#
|
||||
CONFIG_HWMON=y
|
||||
# CONFIG_SENSORS_ADM1021 is not set
|
||||
# CONFIG_SENSORS_ADM1025 is not set
|
||||
# CONFIG_SENSORS_ADM1026 is not set
|
||||
@ -679,30 +696,15 @@ CONFIG_I2C_SENSOR=y
|
||||
# CONFIG_SENSORS_LM92 is not set
|
||||
# CONFIG_SENSORS_MAX1619 is not set
|
||||
# CONFIG_SENSORS_PC87360 is not set
|
||||
# CONFIG_SENSORS_SMSC47B397 is not set
|
||||
# CONFIG_SENSORS_SIS5595 is not set
|
||||
# CONFIG_SENSORS_SMSC47M1 is not set
|
||||
# CONFIG_SENSORS_SMSC47B397 is not set
|
||||
# CONFIG_SENSORS_VIA686A is not set
|
||||
# CONFIG_SENSORS_W83781D is not set
|
||||
# CONFIG_SENSORS_W83L785TS is not set
|
||||
# CONFIG_SENSORS_W83627HF is not set
|
||||
# CONFIG_SENSORS_W83627EHF is not set
|
||||
|
||||
#
|
||||
# Other I2C Chip support
|
||||
#
|
||||
# CONFIG_SENSORS_DS1337 is not set
|
||||
# CONFIG_SENSORS_DS1374 is not set
|
||||
CONFIG_SENSORS_EEPROM=y
|
||||
# CONFIG_SENSORS_PCF8574 is not set
|
||||
# CONFIG_SENSORS_PCA9539 is not set
|
||||
# CONFIG_SENSORS_PCF8591 is not set
|
||||
# CONFIG_SENSORS_RTC8564 is not set
|
||||
# CONFIG_SENSORS_MAX6875 is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
# CONFIG_I2C_DEBUG_CHIP is not set
|
||||
# CONFIG_HWMON_DEBUG_CHIP is not set
|
||||
|
||||
#
|
||||
# Misc devices
|
||||
@ -770,6 +772,7 @@ CONFIG_FS_POSIX_ACL=y
|
||||
# CONFIG_XFS_FS is not set
|
||||
# CONFIG_MINIX_FS is not set
|
||||
# CONFIG_ROMFS_FS is not set
|
||||
CONFIG_INOTIFY=y
|
||||
# CONFIG_QUOTA is not set
|
||||
CONFIG_DNOTIFY=y
|
||||
# CONFIG_AUTOFS_FS is not set
|
||||
@ -812,8 +815,7 @@ CONFIG_RAMFS=y
|
||||
# CONFIG_JFFS_FS is not set
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_JFFS2_FS_DEBUG=0
|
||||
# CONFIG_JFFS2_FS_NAND is not set
|
||||
# CONFIG_JFFS2_FS_NOR_ECC is not set
|
||||
CONFIG_JFFS2_FS_WRITEBUFFER=y
|
||||
# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
|
||||
CONFIG_JFFS2_ZLIB=y
|
||||
CONFIG_JFFS2_RTIME=y
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.13-rc2
|
||||
# Thu Jul 7 16:49:01 2005
|
||||
# Linux kernel version: 2.6.13
|
||||
# Wed Sep 14 10:52:01 2005
|
||||
#
|
||||
CONFIG_ARM=y
|
||||
CONFIG_MMU=y
|
||||
@ -136,7 +136,6 @@ CONFIG_PCI_NAMES=y
|
||||
#
|
||||
# Kernel Features
|
||||
#
|
||||
# CONFIG_SMP is not set
|
||||
# CONFIG_PREEMPT is not set
|
||||
# CONFIG_NO_IDLE_HZ is not set
|
||||
# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
|
||||
@ -179,6 +178,68 @@ CONFIG_BINFMT_ELF=y
|
||||
#
|
||||
# CONFIG_PM is not set
|
||||
|
||||
#
|
||||
# Networking
|
||||
#
|
||||
CONFIG_NET=y
|
||||
|
||||
#
|
||||
# Networking options
|
||||
#
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_PACKET_MMAP=y
|
||||
CONFIG_UNIX=y
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
# CONFIG_IP_MULTICAST is not set
|
||||
# CONFIG_IP_ADVANCED_ROUTER is not set
|
||||
CONFIG_IP_FIB_HASH=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
# CONFIG_IP_PNP_RARP is not set
|
||||
# CONFIG_NET_IPIP is not set
|
||||
# CONFIG_NET_IPGRE is not set
|
||||
# CONFIG_ARPD is not set
|
||||
CONFIG_SYN_COOKIES=y
|
||||
# CONFIG_INET_AH is not set
|
||||
# CONFIG_INET_ESP is not set
|
||||
# CONFIG_INET_IPCOMP is not set
|
||||
# CONFIG_INET_TUNNEL is not set
|
||||
# CONFIG_IP_TCPDIAG is not set
|
||||
# CONFIG_IP_TCPDIAG_IPV6 is not set
|
||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||
CONFIG_TCP_CONG_BIC=y
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_NETFILTER is not set
|
||||
|
||||
#
|
||||
# SCTP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_SCTP is not set
|
||||
# CONFIG_ATM is not set
|
||||
# CONFIG_BRIDGE is not set
|
||||
# CONFIG_VLAN_8021Q is not set
|
||||
# CONFIG_DECNET is not set
|
||||
# CONFIG_LLC2 is not set
|
||||
# CONFIG_IPX is not set
|
||||
# CONFIG_ATALK is not set
|
||||
# CONFIG_X25 is not set
|
||||
# CONFIG_LAPB is not set
|
||||
# CONFIG_NET_DIVERT is not set
|
||||
# CONFIG_ECONET is not set
|
||||
# CONFIG_WAN_ROUTER is not set
|
||||
# CONFIG_NET_SCHED is not set
|
||||
# CONFIG_NET_CLS_ROUTE is not set
|
||||
|
||||
#
|
||||
# Network testing
|
||||
#
|
||||
# CONFIG_NET_PKTGEN is not set
|
||||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
|
||||
#
|
||||
# Device Drivers
|
||||
#
|
||||
@ -249,6 +310,7 @@ CONFIG_MTD_COMPLEX_MAPPINGS=y
|
||||
CONFIG_MTD_IXP2000=y
|
||||
# CONFIG_MTD_EDB7312 is not set
|
||||
# CONFIG_MTD_PCI is not set
|
||||
# CONFIG_MTD_PLATRAM is not set
|
||||
|
||||
#
|
||||
# Self-contained MTD device drivers
|
||||
@ -335,72 +397,8 @@ CONFIG_IOSCHED_CFQ=y
|
||||
# CONFIG_I2O is not set
|
||||
|
||||
#
|
||||
# Networking support
|
||||
# Network device support
|
||||
#
|
||||
CONFIG_NET=y
|
||||
|
||||
#
|
||||
# Networking options
|
||||
#
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_PACKET_MMAP=y
|
||||
CONFIG_UNIX=y
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
# CONFIG_IP_MULTICAST is not set
|
||||
# CONFIG_IP_ADVANCED_ROUTER is not set
|
||||
CONFIG_IP_FIB_HASH=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
# CONFIG_IP_PNP_RARP is not set
|
||||
# CONFIG_NET_IPIP is not set
|
||||
# CONFIG_NET_IPGRE is not set
|
||||
# CONFIG_ARPD is not set
|
||||
CONFIG_SYN_COOKIES=y
|
||||
# CONFIG_INET_AH is not set
|
||||
# CONFIG_INET_ESP is not set
|
||||
# CONFIG_INET_IPCOMP is not set
|
||||
# CONFIG_INET_TUNNEL is not set
|
||||
# CONFIG_IP_TCPDIAG is not set
|
||||
# CONFIG_IP_TCPDIAG_IPV6 is not set
|
||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||
CONFIG_TCP_CONG_BIC=y
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_NETFILTER is not set
|
||||
|
||||
#
|
||||
# SCTP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_SCTP is not set
|
||||
# CONFIG_ATM is not set
|
||||
# CONFIG_BRIDGE is not set
|
||||
# CONFIG_VLAN_8021Q is not set
|
||||
# CONFIG_DECNET is not set
|
||||
# CONFIG_LLC2 is not set
|
||||
# CONFIG_IPX is not set
|
||||
# CONFIG_ATALK is not set
|
||||
# CONFIG_X25 is not set
|
||||
# CONFIG_LAPB is not set
|
||||
# CONFIG_NET_DIVERT is not set
|
||||
# CONFIG_ECONET is not set
|
||||
# CONFIG_WAN_ROUTER is not set
|
||||
|
||||
#
|
||||
# QoS and/or fair queueing
|
||||
#
|
||||
# CONFIG_NET_SCHED is not set
|
||||
# CONFIG_NET_CLS_ROUTE is not set
|
||||
|
||||
#
|
||||
# Network testing
|
||||
#
|
||||
# CONFIG_NET_PKTGEN is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_DUMMY=y
|
||||
# CONFIG_BONDING is not set
|
||||
@ -510,6 +508,8 @@ CONFIG_DLCI_MAX=8
|
||||
# CONFIG_SLIP is not set
|
||||
# CONFIG_SHAPER is not set
|
||||
# CONFIG_NETCONSOLE is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
|
||||
#
|
||||
# ISDN subsystem
|
||||
@ -636,7 +636,7 @@ CONFIG_I2C_ALGOBIT=y
|
||||
# CONFIG_I2C_I810 is not set
|
||||
# CONFIG_I2C_PIIX4 is not set
|
||||
# CONFIG_I2C_ISA is not set
|
||||
# CONFIG_I2C_IXP2000 is not set
|
||||
CONFIG_I2C_IXP2000=y
|
||||
# CONFIG_I2C_NFORCE2 is not set
|
||||
# CONFIG_I2C_PARPORT_LIGHT is not set
|
||||
# CONFIG_I2C_PROSAVAGE is not set
|
||||
@ -650,11 +650,28 @@ CONFIG_I2C_ALGOBIT=y
|
||||
# CONFIG_I2C_VIAPRO is not set
|
||||
# CONFIG_I2C_VOODOO3 is not set
|
||||
# CONFIG_I2C_PCA_ISA is not set
|
||||
CONFIG_I2C_SENSOR=y
|
||||
|
||||
#
|
||||
# Hardware Sensors Chip support
|
||||
# Miscellaneous I2C Chip support
|
||||
#
|
||||
CONFIG_I2C_SENSOR=y
|
||||
# CONFIG_SENSORS_DS1337 is not set
|
||||
# CONFIG_SENSORS_DS1374 is not set
|
||||
CONFIG_SENSORS_EEPROM=y
|
||||
# CONFIG_SENSORS_PCF8574 is not set
|
||||
# CONFIG_SENSORS_PCA9539 is not set
|
||||
# CONFIG_SENSORS_PCF8591 is not set
|
||||
# CONFIG_SENSORS_RTC8564 is not set
|
||||
# CONFIG_SENSORS_MAX6875 is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
# CONFIG_I2C_DEBUG_CHIP is not set
|
||||
|
||||
#
|
||||
# Hardware Monitoring support
|
||||
#
|
||||
CONFIG_HWMON=y
|
||||
# CONFIG_SENSORS_ADM1021 is not set
|
||||
# CONFIG_SENSORS_ADM1025 is not set
|
||||
# CONFIG_SENSORS_ADM1026 is not set
|
||||
@ -680,30 +697,15 @@ CONFIG_I2C_SENSOR=y
|
||||
# CONFIG_SENSORS_LM92 is not set
|
||||
# CONFIG_SENSORS_MAX1619 is not set
|
||||
# CONFIG_SENSORS_PC87360 is not set
|
||||
# CONFIG_SENSORS_SMSC47B397 is not set
|
||||
# CONFIG_SENSORS_SIS5595 is not set
|
||||
# CONFIG_SENSORS_SMSC47M1 is not set
|
||||
# CONFIG_SENSORS_SMSC47B397 is not set
|
||||
# CONFIG_SENSORS_VIA686A is not set
|
||||
# CONFIG_SENSORS_W83781D is not set
|
||||
# CONFIG_SENSORS_W83L785TS is not set
|
||||
# CONFIG_SENSORS_W83627HF is not set
|
||||
# CONFIG_SENSORS_W83627EHF is not set
|
||||
|
||||
#
|
||||
# Other I2C Chip support
|
||||
#
|
||||
# CONFIG_SENSORS_DS1337 is not set
|
||||
# CONFIG_SENSORS_DS1374 is not set
|
||||
CONFIG_SENSORS_EEPROM=y
|
||||
# CONFIG_SENSORS_PCF8574 is not set
|
||||
# CONFIG_SENSORS_PCA9539 is not set
|
||||
# CONFIG_SENSORS_PCF8591 is not set
|
||||
# CONFIG_SENSORS_RTC8564 is not set
|
||||
# CONFIG_SENSORS_MAX6875 is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
# CONFIG_I2C_DEBUG_CHIP is not set
|
||||
# CONFIG_HWMON_DEBUG_CHIP is not set
|
||||
|
||||
#
|
||||
# Misc devices
|
||||
@ -771,6 +773,7 @@ CONFIG_FS_POSIX_ACL=y
|
||||
# CONFIG_XFS_FS is not set
|
||||
# CONFIG_MINIX_FS is not set
|
||||
# CONFIG_ROMFS_FS is not set
|
||||
CONFIG_INOTIFY=y
|
||||
# CONFIG_QUOTA is not set
|
||||
CONFIG_DNOTIFY=y
|
||||
# CONFIG_AUTOFS_FS is not set
|
||||
@ -813,8 +816,7 @@ CONFIG_RAMFS=y
|
||||
# CONFIG_JFFS_FS is not set
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_JFFS2_FS_DEBUG=0
|
||||
# CONFIG_JFFS2_FS_NAND is not set
|
||||
# CONFIG_JFFS2_FS_NOR_ECC is not set
|
||||
CONFIG_JFFS2_FS_WRITEBUFFER=y
|
||||
# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
|
||||
CONFIG_JFFS2_ZLIB=y
|
||||
CONFIG_JFFS2_RTIME=y
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.13-rc2
|
||||
# Thu Jul 7 16:49:08 2005
|
||||
# Linux kernel version: 2.6.13
|
||||
# Wed Sep 14 10:52:10 2005
|
||||
#
|
||||
CONFIG_ARM=y
|
||||
CONFIG_MMU=y
|
||||
@ -136,7 +136,6 @@ CONFIG_PCI_NAMES=y
|
||||
#
|
||||
# Kernel Features
|
||||
#
|
||||
# CONFIG_SMP is not set
|
||||
# CONFIG_PREEMPT is not set
|
||||
# CONFIG_NO_IDLE_HZ is not set
|
||||
# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
|
||||
@ -179,6 +178,68 @@ CONFIG_BINFMT_ELF=y
|
||||
#
|
||||
# CONFIG_PM is not set
|
||||
|
||||
#
|
||||
# Networking
|
||||
#
|
||||
CONFIG_NET=y
|
||||
|
||||
#
|
||||
# Networking options
|
||||
#
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_PACKET_MMAP=y
|
||||
CONFIG_UNIX=y
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
# CONFIG_IP_MULTICAST is not set
|
||||
# CONFIG_IP_ADVANCED_ROUTER is not set
|
||||
CONFIG_IP_FIB_HASH=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
# CONFIG_IP_PNP_RARP is not set
|
||||
# CONFIG_NET_IPIP is not set
|
||||
# CONFIG_NET_IPGRE is not set
|
||||
# CONFIG_ARPD is not set
|
||||
CONFIG_SYN_COOKIES=y
|
||||
# CONFIG_INET_AH is not set
|
||||
# CONFIG_INET_ESP is not set
|
||||
# CONFIG_INET_IPCOMP is not set
|
||||
# CONFIG_INET_TUNNEL is not set
|
||||
CONFIG_IP_TCPDIAG=y
|
||||
# CONFIG_IP_TCPDIAG_IPV6 is not set
|
||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||
CONFIG_TCP_CONG_BIC=y
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_NETFILTER is not set
|
||||
|
||||
#
|
||||
# SCTP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_SCTP is not set
|
||||
# CONFIG_ATM is not set
|
||||
# CONFIG_BRIDGE is not set
|
||||
# CONFIG_VLAN_8021Q is not set
|
||||
# CONFIG_DECNET is not set
|
||||
# CONFIG_LLC2 is not set
|
||||
# CONFIG_IPX is not set
|
||||
# CONFIG_ATALK is not set
|
||||
# CONFIG_X25 is not set
|
||||
# CONFIG_LAPB is not set
|
||||
# CONFIG_NET_DIVERT is not set
|
||||
# CONFIG_ECONET is not set
|
||||
# CONFIG_WAN_ROUTER is not set
|
||||
# CONFIG_NET_SCHED is not set
|
||||
# CONFIG_NET_CLS_ROUTE is not set
|
||||
|
||||
#
|
||||
# Network testing
|
||||
#
|
||||
# CONFIG_NET_PKTGEN is not set
|
||||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
|
||||
#
|
||||
# Device Drivers
|
||||
#
|
||||
@ -249,6 +310,7 @@ CONFIG_MTD_COMPLEX_MAPPINGS=y
|
||||
CONFIG_MTD_IXP2000=y
|
||||
# CONFIG_MTD_EDB7312 is not set
|
||||
# CONFIG_MTD_PCI is not set
|
||||
# CONFIG_MTD_PLATRAM is not set
|
||||
|
||||
#
|
||||
# Self-contained MTD device drivers
|
||||
@ -335,72 +397,8 @@ CONFIG_IOSCHED_CFQ=y
|
||||
# CONFIG_I2O is not set
|
||||
|
||||
#
|
||||
# Networking support
|
||||
# Network device support
|
||||
#
|
||||
CONFIG_NET=y
|
||||
|
||||
#
|
||||
# Networking options
|
||||
#
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_PACKET_MMAP=y
|
||||
CONFIG_UNIX=y
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
# CONFIG_IP_MULTICAST is not set
|
||||
# CONFIG_IP_ADVANCED_ROUTER is not set
|
||||
CONFIG_IP_FIB_HASH=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
# CONFIG_IP_PNP_RARP is not set
|
||||
# CONFIG_NET_IPIP is not set
|
||||
# CONFIG_NET_IPGRE is not set
|
||||
# CONFIG_ARPD is not set
|
||||
CONFIG_SYN_COOKIES=y
|
||||
# CONFIG_INET_AH is not set
|
||||
# CONFIG_INET_ESP is not set
|
||||
# CONFIG_INET_IPCOMP is not set
|
||||
# CONFIG_INET_TUNNEL is not set
|
||||
CONFIG_IP_TCPDIAG=y
|
||||
# CONFIG_IP_TCPDIAG_IPV6 is not set
|
||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||
CONFIG_TCP_CONG_BIC=y
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_NETFILTER is not set
|
||||
|
||||
#
|
||||
# SCTP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_SCTP is not set
|
||||
# CONFIG_ATM is not set
|
||||
# CONFIG_BRIDGE is not set
|
||||
# CONFIG_VLAN_8021Q is not set
|
||||
# CONFIG_DECNET is not set
|
||||
# CONFIG_LLC2 is not set
|
||||
# CONFIG_IPX is not set
|
||||
# CONFIG_ATALK is not set
|
||||
# CONFIG_X25 is not set
|
||||
# CONFIG_LAPB is not set
|
||||
# CONFIG_NET_DIVERT is not set
|
||||
# CONFIG_ECONET is not set
|
||||
# CONFIG_WAN_ROUTER is not set
|
||||
|
||||
#
|
||||
# QoS and/or fair queueing
|
||||
#
|
||||
# CONFIG_NET_SCHED is not set
|
||||
# CONFIG_NET_CLS_ROUTE is not set
|
||||
|
||||
#
|
||||
# Network testing
|
||||
#
|
||||
# CONFIG_NET_PKTGEN is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_DUMMY=y
|
||||
# CONFIG_BONDING is not set
|
||||
@ -511,6 +509,8 @@ CONFIG_DLCI_MAX=8
|
||||
# CONFIG_SLIP is not set
|
||||
# CONFIG_SHAPER is not set
|
||||
# CONFIG_NETCONSOLE is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
|
||||
#
|
||||
# ISDN subsystem
|
||||
@ -637,7 +637,7 @@ CONFIG_I2C_ALGOBIT=y
|
||||
# CONFIG_I2C_I810 is not set
|
||||
# CONFIG_I2C_PIIX4 is not set
|
||||
# CONFIG_I2C_ISA is not set
|
||||
# CONFIG_I2C_IXP2000 is not set
|
||||
CONFIG_I2C_IXP2000=y
|
||||
# CONFIG_I2C_NFORCE2 is not set
|
||||
# CONFIG_I2C_PARPORT_LIGHT is not set
|
||||
# CONFIG_I2C_PROSAVAGE is not set
|
||||
@ -651,11 +651,28 @@ CONFIG_I2C_ALGOBIT=y
|
||||
# CONFIG_I2C_VIAPRO is not set
|
||||
# CONFIG_I2C_VOODOO3 is not set
|
||||
# CONFIG_I2C_PCA_ISA is not set
|
||||
CONFIG_I2C_SENSOR=y
|
||||
|
||||
#
|
||||
# Hardware Sensors Chip support
|
||||
# Miscellaneous I2C Chip support
|
||||
#
|
||||
CONFIG_I2C_SENSOR=y
|
||||
# CONFIG_SENSORS_DS1337 is not set
|
||||
# CONFIG_SENSORS_DS1374 is not set
|
||||
CONFIG_SENSORS_EEPROM=y
|
||||
# CONFIG_SENSORS_PCF8574 is not set
|
||||
# CONFIG_SENSORS_PCA9539 is not set
|
||||
# CONFIG_SENSORS_PCF8591 is not set
|
||||
# CONFIG_SENSORS_RTC8564 is not set
|
||||
# CONFIG_SENSORS_MAX6875 is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
# CONFIG_I2C_DEBUG_CHIP is not set
|
||||
|
||||
#
|
||||
# Hardware Monitoring support
|
||||
#
|
||||
CONFIG_HWMON=y
|
||||
# CONFIG_SENSORS_ADM1021 is not set
|
||||
# CONFIG_SENSORS_ADM1025 is not set
|
||||
# CONFIG_SENSORS_ADM1026 is not set
|
||||
@ -681,30 +698,15 @@ CONFIG_I2C_SENSOR=y
|
||||
# CONFIG_SENSORS_LM92 is not set
|
||||
# CONFIG_SENSORS_MAX1619 is not set
|
||||
# CONFIG_SENSORS_PC87360 is not set
|
||||
# CONFIG_SENSORS_SMSC47B397 is not set
|
||||
# CONFIG_SENSORS_SIS5595 is not set
|
||||
# CONFIG_SENSORS_SMSC47M1 is not set
|
||||
# CONFIG_SENSORS_SMSC47B397 is not set
|
||||
# CONFIG_SENSORS_VIA686A is not set
|
||||
# CONFIG_SENSORS_W83781D is not set
|
||||
# CONFIG_SENSORS_W83L785TS is not set
|
||||
# CONFIG_SENSORS_W83627HF is not set
|
||||
# CONFIG_SENSORS_W83627EHF is not set
|
||||
|
||||
#
|
||||
# Other I2C Chip support
|
||||
#
|
||||
# CONFIG_SENSORS_DS1337 is not set
|
||||
# CONFIG_SENSORS_DS1374 is not set
|
||||
CONFIG_SENSORS_EEPROM=y
|
||||
# CONFIG_SENSORS_PCF8574 is not set
|
||||
# CONFIG_SENSORS_PCA9539 is not set
|
||||
# CONFIG_SENSORS_PCF8591 is not set
|
||||
# CONFIG_SENSORS_RTC8564 is not set
|
||||
# CONFIG_SENSORS_MAX6875 is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
# CONFIG_I2C_DEBUG_CHIP is not set
|
||||
# CONFIG_HWMON_DEBUG_CHIP is not set
|
||||
|
||||
#
|
||||
# Misc devices
|
||||
@ -772,6 +774,7 @@ CONFIG_FS_POSIX_ACL=y
|
||||
# CONFIG_XFS_FS is not set
|
||||
# CONFIG_MINIX_FS is not set
|
||||
# CONFIG_ROMFS_FS is not set
|
||||
CONFIG_INOTIFY=y
|
||||
# CONFIG_QUOTA is not set
|
||||
CONFIG_DNOTIFY=y
|
||||
# CONFIG_AUTOFS_FS is not set
|
||||
@ -814,8 +817,7 @@ CONFIG_RAMFS=y
|
||||
# CONFIG_JFFS_FS is not set
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_JFFS2_FS_DEBUG=0
|
||||
# CONFIG_JFFS2_FS_NAND is not set
|
||||
# CONFIG_JFFS2_FS_NOR_ECC is not set
|
||||
CONFIG_JFFS2_FS_WRITEBUFFER=y
|
||||
# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
|
||||
CONFIG_JFFS2_ZLIB=y
|
||||
CONFIG_JFFS2_RTIME=y
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.13-rc2
|
||||
# Thu Jul 7 16:49:20 2005
|
||||
# Linux kernel version: 2.6.13
|
||||
# Wed Sep 14 10:52:23 2005
|
||||
#
|
||||
CONFIG_ARM=y
|
||||
CONFIG_MMU=y
|
||||
@ -136,7 +136,6 @@ CONFIG_PCI_NAMES=y
|
||||
#
|
||||
# Kernel Features
|
||||
#
|
||||
# CONFIG_SMP is not set
|
||||
# CONFIG_PREEMPT is not set
|
||||
# CONFIG_NO_IDLE_HZ is not set
|
||||
# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
|
||||
@ -179,6 +178,68 @@ CONFIG_BINFMT_ELF=y
|
||||
#
|
||||
# CONFIG_PM is not set
|
||||
|
||||
#
|
||||
# Networking
|
||||
#
|
||||
CONFIG_NET=y
|
||||
|
||||
#
|
||||
# Networking options
|
||||
#
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_PACKET_MMAP=y
|
||||
CONFIG_UNIX=y
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
# CONFIG_IP_MULTICAST is not set
|
||||
# CONFIG_IP_ADVANCED_ROUTER is not set
|
||||
CONFIG_IP_FIB_HASH=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
# CONFIG_IP_PNP_RARP is not set
|
||||
# CONFIG_NET_IPIP is not set
|
||||
# CONFIG_NET_IPGRE is not set
|
||||
# CONFIG_ARPD is not set
|
||||
CONFIG_SYN_COOKIES=y
|
||||
# CONFIG_INET_AH is not set
|
||||
# CONFIG_INET_ESP is not set
|
||||
# CONFIG_INET_IPCOMP is not set
|
||||
# CONFIG_INET_TUNNEL is not set
|
||||
# CONFIG_IP_TCPDIAG is not set
|
||||
# CONFIG_IP_TCPDIAG_IPV6 is not set
|
||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||
CONFIG_TCP_CONG_BIC=y
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_NETFILTER is not set
|
||||
|
||||
#
|
||||
# SCTP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_SCTP is not set
|
||||
# CONFIG_ATM is not set
|
||||
# CONFIG_BRIDGE is not set
|
||||
# CONFIG_VLAN_8021Q is not set
|
||||
# CONFIG_DECNET is not set
|
||||
# CONFIG_LLC2 is not set
|
||||
# CONFIG_IPX is not set
|
||||
# CONFIG_ATALK is not set
|
||||
# CONFIG_X25 is not set
|
||||
# CONFIG_LAPB is not set
|
||||
# CONFIG_NET_DIVERT is not set
|
||||
# CONFIG_ECONET is not set
|
||||
# CONFIG_WAN_ROUTER is not set
|
||||
# CONFIG_NET_SCHED is not set
|
||||
# CONFIG_NET_CLS_ROUTE is not set
|
||||
|
||||
#
|
||||
# Network testing
|
||||
#
|
||||
# CONFIG_NET_PKTGEN is not set
|
||||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
|
||||
#
|
||||
# Device Drivers
|
||||
#
|
||||
@ -249,6 +310,7 @@ CONFIG_MTD_COMPLEX_MAPPINGS=y
|
||||
CONFIG_MTD_IXP2000=y
|
||||
# CONFIG_MTD_EDB7312 is not set
|
||||
# CONFIG_MTD_PCI is not set
|
||||
# CONFIG_MTD_PLATRAM is not set
|
||||
|
||||
#
|
||||
# Self-contained MTD device drivers
|
||||
@ -335,72 +397,8 @@ CONFIG_IOSCHED_CFQ=y
|
||||
# CONFIG_I2O is not set
|
||||
|
||||
#
|
||||
# Networking support
|
||||
# Network device support
|
||||
#
|
||||
CONFIG_NET=y
|
||||
|
||||
#
|
||||
# Networking options
|
||||
#
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_PACKET_MMAP=y
|
||||
CONFIG_UNIX=y
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
# CONFIG_IP_MULTICAST is not set
|
||||
# CONFIG_IP_ADVANCED_ROUTER is not set
|
||||
CONFIG_IP_FIB_HASH=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
# CONFIG_IP_PNP_RARP is not set
|
||||
# CONFIG_NET_IPIP is not set
|
||||
# CONFIG_NET_IPGRE is not set
|
||||
# CONFIG_ARPD is not set
|
||||
CONFIG_SYN_COOKIES=y
|
||||
# CONFIG_INET_AH is not set
|
||||
# CONFIG_INET_ESP is not set
|
||||
# CONFIG_INET_IPCOMP is not set
|
||||
# CONFIG_INET_TUNNEL is not set
|
||||
# CONFIG_IP_TCPDIAG is not set
|
||||
# CONFIG_IP_TCPDIAG_IPV6 is not set
|
||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||
CONFIG_TCP_CONG_BIC=y
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_NETFILTER is not set
|
||||
|
||||
#
|
||||
# SCTP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_SCTP is not set
|
||||
# CONFIG_ATM is not set
|
||||
# CONFIG_BRIDGE is not set
|
||||
# CONFIG_VLAN_8021Q is not set
|
||||
# CONFIG_DECNET is not set
|
||||
# CONFIG_LLC2 is not set
|
||||
# CONFIG_IPX is not set
|
||||
# CONFIG_ATALK is not set
|
||||
# CONFIG_X25 is not set
|
||||
# CONFIG_LAPB is not set
|
||||
# CONFIG_NET_DIVERT is not set
|
||||
# CONFIG_ECONET is not set
|
||||
# CONFIG_WAN_ROUTER is not set
|
||||
|
||||
#
|
||||
# QoS and/or fair queueing
|
||||
#
|
||||
# CONFIG_NET_SCHED is not set
|
||||
# CONFIG_NET_CLS_ROUTE is not set
|
||||
|
||||
#
|
||||
# Network testing
|
||||
#
|
||||
# CONFIG_NET_PKTGEN is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_DUMMY=y
|
||||
# CONFIG_BONDING is not set
|
||||
@ -510,6 +508,8 @@ CONFIG_DLCI_MAX=8
|
||||
# CONFIG_SLIP is not set
|
||||
# CONFIG_SHAPER is not set
|
||||
# CONFIG_NETCONSOLE is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
|
||||
#
|
||||
# ISDN subsystem
|
||||
@ -636,7 +636,7 @@ CONFIG_I2C_ALGOBIT=y
|
||||
# CONFIG_I2C_I810 is not set
|
||||
# CONFIG_I2C_PIIX4 is not set
|
||||
# CONFIG_I2C_ISA is not set
|
||||
# CONFIG_I2C_IXP2000 is not set
|
||||
CONFIG_I2C_IXP2000=y
|
||||
# CONFIG_I2C_NFORCE2 is not set
|
||||
# CONFIG_I2C_PARPORT_LIGHT is not set
|
||||
# CONFIG_I2C_PROSAVAGE is not set
|
||||
@ -650,11 +650,28 @@ CONFIG_I2C_ALGOBIT=y
|
||||
# CONFIG_I2C_VIAPRO is not set
|
||||
# CONFIG_I2C_VOODOO3 is not set
|
||||
# CONFIG_I2C_PCA_ISA is not set
|
||||
CONFIG_I2C_SENSOR=y
|
||||
|
||||
#
|
||||
# Hardware Sensors Chip support
|
||||
# Miscellaneous I2C Chip support
|
||||
#
|
||||
CONFIG_I2C_SENSOR=y
|
||||
# CONFIG_SENSORS_DS1337 is not set
|
||||
# CONFIG_SENSORS_DS1374 is not set
|
||||
CONFIG_SENSORS_EEPROM=y
|
||||
# CONFIG_SENSORS_PCF8574 is not set
|
||||
# CONFIG_SENSORS_PCA9539 is not set
|
||||
# CONFIG_SENSORS_PCF8591 is not set
|
||||
# CONFIG_SENSORS_RTC8564 is not set
|
||||
# CONFIG_SENSORS_MAX6875 is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
# CONFIG_I2C_DEBUG_CHIP is not set
|
||||
|
||||
#
|
||||
# Hardware Monitoring support
|
||||
#
|
||||
CONFIG_HWMON=y
|
||||
# CONFIG_SENSORS_ADM1021 is not set
|
||||
# CONFIG_SENSORS_ADM1025 is not set
|
||||
# CONFIG_SENSORS_ADM1026 is not set
|
||||
@ -680,30 +697,15 @@ CONFIG_I2C_SENSOR=y
|
||||
# CONFIG_SENSORS_LM92 is not set
|
||||
# CONFIG_SENSORS_MAX1619 is not set
|
||||
# CONFIG_SENSORS_PC87360 is not set
|
||||
# CONFIG_SENSORS_SMSC47B397 is not set
|
||||
# CONFIG_SENSORS_SIS5595 is not set
|
||||
# CONFIG_SENSORS_SMSC47M1 is not set
|
||||
# CONFIG_SENSORS_SMSC47B397 is not set
|
||||
# CONFIG_SENSORS_VIA686A is not set
|
||||
# CONFIG_SENSORS_W83781D is not set
|
||||
# CONFIG_SENSORS_W83L785TS is not set
|
||||
# CONFIG_SENSORS_W83627HF is not set
|
||||
# CONFIG_SENSORS_W83627EHF is not set
|
||||
|
||||
#
|
||||
# Other I2C Chip support
|
||||
#
|
||||
# CONFIG_SENSORS_DS1337 is not set
|
||||
# CONFIG_SENSORS_DS1374 is not set
|
||||
CONFIG_SENSORS_EEPROM=y
|
||||
# CONFIG_SENSORS_PCF8574 is not set
|
||||
# CONFIG_SENSORS_PCA9539 is not set
|
||||
# CONFIG_SENSORS_PCF8591 is not set
|
||||
# CONFIG_SENSORS_RTC8564 is not set
|
||||
# CONFIG_SENSORS_MAX6875 is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
# CONFIG_I2C_DEBUG_CHIP is not set
|
||||
# CONFIG_HWMON_DEBUG_CHIP is not set
|
||||
|
||||
#
|
||||
# Misc devices
|
||||
@ -771,6 +773,7 @@ CONFIG_FS_POSIX_ACL=y
|
||||
# CONFIG_XFS_FS is not set
|
||||
# CONFIG_MINIX_FS is not set
|
||||
# CONFIG_ROMFS_FS is not set
|
||||
CONFIG_INOTIFY=y
|
||||
# CONFIG_QUOTA is not set
|
||||
CONFIG_DNOTIFY=y
|
||||
# CONFIG_AUTOFS_FS is not set
|
||||
@ -813,8 +816,7 @@ CONFIG_RAMFS=y
|
||||
# CONFIG_JFFS_FS is not set
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_JFFS2_FS_DEBUG=0
|
||||
# CONFIG_JFFS2_FS_NAND is not set
|
||||
# CONFIG_JFFS2_FS_NOR_ECC is not set
|
||||
CONFIG_JFFS2_FS_WRITEBUFFER=y
|
||||
# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
|
||||
CONFIG_JFFS2_ZLIB=y
|
||||
CONFIG_JFFS2_RTIME=y
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.13-rc2
|
||||
# Thu Jul 7 16:49:13 2005
|
||||
# Linux kernel version: 2.6.13
|
||||
# Wed Sep 14 10:52:16 2005
|
||||
#
|
||||
CONFIG_ARM=y
|
||||
CONFIG_MMU=y
|
||||
@ -136,7 +136,6 @@ CONFIG_PCI_NAMES=y
|
||||
#
|
||||
# Kernel Features
|
||||
#
|
||||
# CONFIG_SMP is not set
|
||||
# CONFIG_PREEMPT is not set
|
||||
# CONFIG_NO_IDLE_HZ is not set
|
||||
# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
|
||||
@ -179,6 +178,68 @@ CONFIG_BINFMT_ELF=y
|
||||
#
|
||||
# CONFIG_PM is not set
|
||||
|
||||
#
|
||||
# Networking
|
||||
#
|
||||
CONFIG_NET=y
|
||||
|
||||
#
|
||||
# Networking options
|
||||
#
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_PACKET_MMAP=y
|
||||
CONFIG_UNIX=y
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
# CONFIG_IP_MULTICAST is not set
|
||||
# CONFIG_IP_ADVANCED_ROUTER is not set
|
||||
CONFIG_IP_FIB_HASH=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
# CONFIG_IP_PNP_RARP is not set
|
||||
# CONFIG_NET_IPIP is not set
|
||||
# CONFIG_NET_IPGRE is not set
|
||||
# CONFIG_ARPD is not set
|
||||
CONFIG_SYN_COOKIES=y
|
||||
# CONFIG_INET_AH is not set
|
||||
# CONFIG_INET_ESP is not set
|
||||
# CONFIG_INET_IPCOMP is not set
|
||||
# CONFIG_INET_TUNNEL is not set
|
||||
# CONFIG_IP_TCPDIAG is not set
|
||||
# CONFIG_IP_TCPDIAG_IPV6 is not set
|
||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||
CONFIG_TCP_CONG_BIC=y
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_NETFILTER is not set
|
||||
|
||||
#
|
||||
# SCTP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_SCTP is not set
|
||||
# CONFIG_ATM is not set
|
||||
# CONFIG_BRIDGE is not set
|
||||
# CONFIG_VLAN_8021Q is not set
|
||||
# CONFIG_DECNET is not set
|
||||
# CONFIG_LLC2 is not set
|
||||
# CONFIG_IPX is not set
|
||||
# CONFIG_ATALK is not set
|
||||
# CONFIG_X25 is not set
|
||||
# CONFIG_LAPB is not set
|
||||
# CONFIG_NET_DIVERT is not set
|
||||
# CONFIG_ECONET is not set
|
||||
# CONFIG_WAN_ROUTER is not set
|
||||
# CONFIG_NET_SCHED is not set
|
||||
# CONFIG_NET_CLS_ROUTE is not set
|
||||
|
||||
#
|
||||
# Network testing
|
||||
#
|
||||
# CONFIG_NET_PKTGEN is not set
|
||||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
|
||||
#
|
||||
# Device Drivers
|
||||
#
|
||||
@ -249,6 +310,7 @@ CONFIG_MTD_COMPLEX_MAPPINGS=y
|
||||
CONFIG_MTD_IXP2000=y
|
||||
# CONFIG_MTD_EDB7312 is not set
|
||||
# CONFIG_MTD_PCI is not set
|
||||
# CONFIG_MTD_PLATRAM is not set
|
||||
|
||||
#
|
||||
# Self-contained MTD device drivers
|
||||
@ -335,72 +397,8 @@ CONFIG_IOSCHED_CFQ=y
|
||||
# CONFIG_I2O is not set
|
||||
|
||||
#
|
||||
# Networking support
|
||||
# Network device support
|
||||
#
|
||||
CONFIG_NET=y
|
||||
|
||||
#
|
||||
# Networking options
|
||||
#
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_PACKET_MMAP=y
|
||||
CONFIG_UNIX=y
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
# CONFIG_IP_MULTICAST is not set
|
||||
# CONFIG_IP_ADVANCED_ROUTER is not set
|
||||
CONFIG_IP_FIB_HASH=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
# CONFIG_IP_PNP_RARP is not set
|
||||
# CONFIG_NET_IPIP is not set
|
||||
# CONFIG_NET_IPGRE is not set
|
||||
# CONFIG_ARPD is not set
|
||||
CONFIG_SYN_COOKIES=y
|
||||
# CONFIG_INET_AH is not set
|
||||
# CONFIG_INET_ESP is not set
|
||||
# CONFIG_INET_IPCOMP is not set
|
||||
# CONFIG_INET_TUNNEL is not set
|
||||
# CONFIG_IP_TCPDIAG is not set
|
||||
# CONFIG_IP_TCPDIAG_IPV6 is not set
|
||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||
CONFIG_TCP_CONG_BIC=y
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_NETFILTER is not set
|
||||
|
||||
#
|
||||
# SCTP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_SCTP is not set
|
||||
# CONFIG_ATM is not set
|
||||
# CONFIG_BRIDGE is not set
|
||||
# CONFIG_VLAN_8021Q is not set
|
||||
# CONFIG_DECNET is not set
|
||||
# CONFIG_LLC2 is not set
|
||||
# CONFIG_IPX is not set
|
||||
# CONFIG_ATALK is not set
|
||||
# CONFIG_X25 is not set
|
||||
# CONFIG_LAPB is not set
|
||||
# CONFIG_NET_DIVERT is not set
|
||||
# CONFIG_ECONET is not set
|
||||
# CONFIG_WAN_ROUTER is not set
|
||||
|
||||
#
|
||||
# QoS and/or fair queueing
|
||||
#
|
||||
# CONFIG_NET_SCHED is not set
|
||||
# CONFIG_NET_CLS_ROUTE is not set
|
||||
|
||||
#
|
||||
# Network testing
|
||||
#
|
||||
# CONFIG_NET_PKTGEN is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_DUMMY=y
|
||||
# CONFIG_BONDING is not set
|
||||
@ -511,6 +509,8 @@ CONFIG_DLCI_MAX=8
|
||||
# CONFIG_SLIP is not set
|
||||
# CONFIG_SHAPER is not set
|
||||
# CONFIG_NETCONSOLE is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
|
||||
#
|
||||
# ISDN subsystem
|
||||
@ -637,7 +637,7 @@ CONFIG_I2C_ALGOBIT=y
|
||||
# CONFIG_I2C_I810 is not set
|
||||
# CONFIG_I2C_PIIX4 is not set
|
||||
# CONFIG_I2C_ISA is not set
|
||||
# CONFIG_I2C_IXP2000 is not set
|
||||
CONFIG_I2C_IXP2000=y
|
||||
# CONFIG_I2C_NFORCE2 is not set
|
||||
# CONFIG_I2C_PARPORT_LIGHT is not set
|
||||
# CONFIG_I2C_PROSAVAGE is not set
|
||||
@ -651,11 +651,28 @@ CONFIG_I2C_ALGOBIT=y
|
||||
# CONFIG_I2C_VIAPRO is not set
|
||||
# CONFIG_I2C_VOODOO3 is not set
|
||||
# CONFIG_I2C_PCA_ISA is not set
|
||||
CONFIG_I2C_SENSOR=y
|
||||
|
||||
#
|
||||
# Hardware Sensors Chip support
|
||||
# Miscellaneous I2C Chip support
|
||||
#
|
||||
CONFIG_I2C_SENSOR=y
|
||||
# CONFIG_SENSORS_DS1337 is not set
|
||||
# CONFIG_SENSORS_DS1374 is not set
|
||||
CONFIG_SENSORS_EEPROM=y
|
||||
# CONFIG_SENSORS_PCF8574 is not set
|
||||
# CONFIG_SENSORS_PCA9539 is not set
|
||||
# CONFIG_SENSORS_PCF8591 is not set
|
||||
# CONFIG_SENSORS_RTC8564 is not set
|
||||
# CONFIG_SENSORS_MAX6875 is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
# CONFIG_I2C_DEBUG_CHIP is not set
|
||||
|
||||
#
|
||||
# Hardware Monitoring support
|
||||
#
|
||||
CONFIG_HWMON=y
|
||||
# CONFIG_SENSORS_ADM1021 is not set
|
||||
# CONFIG_SENSORS_ADM1025 is not set
|
||||
# CONFIG_SENSORS_ADM1026 is not set
|
||||
@ -681,30 +698,15 @@ CONFIG_I2C_SENSOR=y
|
||||
# CONFIG_SENSORS_LM92 is not set
|
||||
# CONFIG_SENSORS_MAX1619 is not set
|
||||
# CONFIG_SENSORS_PC87360 is not set
|
||||
# CONFIG_SENSORS_SMSC47B397 is not set
|
||||
# CONFIG_SENSORS_SIS5595 is not set
|
||||
# CONFIG_SENSORS_SMSC47M1 is not set
|
||||
# CONFIG_SENSORS_SMSC47B397 is not set
|
||||
# CONFIG_SENSORS_VIA686A is not set
|
||||
# CONFIG_SENSORS_W83781D is not set
|
||||
# CONFIG_SENSORS_W83L785TS is not set
|
||||
# CONFIG_SENSORS_W83627HF is not set
|
||||
# CONFIG_SENSORS_W83627EHF is not set
|
||||
|
||||
#
|
||||
# Other I2C Chip support
|
||||
#
|
||||
# CONFIG_SENSORS_DS1337 is not set
|
||||
# CONFIG_SENSORS_DS1374 is not set
|
||||
CONFIG_SENSORS_EEPROM=y
|
||||
# CONFIG_SENSORS_PCF8574 is not set
|
||||
# CONFIG_SENSORS_PCA9539 is not set
|
||||
# CONFIG_SENSORS_PCF8591 is not set
|
||||
# CONFIG_SENSORS_RTC8564 is not set
|
||||
# CONFIG_SENSORS_MAX6875 is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
# CONFIG_I2C_DEBUG_CHIP is not set
|
||||
# CONFIG_HWMON_DEBUG_CHIP is not set
|
||||
|
||||
#
|
||||
# Misc devices
|
||||
@ -772,6 +774,7 @@ CONFIG_FS_POSIX_ACL=y
|
||||
# CONFIG_XFS_FS is not set
|
||||
# CONFIG_MINIX_FS is not set
|
||||
# CONFIG_ROMFS_FS is not set
|
||||
CONFIG_INOTIFY=y
|
||||
# CONFIG_QUOTA is not set
|
||||
CONFIG_DNOTIFY=y
|
||||
# CONFIG_AUTOFS_FS is not set
|
||||
@ -814,8 +817,7 @@ CONFIG_RAMFS=y
|
||||
# CONFIG_JFFS_FS is not set
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_JFFS2_FS_DEBUG=0
|
||||
# CONFIG_JFFS2_FS_NAND is not set
|
||||
# CONFIG_JFFS2_FS_NOR_ECC is not set
|
||||
CONFIG_JFFS2_FS_WRITEBUFFER=y
|
||||
# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
|
||||
CONFIG_JFFS2_ZLIB=y
|
||||
CONFIG_JFFS2_RTIME=y
|
||||
|
@ -1,14 +1,13 @@
|
||||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.12-rc1-bk2
|
||||
# Sun Mar 27 22:53:40 2005
|
||||
# Linux kernel version: 2.6.14-rc1-git5
|
||||
# Tue Sep 20 17:26:28 2005
|
||||
#
|
||||
CONFIG_ARM=y
|
||||
CONFIG_MMU=y
|
||||
CONFIG_UID16=y
|
||||
CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_GENERIC_IOMAP=y
|
||||
|
||||
#
|
||||
# Code maturity level options
|
||||
@ -16,11 +15,13 @@ CONFIG_GENERIC_IOMAP=y
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
CONFIG_CLEAN_COMPILE=y
|
||||
CONFIG_BROKEN_ON_SMP=y
|
||||
CONFIG_INIT_ENV_ARG_LIMIT=32
|
||||
|
||||
#
|
||||
# General setup
|
||||
#
|
||||
CONFIG_LOCALVERSION=""
|
||||
CONFIG_LOCALVERSION_AUTO=y
|
||||
CONFIG_SWAP=y
|
||||
CONFIG_SYSVIPC=y
|
||||
# CONFIG_POSIX_MQUEUE is not set
|
||||
@ -31,10 +32,13 @@ CONFIG_SYSCTL=y
|
||||
# CONFIG_HOTPLUG is not set
|
||||
CONFIG_KOBJECT_UEVENT=y
|
||||
# CONFIG_IKCONFIG is not set
|
||||
CONFIG_INITRAMFS_SOURCE=""
|
||||
CONFIG_EMBEDDED=y
|
||||
CONFIG_KALLSYMS=y
|
||||
# CONFIG_KALLSYMS_ALL is not set
|
||||
# CONFIG_KALLSYMS_EXTRA_PASS is not set
|
||||
CONFIG_PRINTK=y
|
||||
CONFIG_BUG=y
|
||||
CONFIG_BASE_FULL=y
|
||||
CONFIG_FUTEX=y
|
||||
CONFIG_EPOLL=y
|
||||
@ -81,6 +85,7 @@ CONFIG_ARCH_IXP4XX=y
|
||||
# CONFIG_ARCH_VERSATILE is not set
|
||||
# CONFIG_ARCH_IMX is not set
|
||||
# CONFIG_ARCH_H720X is not set
|
||||
# CONFIG_ARCH_AAEC2000 is not set
|
||||
CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y
|
||||
|
||||
#
|
||||
@ -90,15 +95,16 @@ CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y
|
||||
#
|
||||
# IXP4xx Platforms
|
||||
#
|
||||
# CONFIG_ARCH_AVILA is not set
|
||||
CONFIG_ARCH_AVILA=y
|
||||
CONFIG_ARCH_ADI_COYOTE=y
|
||||
CONFIG_ARCH_IXDP425=y
|
||||
# CONFIG_MACH_IXDPG425 is not set
|
||||
# CONFIG_MACH_IXDP465 is not set
|
||||
CONFIG_MACH_IXDPG425=y
|
||||
CONFIG_MACH_IXDP465=y
|
||||
CONFIG_ARCH_IXCDP1100=y
|
||||
CONFIG_ARCH_PRPMC1100=y
|
||||
CONFIG_ARCH_IXDP4XX=y
|
||||
# CONFIG_MACH_GTWX5715 is not set
|
||||
CONFIG_CPU_IXP46X=y
|
||||
CONFIG_MACH_GTWX5715=y
|
||||
|
||||
#
|
||||
# IXP4xx Options
|
||||
@ -114,7 +120,6 @@ CONFIG_CPU_32v5=y
|
||||
CONFIG_CPU_ABRT_EV5T=y
|
||||
CONFIG_CPU_CACHE_VIVT=y
|
||||
CONFIG_CPU_TLB_V4WBI=y
|
||||
CONFIG_CPU_MINICACHE=y
|
||||
|
||||
#
|
||||
# Processor Features
|
||||
@ -127,9 +132,10 @@ CONFIG_DMABOUNCE=y
|
||||
#
|
||||
# Bus support
|
||||
#
|
||||
CONFIG_ISA_DMA_API=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCI_LEGACY_PROC=y
|
||||
CONFIG_PCI_NAMES=y
|
||||
# CONFIG_PCI_DEBUG is not set
|
||||
|
||||
#
|
||||
# PCCARD (PCMCIA/CardBus) support
|
||||
@ -140,6 +146,15 @@ CONFIG_PCI_NAMES=y
|
||||
# Kernel Features
|
||||
#
|
||||
# CONFIG_PREEMPT is not set
|
||||
# CONFIG_NO_IDLE_HZ is not set
|
||||
# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
|
||||
CONFIG_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_FLATMEM_MANUAL=y
|
||||
# CONFIG_DISCONTIGMEM_MANUAL is not set
|
||||
# CONFIG_SPARSEMEM_MANUAL is not set
|
||||
CONFIG_FLATMEM=y
|
||||
CONFIG_FLAT_NODE_MEM_MAP=y
|
||||
# CONFIG_SPARSEMEM_STATIC is not set
|
||||
CONFIG_ALIGNMENT_TRAP=y
|
||||
|
||||
#
|
||||
@ -174,6 +189,241 @@ CONFIG_BINFMT_ELF=y
|
||||
CONFIG_PM=y
|
||||
CONFIG_APM=y
|
||||
|
||||
#
|
||||
# Networking
|
||||
#
|
||||
CONFIG_NET=y
|
||||
|
||||
#
|
||||
# Networking options
|
||||
#
|
||||
CONFIG_PACKET=m
|
||||
CONFIG_PACKET_MMAP=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM=y
|
||||
# CONFIG_XFRM_USER is not set
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_ASK_IP_FIB_HASH=y
|
||||
# CONFIG_IP_FIB_TRIE is not set
|
||||
CONFIG_IP_FIB_HASH=y
|
||||
CONFIG_IP_MULTIPLE_TABLES=y
|
||||
CONFIG_IP_ROUTE_FWMARK=y
|
||||
CONFIG_IP_ROUTE_MULTIPATH=y
|
||||
# CONFIG_IP_ROUTE_MULTIPATH_CACHED is not set
|
||||
CONFIG_IP_ROUTE_VERBOSE=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
# CONFIG_IP_PNP_RARP is not set
|
||||
# CONFIG_NET_IPIP is not set
|
||||
CONFIG_NET_IPGRE=m
|
||||
CONFIG_NET_IPGRE_BROADCAST=y
|
||||
CONFIG_IP_MROUTE=y
|
||||
CONFIG_IP_PIMSM_V1=y
|
||||
CONFIG_IP_PIMSM_V2=y
|
||||
# CONFIG_ARPD is not set
|
||||
CONFIG_SYN_COOKIES=y
|
||||
# CONFIG_INET_AH is not set
|
||||
# CONFIG_INET_ESP is not set
|
||||
# CONFIG_INET_IPCOMP is not set
|
||||
CONFIG_INET_TUNNEL=m
|
||||
CONFIG_INET_DIAG=y
|
||||
CONFIG_INET_TCP_DIAG=y
|
||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||
CONFIG_TCP_CONG_BIC=y
|
||||
|
||||
#
|
||||
# IP: Virtual Server Configuration
|
||||
#
|
||||
CONFIG_IP_VS=m
|
||||
CONFIG_IP_VS_DEBUG=y
|
||||
CONFIG_IP_VS_TAB_BITS=12
|
||||
|
||||
#
|
||||
# IPVS transport protocol load balancing support
|
||||
#
|
||||
# CONFIG_IP_VS_PROTO_TCP is not set
|
||||
# CONFIG_IP_VS_PROTO_UDP is not set
|
||||
# CONFIG_IP_VS_PROTO_ESP is not set
|
||||
# CONFIG_IP_VS_PROTO_AH is not set
|
||||
|
||||
#
|
||||
# IPVS scheduler
|
||||
#
|
||||
CONFIG_IP_VS_RR=m
|
||||
CONFIG_IP_VS_WRR=m
|
||||
CONFIG_IP_VS_LC=m
|
||||
CONFIG_IP_VS_WLC=m
|
||||
CONFIG_IP_VS_LBLC=m
|
||||
CONFIG_IP_VS_LBLCR=m
|
||||
CONFIG_IP_VS_DH=m
|
||||
CONFIG_IP_VS_SH=m
|
||||
# CONFIG_IP_VS_SED is not set
|
||||
# CONFIG_IP_VS_NQ is not set
|
||||
|
||||
#
|
||||
# IPVS application helper
|
||||
#
|
||||
# CONFIG_IPV6 is not set
|
||||
CONFIG_NETFILTER=y
|
||||
# CONFIG_NETFILTER_DEBUG is not set
|
||||
CONFIG_BRIDGE_NETFILTER=y
|
||||
# CONFIG_NETFILTER_NETLINK is not set
|
||||
|
||||
#
|
||||
# IP: Netfilter Configuration
|
||||
#
|
||||
CONFIG_IP_NF_CONNTRACK=m
|
||||
# CONFIG_IP_NF_CT_ACCT is not set
|
||||
# CONFIG_IP_NF_CONNTRACK_MARK is not set
|
||||
# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
|
||||
# CONFIG_IP_NF_CT_PROTO_SCTP is not set
|
||||
CONFIG_IP_NF_FTP=m
|
||||
CONFIG_IP_NF_IRC=m
|
||||
# CONFIG_IP_NF_NETBIOS_NS is not set
|
||||
# CONFIG_IP_NF_TFTP is not set
|
||||
# CONFIG_IP_NF_AMANDA is not set
|
||||
CONFIG_IP_NF_QUEUE=m
|
||||
CONFIG_IP_NF_IPTABLES=m
|
||||
CONFIG_IP_NF_MATCH_LIMIT=m
|
||||
# CONFIG_IP_NF_MATCH_IPRANGE is not set
|
||||
CONFIG_IP_NF_MATCH_MAC=m
|
||||
# CONFIG_IP_NF_MATCH_PKTTYPE is not set
|
||||
CONFIG_IP_NF_MATCH_MARK=m
|
||||
CONFIG_IP_NF_MATCH_MULTIPORT=m
|
||||
CONFIG_IP_NF_MATCH_TOS=m
|
||||
# CONFIG_IP_NF_MATCH_RECENT is not set
|
||||
# CONFIG_IP_NF_MATCH_ECN is not set
|
||||
# CONFIG_IP_NF_MATCH_DSCP is not set
|
||||
CONFIG_IP_NF_MATCH_AH_ESP=m
|
||||
CONFIG_IP_NF_MATCH_LENGTH=m
|
||||
CONFIG_IP_NF_MATCH_TTL=m
|
||||
CONFIG_IP_NF_MATCH_TCPMSS=m
|
||||
# CONFIG_IP_NF_MATCH_HELPER is not set
|
||||
CONFIG_IP_NF_MATCH_STATE=m
|
||||
# CONFIG_IP_NF_MATCH_CONNTRACK is not set
|
||||
CONFIG_IP_NF_MATCH_OWNER=m
|
||||
# CONFIG_IP_NF_MATCH_PHYSDEV is not set
|
||||
# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
|
||||
# CONFIG_IP_NF_MATCH_REALM is not set
|
||||
# CONFIG_IP_NF_MATCH_SCTP is not set
|
||||
# CONFIG_IP_NF_MATCH_DCCP is not set
|
||||
# CONFIG_IP_NF_MATCH_COMMENT is not set
|
||||
# CONFIG_IP_NF_MATCH_HASHLIMIT is not set
|
||||
# CONFIG_IP_NF_MATCH_STRING is not set
|
||||
CONFIG_IP_NF_FILTER=m
|
||||
CONFIG_IP_NF_TARGET_REJECT=m
|
||||
CONFIG_IP_NF_TARGET_LOG=m
|
||||
CONFIG_IP_NF_TARGET_ULOG=m
|
||||
CONFIG_IP_NF_TARGET_TCPMSS=m
|
||||
CONFIG_IP_NF_NAT=m
|
||||
CONFIG_IP_NF_NAT_NEEDED=y
|
||||
CONFIG_IP_NF_TARGET_MASQUERADE=m
|
||||
CONFIG_IP_NF_TARGET_REDIRECT=m
|
||||
# CONFIG_IP_NF_TARGET_NETMAP is not set
|
||||
# CONFIG_IP_NF_TARGET_SAME is not set
|
||||
CONFIG_IP_NF_NAT_SNMP_BASIC=m
|
||||
CONFIG_IP_NF_NAT_IRC=m
|
||||
CONFIG_IP_NF_NAT_FTP=m
|
||||
CONFIG_IP_NF_MANGLE=m
|
||||
CONFIG_IP_NF_TARGET_TOS=m
|
||||
# CONFIG_IP_NF_TARGET_ECN is not set
|
||||
# CONFIG_IP_NF_TARGET_DSCP is not set
|
||||
CONFIG_IP_NF_TARGET_MARK=m
|
||||
# CONFIG_IP_NF_TARGET_CLASSIFY is not set
|
||||
# CONFIG_IP_NF_TARGET_TTL is not set
|
||||
# CONFIG_IP_NF_RAW is not set
|
||||
CONFIG_IP_NF_ARPTABLES=m
|
||||
CONFIG_IP_NF_ARPFILTER=m
|
||||
# CONFIG_IP_NF_ARP_MANGLE is not set
|
||||
|
||||
#
|
||||
# Bridge: Netfilter Configuration
|
||||
#
|
||||
# CONFIG_BRIDGE_NF_EBTABLES is not set
|
||||
|
||||
#
|
||||
# DCCP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_DCCP is not set
|
||||
|
||||
#
|
||||
# SCTP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_SCTP is not set
|
||||
CONFIG_ATM=y
|
||||
CONFIG_ATM_CLIP=y
|
||||
# CONFIG_ATM_CLIP_NO_ICMP is not set
|
||||
CONFIG_ATM_LANE=m
|
||||
CONFIG_ATM_MPOA=m
|
||||
CONFIG_ATM_BR2684=m
|
||||
# CONFIG_ATM_BR2684_IPFILTER is not set
|
||||
CONFIG_BRIDGE=m
|
||||
CONFIG_VLAN_8021Q=m
|
||||
# CONFIG_DECNET is not set
|
||||
CONFIG_LLC=m
|
||||
# CONFIG_LLC2 is not set
|
||||
CONFIG_IPX=m
|
||||
# CONFIG_IPX_INTERN is not set
|
||||
CONFIG_ATALK=m
|
||||
CONFIG_DEV_APPLETALK=y
|
||||
CONFIG_IPDDP=m
|
||||
CONFIG_IPDDP_ENCAP=y
|
||||
CONFIG_IPDDP_DECAP=y
|
||||
CONFIG_X25=m
|
||||
CONFIG_LAPB=m
|
||||
# CONFIG_NET_DIVERT is not set
|
||||
CONFIG_ECONET=m
|
||||
CONFIG_ECONET_AUNUDP=y
|
||||
CONFIG_ECONET_NATIVE=y
|
||||
CONFIG_WAN_ROUTER=m
|
||||
CONFIG_NET_SCHED=y
|
||||
CONFIG_NET_SCH_CLK_JIFFIES=y
|
||||
# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
|
||||
# CONFIG_NET_SCH_CLK_CPU is not set
|
||||
CONFIG_NET_SCH_CBQ=m
|
||||
CONFIG_NET_SCH_HTB=m
|
||||
# CONFIG_NET_SCH_HFSC is not set
|
||||
# CONFIG_NET_SCH_ATM is not set
|
||||
CONFIG_NET_SCH_PRIO=m
|
||||
CONFIG_NET_SCH_RED=m
|
||||
CONFIG_NET_SCH_SFQ=m
|
||||
CONFIG_NET_SCH_TEQL=m
|
||||
CONFIG_NET_SCH_TBF=m
|
||||
CONFIG_NET_SCH_GRED=m
|
||||
CONFIG_NET_SCH_DSMARK=m
|
||||
# CONFIG_NET_SCH_NETEM is not set
|
||||
CONFIG_NET_SCH_INGRESS=m
|
||||
CONFIG_NET_QOS=y
|
||||
CONFIG_NET_ESTIMATOR=y
|
||||
CONFIG_NET_CLS=y
|
||||
# CONFIG_NET_CLS_BASIC is not set
|
||||
CONFIG_NET_CLS_TCINDEX=m
|
||||
CONFIG_NET_CLS_ROUTE4=m
|
||||
CONFIG_NET_CLS_ROUTE=y
|
||||
CONFIG_NET_CLS_FW=m
|
||||
CONFIG_NET_CLS_U32=m
|
||||
# CONFIG_CLS_U32_PERF is not set
|
||||
# CONFIG_NET_CLS_IND is not set
|
||||
# CONFIG_CLS_U32_MARK is not set
|
||||
CONFIG_NET_CLS_RSVP=m
|
||||
CONFIG_NET_CLS_RSVP6=m
|
||||
# CONFIG_NET_EMATCH is not set
|
||||
# CONFIG_NET_CLS_ACT is not set
|
||||
CONFIG_NET_CLS_POLICE=y
|
||||
|
||||
#
|
||||
# Network testing
|
||||
#
|
||||
CONFIG_NET_PKTGEN=m
|
||||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
# CONFIG_IEEE80211 is not set
|
||||
|
||||
#
|
||||
# Device Drivers
|
||||
#
|
||||
@ -244,6 +494,7 @@ CONFIG_MTD_COMPLEX_MAPPINGS=y
|
||||
CONFIG_MTD_IXP4XX=y
|
||||
# CONFIG_MTD_EDB7312 is not set
|
||||
# CONFIG_MTD_PCI is not set
|
||||
# CONFIG_MTD_PLATRAM is not set
|
||||
|
||||
#
|
||||
# Self-contained MTD device drivers
|
||||
@ -283,7 +534,6 @@ CONFIG_MTD_NAND_IDS=m
|
||||
#
|
||||
# Block devices
|
||||
#
|
||||
# CONFIG_BLK_DEV_FD is not set
|
||||
# CONFIG_BLK_CPQ_DA is not set
|
||||
# CONFIG_BLK_CPQ_CISS_DA is not set
|
||||
# CONFIG_BLK_DEV_DAC960 is not set
|
||||
@ -297,7 +547,6 @@ CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_COUNT=16
|
||||
CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_INITRAMFS_SOURCE=""
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
|
||||
#
|
||||
@ -351,6 +600,7 @@ CONFIG_BLK_DEV_CMD64X=y
|
||||
CONFIG_BLK_DEV_HPT366=y
|
||||
# CONFIG_BLK_DEV_SC1200 is not set
|
||||
# CONFIG_BLK_DEV_PIIX is not set
|
||||
# CONFIG_BLK_DEV_IT821X is not set
|
||||
# CONFIG_BLK_DEV_NS87415 is not set
|
||||
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
|
||||
CONFIG_BLK_DEV_PDC202XX_NEW=y
|
||||
@ -369,6 +619,7 @@ CONFIG_BLK_DEV_IDEDMA=y
|
||||
#
|
||||
# SCSI device support
|
||||
#
|
||||
# CONFIG_RAID_ATTRS is not set
|
||||
# CONFIG_SCSI is not set
|
||||
|
||||
#
|
||||
@ -379,6 +630,7 @@ CONFIG_BLK_DEV_IDEDMA=y
|
||||
#
|
||||
# Fusion MPT device support
|
||||
#
|
||||
# CONFIG_FUSION is not set
|
||||
|
||||
#
|
||||
# IEEE 1394 (FireWire) support
|
||||
@ -391,241 +643,24 @@ CONFIG_BLK_DEV_IDEDMA=y
|
||||
# CONFIG_I2O is not set
|
||||
|
||||
#
|
||||
# Networking support
|
||||
# Network device support
|
||||
#
|
||||
CONFIG_NET=y
|
||||
|
||||
#
|
||||
# Networking options
|
||||
#
|
||||
CONFIG_PACKET=m
|
||||
CONFIG_PACKET_MMAP=y
|
||||
CONFIG_NETLINK_DEV=m
|
||||
CONFIG_UNIX=y
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_IP_MULTIPLE_TABLES=y
|
||||
CONFIG_IP_ROUTE_FWMARK=y
|
||||
CONFIG_IP_ROUTE_MULTIPATH=y
|
||||
# CONFIG_IP_ROUTE_MULTIPATH_CACHED is not set
|
||||
CONFIG_IP_ROUTE_VERBOSE=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
# CONFIG_IP_PNP_RARP is not set
|
||||
# CONFIG_NET_IPIP is not set
|
||||
CONFIG_NET_IPGRE=m
|
||||
CONFIG_NET_IPGRE_BROADCAST=y
|
||||
CONFIG_IP_MROUTE=y
|
||||
CONFIG_IP_PIMSM_V1=y
|
||||
CONFIG_IP_PIMSM_V2=y
|
||||
# CONFIG_ARPD is not set
|
||||
CONFIG_SYN_COOKIES=y
|
||||
# CONFIG_INET_AH is not set
|
||||
# CONFIG_INET_ESP is not set
|
||||
# CONFIG_INET_IPCOMP is not set
|
||||
CONFIG_INET_TUNNEL=m
|
||||
# CONFIG_IP_TCPDIAG is not set
|
||||
# CONFIG_IP_TCPDIAG_IPV6 is not set
|
||||
|
||||
#
|
||||
# IP: Virtual Server Configuration
|
||||
#
|
||||
CONFIG_IP_VS=m
|
||||
CONFIG_IP_VS_DEBUG=y
|
||||
CONFIG_IP_VS_TAB_BITS=12
|
||||
|
||||
#
|
||||
# IPVS transport protocol load balancing support
|
||||
#
|
||||
# CONFIG_IP_VS_PROTO_TCP is not set
|
||||
# CONFIG_IP_VS_PROTO_UDP is not set
|
||||
# CONFIG_IP_VS_PROTO_ESP is not set
|
||||
# CONFIG_IP_VS_PROTO_AH is not set
|
||||
|
||||
#
|
||||
# IPVS scheduler
|
||||
#
|
||||
CONFIG_IP_VS_RR=m
|
||||
CONFIG_IP_VS_WRR=m
|
||||
CONFIG_IP_VS_LC=m
|
||||
CONFIG_IP_VS_WLC=m
|
||||
CONFIG_IP_VS_LBLC=m
|
||||
CONFIG_IP_VS_LBLCR=m
|
||||
CONFIG_IP_VS_DH=m
|
||||
CONFIG_IP_VS_SH=m
|
||||
# CONFIG_IP_VS_SED is not set
|
||||
# CONFIG_IP_VS_NQ is not set
|
||||
|
||||
#
|
||||
# IPVS application helper
|
||||
#
|
||||
# CONFIG_IPV6 is not set
|
||||
CONFIG_NETFILTER=y
|
||||
# CONFIG_NETFILTER_DEBUG is not set
|
||||
CONFIG_BRIDGE_NETFILTER=y
|
||||
|
||||
#
|
||||
# IP: Netfilter Configuration
|
||||
#
|
||||
CONFIG_IP_NF_CONNTRACK=m
|
||||
# CONFIG_IP_NF_CT_ACCT is not set
|
||||
# CONFIG_IP_NF_CONNTRACK_MARK is not set
|
||||
# CONFIG_IP_NF_CT_PROTO_SCTP is not set
|
||||
CONFIG_IP_NF_FTP=m
|
||||
CONFIG_IP_NF_IRC=m
|
||||
# CONFIG_IP_NF_TFTP is not set
|
||||
# CONFIG_IP_NF_AMANDA is not set
|
||||
CONFIG_IP_NF_QUEUE=m
|
||||
CONFIG_IP_NF_IPTABLES=m
|
||||
CONFIG_IP_NF_MATCH_LIMIT=m
|
||||
# CONFIG_IP_NF_MATCH_IPRANGE is not set
|
||||
CONFIG_IP_NF_MATCH_MAC=m
|
||||
# CONFIG_IP_NF_MATCH_PKTTYPE is not set
|
||||
CONFIG_IP_NF_MATCH_MARK=m
|
||||
CONFIG_IP_NF_MATCH_MULTIPORT=m
|
||||
CONFIG_IP_NF_MATCH_TOS=m
|
||||
# CONFIG_IP_NF_MATCH_RECENT is not set
|
||||
# CONFIG_IP_NF_MATCH_ECN is not set
|
||||
# CONFIG_IP_NF_MATCH_DSCP is not set
|
||||
CONFIG_IP_NF_MATCH_AH_ESP=m
|
||||
CONFIG_IP_NF_MATCH_LENGTH=m
|
||||
CONFIG_IP_NF_MATCH_TTL=m
|
||||
CONFIG_IP_NF_MATCH_TCPMSS=m
|
||||
# CONFIG_IP_NF_MATCH_HELPER is not set
|
||||
CONFIG_IP_NF_MATCH_STATE=m
|
||||
# CONFIG_IP_NF_MATCH_CONNTRACK is not set
|
||||
CONFIG_IP_NF_MATCH_OWNER=m
|
||||
# CONFIG_IP_NF_MATCH_PHYSDEV is not set
|
||||
# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
|
||||
# CONFIG_IP_NF_MATCH_REALM is not set
|
||||
# CONFIG_IP_NF_MATCH_SCTP is not set
|
||||
# CONFIG_IP_NF_MATCH_COMMENT is not set
|
||||
# CONFIG_IP_NF_MATCH_HASHLIMIT is not set
|
||||
CONFIG_IP_NF_FILTER=m
|
||||
CONFIG_IP_NF_TARGET_REJECT=m
|
||||
CONFIG_IP_NF_TARGET_LOG=m
|
||||
CONFIG_IP_NF_TARGET_ULOG=m
|
||||
CONFIG_IP_NF_TARGET_TCPMSS=m
|
||||
CONFIG_IP_NF_NAT=m
|
||||
CONFIG_IP_NF_NAT_NEEDED=y
|
||||
CONFIG_IP_NF_TARGET_MASQUERADE=m
|
||||
CONFIG_IP_NF_TARGET_REDIRECT=m
|
||||
# CONFIG_IP_NF_TARGET_NETMAP is not set
|
||||
# CONFIG_IP_NF_TARGET_SAME is not set
|
||||
CONFIG_IP_NF_NAT_SNMP_BASIC=m
|
||||
CONFIG_IP_NF_NAT_IRC=m
|
||||
CONFIG_IP_NF_NAT_FTP=m
|
||||
CONFIG_IP_NF_MANGLE=m
|
||||
CONFIG_IP_NF_TARGET_TOS=m
|
||||
# CONFIG_IP_NF_TARGET_ECN is not set
|
||||
# CONFIG_IP_NF_TARGET_DSCP is not set
|
||||
CONFIG_IP_NF_TARGET_MARK=m
|
||||
# CONFIG_IP_NF_TARGET_CLASSIFY is not set
|
||||
# CONFIG_IP_NF_RAW is not set
|
||||
CONFIG_IP_NF_ARPTABLES=m
|
||||
CONFIG_IP_NF_ARPFILTER=m
|
||||
# CONFIG_IP_NF_ARP_MANGLE is not set
|
||||
|
||||
#
|
||||
# Bridge: Netfilter Configuration
|
||||
#
|
||||
# CONFIG_BRIDGE_NF_EBTABLES is not set
|
||||
CONFIG_XFRM=y
|
||||
# CONFIG_XFRM_USER is not set
|
||||
|
||||
#
|
||||
# SCTP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_SCTP is not set
|
||||
CONFIG_ATM=y
|
||||
CONFIG_ATM_CLIP=y
|
||||
# CONFIG_ATM_CLIP_NO_ICMP is not set
|
||||
CONFIG_ATM_LANE=m
|
||||
CONFIG_ATM_MPOA=m
|
||||
CONFIG_ATM_BR2684=m
|
||||
# CONFIG_ATM_BR2684_IPFILTER is not set
|
||||
CONFIG_BRIDGE=m
|
||||
CONFIG_VLAN_8021Q=m
|
||||
# CONFIG_DECNET is not set
|
||||
CONFIG_LLC=m
|
||||
# CONFIG_LLC2 is not set
|
||||
CONFIG_IPX=m
|
||||
# CONFIG_IPX_INTERN is not set
|
||||
CONFIG_ATALK=m
|
||||
CONFIG_DEV_APPLETALK=y
|
||||
CONFIG_IPDDP=m
|
||||
CONFIG_IPDDP_ENCAP=y
|
||||
CONFIG_IPDDP_DECAP=y
|
||||
CONFIG_X25=m
|
||||
CONFIG_LAPB=m
|
||||
# CONFIG_NET_DIVERT is not set
|
||||
CONFIG_ECONET=m
|
||||
CONFIG_ECONET_AUNUDP=y
|
||||
CONFIG_ECONET_NATIVE=y
|
||||
CONFIG_WAN_ROUTER=m
|
||||
|
||||
#
|
||||
# QoS and/or fair queueing
|
||||
#
|
||||
CONFIG_NET_SCHED=y
|
||||
CONFIG_NET_SCH_CLK_JIFFIES=y
|
||||
# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
|
||||
# CONFIG_NET_SCH_CLK_CPU is not set
|
||||
CONFIG_NET_SCH_CBQ=m
|
||||
CONFIG_NET_SCH_HTB=m
|
||||
# CONFIG_NET_SCH_HFSC is not set
|
||||
# CONFIG_NET_SCH_ATM is not set
|
||||
CONFIG_NET_SCH_PRIO=m
|
||||
CONFIG_NET_SCH_RED=m
|
||||
CONFIG_NET_SCH_SFQ=m
|
||||
CONFIG_NET_SCH_TEQL=m
|
||||
CONFIG_NET_SCH_TBF=m
|
||||
CONFIG_NET_SCH_GRED=m
|
||||
CONFIG_NET_SCH_DSMARK=m
|
||||
# CONFIG_NET_SCH_NETEM is not set
|
||||
CONFIG_NET_SCH_INGRESS=m
|
||||
CONFIG_NET_QOS=y
|
||||
CONFIG_NET_ESTIMATOR=y
|
||||
CONFIG_NET_CLS=y
|
||||
# CONFIG_NET_CLS_BASIC is not set
|
||||
CONFIG_NET_CLS_TCINDEX=m
|
||||
CONFIG_NET_CLS_ROUTE4=m
|
||||
CONFIG_NET_CLS_ROUTE=y
|
||||
CONFIG_NET_CLS_FW=m
|
||||
CONFIG_NET_CLS_U32=m
|
||||
# CONFIG_CLS_U32_PERF is not set
|
||||
# CONFIG_NET_CLS_IND is not set
|
||||
# CONFIG_CLS_U32_MARK is not set
|
||||
CONFIG_NET_CLS_RSVP=m
|
||||
CONFIG_NET_CLS_RSVP6=m
|
||||
# CONFIG_NET_EMATCH is not set
|
||||
# CONFIG_NET_CLS_ACT is not set
|
||||
CONFIG_NET_CLS_POLICE=y
|
||||
|
||||
#
|
||||
# Network testing
|
||||
#
|
||||
CONFIG_NET_PKTGEN=m
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_DUMMY=y
|
||||
# CONFIG_BONDING is not set
|
||||
# CONFIG_EQUALIZER is not set
|
||||
# CONFIG_TUN is not set
|
||||
# CONFIG_ETHERTAP is not set
|
||||
|
||||
#
|
||||
# ARCnet devices
|
||||
#
|
||||
# CONFIG_ARCNET is not set
|
||||
|
||||
#
|
||||
# PHY device support
|
||||
#
|
||||
# CONFIG_PHYLIB is not set
|
||||
|
||||
#
|
||||
# Ethernet (10 or 100Mbit)
|
||||
#
|
||||
@ -635,6 +670,7 @@ CONFIG_MII=y
|
||||
# CONFIG_SUNGEM is not set
|
||||
# CONFIG_NET_VENDOR_3COM is not set
|
||||
# CONFIG_SMC91X is not set
|
||||
# CONFIG_DM9000 is not set
|
||||
|
||||
#
|
||||
# Tulip family network device support
|
||||
@ -671,13 +707,17 @@ CONFIG_EEPRO100=y
|
||||
# CONFIG_HAMACHI is not set
|
||||
# CONFIG_YELLOWFIN is not set
|
||||
# CONFIG_R8169 is not set
|
||||
# CONFIG_SIS190 is not set
|
||||
# CONFIG_SKGE is not set
|
||||
# CONFIG_SK98LIN is not set
|
||||
# CONFIG_VIA_VELOCITY is not set
|
||||
# CONFIG_TIGON3 is not set
|
||||
# CONFIG_BNX2 is not set
|
||||
|
||||
#
|
||||
# Ethernet (10000 Mbit)
|
||||
#
|
||||
# CONFIG_CHELSIO_T1 is not set
|
||||
# CONFIG_IXGB is not set
|
||||
# CONFIG_S2IO is not set
|
||||
|
||||
@ -702,6 +742,7 @@ CONFIG_NET_RADIO=y
|
||||
CONFIG_HERMES=y
|
||||
# CONFIG_PLX_HERMES is not set
|
||||
# CONFIG_TMD_HERMES is not set
|
||||
# CONFIG_NORTEL_HERMES is not set
|
||||
CONFIG_PCI_HERMES=y
|
||||
# CONFIG_ATMEL is not set
|
||||
|
||||
@ -709,6 +750,7 @@ CONFIG_PCI_HERMES=y
|
||||
# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
|
||||
#
|
||||
# CONFIG_PRISM54 is not set
|
||||
# CONFIG_HOSTAP is not set
|
||||
CONFIG_NET_WIRELESS=y
|
||||
|
||||
#
|
||||
@ -758,6 +800,8 @@ CONFIG_ATM_TCP=m
|
||||
# CONFIG_SLIP is not set
|
||||
# CONFIG_SHAPER is not set
|
||||
# CONFIG_NETCONSOLE is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
|
||||
#
|
||||
# ISDN subsystem
|
||||
@ -795,7 +839,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
|
||||
#
|
||||
# CONFIG_SERIO is not set
|
||||
# CONFIG_GAMEPORT is not set
|
||||
CONFIG_SOUND_GAMEPORT=y
|
||||
|
||||
#
|
||||
# Character devices
|
||||
@ -816,6 +859,7 @@ CONFIG_SERIAL_8250_NR_UARTS=2
|
||||
#
|
||||
CONFIG_SERIAL_CORE=y
|
||||
CONFIG_SERIAL_CORE_CONSOLE=y
|
||||
# CONFIG_SERIAL_JSM is not set
|
||||
CONFIG_UNIX98_PTYS=y
|
||||
CONFIG_LEGACY_PTYS=y
|
||||
CONFIG_LEGACY_PTY_COUNT=256
|
||||
@ -882,12 +926,11 @@ CONFIG_I2C_ALGOBIT=y
|
||||
# CONFIG_I2C_AMD8111 is not set
|
||||
# CONFIG_I2C_I801 is not set
|
||||
# CONFIG_I2C_I810 is not set
|
||||
# CONFIG_I2C_PIIX4 is not set
|
||||
# CONFIG_I2C_IOP3XX is not set
|
||||
# CONFIG_I2C_ISA is not set
|
||||
CONFIG_I2C_IXP4XX=y
|
||||
# CONFIG_I2C_NFORCE2 is not set
|
||||
# CONFIG_I2C_PARPORT_LIGHT is not set
|
||||
# CONFIG_I2C_PIIX4 is not set
|
||||
# CONFIG_I2C_PROSAVAGE is not set
|
||||
# CONFIG_I2C_SAVAGE4 is not set
|
||||
# CONFIG_SCx200_ACB is not set
|
||||
@ -901,14 +944,33 @@ CONFIG_I2C_IXP4XX=y
|
||||
# CONFIG_I2C_PCA_ISA is not set
|
||||
|
||||
#
|
||||
# Hardware Sensors Chip support
|
||||
# Miscellaneous I2C Chip support
|
||||
#
|
||||
CONFIG_I2C_SENSOR=y
|
||||
# CONFIG_SENSORS_DS1337 is not set
|
||||
# CONFIG_SENSORS_DS1374 is not set
|
||||
CONFIG_SENSORS_EEPROM=y
|
||||
# CONFIG_SENSORS_PCF8574 is not set
|
||||
# CONFIG_SENSORS_PCA9539 is not set
|
||||
# CONFIG_SENSORS_PCF8591 is not set
|
||||
# CONFIG_SENSORS_RTC8564 is not set
|
||||
# CONFIG_SENSORS_MAX6875 is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
# CONFIG_I2C_DEBUG_CHIP is not set
|
||||
|
||||
#
|
||||
# Hardware Monitoring support
|
||||
#
|
||||
CONFIG_HWMON=y
|
||||
# CONFIG_HWMON_VID is not set
|
||||
# CONFIG_SENSORS_ADM1021 is not set
|
||||
# CONFIG_SENSORS_ADM1025 is not set
|
||||
# CONFIG_SENSORS_ADM1026 is not set
|
||||
# CONFIG_SENSORS_ADM1031 is not set
|
||||
# CONFIG_SENSORS_ADM9240 is not set
|
||||
# CONFIG_SENSORS_ASB100 is not set
|
||||
# CONFIG_SENSORS_ATXP1 is not set
|
||||
# CONFIG_SENSORS_DS1621 is not set
|
||||
# CONFIG_SENSORS_FSCHER is not set
|
||||
# CONFIG_SENSORS_FSCPOS is not set
|
||||
@ -924,32 +986,28 @@ CONFIG_I2C_SENSOR=y
|
||||
# CONFIG_SENSORS_LM85 is not set
|
||||
# CONFIG_SENSORS_LM87 is not set
|
||||
# CONFIG_SENSORS_LM90 is not set
|
||||
# CONFIG_SENSORS_LM92 is not set
|
||||
# CONFIG_SENSORS_MAX1619 is not set
|
||||
# CONFIG_SENSORS_PC87360 is not set
|
||||
# CONFIG_SENSORS_SMSC47B397 is not set
|
||||
# CONFIG_SENSORS_SIS5595 is not set
|
||||
# CONFIG_SENSORS_SMSC47M1 is not set
|
||||
# CONFIG_SENSORS_SMSC47B397 is not set
|
||||
# CONFIG_SENSORS_VIA686A is not set
|
||||
# CONFIG_SENSORS_W83781D is not set
|
||||
# CONFIG_SENSORS_W83792D is not set
|
||||
# CONFIG_SENSORS_W83L785TS is not set
|
||||
# CONFIG_SENSORS_W83627HF is not set
|
||||
|
||||
#
|
||||
# Other I2C Chip support
|
||||
#
|
||||
CONFIG_SENSORS_EEPROM=y
|
||||
# CONFIG_SENSORS_PCF8574 is not set
|
||||
# CONFIG_SENSORS_PCF8591 is not set
|
||||
# CONFIG_SENSORS_RTC8564 is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
# CONFIG_I2C_DEBUG_CHIP is not set
|
||||
# CONFIG_SENSORS_W83627EHF is not set
|
||||
# CONFIG_HWMON_DEBUG_CHIP is not set
|
||||
|
||||
#
|
||||
# Misc devices
|
||||
#
|
||||
|
||||
#
|
||||
# Multimedia Capabilities Port drivers
|
||||
#
|
||||
|
||||
#
|
||||
# Multimedia devices
|
||||
#
|
||||
@ -994,6 +1052,7 @@ CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT2_FS_XATTR=y
|
||||
CONFIG_EXT2_FS_POSIX_ACL=y
|
||||
# CONFIG_EXT2_FS_SECURITY is not set
|
||||
# CONFIG_EXT2_FS_XIP is not set
|
||||
CONFIG_EXT3_FS=y
|
||||
CONFIG_EXT3_FS_XATTR=y
|
||||
CONFIG_EXT3_FS_POSIX_ACL=y
|
||||
@ -1004,17 +1063,15 @@ CONFIG_FS_MBCACHE=y
|
||||
# CONFIG_REISERFS_FS is not set
|
||||
# CONFIG_JFS_FS is not set
|
||||
CONFIG_FS_POSIX_ACL=y
|
||||
|
||||
#
|
||||
# XFS support
|
||||
#
|
||||
# CONFIG_XFS_FS is not set
|
||||
# CONFIG_MINIX_FS is not set
|
||||
# CONFIG_ROMFS_FS is not set
|
||||
CONFIG_INOTIFY=y
|
||||
# CONFIG_QUOTA is not set
|
||||
CONFIG_DNOTIFY=y
|
||||
# CONFIG_AUTOFS_FS is not set
|
||||
# CONFIG_AUTOFS4_FS is not set
|
||||
# CONFIG_FUSE_FS is not set
|
||||
|
||||
#
|
||||
# CD-ROM/DVD Filesystems
|
||||
@ -1034,12 +1091,10 @@ CONFIG_DNOTIFY=y
|
||||
#
|
||||
CONFIG_PROC_FS=y
|
||||
CONFIG_SYSFS=y
|
||||
# CONFIG_DEVFS_FS is not set
|
||||
# CONFIG_DEVPTS_FS_XATTR is not set
|
||||
CONFIG_TMPFS=y
|
||||
# CONFIG_TMPFS_XATTR is not set
|
||||
# CONFIG_HUGETLB_PAGE is not set
|
||||
CONFIG_RAMFS=y
|
||||
# CONFIG_RELAYFS_FS is not set
|
||||
|
||||
#
|
||||
# Miscellaneous filesystems
|
||||
@ -1054,8 +1109,7 @@ CONFIG_RAMFS=y
|
||||
# CONFIG_JFFS_FS is not set
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_JFFS2_FS_DEBUG=0
|
||||
# CONFIG_JFFS2_FS_NAND is not set
|
||||
# CONFIG_JFFS2_FS_NOR_ECC is not set
|
||||
CONFIG_JFFS2_FS_WRITEBUFFER=y
|
||||
# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
|
||||
CONFIG_JFFS2_ZLIB=y
|
||||
CONFIG_JFFS2_RTIME=y
|
||||
@ -1072,12 +1126,14 @@ CONFIG_JFFS2_RTIME=y
|
||||
#
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3=y
|
||||
# CONFIG_NFS_V3_ACL is not set
|
||||
# CONFIG_NFS_V4 is not set
|
||||
# CONFIG_NFS_DIRECTIO is not set
|
||||
# CONFIG_NFSD is not set
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_LOCKD=y
|
||||
CONFIG_LOCKD_V4=y
|
||||
CONFIG_NFS_COMMON=y
|
||||
CONFIG_SUNRPC=y
|
||||
# CONFIG_RPCSEC_GSS_KRB5 is not set
|
||||
# CONFIG_RPCSEC_GSS_SPKM3 is not set
|
||||
@ -1086,6 +1142,7 @@ CONFIG_SUNRPC=y
|
||||
# CONFIG_NCP_FS is not set
|
||||
# CONFIG_CODA_FS is not set
|
||||
# CONFIG_AFS_FS is not set
|
||||
# CONFIG_9P_FS is not set
|
||||
|
||||
#
|
||||
# Partition Types
|
||||
@ -1124,6 +1181,7 @@ CONFIG_MSDOS_PARTITION=y
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_DETECT_SOFTLOCKUP=y
|
||||
# CONFIG_SCHEDSTATS is not set
|
||||
# CONFIG_DEBUG_SLAB is not set
|
||||
# CONFIG_DEBUG_SPINLOCK is not set
|
||||
@ -1158,6 +1216,7 @@ CONFIG_DEBUG_LL=y
|
||||
# Library routines
|
||||
#
|
||||
# CONFIG_CRC_CCITT is not set
|
||||
# CONFIG_CRC16 is not set
|
||||
CONFIG_CRC32=y
|
||||
# CONFIG_LIBCRC32C is not set
|
||||
CONFIG_ZLIB_INFLATE=y
|
||||
|
@ -131,7 +131,7 @@ __syscall_start:
|
||||
.long sys_wait4
|
||||
/* 115 */ .long sys_swapoff
|
||||
.long sys_sysinfo
|
||||
.long sys_ipc
|
||||
.long sys_ipc_wrapper
|
||||
.long sys_fsync
|
||||
.long sys_sigreturn_wrapper
|
||||
/* 120 */ .long sys_clone_wrapper
|
||||
|
@ -537,7 +537,7 @@ ENTRY(__switch_to)
|
||||
#ifdef CONFIG_CPU_MPCORE
|
||||
clrex
|
||||
#else
|
||||
strex r3, r4, [ip] @ Clear exclusive monitor
|
||||
strex r5, r4, [ip] @ Clear exclusive monitor
|
||||
#endif
|
||||
#endif
|
||||
#if defined(CONFIG_CPU_XSCALE) && !defined(CONFIG_IWMMXT)
|
||||
|
@ -273,6 +273,10 @@ sys_mbind_wrapper:
|
||||
str r5, [sp, #4]
|
||||
b sys_mbind
|
||||
|
||||
sys_ipc_wrapper:
|
||||
str r5, [sp, #4] @ push sixth arg
|
||||
b sys_ipc
|
||||
|
||||
/*
|
||||
* Note: off_4k (r5) is always units of 4K. If we can't do the requested
|
||||
* offset, we return EINVAL.
|
||||
|
@ -7,7 +7,7 @@
|
||||
* Copy data from IO memory space to "real" memory space.
|
||||
* This needs to be optimized.
|
||||
*/
|
||||
void _memcpy_fromio(void *to, void __iomem *from, size_t count)
|
||||
void _memcpy_fromio(void *to, const volatile void __iomem *from, size_t count)
|
||||
{
|
||||
unsigned char *t = to;
|
||||
while (count) {
|
||||
@ -22,7 +22,7 @@ void _memcpy_fromio(void *to, void __iomem *from, size_t count)
|
||||
* Copy data from "real" memory space to IO memory space.
|
||||
* This needs to be optimized.
|
||||
*/
|
||||
void _memcpy_toio(void __iomem *to, const void *from, size_t count)
|
||||
void _memcpy_toio(volatile void __iomem *to, const void *from, size_t count)
|
||||
{
|
||||
const unsigned char *f = from;
|
||||
while (count) {
|
||||
@ -37,7 +37,7 @@ void _memcpy_toio(void __iomem *to, const void *from, size_t count)
|
||||
* "memset" on IO memory space.
|
||||
* This needs to be optimized.
|
||||
*/
|
||||
void _memset_io(void __iomem *dst, int c, size_t count)
|
||||
void _memset_io(volatile void __iomem *dst, int c, size_t count)
|
||||
{
|
||||
while (count) {
|
||||
count--;
|
||||
|
@ -178,7 +178,7 @@ int __down_trylock(struct semaphore * sem)
|
||||
* registers (r0 to r3 and lr), but not ip, as we use it as a return
|
||||
* value in some cases..
|
||||
*/
|
||||
asm(" .section .sched.text,\"ax\" \n\
|
||||
asm(" .section .sched.text,\"ax\",%progbits \n\
|
||||
.align 5 \n\
|
||||
.globl __down_failed \n\
|
||||
__down_failed: \n\
|
||||
|
@ -624,6 +624,9 @@ void __attribute__((noreturn)) __bug(const char *file, int line, void *data)
|
||||
printk(" - extra data = %p", data);
|
||||
printk("\n");
|
||||
*(int *)0 = 0;
|
||||
|
||||
/* Avoid "noreturn function does return" */
|
||||
for (;;);
|
||||
}
|
||||
EXPORT_SYMBOL(__bug);
|
||||
|
||||
|
@ -23,20 +23,20 @@ SECTIONS
|
||||
*(.init.text)
|
||||
_einittext = .;
|
||||
__proc_info_begin = .;
|
||||
*(.proc.info)
|
||||
*(.proc.info.init)
|
||||
__proc_info_end = .;
|
||||
__arch_info_begin = .;
|
||||
*(.arch.info)
|
||||
*(.arch.info.init)
|
||||
__arch_info_end = .;
|
||||
__tagtable_begin = .;
|
||||
*(.taglist)
|
||||
*(.taglist.init)
|
||||
__tagtable_end = .;
|
||||
. = ALIGN(16);
|
||||
__setup_start = .;
|
||||
*(.init.setup)
|
||||
__setup_end = .;
|
||||
__early_begin = .;
|
||||
*(__early_param)
|
||||
*(.early_param.init)
|
||||
__early_end = .;
|
||||
__initcall_start = .;
|
||||
*(.initcall1.init)
|
||||
|
@ -31,6 +31,8 @@
|
||||
|
||||
#include <asm/mach/arch.h>
|
||||
|
||||
#include <asm/memory.h>
|
||||
|
||||
#include "common.h"
|
||||
|
||||
struct meminfo memmap = {
|
||||
|
@ -17,7 +17,6 @@
|
||||
#include <asm/system.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/leds.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include "leds.h"
|
||||
|
||||
/*
|
||||
|
@ -27,7 +27,6 @@ unsigned long iop3xx_pcibios_min_mem = 0;
|
||||
/*
|
||||
* Default power-off for EP80219
|
||||
*/
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
static inline void ep80219_send_to_pic(__u8 c) {
|
||||
}
|
||||
|
@ -23,7 +23,6 @@
|
||||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/irq.h>
|
||||
#include <asm/mach/time.h>
|
||||
|
||||
|
@ -23,7 +23,6 @@
|
||||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/irq.h>
|
||||
#include <asm/mach/time.h>
|
||||
|
||||
|
@ -21,7 +21,6 @@
|
||||
#include <asm/page.h>
|
||||
|
||||
#include <asm/mach/map.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
|
||||
/*
|
||||
|
@ -21,7 +21,6 @@
|
||||
#include <asm/page.h>
|
||||
|
||||
#include <asm/mach/map.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
|
||||
/*
|
||||
|
@ -21,7 +21,6 @@
|
||||
#include <asm/page.h>
|
||||
|
||||
#include <asm/mach/map.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
|
||||
/*
|
||||
|
@ -21,7 +21,6 @@
|
||||
#include <asm/page.h>
|
||||
|
||||
#include <asm/mach/map.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
|
||||
/*
|
||||
|
@ -30,7 +30,6 @@
|
||||
#include <asm/setup.h>
|
||||
#include <asm/memory.h>
|
||||
#include <asm/hardware.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/system.h>
|
||||
#include <asm/tlbflush.h>
|
||||
@ -168,7 +167,7 @@ static struct plat_serial8250_port ixp2000_serial_port[] = {
|
||||
|
||||
static struct resource ixp2000_uart_resource = {
|
||||
.start = IXP2000_UART_PHYS_BASE,
|
||||
.end = IXP2000_UART_PHYS_BASE + 0xffff,
|
||||
.end = IXP2000_UART_PHYS_BASE + 0x1f,
|
||||
.flags = IORESOURCE_MEM,
|
||||
};
|
||||
|
||||
|
@ -28,7 +28,6 @@
|
||||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/system.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/hardware.h>
|
||||
|
||||
#include <asm/mach/pci.h>
|
||||
|
@ -125,7 +125,8 @@ static int ixp4xx_set_irq_type(unsigned int irq, unsigned int type)
|
||||
} else if (type & IRQT_LOW) {
|
||||
int_style = IXP4XX_GPIO_STYLE_ACTIVE_LOW;
|
||||
irq_type = IXP4XX_IRQ_LEVEL;
|
||||
}
|
||||
} else
|
||||
return -EINVAL;
|
||||
|
||||
ixp4xx_config_irq(irq, irq_type);
|
||||
|
||||
@ -142,6 +143,8 @@ static int ixp4xx_set_irq_type(unsigned int irq, unsigned int type)
|
||||
|
||||
/* Set the new style */
|
||||
*int_reg |= (int_style << (line * IXP4XX_GPIO_STYLE_SIZE));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void ixp4xx_irq_mask(unsigned int irq)
|
||||
|
@ -123,6 +123,7 @@ static void __init ixdp425_init(void)
|
||||
platform_add_devices(ixdp425_devices, ARRAY_SIZE(ixdp425_devices));
|
||||
}
|
||||
|
||||
#ifdef CONFIG_ARCH_IXDP425
|
||||
MACHINE_START(IXDP425, "Intel IXDP425 Development Platform")
|
||||
/* Maintainer: MontaVista Software, Inc. */
|
||||
.phys_ram = PHYS_OFFSET,
|
||||
@ -134,7 +135,9 @@ MACHINE_START(IXDP425, "Intel IXDP425 Development Platform")
|
||||
.boot_params = 0x0100,
|
||||
.init_machine = ixdp425_init,
|
||||
MACHINE_END
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MACH_IXDP465
|
||||
MACHINE_START(IXDP465, "Intel IXDP465 Development Platform")
|
||||
/* Maintainer: MontaVista Software, Inc. */
|
||||
.phys_ram = PHYS_OFFSET,
|
||||
@ -146,7 +149,9 @@ MACHINE_START(IXDP465, "Intel IXDP465 Development Platform")
|
||||
.boot_params = 0x0100,
|
||||
.init_machine = ixdp425_init,
|
||||
MACHINE_END
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ARCH_PRPMC1100
|
||||
MACHINE_START(IXCDP1100, "Intel IXCDP1100 Development Platform")
|
||||
/* Maintainer: MontaVista Software, Inc. */
|
||||
.phys_ram = PHYS_OFFSET,
|
||||
@ -158,6 +163,7 @@ MACHINE_START(IXCDP1100, "Intel IXCDP1100 Development Platform")
|
||||
.boot_params = 0x0100,
|
||||
.init_machine = ixdp425_init,
|
||||
MACHINE_END
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Avila is functionally equivalent to IXDP425 except that it adds
|
||||
|
@ -12,7 +12,6 @@
|
||||
#include <asm/page.h>
|
||||
|
||||
#include <asm/mach/map.h>
|
||||
#include <asm/arch/hardware.h>
|
||||
|
||||
/*
|
||||
* IRQ base register
|
||||
|
@ -20,40 +20,66 @@ config ARCH_PXA_IDP
|
||||
select PXA25x
|
||||
|
||||
config PXA_SHARPSL
|
||||
bool "SHARP SL-5600 and SL-C7xx Models"
|
||||
select PXA25x
|
||||
bool "SHARP Zaurus SL-5600, SL-C7xx and SL-Cxx00 Models"
|
||||
select SHARP_SCOOP
|
||||
select SHARP_PARAM
|
||||
help
|
||||
Say Y here if you intend to run this kernel on a
|
||||
Sharp SL-5600 (Poodle), Sharp SL-C700 (Corgi),
|
||||
SL-C750 (Shepherd) or a Sharp SL-C760 (Husky)
|
||||
handheld computer.
|
||||
Sharp Zaurus SL-5600 (Poodle), SL-C700 (Corgi),
|
||||
SL-C750 (Shepherd), SL-C760 (Husky), SL-C1000 (Akita),
|
||||
SL-C3000 (Spitz) or SL-C3100 (Borzoi) handheld computer.
|
||||
|
||||
endchoice
|
||||
|
||||
if PXA_SHARPSL
|
||||
|
||||
choice
|
||||
prompt "Select target Sharp Zaurus device range"
|
||||
|
||||
config PXA_SHARPSL_25x
|
||||
bool "Sharp PXA25x models (SL-5600 and SL-C7xx)"
|
||||
select PXA25x
|
||||
|
||||
config PXA_SHARPSL_27x
|
||||
bool "Sharp PXA270 models (SL-Cxx00)"
|
||||
select PXA27x
|
||||
|
||||
endchoice
|
||||
|
||||
endif
|
||||
|
||||
endmenu
|
||||
|
||||
config MACH_POODLE
|
||||
bool "Enable Sharp SL-5600 (Poodle) Support"
|
||||
depends PXA_SHARPSL
|
||||
depends PXA_SHARPSL_25x
|
||||
select SHARP_LOCOMO
|
||||
|
||||
config MACH_CORGI
|
||||
bool "Enable Sharp SL-C700 (Corgi) Support"
|
||||
depends PXA_SHARPSL
|
||||
depends PXA_SHARPSL_25x
|
||||
select PXA_SHARP_C7xx
|
||||
|
||||
config MACH_SHEPHERD
|
||||
bool "Enable Sharp SL-C750 (Shepherd) Support"
|
||||
depends PXA_SHARPSL
|
||||
depends PXA_SHARPSL_25x
|
||||
select PXA_SHARP_C7xx
|
||||
|
||||
config MACH_HUSKY
|
||||
bool "Enable Sharp SL-C760 (Husky) Support"
|
||||
depends PXA_SHARPSL
|
||||
depends PXA_SHARPSL_25x
|
||||
select PXA_SHARP_C7xx
|
||||
|
||||
config MACH_SPITZ
|
||||
bool "Enable Sharp Zaurus SL-3000 (Spitz) Support"
|
||||
depends PXA_SHARPSL_27x
|
||||
select PXA_SHARP_Cxx00
|
||||
|
||||
config MACH_BORZOI
|
||||
bool "Enable Sharp Zaurus SL-3100 (Borzoi) Support"
|
||||
depends PXA_SHARPSL_27x
|
||||
select PXA_SHARP_Cxx00
|
||||
|
||||
config PXA25x
|
||||
bool
|
||||
help
|
||||
@ -74,4 +100,9 @@ config PXA_SHARP_C7xx
|
||||
help
|
||||
Enable support for all Sharp C7xx models
|
||||
|
||||
config PXA_SHARP_Cxx00
|
||||
bool
|
||||
help
|
||||
Enable common support for Sharp Cxx00 models
|
||||
|
||||
endif
|
||||
|
@ -12,6 +12,7 @@ obj-$(CONFIG_ARCH_LUBBOCK) += lubbock.o
|
||||
obj-$(CONFIG_MACH_MAINSTONE) += mainstone.o
|
||||
obj-$(CONFIG_ARCH_PXA_IDP) += idp.o
|
||||
obj-$(CONFIG_PXA_SHARP_C7xx) += corgi.o corgi_ssp.o corgi_lcd.o ssp.o
|
||||
obj-$(CONFIG_PXA_SHARP_Cxx00) += spitz.o corgi_ssp.o corgi_lcd.o ssp.o
|
||||
obj-$(CONFIG_MACH_POODLE) += poodle.o
|
||||
|
||||
# Support for blinky lights
|
||||
|
@ -41,6 +41,7 @@
|
||||
#include <asm/hardware/scoop.h>
|
||||
|
||||
#include "generic.h"
|
||||
#include "sharpsl.h"
|
||||
|
||||
|
||||
/*
|
||||
@ -94,14 +95,30 @@ struct platform_device corgissp_device = {
|
||||
.id = -1,
|
||||
};
|
||||
|
||||
struct corgissp_machinfo corgi_ssp_machinfo = {
|
||||
.port = 1,
|
||||
.cs_lcdcon = CORGI_GPIO_LCDCON_CS,
|
||||
.cs_ads7846 = CORGI_GPIO_ADS7846_CS,
|
||||
.cs_max1111 = CORGI_GPIO_MAX1111_CS,
|
||||
.clk_lcdcon = 76,
|
||||
.clk_ads7846 = 2,
|
||||
.clk_max1111 = 8,
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Corgi Backlight Device
|
||||
*/
|
||||
static struct corgibl_machinfo corgi_bl_machinfo = {
|
||||
.max_intensity = 0x2f,
|
||||
.set_bl_intensity = corgi_bl_set_intensity,
|
||||
};
|
||||
|
||||
static struct platform_device corgibl_device = {
|
||||
.name = "corgi-bl",
|
||||
.dev = {
|
||||
.parent = &corgifb_device.dev,
|
||||
.platform_data = &corgi_bl_machinfo,
|
||||
},
|
||||
.id = -1,
|
||||
};
|
||||
@ -119,12 +136,29 @@ static struct platform_device corgikbd_device = {
|
||||
/*
|
||||
* Corgi Touch Screen Device
|
||||
*/
|
||||
static struct resource corgits_resources[] = {
|
||||
[0] = {
|
||||
.start = CORGI_IRQ_GPIO_TP_INT,
|
||||
.end = CORGI_IRQ_GPIO_TP_INT,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
};
|
||||
|
||||
static struct corgits_machinfo corgi_ts_machinfo = {
|
||||
.get_hsync_len = corgi_get_hsync_len,
|
||||
.put_hsync = corgi_put_hsync,
|
||||
.wait_hsync = corgi_wait_hsync,
|
||||
};
|
||||
|
||||
static struct platform_device corgits_device = {
|
||||
.name = "corgi-ts",
|
||||
.dev = {
|
||||
.parent = &corgissp_device.dev,
|
||||
.platform_data = &corgi_ts_machinfo,
|
||||
},
|
||||
.id = -1,
|
||||
.num_resources = ARRAY_SIZE(corgits_resources),
|
||||
.resource = corgits_resources,
|
||||
};
|
||||
|
||||
|
||||
@ -164,13 +198,10 @@ static void corgi_mci_setpower(struct device *dev, unsigned int vdd)
|
||||
{
|
||||
struct pxamci_platform_data* p_d = dev->platform_data;
|
||||
|
||||
if (( 1 << vdd) & p_d->ocr_mask) {
|
||||
printk(KERN_DEBUG "%s: on\n", __FUNCTION__);
|
||||
if (( 1 << vdd) & p_d->ocr_mask)
|
||||
GPSR1 = GPIO_bit(CORGI_GPIO_SD_PWR);
|
||||
} else {
|
||||
printk(KERN_DEBUG "%s: off\n", __FUNCTION__);
|
||||
else
|
||||
GPCR1 = GPIO_bit(CORGI_GPIO_SD_PWR);
|
||||
}
|
||||
}
|
||||
|
||||
static int corgi_mci_get_ro(struct device *dev)
|
||||
@ -225,7 +256,20 @@ static struct platform_device *devices[] __initdata = {
|
||||
|
||||
static void __init corgi_init(void)
|
||||
{
|
||||
/* setup sleep mode values */
|
||||
PWER = 0x00000002;
|
||||
PFER = 0x00000000;
|
||||
PRER = 0x00000002;
|
||||
PGSR0 = 0x0158C000;
|
||||
PGSR1 = 0x00FF0080;
|
||||
PGSR2 = 0x0001C004;
|
||||
/* Stop 3.6MHz and drive HIGH to PCMCIA and CS */
|
||||
PCFR |= PCFR_OPDE;
|
||||
|
||||
corgi_ssp_set_machinfo(&corgi_ssp_machinfo);
|
||||
|
||||
pxa_gpio_mode(CORGI_GPIO_USB_PULLUP | GPIO_OUT);
|
||||
pxa_gpio_mode(CORGI_GPIO_HSYNC | GPIO_IN);
|
||||
pxa_set_udc_info(&udc_info);
|
||||
pxa_set_mci_info(&corgi_mci_platform_data);
|
||||
|
||||
@ -248,42 +292,14 @@ static void __init fixup_corgi(struct machine_desc *desc,
|
||||
mi->bank[0].size = (64*1024*1024);
|
||||
}
|
||||
|
||||
static void __init corgi_init_irq(void)
|
||||
{
|
||||
pxa_init_irq();
|
||||
}
|
||||
|
||||
static struct map_desc corgi_io_desc[] __initdata = {
|
||||
/* virtual physical length */
|
||||
/* { 0xf1000000, 0x08000000, 0x01000000, MT_DEVICE },*/ /* LCDC (readable for Qt driver) */
|
||||
/* { 0xef700000, 0x10800000, 0x00001000, MT_DEVICE },*/ /* SCOOP */
|
||||
{ 0xef800000, 0x00000000, 0x00800000, MT_DEVICE }, /* Boot Flash */
|
||||
};
|
||||
|
||||
static void __init corgi_map_io(void)
|
||||
{
|
||||
pxa_map_io();
|
||||
iotable_init(corgi_io_desc,ARRAY_SIZE(corgi_io_desc));
|
||||
|
||||
/* setup sleep mode values */
|
||||
PWER = 0x00000002;
|
||||
PFER = 0x00000000;
|
||||
PRER = 0x00000002;
|
||||
PGSR0 = 0x0158C000;
|
||||
PGSR1 = 0x00FF0080;
|
||||
PGSR2 = 0x0001C004;
|
||||
/* Stop 3.6MHz and drive HIGH to PCMCIA and CS */
|
||||
PCFR |= PCFR_OPDE;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_MACH_CORGI
|
||||
MACHINE_START(CORGI, "SHARP Corgi")
|
||||
.phys_ram = 0xa0000000,
|
||||
.phys_io = 0x40000000,
|
||||
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
|
||||
.fixup = fixup_corgi,
|
||||
.map_io = corgi_map_io,
|
||||
.init_irq = corgi_init_irq,
|
||||
.map_io = pxa_map_io,
|
||||
.init_irq = pxa_init_irq,
|
||||
.init_machine = corgi_init,
|
||||
.timer = &pxa_timer,
|
||||
MACHINE_END
|
||||
@ -295,8 +311,8 @@ MACHINE_START(SHEPHERD, "SHARP Shepherd")
|
||||
.phys_io = 0x40000000,
|
||||
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
|
||||
.fixup = fixup_corgi,
|
||||
.map_io = corgi_map_io,
|
||||
.init_irq = corgi_init_irq,
|
||||
.map_io = pxa_map_io,
|
||||
.init_irq = pxa_init_irq,
|
||||
.init_machine = corgi_init,
|
||||
.timer = &pxa_timer,
|
||||
MACHINE_END
|
||||
@ -308,8 +324,8 @@ MACHINE_START(HUSKY, "SHARP Husky")
|
||||
.phys_io = 0x40000000,
|
||||
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
|
||||
.fixup = fixup_corgi,
|
||||
.map_io = corgi_map_io,
|
||||
.init_irq = corgi_init_irq,
|
||||
.map_io = pxa_map_io,
|
||||
.init_irq = pxa_init_irq,
|
||||
.init_machine = corgi_init,
|
||||
.timer = &pxa_timer,
|
||||
MACHINE_END
|
||||
|
@ -1,10 +1,14 @@
|
||||
/*
|
||||
* linux/drivers/video/w100fb.c
|
||||
*
|
||||
* Corgi LCD Specific Code for ATI Imageon w100 (Wallaby)
|
||||
* Corgi/Spitz LCD Specific Code
|
||||
*
|
||||
* Copyright (C) 2005 Richard Purdie
|
||||
*
|
||||
* Connectivity:
|
||||
* Corgi - LCD to ATI Imageon w100 (Wallaby)
|
||||
* Spitz - LCD to PXA Framebuffer
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
@ -14,9 +18,16 @@
|
||||
#include <linux/delay.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/module.h>
|
||||
#include <asm/arch/akita.h>
|
||||
#include <asm/arch/corgi.h>
|
||||
#include <asm/arch/hardware.h>
|
||||
#include <asm/arch/pxa-regs.h>
|
||||
#include <asm/arch/sharpsl.h>
|
||||
#include <asm/arch/spitz.h>
|
||||
#include <asm/hardware/scoop.h>
|
||||
#include <asm/mach/sharpsl_param.h>
|
||||
#include <video/w100fb.h>
|
||||
#include "generic.h"
|
||||
|
||||
/* Register Addresses */
|
||||
#define RESCTL_ADRS 0x00
|
||||
@ -134,10 +145,10 @@ static void lcdtg_set_common_voltage(u8 base_data, u8 data)
|
||||
}
|
||||
|
||||
/* Set Phase Adjuct */
|
||||
static void lcdtg_set_phadadj(struct w100fb_par *par)
|
||||
static void lcdtg_set_phadadj(int mode)
|
||||
{
|
||||
int adj;
|
||||
switch(par->xres) {
|
||||
switch(mode) {
|
||||
case 480:
|
||||
case 640:
|
||||
/* Setting for VGA */
|
||||
@ -161,7 +172,7 @@ static void lcdtg_set_phadadj(struct w100fb_par *par)
|
||||
|
||||
static int lcd_inited;
|
||||
|
||||
static void lcdtg_hw_init(struct w100fb_par *par)
|
||||
static void lcdtg_hw_init(int mode)
|
||||
{
|
||||
if (!lcd_inited) {
|
||||
int comadj;
|
||||
@ -215,7 +226,7 @@ static void lcdtg_hw_init(struct w100fb_par *par)
|
||||
corgi_ssp_lcdtg_send(PICTRL_ADRS, 0);
|
||||
|
||||
/* Set Phase Adjuct */
|
||||
lcdtg_set_phadadj(par);
|
||||
lcdtg_set_phadadj(mode);
|
||||
|
||||
/* Initialize for Input Signals from ATI */
|
||||
corgi_ssp_lcdtg_send(POLCTRL_ADRS, POLCTRL_SYNC_POL_RISE | POLCTRL_EN_POL_RISE
|
||||
@ -224,10 +235,10 @@ static void lcdtg_hw_init(struct w100fb_par *par)
|
||||
|
||||
lcd_inited=1;
|
||||
} else {
|
||||
lcdtg_set_phadadj(par);
|
||||
lcdtg_set_phadadj(mode);
|
||||
}
|
||||
|
||||
switch(par->xres) {
|
||||
switch(mode) {
|
||||
case 480:
|
||||
case 640:
|
||||
/* Set Lcd Resolution (VGA) */
|
||||
@ -242,7 +253,7 @@ static void lcdtg_hw_init(struct w100fb_par *par)
|
||||
}
|
||||
}
|
||||
|
||||
static void lcdtg_suspend(struct w100fb_par *par)
|
||||
static void lcdtg_suspend(void)
|
||||
{
|
||||
/* 60Hz x 2 frame = 16.7msec x 2 = 33.4 msec */
|
||||
mdelay(34);
|
||||
@ -276,15 +287,30 @@ static void lcdtg_suspend(struct w100fb_par *par)
|
||||
lcd_inited = 0;
|
||||
}
|
||||
|
||||
static struct w100_tg_info corgi_lcdtg_info = {
|
||||
.change=lcdtg_hw_init,
|
||||
.suspend=lcdtg_suspend,
|
||||
.resume=lcdtg_hw_init,
|
||||
};
|
||||
|
||||
/*
|
||||
* Corgi w100 Frame Buffer Device
|
||||
*/
|
||||
#ifdef CONFIG_PXA_SHARP_C7xx
|
||||
|
||||
#include <video/w100fb.h>
|
||||
|
||||
static void w100_lcdtg_suspend(struct w100fb_par *par)
|
||||
{
|
||||
lcdtg_suspend();
|
||||
}
|
||||
|
||||
static void w100_lcdtg_init(struct w100fb_par *par)
|
||||
{
|
||||
lcdtg_hw_init(par->xres);
|
||||
}
|
||||
|
||||
|
||||
static struct w100_tg_info corgi_lcdtg_info = {
|
||||
.change = w100_lcdtg_init,
|
||||
.suspend = w100_lcdtg_suspend,
|
||||
.resume = w100_lcdtg_init,
|
||||
};
|
||||
|
||||
static struct w100_mem_info corgi_fb_mem = {
|
||||
.ext_cntl = 0x00040003,
|
||||
@ -394,3 +420,145 @@ struct platform_device corgifb_device = {
|
||||
},
|
||||
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Spitz PXA Frame Buffer Device
|
||||
*/
|
||||
#ifdef CONFIG_PXA_SHARP_Cxx00
|
||||
|
||||
#include <asm/arch/pxafb.h>
|
||||
|
||||
void spitz_lcd_power(int on)
|
||||
{
|
||||
if (on)
|
||||
lcdtg_hw_init(480);
|
||||
else
|
||||
lcdtg_suspend();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Corgi/Spitz Touchscreen to LCD interface
|
||||
*/
|
||||
static unsigned long (*get_hsync_time)(struct device *dev);
|
||||
|
||||
static void inline sharpsl_wait_sync(int gpio)
|
||||
{
|
||||
while((GPLR(gpio) & GPIO_bit(gpio)) == 0);
|
||||
while((GPLR(gpio) & GPIO_bit(gpio)) != 0);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PXA_SHARP_C7xx
|
||||
unsigned long corgi_get_hsync_len(void)
|
||||
{
|
||||
if (!get_hsync_time)
|
||||
get_hsync_time = symbol_get(w100fb_get_hsynclen);
|
||||
if (!get_hsync_time)
|
||||
return 0;
|
||||
|
||||
return get_hsync_time(&corgifb_device.dev);
|
||||
}
|
||||
|
||||
void corgi_put_hsync(void)
|
||||
{
|
||||
if (get_hsync_time)
|
||||
symbol_put(w100fb_get_hsynclen);
|
||||
}
|
||||
|
||||
void corgi_wait_hsync(void)
|
||||
{
|
||||
sharpsl_wait_sync(CORGI_GPIO_HSYNC);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PXA_SHARP_Cxx00
|
||||
unsigned long spitz_get_hsync_len(void)
|
||||
{
|
||||
if (!get_hsync_time)
|
||||
get_hsync_time = symbol_get(pxafb_get_hsync_time);
|
||||
if (!get_hsync_time)
|
||||
return 0;
|
||||
|
||||
return pxafb_get_hsync_time(&pxafb_device.dev);
|
||||
}
|
||||
|
||||
void spitz_put_hsync(void)
|
||||
{
|
||||
if (get_hsync_time)
|
||||
symbol_put(pxafb_get_hsync_time);
|
||||
}
|
||||
|
||||
void spitz_wait_hsync(void)
|
||||
{
|
||||
sharpsl_wait_sync(SPITZ_GPIO_HSYNC);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Corgi/Spitz Backlight Power
|
||||
*/
|
||||
#ifdef CONFIG_PXA_SHARP_C7xx
|
||||
void corgi_bl_set_intensity(int intensity)
|
||||
{
|
||||
if (intensity > 0x10)
|
||||
intensity += 0x10;
|
||||
|
||||
/* Bits 0-4 are accessed via the SSP interface */
|
||||
corgi_ssp_blduty_set(intensity & 0x1f);
|
||||
|
||||
/* Bit 5 is via SCOOP */
|
||||
if (intensity & 0x0020)
|
||||
set_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_BACKLIGHT_CONT);
|
||||
else
|
||||
reset_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_BACKLIGHT_CONT);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(CONFIG_MACH_SPITZ) || defined(CONFIG_MACH_BORZOI)
|
||||
void spitz_bl_set_intensity(int intensity)
|
||||
{
|
||||
if (intensity > 0x10)
|
||||
intensity += 0x10;
|
||||
|
||||
/* Bits 0-4 are accessed via the SSP interface */
|
||||
corgi_ssp_blduty_set(intensity & 0x1f);
|
||||
|
||||
/* Bit 5 is via SCOOP */
|
||||
if (intensity & 0x0020)
|
||||
reset_scoop_gpio(&spitzscoop2_device.dev, SPITZ_SCP2_BACKLIGHT_CONT);
|
||||
else
|
||||
set_scoop_gpio(&spitzscoop2_device.dev, SPITZ_SCP2_BACKLIGHT_CONT);
|
||||
|
||||
if (intensity)
|
||||
set_scoop_gpio(&spitzscoop2_device.dev, SPITZ_SCP2_BACKLIGHT_ON);
|
||||
else
|
||||
reset_scoop_gpio(&spitzscoop2_device.dev, SPITZ_SCP2_BACKLIGHT_ON);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MACH_AKITA
|
||||
void akita_bl_set_intensity(int intensity)
|
||||
{
|
||||
if (intensity > 0x10)
|
||||
intensity += 0x10;
|
||||
|
||||
/* Bits 0-4 are accessed via the SSP interface */
|
||||
corgi_ssp_blduty_set(intensity & 0x1f);
|
||||
|
||||
/* Bit 5 is via IO-Expander */
|
||||
if (intensity & 0x0020)
|
||||
akita_reset_ioexp(&akitaioexp_device.dev, AKITA_IOEXP_BACKLIGHT_CONT);
|
||||
else
|
||||
akita_set_ioexp(&akitaioexp_device.dev, AKITA_IOEXP_BACKLIGHT_CONT);
|
||||
|
||||
if (intensity)
|
||||
akita_set_ioexp(&akitaioexp_device.dev, AKITA_IOEXP_BACKLIGHT_ON);
|
||||
else
|
||||
akita_reset_ioexp(&akitaioexp_device.dev, AKITA_IOEXP_BACKLIGHT_ON);
|
||||
}
|
||||
#endif
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* SSP control code for Sharp Corgi devices
|
||||
*
|
||||
* Copyright (c) 2004 Richard Purdie
|
||||
* Copyright (c) 2004-2005 Richard Purdie
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
@ -17,14 +17,16 @@
|
||||
#include <linux/delay.h>
|
||||
#include <linux/device.h>
|
||||
#include <asm/hardware.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
#include <asm/arch/ssp.h>
|
||||
#include <asm/arch/corgi.h>
|
||||
#include <asm/arch/pxa-regs.h>
|
||||
#include "sharpsl.h"
|
||||
|
||||
static DEFINE_SPINLOCK(corgi_ssp_lock);
|
||||
static struct ssp_dev corgi_ssp_dev;
|
||||
static struct ssp_state corgi_ssp_state;
|
||||
static struct corgissp_machinfo *ssp_machinfo;
|
||||
|
||||
/*
|
||||
* There are three devices connected to the SSP interface:
|
||||
@ -48,12 +50,12 @@ unsigned long corgi_ssp_ads7846_putget(ulong data)
|
||||
unsigned long ret,flag;
|
||||
|
||||
spin_lock_irqsave(&corgi_ssp_lock, flag);
|
||||
GPCR0 = GPIO_bit(CORGI_GPIO_ADS7846_CS);
|
||||
GPCR(ssp_machinfo->cs_ads7846) = GPIO_bit(ssp_machinfo->cs_ads7846);
|
||||
|
||||
ssp_write_word(&corgi_ssp_dev,data);
|
||||
ret = ssp_read_word(&corgi_ssp_dev);
|
||||
|
||||
GPSR0 = GPIO_bit(CORGI_GPIO_ADS7846_CS);
|
||||
GPSR(ssp_machinfo->cs_ads7846) = GPIO_bit(ssp_machinfo->cs_ads7846);
|
||||
spin_unlock_irqrestore(&corgi_ssp_lock, flag);
|
||||
|
||||
return ret;
|
||||
@ -66,12 +68,12 @@ unsigned long corgi_ssp_ads7846_putget(ulong data)
|
||||
void corgi_ssp_ads7846_lock(void)
|
||||
{
|
||||
spin_lock(&corgi_ssp_lock);
|
||||
GPCR0 = GPIO_bit(CORGI_GPIO_ADS7846_CS);
|
||||
GPCR(ssp_machinfo->cs_ads7846) = GPIO_bit(ssp_machinfo->cs_ads7846);
|
||||
}
|
||||
|
||||
void corgi_ssp_ads7846_unlock(void)
|
||||
{
|
||||
GPSR0 = GPIO_bit(CORGI_GPIO_ADS7846_CS);
|
||||
GPSR(ssp_machinfo->cs_ads7846) = GPIO_bit(ssp_machinfo->cs_ads7846);
|
||||
spin_unlock(&corgi_ssp_lock);
|
||||
}
|
||||
|
||||
@ -97,23 +99,27 @@ EXPORT_SYMBOL(corgi_ssp_ads7846_get);
|
||||
*/
|
||||
unsigned long corgi_ssp_dac_put(ulong data)
|
||||
{
|
||||
unsigned long flag;
|
||||
unsigned long flag, sscr1 = SSCR1_SPH;
|
||||
|
||||
spin_lock_irqsave(&corgi_ssp_lock, flag);
|
||||
GPCR0 = GPIO_bit(CORGI_GPIO_LCDCON_CS);
|
||||
|
||||
if (machine_is_spitz() || machine_is_akita() || machine_is_borzoi())
|
||||
sscr1 = 0;
|
||||
|
||||
ssp_disable(&corgi_ssp_dev);
|
||||
ssp_config(&corgi_ssp_dev, (SSCR0_Motorola | (SSCR0_DSS & 0x07 )), SSCR1_SPH, 0, SSCR0_SerClkDiv(76));
|
||||
ssp_config(&corgi_ssp_dev, (SSCR0_Motorola | (SSCR0_DSS & 0x07 )), sscr1, 0, SSCR0_SerClkDiv(ssp_machinfo->clk_lcdcon));
|
||||
ssp_enable(&corgi_ssp_dev);
|
||||
|
||||
GPCR(ssp_machinfo->cs_lcdcon) = GPIO_bit(ssp_machinfo->cs_lcdcon);
|
||||
ssp_write_word(&corgi_ssp_dev,data);
|
||||
/* Read null data back from device to prevent SSP overflow */
|
||||
ssp_read_word(&corgi_ssp_dev);
|
||||
GPSR(ssp_machinfo->cs_lcdcon) = GPIO_bit(ssp_machinfo->cs_lcdcon);
|
||||
|
||||
ssp_disable(&corgi_ssp_dev);
|
||||
ssp_config(&corgi_ssp_dev, (SSCR0_National | (SSCR0_DSS & 0x0b )), 0, 0, SSCR0_SerClkDiv(2));
|
||||
ssp_config(&corgi_ssp_dev, (SSCR0_National | (SSCR0_DSS & 0x0b )), 0, 0, SSCR0_SerClkDiv(ssp_machinfo->clk_ads7846));
|
||||
ssp_enable(&corgi_ssp_dev);
|
||||
GPSR0 = GPIO_bit(CORGI_GPIO_LCDCON_CS);
|
||||
|
||||
spin_unlock_irqrestore(&corgi_ssp_lock, flag);
|
||||
|
||||
return 0;
|
||||
@ -141,9 +147,9 @@ int corgi_ssp_max1111_get(ulong data)
|
||||
int voltage,voltage1,voltage2;
|
||||
|
||||
spin_lock_irqsave(&corgi_ssp_lock, flag);
|
||||
GPCR0 = GPIO_bit(CORGI_GPIO_MAX1111_CS);
|
||||
GPCR(ssp_machinfo->cs_max1111) = GPIO_bit(ssp_machinfo->cs_max1111);
|
||||
ssp_disable(&corgi_ssp_dev);
|
||||
ssp_config(&corgi_ssp_dev, (SSCR0_Motorola | (SSCR0_DSS & 0x07 )), 0, 0, SSCR0_SerClkDiv(8));
|
||||
ssp_config(&corgi_ssp_dev, (SSCR0_Motorola | (SSCR0_DSS & 0x07 )), 0, 0, SSCR0_SerClkDiv(ssp_machinfo->clk_max1111));
|
||||
ssp_enable(&corgi_ssp_dev);
|
||||
|
||||
udelay(1);
|
||||
@ -161,9 +167,9 @@ int corgi_ssp_max1111_get(ulong data)
|
||||
voltage2=ssp_read_word(&corgi_ssp_dev);
|
||||
|
||||
ssp_disable(&corgi_ssp_dev);
|
||||
ssp_config(&corgi_ssp_dev, (SSCR0_National | (SSCR0_DSS & 0x0b )), 0, 0, SSCR0_SerClkDiv(2));
|
||||
ssp_config(&corgi_ssp_dev, (SSCR0_National | (SSCR0_DSS & 0x0b )), 0, 0, SSCR0_SerClkDiv(ssp_machinfo->clk_ads7846));
|
||||
ssp_enable(&corgi_ssp_dev);
|
||||
GPSR0 = GPIO_bit(CORGI_GPIO_MAX1111_CS);
|
||||
GPSR(ssp_machinfo->cs_max1111) = GPIO_bit(ssp_machinfo->cs_max1111);
|
||||
spin_unlock_irqrestore(&corgi_ssp_lock, flag);
|
||||
|
||||
if (voltage1 & 0xc0 || voltage2 & 0x3f)
|
||||
@ -179,25 +185,31 @@ EXPORT_SYMBOL(corgi_ssp_max1111_get);
|
||||
/*
|
||||
* Support Routines
|
||||
*/
|
||||
int __init corgi_ssp_probe(struct device *dev)
|
||||
|
||||
void __init corgi_ssp_set_machinfo(struct corgissp_machinfo *machinfo)
|
||||
{
|
||||
ssp_machinfo = machinfo;
|
||||
}
|
||||
|
||||
static int __init corgi_ssp_probe(struct device *dev)
|
||||
{
|
||||
int ret;
|
||||
|
||||
/* Chip Select - Disable All */
|
||||
GPDR0 |= GPIO_bit(CORGI_GPIO_LCDCON_CS); /* output */
|
||||
GPSR0 = GPIO_bit(CORGI_GPIO_LCDCON_CS); /* High - Disable LCD Control/Timing Gen */
|
||||
GPDR0 |= GPIO_bit(CORGI_GPIO_MAX1111_CS); /* output */
|
||||
GPSR0 = GPIO_bit(CORGI_GPIO_MAX1111_CS); /* High - Disable MAX1111*/
|
||||
GPDR0 |= GPIO_bit(CORGI_GPIO_ADS7846_CS); /* output */
|
||||
GPSR0 = GPIO_bit(CORGI_GPIO_ADS7846_CS); /* High - Disable ADS7846*/
|
||||
GPDR(ssp_machinfo->cs_lcdcon) |= GPIO_bit(ssp_machinfo->cs_lcdcon); /* output */
|
||||
GPSR(ssp_machinfo->cs_lcdcon) = GPIO_bit(ssp_machinfo->cs_lcdcon); /* High - Disable LCD Control/Timing Gen */
|
||||
GPDR(ssp_machinfo->cs_max1111) |= GPIO_bit(ssp_machinfo->cs_max1111); /* output */
|
||||
GPSR(ssp_machinfo->cs_max1111) = GPIO_bit(ssp_machinfo->cs_max1111); /* High - Disable MAX1111*/
|
||||
GPDR(ssp_machinfo->cs_ads7846) |= GPIO_bit(ssp_machinfo->cs_ads7846); /* output */
|
||||
GPSR(ssp_machinfo->cs_ads7846) = GPIO_bit(ssp_machinfo->cs_ads7846); /* High - Disable ADS7846*/
|
||||
|
||||
ret=ssp_init(&corgi_ssp_dev,1);
|
||||
ret = ssp_init(&corgi_ssp_dev,ssp_machinfo->port);
|
||||
|
||||
if (ret)
|
||||
printk(KERN_ERR "Unable to register SSP handler!\n");
|
||||
else {
|
||||
ssp_disable(&corgi_ssp_dev);
|
||||
ssp_config(&corgi_ssp_dev, (SSCR0_National | (SSCR0_DSS & 0x0b )), 0, 0, SSCR0_SerClkDiv(2));
|
||||
ssp_config(&corgi_ssp_dev, (SSCR0_National | (SSCR0_DSS & 0x0b )), 0, 0, SSCR0_SerClkDiv(ssp_machinfo->clk_ads7846));
|
||||
ssp_enable(&corgi_ssp_dev);
|
||||
}
|
||||
|
||||
@ -222,9 +234,9 @@ static int corgi_ssp_suspend(struct device *dev, pm_message_t state, u32 level)
|
||||
static int corgi_ssp_resume(struct device *dev, u32 level)
|
||||
{
|
||||
if (level == RESUME_POWER_ON) {
|
||||
GPSR0 = GPIO_bit(CORGI_GPIO_LCDCON_CS); /* High - Disable LCD Control/Timing Gen */
|
||||
GPSR0 = GPIO_bit(CORGI_GPIO_MAX1111_CS); /* High - Disable MAX1111*/
|
||||
GPSR0 = GPIO_bit(CORGI_GPIO_ADS7846_CS); /* High - Disable ADS7846*/
|
||||
GPSR(ssp_machinfo->cs_lcdcon) = GPIO_bit(ssp_machinfo->cs_lcdcon); /* High - Disable LCD Control/Timing Gen */
|
||||
GPSR(ssp_machinfo->cs_max1111) = GPIO_bit(ssp_machinfo->cs_max1111); /* High - Disable MAX1111*/
|
||||
GPSR(ssp_machinfo->cs_ads7846) = GPIO_bit(ssp_machinfo->cs_ads7846); /* High - Disable ADS7846*/
|
||||
ssp_restore_state(&corgi_ssp_dev,&corgi_ssp_state);
|
||||
ssp_enable(&corgi_ssp_dev);
|
||||
}
|
||||
|
@ -34,6 +34,7 @@
|
||||
#include <asm/arch/udc.h>
|
||||
#include <asm/arch/pxafb.h>
|
||||
#include <asm/arch/mmc.h>
|
||||
#include <asm/arch/i2c.h>
|
||||
|
||||
#include "generic.h"
|
||||
|
||||
|
@ -146,6 +146,11 @@ static struct pxa2xx_udc_mach_info udc_info __initdata = {
|
||||
// no D+ pullup; lubbock can't connect/disconnect in software
|
||||
};
|
||||
|
||||
static struct platform_device lub_audio_device = {
|
||||
.name = "pxa2xx-ac97",
|
||||
.id = -1,
|
||||
};
|
||||
|
||||
static struct resource sa1111_resources[] = {
|
||||
[0] = {
|
||||
.start = 0x10000000,
|
||||
@ -195,6 +200,7 @@ static struct platform_device smc91x_device = {
|
||||
|
||||
static struct platform_device *devices[] __initdata = {
|
||||
&sa1111_device,
|
||||
&lub_audio_device,
|
||||
&smc91x_device,
|
||||
};
|
||||
|
||||
|
@ -30,6 +30,8 @@
|
||||
|
||||
#include <asm/arch/pxa-regs.h>
|
||||
#include <asm/arch/irq.h>
|
||||
#include <asm/arch/mmc.h>
|
||||
#include <asm/arch/udc.h>
|
||||
#include <asm/arch/poodle.h>
|
||||
#include <asm/arch/pxafb.h>
|
||||
|
||||
@ -93,6 +95,83 @@ static struct platform_device locomo_device = {
|
||||
.resource = locomo_resources,
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* MMC/SD Device
|
||||
*
|
||||
* The card detect interrupt isn't debounced so we delay it by 250ms
|
||||
* to give the card a chance to fully insert/eject.
|
||||
*/
|
||||
static struct pxamci_platform_data poodle_mci_platform_data;
|
||||
|
||||
static int poodle_mci_init(struct device *dev, irqreturn_t (*poodle_detect_int)(int, void *, struct pt_regs *), void *data)
|
||||
{
|
||||
int err;
|
||||
|
||||
/* setup GPIO for PXA25x MMC controller */
|
||||
pxa_gpio_mode(GPIO6_MMCCLK_MD);
|
||||
pxa_gpio_mode(GPIO8_MMCCS0_MD);
|
||||
pxa_gpio_mode(POODLE_GPIO_nSD_DETECT | GPIO_IN);
|
||||
pxa_gpio_mode(POODLE_GPIO_SD_PWR | GPIO_OUT);
|
||||
|
||||
poodle_mci_platform_data.detect_delay = msecs_to_jiffies(250);
|
||||
|
||||
err = request_irq(POODLE_IRQ_GPIO_nSD_DETECT, poodle_detect_int, SA_INTERRUPT,
|
||||
"MMC card detect", data);
|
||||
if (err) {
|
||||
printk(KERN_ERR "poodle_mci_init: MMC/SD: can't request MMC card detect IRQ\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
set_irq_type(POODLE_IRQ_GPIO_nSD_DETECT, IRQT_BOTHEDGE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void poodle_mci_setpower(struct device *dev, unsigned int vdd)
|
||||
{
|
||||
struct pxamci_platform_data* p_d = dev->platform_data;
|
||||
|
||||
if (( 1 << vdd) & p_d->ocr_mask)
|
||||
GPSR1 = GPIO_bit(POODLE_GPIO_SD_PWR);
|
||||
else
|
||||
GPCR1 = GPIO_bit(POODLE_GPIO_SD_PWR);
|
||||
}
|
||||
|
||||
static void poodle_mci_exit(struct device *dev, void *data)
|
||||
{
|
||||
free_irq(POODLE_IRQ_GPIO_nSD_DETECT, data);
|
||||
}
|
||||
|
||||
static struct pxamci_platform_data poodle_mci_platform_data = {
|
||||
.ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34,
|
||||
.init = poodle_mci_init,
|
||||
.setpower = poodle_mci_setpower,
|
||||
.exit = poodle_mci_exit,
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* USB Device Controller
|
||||
*/
|
||||
static void poodle_udc_command(int cmd)
|
||||
{
|
||||
switch(cmd) {
|
||||
case PXA2XX_UDC_CMD_CONNECT:
|
||||
GPSR(POODLE_GPIO_USB_PULLUP) = GPIO_bit(POODLE_GPIO_USB_PULLUP);
|
||||
break;
|
||||
case PXA2XX_UDC_CMD_DISCONNECT:
|
||||
GPCR(POODLE_GPIO_USB_PULLUP) = GPIO_bit(POODLE_GPIO_USB_PULLUP);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static struct pxa2xx_udc_mach_info udc_info __initdata = {
|
||||
/* no connect GPIO; poodle can't tell connection status */
|
||||
.udc_command = poodle_udc_command,
|
||||
};
|
||||
|
||||
|
||||
/* PXAFB device */
|
||||
static struct pxafb_mach_info poodle_fb_info __initdata = {
|
||||
.pixclock = 144700,
|
||||
@ -126,6 +205,15 @@ static void __init poodle_init(void)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
/* setup sleep mode values */
|
||||
PWER = 0x00000002;
|
||||
PFER = 0x00000000;
|
||||
PRER = 0x00000002;
|
||||
PGSR0 = 0x00008000;
|
||||
PGSR1 = 0x003F0202;
|
||||
PGSR2 = 0x0001C000;
|
||||
PCFR |= PCFR_OPDE;
|
||||
|
||||
/* cpu initialize */
|
||||
/* Pgsr Register */
|
||||
PGSR0 = 0x0146dd80;
|
||||
@ -155,6 +243,9 @@ static void __init poodle_init(void)
|
||||
GPSR2 = 0x00000000;
|
||||
|
||||
set_pxa_fb_info(&poodle_fb_info);
|
||||
pxa_gpio_mode(POODLE_GPIO_USB_PULLUP | GPIO_OUT);
|
||||
pxa_set_udc_info(&udc_info);
|
||||
pxa_set_mci_info(&poodle_mci_platform_data);
|
||||
|
||||
scoop_num = 1;
|
||||
scoop_devs = &poodle_pcmcia_scoop[0];
|
||||
@ -171,32 +262,12 @@ static void __init fixup_poodle(struct machine_desc *desc,
|
||||
sharpsl_save_param();
|
||||
}
|
||||
|
||||
static struct map_desc poodle_io_desc[] __initdata = {
|
||||
/* virtual physical length */
|
||||
{ 0xef800000, 0x00000000, 0x00800000, MT_DEVICE }, /* Boot Flash */
|
||||
};
|
||||
|
||||
static void __init poodle_map_io(void)
|
||||
{
|
||||
pxa_map_io();
|
||||
iotable_init(poodle_io_desc, ARRAY_SIZE(poodle_io_desc));
|
||||
|
||||
/* setup sleep mode values */
|
||||
PWER = 0x00000002;
|
||||
PFER = 0x00000000;
|
||||
PRER = 0x00000002;
|
||||
PGSR0 = 0x00008000;
|
||||
PGSR1 = 0x003F0202;
|
||||
PGSR2 = 0x0001C000;
|
||||
PCFR |= PCFR_OPDE;
|
||||
}
|
||||
|
||||
MACHINE_START(POODLE, "SHARP Poodle")
|
||||
.phys_ram = 0xa0000000,
|
||||
.phys_io = 0x40000000,
|
||||
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
|
||||
.fixup = fixup_poodle,
|
||||
.map_io = poodle_map_io,
|
||||
.map_io = pxa_map_io,
|
||||
.init_irq = pxa_init_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_machine = poodle_init,
|
||||
|
34
arch/arm/mach-pxa/sharpsl.h
Normal file
34
arch/arm/mach-pxa/sharpsl.h
Normal file
@ -0,0 +1,34 @@
|
||||
/*
|
||||
* SharpSL SSP Driver
|
||||
*/
|
||||
|
||||
struct corgissp_machinfo {
|
||||
int port;
|
||||
int cs_lcdcon;
|
||||
int cs_ads7846;
|
||||
int cs_max1111;
|
||||
int clk_lcdcon;
|
||||
int clk_ads7846;
|
||||
int clk_max1111;
|
||||
};
|
||||
|
||||
void corgi_ssp_set_machinfo(struct corgissp_machinfo *machinfo);
|
||||
|
||||
/*
|
||||
* SharpSL Backlight
|
||||
*/
|
||||
|
||||
void corgi_bl_set_intensity(int intensity);
|
||||
void spitz_bl_set_intensity(int intensity);
|
||||
void akita_bl_set_intensity(int intensity);
|
||||
|
||||
/*
|
||||
* SharpSL Touchscreen Driver
|
||||
*/
|
||||
|
||||
unsigned long corgi_get_hsync_len(void);
|
||||
unsigned long spitz_get_hsync_len(void);
|
||||
void corgi_put_hsync(void);
|
||||
void spitz_put_hsync(void);
|
||||
void corgi_wait_hsync(void);
|
||||
void spitz_wait_hsync(void);
|
380
arch/arm/mach-pxa/spitz.c
Normal file
380
arch/arm/mach-pxa/spitz.c
Normal file
@ -0,0 +1,380 @@
|
||||
/*
|
||||
* Support for Sharp SL-Cxx00 Series of PDAs
|
||||
* Models: SL-C3000 (Spitz), SL-C1000 (Akita) and SL-C3100 (Borzoi)
|
||||
*
|
||||
* Copyright (c) 2005 Richard Purdie
|
||||
*
|
||||
* Based on Sharp's 2.4 kernel patches/lubbock.c
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/major.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/mmc/host.h>
|
||||
|
||||
#include <asm/setup.h>
|
||||
#include <asm/memory.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/hardware.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/io.h>
|
||||
|
||||
#include <asm/mach/arch.h>
|
||||
#include <asm/mach/map.h>
|
||||
#include <asm/mach/irq.h>
|
||||
|
||||
#include <asm/arch/pxa-regs.h>
|
||||
#include <asm/arch/irq.h>
|
||||
#include <asm/arch/mmc.h>
|
||||
#include <asm/arch/udc.h>
|
||||
#include <asm/arch/ohci.h>
|
||||
#include <asm/arch/pxafb.h>
|
||||
#include <asm/arch/akita.h>
|
||||
#include <asm/arch/spitz.h>
|
||||
#include <asm/arch/sharpsl.h>
|
||||
|
||||
#include <asm/mach/sharpsl_param.h>
|
||||
#include <asm/hardware/scoop.h>
|
||||
|
||||
#include "generic.h"
|
||||
#include "sharpsl.h"
|
||||
|
||||
/*
|
||||
* Spitz SCOOP Device #1
|
||||
*/
|
||||
static struct resource spitz_scoop_resources[] = {
|
||||
[0] = {
|
||||
.start = 0x10800000,
|
||||
.end = 0x10800fff,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
};
|
||||
|
||||
static struct scoop_config spitz_scoop_setup = {
|
||||
.io_dir = SPITZ_SCP_IO_DIR,
|
||||
.io_out = SPITZ_SCP_IO_OUT,
|
||||
.suspend_clr = SPITZ_SCP_SUS_CLR,
|
||||
.suspend_set = SPITZ_SCP_SUS_SET,
|
||||
};
|
||||
|
||||
struct platform_device spitzscoop_device = {
|
||||
.name = "sharp-scoop",
|
||||
.id = 0,
|
||||
.dev = {
|
||||
.platform_data = &spitz_scoop_setup,
|
||||
},
|
||||
.num_resources = ARRAY_SIZE(spitz_scoop_resources),
|
||||
.resource = spitz_scoop_resources,
|
||||
};
|
||||
|
||||
/*
|
||||
* Spitz SCOOP Device #2
|
||||
*/
|
||||
static struct resource spitz_scoop2_resources[] = {
|
||||
[0] = {
|
||||
.start = 0x08800040,
|
||||
.end = 0x08800fff,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
};
|
||||
|
||||
static struct scoop_config spitz_scoop2_setup = {
|
||||
.io_dir = SPITZ_SCP2_IO_DIR,
|
||||
.io_out = SPITZ_SCP2_IO_OUT,
|
||||
.suspend_clr = SPITZ_SCP2_SUS_CLR,
|
||||
.suspend_set = SPITZ_SCP2_SUS_SET,
|
||||
};
|
||||
|
||||
struct platform_device spitzscoop2_device = {
|
||||
.name = "sharp-scoop",
|
||||
.id = 1,
|
||||
.dev = {
|
||||
.platform_data = &spitz_scoop2_setup,
|
||||
},
|
||||
.num_resources = ARRAY_SIZE(spitz_scoop2_resources),
|
||||
.resource = spitz_scoop2_resources,
|
||||
};
|
||||
|
||||
static struct scoop_pcmcia_dev spitz_pcmcia_scoop[] = {
|
||||
{
|
||||
.dev = &spitzscoop_device.dev,
|
||||
.irq = SPITZ_IRQ_GPIO_CF_IRQ,
|
||||
.cd_irq = SPITZ_IRQ_GPIO_CF_CD,
|
||||
.cd_irq_str = "PCMCIA0 CD",
|
||||
},{
|
||||
.dev = &spitzscoop2_device.dev,
|
||||
.irq = SPITZ_IRQ_GPIO_CF2_IRQ,
|
||||
.cd_irq = -1,
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Spitz SSP Device
|
||||
*
|
||||
* Set the parent as the scoop device because a lot of SSP devices
|
||||
* also use scoop functions and this makes the power up/down order
|
||||
* work correctly.
|
||||
*/
|
||||
struct platform_device spitzssp_device = {
|
||||
.name = "corgi-ssp",
|
||||
.dev = {
|
||||
.parent = &spitzscoop_device.dev,
|
||||
},
|
||||
.id = -1,
|
||||
};
|
||||
|
||||
struct corgissp_machinfo spitz_ssp_machinfo = {
|
||||
.port = 2,
|
||||
.cs_lcdcon = SPITZ_GPIO_LCDCON_CS,
|
||||
.cs_ads7846 = SPITZ_GPIO_ADS7846_CS,
|
||||
.cs_max1111 = SPITZ_GPIO_MAX1111_CS,
|
||||
.clk_lcdcon = 520,
|
||||
.clk_ads7846 = 14,
|
||||
.clk_max1111 = 56,
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Spitz Backlight Device
|
||||
*/
|
||||
static struct corgibl_machinfo spitz_bl_machinfo = {
|
||||
.max_intensity = 0x2f,
|
||||
};
|
||||
|
||||
static struct platform_device spitzbl_device = {
|
||||
.name = "corgi-bl",
|
||||
.dev = {
|
||||
.platform_data = &spitz_bl_machinfo,
|
||||
},
|
||||
.id = -1,
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Spitz Keyboard Device
|
||||
*/
|
||||
static struct platform_device spitzkbd_device = {
|
||||
.name = "spitz-keyboard",
|
||||
.id = -1,
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Spitz Touch Screen Device
|
||||
*/
|
||||
static struct resource spitzts_resources[] = {
|
||||
[0] = {
|
||||
.start = SPITZ_IRQ_GPIO_TP_INT,
|
||||
.end = SPITZ_IRQ_GPIO_TP_INT,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
};
|
||||
|
||||
static struct corgits_machinfo spitz_ts_machinfo = {
|
||||
.get_hsync_len = spitz_get_hsync_len,
|
||||
.put_hsync = spitz_put_hsync,
|
||||
.wait_hsync = spitz_wait_hsync,
|
||||
};
|
||||
|
||||
static struct platform_device spitzts_device = {
|
||||
.name = "corgi-ts",
|
||||
.dev = {
|
||||
.parent = &spitzssp_device.dev,
|
||||
.platform_data = &spitz_ts_machinfo,
|
||||
},
|
||||
.id = -1,
|
||||
.num_resources = ARRAY_SIZE(spitzts_resources),
|
||||
.resource = spitzts_resources,
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* MMC/SD Device
|
||||
*
|
||||
* The card detect interrupt isn't debounced so we delay it by 250ms
|
||||
* to give the card a chance to fully insert/eject.
|
||||
*/
|
||||
|
||||
static struct pxamci_platform_data spitz_mci_platform_data;
|
||||
|
||||
static int spitz_mci_init(struct device *dev, irqreturn_t (*spitz_detect_int)(int, void *, struct pt_regs *), void *data)
|
||||
{
|
||||
int err;
|
||||
|
||||
/* setup GPIO for PXA27x MMC controller */
|
||||
pxa_gpio_mode(GPIO32_MMCCLK_MD);
|
||||
pxa_gpio_mode(GPIO112_MMCCMD_MD);
|
||||
pxa_gpio_mode(GPIO92_MMCDAT0_MD);
|
||||
pxa_gpio_mode(GPIO109_MMCDAT1_MD);
|
||||
pxa_gpio_mode(GPIO110_MMCDAT2_MD);
|
||||
pxa_gpio_mode(GPIO111_MMCDAT3_MD);
|
||||
pxa_gpio_mode(SPITZ_GPIO_nSD_DETECT | GPIO_IN);
|
||||
pxa_gpio_mode(SPITZ_GPIO_nSD_WP | GPIO_IN);
|
||||
|
||||
spitz_mci_platform_data.detect_delay = msecs_to_jiffies(250);
|
||||
|
||||
err = request_irq(SPITZ_IRQ_GPIO_nSD_DETECT, spitz_detect_int, SA_INTERRUPT,
|
||||
"MMC card detect", data);
|
||||
if (err) {
|
||||
printk(KERN_ERR "spitz_mci_init: MMC/SD: can't request MMC card detect IRQ\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
set_irq_type(SPITZ_IRQ_GPIO_nSD_DETECT, IRQT_BOTHEDGE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Power control is shared with one of the CF slots so we have a mess */
|
||||
static void spitz_mci_setpower(struct device *dev, unsigned int vdd)
|
||||
{
|
||||
struct pxamci_platform_data* p_d = dev->platform_data;
|
||||
|
||||
unsigned short cpr = read_scoop_reg(&spitzscoop_device.dev, SCOOP_CPR);
|
||||
|
||||
if (( 1 << vdd) & p_d->ocr_mask) {
|
||||
/* printk(KERN_DEBUG "%s: on\n", __FUNCTION__); */
|
||||
set_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_CF_POWER);
|
||||
mdelay(2);
|
||||
write_scoop_reg(&spitzscoop_device.dev, SCOOP_CPR, cpr | 0x04);
|
||||
} else {
|
||||
/* printk(KERN_DEBUG "%s: off\n", __FUNCTION__); */
|
||||
write_scoop_reg(&spitzscoop_device.dev, SCOOP_CPR, cpr & ~0x04);
|
||||
|
||||
if (!(cpr | 0x02)) {
|
||||
mdelay(1);
|
||||
reset_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_CF_POWER);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static int spitz_mci_get_ro(struct device *dev)
|
||||
{
|
||||
return GPLR(SPITZ_GPIO_nSD_WP) & GPIO_bit(SPITZ_GPIO_nSD_WP);
|
||||
}
|
||||
|
||||
static void spitz_mci_exit(struct device *dev, void *data)
|
||||
{
|
||||
free_irq(SPITZ_IRQ_GPIO_nSD_DETECT, data);
|
||||
}
|
||||
|
||||
static struct pxamci_platform_data spitz_mci_platform_data = {
|
||||
.ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34,
|
||||
.init = spitz_mci_init,
|
||||
.get_ro = spitz_mci_get_ro,
|
||||
.setpower = spitz_mci_setpower,
|
||||
.exit = spitz_mci_exit,
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Spitz PXA Framebuffer
|
||||
*/
|
||||
static struct pxafb_mach_info spitz_pxafb_info __initdata = {
|
||||
.pixclock = 19231,
|
||||
.xres = 480,
|
||||
.yres = 640,
|
||||
.bpp = 16,
|
||||
.hsync_len = 40,
|
||||
.left_margin = 46,
|
||||
.right_margin = 125,
|
||||
.vsync_len = 3,
|
||||
.upper_margin = 1,
|
||||
.lower_margin = 0,
|
||||
.sync = 0,
|
||||
.lccr0 = LCCR0_Color | LCCR0_Sngl | LCCR0_Act | LCCR0_LDDALT | LCCR0_OUC | LCCR0_CMDIM | LCCR0_RDSTM,
|
||||
.lccr3 = LCCR3_PixRsEdg | LCCR3_OutEnH,
|
||||
.pxafb_lcd_power = spitz_lcd_power,
|
||||
};
|
||||
|
||||
|
||||
static struct platform_device *devices[] __initdata = {
|
||||
&spitzscoop_device,
|
||||
&spitzssp_device,
|
||||
&spitzkbd_device,
|
||||
&spitzts_device,
|
||||
&spitzbl_device,
|
||||
&spitzbattery_device,
|
||||
};
|
||||
|
||||
static void __init common_init(void)
|
||||
{
|
||||
PMCR = 0x00;
|
||||
|
||||
/* setup sleep mode values */
|
||||
PWER = 0x00000002;
|
||||
PFER = 0x00000000;
|
||||
PRER = 0x00000002;
|
||||
PGSR0 = 0x0158C000;
|
||||
PGSR1 = 0x00FF0080;
|
||||
PGSR2 = 0x0001C004;
|
||||
|
||||
/* Stop 3.6MHz and drive HIGH to PCMCIA and CS */
|
||||
PCFR |= PCFR_OPDE;
|
||||
|
||||
corgi_ssp_set_machinfo(&spitz_ssp_machinfo);
|
||||
|
||||
pxa_gpio_mode(SPITZ_GPIO_HSYNC | GPIO_IN);
|
||||
|
||||
platform_add_devices(devices, ARRAY_SIZE(devices));
|
||||
pxa_set_mci_info(&spitz_mci_platform_data);
|
||||
pxafb_device.dev.parent = &spitzssp_device.dev;
|
||||
set_pxa_fb_info(&spitz_pxafb_info);
|
||||
}
|
||||
|
||||
static void __init spitz_init(void)
|
||||
{
|
||||
scoop_num = 2;
|
||||
scoop_devs = &spitz_pcmcia_scoop[0];
|
||||
spitz_bl_machinfo.set_bl_intensity = spitz_bl_set_intensity;
|
||||
|
||||
common_init();
|
||||
|
||||
platform_device_register(&spitzscoop2_device);
|
||||
}
|
||||
|
||||
static void __init fixup_spitz(struct machine_desc *desc,
|
||||
struct tag *tags, char **cmdline, struct meminfo *mi)
|
||||
{
|
||||
sharpsl_save_param();
|
||||
mi->nr_banks = 1;
|
||||
mi->bank[0].start = 0xa0000000;
|
||||
mi->bank[0].node = 0;
|
||||
mi->bank[0].size = (64*1024*1024);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_MACH_SPITZ
|
||||
MACHINE_START(SPITZ, "SHARP Spitz")
|
||||
.phys_ram = 0xa0000000,
|
||||
.phys_io = 0x40000000,
|
||||
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
|
||||
.fixup = fixup_spitz,
|
||||
.map_io = pxa_map_io,
|
||||
.init_irq = pxa_init_irq,
|
||||
.init_machine = spitz_init,
|
||||
.timer = &pxa_timer,
|
||||
MACHINE_END
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MACH_BORZOI
|
||||
MACHINE_START(BORZOI, "SHARP Borzoi")
|
||||
.phys_ram = 0xa0000000,
|
||||
.phys_io = 0x40000000,
|
||||
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
|
||||
.fixup = fixup_spitz,
|
||||
.map_io = pxa_map_io,
|
||||
.init_irq = pxa_init_irq,
|
||||
.init_machine = spitz_init,
|
||||
.timer = &pxa_timer,
|
||||
MACHINE_END
|
||||
#endif
|
@ -12,6 +12,7 @@
|
||||
*
|
||||
* Modifications:
|
||||
* 02-May-2005 BJD Copied from mach-bast.c
|
||||
* 20-Sep-2005 BJD Added static to non-exported items
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
@ -232,7 +233,7 @@ static struct s3c24xx_board anubis_board __initdata = {
|
||||
.clocks_count = ARRAY_SIZE(anubis_clocks)
|
||||
};
|
||||
|
||||
void __init anubis_map_io(void)
|
||||
static void __init anubis_map_io(void)
|
||||
{
|
||||
/* initialise the clocks */
|
||||
|
||||
|
@ -31,6 +31,7 @@
|
||||
* 17-Jul-2005 BJD Changed to platform device for SuperIO 16550s
|
||||
* 25-Jul-2005 BJD Removed ASIX static mappings
|
||||
* 27-Jul-2005 BJD Ensure maximum frequency of i2c bus
|
||||
* 20-Sep-2005 BJD Added static to non-exported items
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
@ -428,7 +429,7 @@ static struct s3c24xx_board bast_board __initdata = {
|
||||
.clocks_count = ARRAY_SIZE(bast_clocks)
|
||||
};
|
||||
|
||||
void __init bast_map_io(void)
|
||||
static void __init bast_map_io(void)
|
||||
{
|
||||
/* initialise the clocks */
|
||||
|
||||
|
@ -24,6 +24,7 @@
|
||||
* 10-Jan-2005 BJD Removed include of s3c2410.h
|
||||
* 14-Jan-2005 BJD Added clock init
|
||||
* 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA
|
||||
* 20-Sep-2005 BJD Added static to non-exported items
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
@ -147,7 +148,7 @@ static struct s3c24xx_board h1940_board __initdata = {
|
||||
.devices_count = ARRAY_SIZE(h1940_devices)
|
||||
};
|
||||
|
||||
void __init h1940_map_io(void)
|
||||
static void __init h1940_map_io(void)
|
||||
{
|
||||
s3c24xx_init_io(h1940_iodesc, ARRAY_SIZE(h1940_iodesc));
|
||||
s3c24xx_init_clocks(0);
|
||||
@ -155,13 +156,13 @@ void __init h1940_map_io(void)
|
||||
s3c24xx_set_board(&h1940_board);
|
||||
}
|
||||
|
||||
void __init h1940_init_irq(void)
|
||||
static void __init h1940_init_irq(void)
|
||||
{
|
||||
s3c24xx_init_irq();
|
||||
|
||||
}
|
||||
|
||||
void __init h1940_init(void)
|
||||
static void __init h1940_init(void)
|
||||
{
|
||||
set_s3c2410fb_info(&h1940_lcdcfg);
|
||||
}
|
||||
|
@ -97,7 +97,7 @@ static struct s3c24xx_board n30_board __initdata = {
|
||||
.devices_count = ARRAY_SIZE(n30_devices)
|
||||
};
|
||||
|
||||
void __init n30_map_io(void)
|
||||
static void __init n30_map_io(void)
|
||||
{
|
||||
s3c24xx_init_io(n30_iodesc, ARRAY_SIZE(n30_iodesc));
|
||||
s3c24xx_init_clocks(0);
|
||||
@ -105,14 +105,14 @@ void __init n30_map_io(void)
|
||||
s3c24xx_set_board(&n30_board);
|
||||
}
|
||||
|
||||
void __init n30_init_irq(void)
|
||||
static void __init n30_init_irq(void)
|
||||
{
|
||||
s3c24xx_init_irq();
|
||||
}
|
||||
|
||||
/* GPB3 is the line that controls the pull-up for the USB D+ line */
|
||||
|
||||
void __init n30_init(void)
|
||||
static void __init n30_init(void)
|
||||
{
|
||||
s3c_device_i2c.dev.platform_data = &n30_i2ccfg;
|
||||
|
||||
|
@ -136,7 +136,7 @@ static void __init nexcoder_sensorboard_init(void)
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPF2, S3C2410_GPF2_OUTP); // CAM_GPIO6 => CAM_PWRDN
|
||||
}
|
||||
|
||||
void __init nexcoder_map_io(void)
|
||||
static void __init nexcoder_map_io(void)
|
||||
{
|
||||
s3c24xx_init_io(nexcoder_iodesc, ARRAY_SIZE(nexcoder_iodesc));
|
||||
s3c24xx_init_clocks(0);
|
||||
|
@ -105,7 +105,7 @@ static struct s3c24xx_board otom11_board __initdata = {
|
||||
};
|
||||
|
||||
|
||||
void __init otom11_map_io(void)
|
||||
static void __init otom11_map_io(void)
|
||||
{
|
||||
s3c24xx_init_io(otom11_iodesc, ARRAY_SIZE(otom11_iodesc));
|
||||
s3c24xx_init_clocks(0);
|
||||
|
@ -16,6 +16,7 @@
|
||||
* 14-Jan-2005 BJD Added new clock init
|
||||
* 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA
|
||||
* 14-Mar-2005 BJD Fixed __iomem warnings
|
||||
* 20-Sep-2005 BJD Added static to non-exported items
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
@ -108,7 +109,7 @@ static struct s3c24xx_board rx3715_board __initdata = {
|
||||
.devices_count = ARRAY_SIZE(rx3715_devices)
|
||||
};
|
||||
|
||||
void __init rx3715_map_io(void)
|
||||
static void __init rx3715_map_io(void)
|
||||
{
|
||||
s3c24xx_init_io(rx3715_iodesc, ARRAY_SIZE(rx3715_iodesc));
|
||||
s3c24xx_init_clocks(16934000);
|
||||
@ -116,7 +117,7 @@ void __init rx3715_map_io(void)
|
||||
s3c24xx_set_board(&rx3715_board);
|
||||
}
|
||||
|
||||
void __init rx3715_init_irq(void)
|
||||
static void __init rx3715_init_irq(void)
|
||||
{
|
||||
s3c24xx_init_irq();
|
||||
}
|
||||
|
@ -28,6 +28,7 @@
|
||||
* Ben Dooks <ben@simtec.co.uk>
|
||||
*
|
||||
* 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA
|
||||
* 20-Sep-2005 BJD Added static to non-exported items
|
||||
*
|
||||
***********************************************************************/
|
||||
|
||||
@ -97,7 +98,7 @@ static struct s3c24xx_board smdk2410_board __initdata = {
|
||||
.devices_count = ARRAY_SIZE(smdk2410_devices)
|
||||
};
|
||||
|
||||
void __init smdk2410_map_io(void)
|
||||
static void __init smdk2410_map_io(void)
|
||||
{
|
||||
s3c24xx_init_io(smdk2410_iodesc, ARRAY_SIZE(smdk2410_iodesc));
|
||||
s3c24xx_init_clocks(0);
|
||||
@ -105,7 +106,7 @@ void __init smdk2410_map_io(void)
|
||||
s3c24xx_set_board(&smdk2410_board);
|
||||
}
|
||||
|
||||
void __init smdk2410_init_irq(void)
|
||||
static void __init smdk2410_init_irq(void)
|
||||
{
|
||||
s3c24xx_init_irq();
|
||||
}
|
||||
|
@ -18,6 +18,7 @@
|
||||
* 22-Feb-2005 BJD Updated for 2.6.11-rc5 relesa
|
||||
* 10-Mar-2005 LCVR Replaced S3C2410_VA by S3C24XX_VA
|
||||
* 14-Mar-2005 BJD void __iomem fixes
|
||||
* 20-Sep-2005 BJD Added static to non-exported items
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
@ -98,7 +99,7 @@ static struct s3c24xx_board smdk2440_board __initdata = {
|
||||
.devices_count = ARRAY_SIZE(smdk2440_devices)
|
||||
};
|
||||
|
||||
void __init smdk2440_map_io(void)
|
||||
static void __init smdk2440_map_io(void)
|
||||
{
|
||||
s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc));
|
||||
s3c24xx_init_clocks(16934400);
|
||||
@ -106,7 +107,7 @@ void __init smdk2440_map_io(void)
|
||||
s3c24xx_set_board(&smdk2440_board);
|
||||
}
|
||||
|
||||
void __init smdk2440_machine_init(void)
|
||||
static void __init smdk2440_machine_init(void)
|
||||
{
|
||||
/* Configure the LEDs (even if we have no LED support)*/
|
||||
|
||||
|
@ -28,6 +28,7 @@
|
||||
* 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA
|
||||
* 14-Mar-2006 BJD void __iomem fixes
|
||||
* 22-Jun-2006 BJD Added DM9000 platform information
|
||||
* 20-Sep-2005 BJD Added static to non-exported items
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
@ -347,7 +348,7 @@ static void vr1000_power_off(void)
|
||||
s3c2410_gpio_setpin(S3C2410_GPB9, 1);
|
||||
}
|
||||
|
||||
void __init vr1000_map_io(void)
|
||||
static void __init vr1000_map_io(void)
|
||||
{
|
||||
/* initialise clock sources */
|
||||
|
||||
|
@ -40,7 +40,6 @@
|
||||
#include <asm/hardware.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
#include "devs.h"
|
||||
#include "usb-simtec.h"
|
||||
|
@ -111,12 +111,11 @@ static struct mtd_partition collie_partitions[] = {
|
||||
|
||||
static void collie_set_vpp(int vpp)
|
||||
{
|
||||
write_scoop_reg(SCOOP_GPCR, read_scoop_reg(SCOOP_GPCR) | COLLIE_SCP_VPEN);
|
||||
if (vpp) {
|
||||
write_scoop_reg(SCOOP_GPWR, read_scoop_reg(SCOOP_GPWR) | COLLIE_SCP_VPEN);
|
||||
} else {
|
||||
write_scoop_reg(SCOOP_GPWR, read_scoop_reg(SCOOP_GPWR) & ~COLLIE_SCP_VPEN);
|
||||
}
|
||||
write_scoop_reg(&colliescoop_device.dev, SCOOP_GPCR, read_scoop_reg(SCOOP_GPCR) | COLLIE_SCP_VPEN);
|
||||
if (vpp)
|
||||
write_scoop_reg(&colliescoop_device.dev, SCOOP_GPWR, read_scoop_reg(SCOOP_GPWR) | COLLIE_SCP_VPEN);
|
||||
else
|
||||
write_scoop_reg(&colliescoop_device.dev, SCOOP_GPWR, read_scoop_reg(SCOOP_GPWR) & ~COLLIE_SCP_VPEN);
|
||||
}
|
||||
|
||||
static struct flash_platform_data collie_flash_data = {
|
||||
|
@ -39,3 +39,6 @@ extern void sa11x0_set_ssp_data(struct sa11x0_ssp_plat_ops *ops);
|
||||
|
||||
struct irda_platform_data;
|
||||
void sa11x0_set_irda_data(struct irda_platform_data *irda);
|
||||
|
||||
struct mcp_plat_data;
|
||||
void sa11x0_set_mcp_data(struct mcp_plat_data *data);
|
||||
|
@ -30,7 +30,6 @@
|
||||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/leds.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/hardware/amba.h>
|
||||
#include <asm/hardware/amba_clcd.h>
|
||||
#include <asm/hardware/arm_timer.h>
|
||||
@ -52,8 +51,9 @@
|
||||
*
|
||||
* Setup a VA for the Versatile Vectored Interrupt Controller.
|
||||
*/
|
||||
#define VA_VIC_BASE IO_ADDRESS(VERSATILE_VIC_BASE)
|
||||
#define VA_SIC_BASE IO_ADDRESS(VERSATILE_SIC_BASE)
|
||||
#define __io_address(n) __io(IO_ADDRESS(n))
|
||||
#define VA_VIC_BASE __io_address(VERSATILE_VIC_BASE)
|
||||
#define VA_SIC_BASE __io_address(VERSATILE_SIC_BASE)
|
||||
|
||||
static void vic_mask_irq(unsigned int irq)
|
||||
{
|
||||
@ -214,7 +214,7 @@ void __init versatile_map_io(void)
|
||||
iotable_init(versatile_io_desc, ARRAY_SIZE(versatile_io_desc));
|
||||
}
|
||||
|
||||
#define VERSATILE_REFCOUNTER (IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_24MHz_OFFSET)
|
||||
#define VERSATILE_REFCOUNTER (__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_24MHz_OFFSET)
|
||||
|
||||
/*
|
||||
* This is the Versatile sched_clock implementation. This has
|
||||
@ -231,7 +231,7 @@ unsigned long long sched_clock(void)
|
||||
}
|
||||
|
||||
|
||||
#define VERSATILE_FLASHCTRL (IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_FLASH_OFFSET)
|
||||
#define VERSATILE_FLASHCTRL (__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_FLASH_OFFSET)
|
||||
|
||||
static int versatile_flash_init(void)
|
||||
{
|
||||
@ -309,7 +309,7 @@ static struct platform_device smc91x_device = {
|
||||
.resource = smc91x_resources,
|
||||
};
|
||||
|
||||
#define VERSATILE_SYSMCI (IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_MCI_OFFSET)
|
||||
#define VERSATILE_SYSMCI (__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_MCI_OFFSET)
|
||||
|
||||
unsigned int mmc_status(struct device *dev)
|
||||
{
|
||||
@ -343,11 +343,11 @@ static const struct icst307_params versatile_oscvco_params = {
|
||||
|
||||
static void versatile_oscvco_set(struct clk *clk, struct icst307_vco vco)
|
||||
{
|
||||
unsigned long sys_lock = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_LOCK_OFFSET;
|
||||
void __iomem *sys_lock = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_LOCK_OFFSET;
|
||||
#if defined(CONFIG_ARCH_VERSATILE_PB)
|
||||
unsigned long sys_osc = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_OSC4_OFFSET;
|
||||
void __iomem *sys_osc = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_OSC4_OFFSET;
|
||||
#elif defined(CONFIG_MACH_VERSATILE_AB)
|
||||
unsigned long sys_osc = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_OSC1_OFFSET;
|
||||
void __iomem *sys_osc = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_OSC1_OFFSET;
|
||||
#endif
|
||||
u32 val;
|
||||
|
||||
@ -483,7 +483,7 @@ static struct clcd_panel epson_2_2_in = {
|
||||
*/
|
||||
static struct clcd_panel *versatile_clcd_panel(void)
|
||||
{
|
||||
unsigned long sys_clcd = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
|
||||
void __iomem *sys_clcd = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
|
||||
struct clcd_panel *panel = &vga;
|
||||
u32 val;
|
||||
|
||||
@ -510,7 +510,7 @@ static struct clcd_panel *versatile_clcd_panel(void)
|
||||
*/
|
||||
static void versatile_clcd_disable(struct clcd_fb *fb)
|
||||
{
|
||||
unsigned long sys_clcd = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
|
||||
void __iomem *sys_clcd = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
|
||||
u32 val;
|
||||
|
||||
val = readl(sys_clcd);
|
||||
@ -522,7 +522,7 @@ static void versatile_clcd_disable(struct clcd_fb *fb)
|
||||
* If the LCD is Sanyo 2x5 in on the IB2 board, turn the back-light off
|
||||
*/
|
||||
if (fb->panel == &sanyo_2_5_in) {
|
||||
unsigned long versatile_ib2_ctrl = IO_ADDRESS(VERSATILE_IB2_CTRL);
|
||||
void __iomem *versatile_ib2_ctrl = __io_address(VERSATILE_IB2_CTRL);
|
||||
unsigned long ctrl;
|
||||
|
||||
ctrl = readl(versatile_ib2_ctrl);
|
||||
@ -537,7 +537,7 @@ static void versatile_clcd_disable(struct clcd_fb *fb)
|
||||
*/
|
||||
static void versatile_clcd_enable(struct clcd_fb *fb)
|
||||
{
|
||||
unsigned long sys_clcd = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
|
||||
void __iomem *sys_clcd = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
|
||||
u32 val;
|
||||
|
||||
val = readl(sys_clcd);
|
||||
@ -571,7 +571,7 @@ static void versatile_clcd_enable(struct clcd_fb *fb)
|
||||
* If the LCD is Sanyo 2x5 in on the IB2 board, turn the back-light on
|
||||
*/
|
||||
if (fb->panel == &sanyo_2_5_in) {
|
||||
unsigned long versatile_ib2_ctrl = IO_ADDRESS(VERSATILE_IB2_CTRL);
|
||||
void __iomem *versatile_ib2_ctrl = __io_address(VERSATILE_IB2_CTRL);
|
||||
unsigned long ctrl;
|
||||
|
||||
ctrl = readl(versatile_ib2_ctrl);
|
||||
@ -720,7 +720,7 @@ static struct amba_device *amba_devs[] __initdata = {
|
||||
};
|
||||
|
||||
#ifdef CONFIG_LEDS
|
||||
#define VA_LEDS_BASE (IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_LED_OFFSET)
|
||||
#define VA_LEDS_BASE (__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_LED_OFFSET)
|
||||
|
||||
static void versatile_leds_event(led_event_t ledevt)
|
||||
{
|
||||
@ -778,11 +778,11 @@ void __init versatile_init(void)
|
||||
/*
|
||||
* Where is the timer (VA)?
|
||||
*/
|
||||
#define TIMER0_VA_BASE IO_ADDRESS(VERSATILE_TIMER0_1_BASE)
|
||||
#define TIMER1_VA_BASE (IO_ADDRESS(VERSATILE_TIMER0_1_BASE) + 0x20)
|
||||
#define TIMER2_VA_BASE IO_ADDRESS(VERSATILE_TIMER2_3_BASE)
|
||||
#define TIMER3_VA_BASE (IO_ADDRESS(VERSATILE_TIMER2_3_BASE) + 0x20)
|
||||
#define VA_IC_BASE IO_ADDRESS(VERSATILE_VIC_BASE)
|
||||
#define TIMER0_VA_BASE __io_address(VERSATILE_TIMER0_1_BASE)
|
||||
#define TIMER1_VA_BASE (__io_address(VERSATILE_TIMER0_1_BASE) + 0x20)
|
||||
#define TIMER2_VA_BASE __io_address(VERSATILE_TIMER2_3_BASE)
|
||||
#define TIMER3_VA_BASE (__io_address(VERSATILE_TIMER2_3_BASE) + 0x20)
|
||||
#define VA_IC_BASE __io_address(VERSATILE_VIC_BASE)
|
||||
|
||||
/*
|
||||
* How long is the timer interval?
|
||||
@ -877,12 +877,12 @@ static void __init versatile_timer_init(void)
|
||||
* VERSATILE_REFCLK is 32KHz
|
||||
* VERSATILE_TIMCLK is 1MHz
|
||||
*/
|
||||
val = readl(IO_ADDRESS(VERSATILE_SCTL_BASE));
|
||||
val = readl(__io_address(VERSATILE_SCTL_BASE));
|
||||
writel((VERSATILE_TIMCLK << VERSATILE_TIMER1_EnSel) |
|
||||
(VERSATILE_TIMCLK << VERSATILE_TIMER2_EnSel) |
|
||||
(VERSATILE_TIMCLK << VERSATILE_TIMER3_EnSel) |
|
||||
(VERSATILE_TIMCLK << VERSATILE_TIMER4_EnSel) | val,
|
||||
IO_ADDRESS(VERSATILE_SCTL_BASE));
|
||||
__io_address(VERSATILE_SCTL_BASE));
|
||||
|
||||
/*
|
||||
* Initialise to a known state (all timers off)
|
||||
|
@ -29,7 +29,6 @@
|
||||
#include <asm/irq.h>
|
||||
#include <asm/system.h>
|
||||
#include <asm/mach/pci.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
/*
|
||||
* these spaces are mapped using the following base registers:
|
||||
|
@ -20,6 +20,11 @@
|
||||
*/
|
||||
.align 5
|
||||
ENTRY(v6_early_abort)
|
||||
#ifdef CONFIG_CPU_MPCORE
|
||||
clrex
|
||||
#else
|
||||
strex r0, r1, [sp] @ Clear the exclusive monitor
|
||||
#endif
|
||||
mrc p15, 0, r1, c5, c0, 0 @ get FSR
|
||||
mrc p15, 0, r0, c6, c0, 0 @ get FAR
|
||||
/*
|
||||
|
@ -18,6 +18,7 @@
|
||||
#define HARVARD_CACHE
|
||||
#define CACHE_LINE_SIZE 32
|
||||
#define D_CACHE_LINE_SIZE 32
|
||||
#define BTB_FLUSH_SIZE 8
|
||||
|
||||
/*
|
||||
* v6_flush_cache_all()
|
||||
@ -98,7 +99,13 @@ ENTRY(v6_coherent_user_range)
|
||||
mcr p15, 0, r0, c7, c5, 1 @ invalidate I line
|
||||
#endif
|
||||
mcr p15, 0, r0, c7, c5, 7 @ invalidate BTB entry
|
||||
add r0, r0, #CACHE_LINE_SIZE
|
||||
add r0, r0, #BTB_FLUSH_SIZE
|
||||
mcr p15, 0, r0, c7, c5, 7 @ invalidate BTB entry
|
||||
add r0, r0, #BTB_FLUSH_SIZE
|
||||
mcr p15, 0, r0, c7, c5, 7 @ invalidate BTB entry
|
||||
add r0, r0, #BTB_FLUSH_SIZE
|
||||
mcr p15, 0, r0, c7, c5, 7 @ invalidate BTB entry
|
||||
add r0, r0, #BTB_FLUSH_SIZE
|
||||
cmp r0, r1
|
||||
blo 1b
|
||||
#ifdef HARVARD_CACHE
|
||||
|
@ -233,7 +233,17 @@ do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
|
||||
if (in_interrupt() || !mm)
|
||||
goto no_context;
|
||||
|
||||
down_read(&mm->mmap_sem);
|
||||
/*
|
||||
* As per x86, we may deadlock here. However, since the kernel only
|
||||
* validly references user space from well defined areas of the code,
|
||||
* we can bug out early if this is from code which shouldn't.
|
||||
*/
|
||||
if (!down_read_trylock(&mm->mmap_sem)) {
|
||||
if (!user_mode(regs) && !search_exception_tables(regs->ARM_pc))
|
||||
goto no_context;
|
||||
down_read(&mm->mmap_sem);
|
||||
}
|
||||
|
||||
fault = __do_page_fault(mm, addr, fsr, tsk);
|
||||
up_read(&mm->mmap_sem);
|
||||
|
||||
|
@ -17,6 +17,24 @@
|
||||
|
||||
#ifdef CONFIG_CPU_CACHE_VIPT
|
||||
|
||||
#define ALIAS_FLUSH_START 0xffff4000
|
||||
|
||||
#define TOP_PTE(x) pte_offset_kernel(top_pmd, x)
|
||||
|
||||
static void flush_pfn_alias(unsigned long pfn, unsigned long vaddr)
|
||||
{
|
||||
unsigned long to = ALIAS_FLUSH_START + (CACHE_COLOUR(vaddr) << PAGE_SHIFT);
|
||||
|
||||
set_pte(TOP_PTE(to), pfn_pte(pfn, PAGE_KERNEL));
|
||||
flush_tlb_kernel_page(to);
|
||||
|
||||
asm( "mcrr p15, 0, %1, %0, c14\n"
|
||||
" mcrr p15, 0, %1, %0, c5\n"
|
||||
:
|
||||
: "r" (to), "r" (to + PAGE_SIZE - L1_CACHE_BYTES)
|
||||
: "cc");
|
||||
}
|
||||
|
||||
void flush_cache_mm(struct mm_struct *mm)
|
||||
{
|
||||
if (cache_is_vivt()) {
|
||||
@ -67,24 +85,6 @@ void flush_cache_page(struct vm_area_struct *vma, unsigned long user_addr, unsig
|
||||
if (cache_is_vipt_aliasing())
|
||||
flush_pfn_alias(pfn, user_addr);
|
||||
}
|
||||
|
||||
#define ALIAS_FLUSH_START 0xffff4000
|
||||
|
||||
#define TOP_PTE(x) pte_offset_kernel(top_pmd, x)
|
||||
|
||||
static void flush_pfn_alias(unsigned long pfn, unsigned long vaddr)
|
||||
{
|
||||
unsigned long to = ALIAS_FLUSH_START + (CACHE_COLOUR(vaddr) << PAGE_SHIFT);
|
||||
|
||||
set_pte(TOP_PTE(to), pfn_pte(pfn, PAGE_KERNEL));
|
||||
flush_tlb_kernel_page(to);
|
||||
|
||||
asm( "mcrr p15, 0, %1, %0, c14\n"
|
||||
" mcrr p15, 0, %1, %0, c5\n"
|
||||
:
|
||||
: "r" (to), "r" (to + PAGE_SIZE - L1_CACHE_BYTES)
|
||||
: "cc");
|
||||
}
|
||||
#else
|
||||
#define flush_pfn_alias(pfn,vaddr) do { } while (0)
|
||||
#endif
|
||||
|
@ -509,7 +509,7 @@ cpu_arm1020_name:
|
||||
|
||||
.align
|
||||
|
||||
.section ".proc.info", #alloc, #execinstr
|
||||
.section ".proc.info.init", #alloc, #execinstr
|
||||
|
||||
.type __arm1020_proc_info,#object
|
||||
__arm1020_proc_info:
|
||||
|
@ -491,7 +491,7 @@ cpu_arm1020e_name:
|
||||
|
||||
.align
|
||||
|
||||
.section ".proc.info", #alloc, #execinstr
|
||||
.section ".proc.info.init", #alloc, #execinstr
|
||||
|
||||
.type __arm1020e_proc_info,#object
|
||||
__arm1020e_proc_info:
|
||||
|
@ -473,7 +473,7 @@ cpu_arm1022_name:
|
||||
|
||||
.align
|
||||
|
||||
.section ".proc.info", #alloc, #execinstr
|
||||
.section ".proc.info.init", #alloc, #execinstr
|
||||
|
||||
.type __arm1022_proc_info,#object
|
||||
__arm1022_proc_info:
|
||||
|
@ -469,7 +469,7 @@ cpu_arm1026_name:
|
||||
|
||||
.align
|
||||
|
||||
.section ".proc.info", #alloc, #execinstr
|
||||
.section ".proc.info.init", #alloc, #execinstr
|
||||
|
||||
.type __arm1026_proc_info,#object
|
||||
__arm1026_proc_info:
|
||||
|
@ -332,7 +332,7 @@ cpu_arm710_name:
|
||||
|
||||
.align
|
||||
|
||||
.section ".proc.info", #alloc, #execinstr
|
||||
.section ".proc.info.init", #alloc, #execinstr
|
||||
|
||||
.type __arm6_proc_info, #object
|
||||
__arm6_proc_info:
|
||||
|
@ -222,7 +222,7 @@ cpu_arm720_name:
|
||||
* See linux/include/asm-arm/procinfo.h for a definition of this structure.
|
||||
*/
|
||||
|
||||
.section ".proc.info", #alloc, #execinstr
|
||||
.section ".proc.info.init", #alloc, #execinstr
|
||||
|
||||
.type __arm710_proc_info, #object
|
||||
__arm710_proc_info:
|
||||
|
@ -452,7 +452,7 @@ cpu_arm920_name:
|
||||
|
||||
.align
|
||||
|
||||
.section ".proc.info", #alloc, #execinstr
|
||||
.section ".proc.info.init", #alloc, #execinstr
|
||||
|
||||
.type __arm920_proc_info,#object
|
||||
__arm920_proc_info:
|
||||
|
@ -456,7 +456,7 @@ cpu_arm922_name:
|
||||
|
||||
.align
|
||||
|
||||
.section ".proc.info", #alloc, #execinstr
|
||||
.section ".proc.info.init", #alloc, #execinstr
|
||||
|
||||
.type __arm922_proc_info,#object
|
||||
__arm922_proc_info:
|
||||
|
@ -521,7 +521,7 @@ cpu_arm925_name:
|
||||
|
||||
.align
|
||||
|
||||
.section ".proc.info", #alloc, #execinstr
|
||||
.section ".proc.info.init", #alloc, #execinstr
|
||||
|
||||
.type __arm925_proc_info,#object
|
||||
__arm925_proc_info:
|
||||
|
@ -471,7 +471,7 @@ cpu_arm926_name:
|
||||
|
||||
.align
|
||||
|
||||
.section ".proc.info", #alloc, #execinstr
|
||||
.section ".proc.info.init", #alloc, #execinstr
|
||||
|
||||
.type __arm926_proc_info,#object
|
||||
__arm926_proc_info:
|
||||
|
@ -249,7 +249,7 @@ cpu_sa110_name:
|
||||
|
||||
.align
|
||||
|
||||
.section ".proc.info", #alloc, #execinstr
|
||||
.section ".proc.info.init", #alloc, #execinstr
|
||||
|
||||
.type __sa110_proc_info,#object
|
||||
__sa110_proc_info:
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user