Merge commit 'v2.6.32' into next
This commit is contained in:
commit
467832032c
799 changed files with 13347 additions and 6187 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -25,6 +25,7 @@
|
|||
*.elf
|
||||
*.bin
|
||||
*.gz
|
||||
*.bz2
|
||||
*.lzma
|
||||
*.patch
|
||||
*.gcno
|
||||
|
|
|
@ -312,10 +312,8 @@ and to the following documentation:
|
|||
8. Mailing list
|
||||
---------------
|
||||
|
||||
There are several frame buffer device related mailing lists at SourceForge:
|
||||
- linux-fbdev-announce@lists.sourceforge.net, for announcements,
|
||||
- linux-fbdev-user@lists.sourceforge.net, for generic user support,
|
||||
- linux-fbdev-devel@lists.sourceforge.net, for project developers.
|
||||
There is a frame buffer device related mailing list at kernel.org:
|
||||
linux-fbdev@vger.kernel.org.
|
||||
|
||||
Point your web browser to http://sourceforge.net/projects/linux-fbdev/ for
|
||||
subscription information and archive browsing.
|
||||
|
|
|
@ -235,6 +235,7 @@ proc files.
|
|||
neg=N Number of negative lookups made
|
||||
pos=N Number of positive lookups made
|
||||
crt=N Number of objects created by lookup
|
||||
tmo=N Number of lookups timed out and requeued
|
||||
Updates n=N Number of update cookie requests seen
|
||||
nul=N Number of upd reqs given a NULL parent
|
||||
run=N Number of upd reqs granted CPU time
|
||||
|
@ -250,8 +251,10 @@ proc files.
|
|||
ok=N Number of successful alloc reqs
|
||||
wt=N Number of alloc reqs that waited on lookup completion
|
||||
nbf=N Number of alloc reqs rejected -ENOBUFS
|
||||
int=N Number of alloc reqs aborted -ERESTARTSYS
|
||||
ops=N Number of alloc reqs submitted
|
||||
owt=N Number of alloc reqs waited for CPU time
|
||||
abt=N Number of alloc reqs aborted due to object death
|
||||
Retrvls n=N Number of retrieval (read) requests seen
|
||||
ok=N Number of successful retr reqs
|
||||
wt=N Number of retr reqs that waited on lookup completion
|
||||
|
@ -261,6 +264,7 @@ proc files.
|
|||
oom=N Number of retr reqs failed -ENOMEM
|
||||
ops=N Number of retr reqs submitted
|
||||
owt=N Number of retr reqs waited for CPU time
|
||||
abt=N Number of retr reqs aborted due to object death
|
||||
Stores n=N Number of storage (write) requests seen
|
||||
ok=N Number of successful store reqs
|
||||
agn=N Number of store reqs on a page already pending storage
|
||||
|
@ -268,12 +272,37 @@ proc files.
|
|||
oom=N Number of store reqs failed -ENOMEM
|
||||
ops=N Number of store reqs submitted
|
||||
run=N Number of store reqs granted CPU time
|
||||
pgs=N Number of pages given store req processing time
|
||||
rxd=N Number of store reqs deleted from tracking tree
|
||||
olm=N Number of store reqs over store limit
|
||||
VmScan nos=N Number of release reqs against pages with no pending store
|
||||
gon=N Number of release reqs against pages stored by time lock granted
|
||||
bsy=N Number of release reqs ignored due to in-progress store
|
||||
can=N Number of page stores cancelled due to release req
|
||||
Ops pend=N Number of times async ops added to pending queues
|
||||
run=N Number of times async ops given CPU time
|
||||
enq=N Number of times async ops queued for processing
|
||||
can=N Number of async ops cancelled
|
||||
rej=N Number of async ops rejected due to object lookup/create failure
|
||||
dfr=N Number of async ops queued for deferred release
|
||||
rel=N Number of async ops released
|
||||
gc=N Number of deferred-release async ops garbage collected
|
||||
CacheOp alo=N Number of in-progress alloc_object() cache ops
|
||||
luo=N Number of in-progress lookup_object() cache ops
|
||||
luc=N Number of in-progress lookup_complete() cache ops
|
||||
gro=N Number of in-progress grab_object() cache ops
|
||||
upo=N Number of in-progress update_object() cache ops
|
||||
dro=N Number of in-progress drop_object() cache ops
|
||||
pto=N Number of in-progress put_object() cache ops
|
||||
syn=N Number of in-progress sync_cache() cache ops
|
||||
atc=N Number of in-progress attr_changed() cache ops
|
||||
rap=N Number of in-progress read_or_alloc_page() cache ops
|
||||
ras=N Number of in-progress read_or_alloc_pages() cache ops
|
||||
alp=N Number of in-progress allocate_page() cache ops
|
||||
als=N Number of in-progress allocate_pages() cache ops
|
||||
wrp=N Number of in-progress write_page() cache ops
|
||||
ucp=N Number of in-progress uncache_page() cache ops
|
||||
dsp=N Number of in-progress dissociate_pages() cache ops
|
||||
|
||||
|
||||
(*) /proc/fs/fscache/histogram
|
||||
|
@ -299,6 +328,87 @@ proc files.
|
|||
jiffy range covered, and the SECS field the equivalent number of seconds.
|
||||
|
||||
|
||||
===========
|
||||
OBJECT LIST
|
||||
===========
|
||||
|
||||
If CONFIG_FSCACHE_OBJECT_LIST is enabled, the FS-Cache facility will maintain a
|
||||
list of all the objects currently allocated and allow them to be viewed
|
||||
through:
|
||||
|
||||
/proc/fs/fscache/objects
|
||||
|
||||
This will look something like:
|
||||
|
||||
[root@andromeda ~]# head /proc/fs/fscache/objects
|
||||
OBJECT PARENT STAT CHLDN OPS OOP IPR EX READS EM EV F S | NETFS_COOKIE_DEF TY FL NETFS_DATA OBJECT_KEY, AUX_DATA
|
||||
======== ======== ==== ===== === === === == ===== == == = = | ================ == == ================ ================
|
||||
17e4b 2 ACTV 0 0 0 0 0 0 7b 4 0 8 | NFS.fh DT 0 ffff88001dd82820 010006017edcf8bbc93b43298fdfbe71e50b57b13a172c0117f38472, e567634700000000000000000000000063f2404a000000000000000000000000c9030000000000000000000063f2404a
|
||||
1693a 2 ACTV 0 0 0 0 0 0 7b 4 0 8 | NFS.fh DT 0 ffff88002db23380 010006017edcf8bbc93b43298fdfbe71e50b57b1e0162c01a2df0ea6, 420ebc4a000000000000000000000000420ebc4a0000000000000000000000000e1801000000000000000000420ebc4a
|
||||
|
||||
where the first set of columns before the '|' describe the object:
|
||||
|
||||
COLUMN DESCRIPTION
|
||||
======= ===============================================================
|
||||
OBJECT Object debugging ID (appears as OBJ%x in some debug messages)
|
||||
PARENT Debugging ID of parent object
|
||||
STAT Object state
|
||||
CHLDN Number of child objects of this object
|
||||
OPS Number of outstanding operations on this object
|
||||
OOP Number of outstanding child object management operations
|
||||
IPR
|
||||
EX Number of outstanding exclusive operations
|
||||
READS Number of outstanding read operations
|
||||
EM Object's event mask
|
||||
EV Events raised on this object
|
||||
F Object flags
|
||||
S Object slow-work work item flags
|
||||
|
||||
and the second set of columns describe the object's cookie, if present:
|
||||
|
||||
COLUMN DESCRIPTION
|
||||
=============== =======================================================
|
||||
NETFS_COOKIE_DEF Name of netfs cookie definition
|
||||
TY Cookie type (IX - index, DT - data, hex - special)
|
||||
FL Cookie flags
|
||||
NETFS_DATA Netfs private data stored in the cookie
|
||||
OBJECT_KEY Object key } 1 column, with separating comma
|
||||
AUX_DATA Object aux data } presence may be configured
|
||||
|
||||
The data shown may be filtered by attaching the a key to an appropriate keyring
|
||||
before viewing the file. Something like:
|
||||
|
||||
keyctl add user fscache:objlist <restrictions> @s
|
||||
|
||||
where <restrictions> are a selection of the following letters:
|
||||
|
||||
K Show hexdump of object key (don't show if not given)
|
||||
A Show hexdump of object aux data (don't show if not given)
|
||||
|
||||
and the following paired letters:
|
||||
|
||||
C Show objects that have a cookie
|
||||
c Show objects that don't have a cookie
|
||||
B Show objects that are busy
|
||||
b Show objects that aren't busy
|
||||
W Show objects that have pending writes
|
||||
w Show objects that don't have pending writes
|
||||
R Show objects that have outstanding reads
|
||||
r Show objects that don't have outstanding reads
|
||||
S Show objects that have slow work queued
|
||||
s Show objects that don't have slow work queued
|
||||
|
||||
If neither side of a letter pair is given, then both are implied. For example:
|
||||
|
||||
keyctl add user fscache:objlist KB @s
|
||||
|
||||
shows objects that are busy, and lists their object keys, but does not dump
|
||||
their auxiliary data. It also implies "CcWwRrSs", but as 'B' is given, 'b' is
|
||||
not implied.
|
||||
|
||||
By default all objects and all fields will be shown.
|
||||
|
||||
|
||||
=========
|
||||
DEBUGGING
|
||||
=========
|
||||
|
|
|
@ -641,7 +641,7 @@ data file must be retired (see the relinquish cookie function below).
|
|||
|
||||
Furthermore, note that this does not cancel the asynchronous read or write
|
||||
operation started by the read/alloc and write functions, so the page
|
||||
invalidation and release functions must use:
|
||||
invalidation functions must use:
|
||||
|
||||
bool fscache_check_page_write(struct fscache_cookie *cookie,
|
||||
struct page *page);
|
||||
|
@ -654,6 +654,25 @@ to see if a page is being written to the cache, and:
|
|||
to wait for it to finish if it is.
|
||||
|
||||
|
||||
When releasepage() is being implemented, a special FS-Cache function exists to
|
||||
manage the heuristics of coping with vmscan trying to eject pages, which may
|
||||
conflict with the cache trying to write pages to the cache (which may itself
|
||||
need to allocate memory):
|
||||
|
||||
bool fscache_maybe_release_page(struct fscache_cookie *cookie,
|
||||
struct page *page,
|
||||
gfp_t gfp);
|
||||
|
||||
This takes the netfs cookie, and the page and gfp arguments as supplied to
|
||||
releasepage(). It will return false if the page cannot be released yet for
|
||||
some reason and if it returns true, the page has been uncached and can now be
|
||||
released.
|
||||
|
||||
To make a page available for release, this function may wait for an outstanding
|
||||
storage request to complete, or it may attempt to cancel the storage request -
|
||||
in which case the page will not be stored in the cache this time.
|
||||
|
||||
|
||||
==========================
|
||||
INDEX AND DATA FILE UPDATE
|
||||
==========================
|
||||
|
|
|
@ -20,15 +20,16 @@ Lots of code taken from ext3 and other projects.
|
|||
Authors in alphabetical order:
|
||||
Joel Becker <joel.becker@oracle.com>
|
||||
Zach Brown <zach.brown@oracle.com>
|
||||
Mark Fasheh <mark.fasheh@oracle.com>
|
||||
Mark Fasheh <mfasheh@suse.com>
|
||||
Kurt Hackel <kurt.hackel@oracle.com>
|
||||
Tao Ma <tao.ma@oracle.com>
|
||||
Sunil Mushran <sunil.mushran@oracle.com>
|
||||
Manish Singh <manish.singh@oracle.com>
|
||||
Tiger Yang <tiger.yang@oracle.com>
|
||||
|
||||
Caveats
|
||||
=======
|
||||
Features which OCFS2 does not support yet:
|
||||
- quotas
|
||||
- Directory change notification (F_NOTIFY)
|
||||
- Distributed Caching (F_SETLEASE/F_GETLEASE/break_lease)
|
||||
|
||||
|
@ -70,7 +71,6 @@ commit=nrsec (*) Ocfs2 can be told to sync all its data and metadata
|
|||
performance.
|
||||
localalloc=8(*) Allows custom localalloc size in MB. If the value is too
|
||||
large, the fs will silently revert it to the default.
|
||||
Localalloc is not enabled for local mounts.
|
||||
localflocks This disables cluster aware flock.
|
||||
inode64 Indicates that Ocfs2 is allowed to create inodes at
|
||||
any location in the filesystem, including those which
|
||||
|
|
|
@ -8,7 +8,7 @@ Supported adapters:
|
|||
Datasheet: Only available via NDA from ServerWorks
|
||||
* ATI IXP200, IXP300, IXP400, SB600, SB700 and SB800 southbridges
|
||||
Datasheet: Not publicly available
|
||||
* AMD SB900
|
||||
* AMD Hudson-2
|
||||
Datasheet: Not publicly available
|
||||
* Standard Microsystems (SMSC) SLC90E66 (Victory66) southbridge
|
||||
Datasheet: Publicly available at the SMSC website http://www.smsc.com
|
||||
|
|
|
@ -41,6 +41,13 @@ expand files, provided the time taken to do so isn't too long.
|
|||
Operations of both types may sleep during execution, thus tying up the thread
|
||||
loaned to it.
|
||||
|
||||
A further class of work item is available, based on the slow work item class:
|
||||
|
||||
(*) Delayed slow work items.
|
||||
|
||||
These are slow work items that have a timer to defer queueing of the item for
|
||||
a while.
|
||||
|
||||
|
||||
THREAD-TO-CLASS ALLOCATION
|
||||
--------------------------
|
||||
|
@ -64,9 +71,11 @@ USING SLOW WORK ITEMS
|
|||
Firstly, a module or subsystem wanting to make use of slow work items must
|
||||
register its interest:
|
||||
|
||||
int ret = slow_work_register_user();
|
||||
int ret = slow_work_register_user(struct module *module);
|
||||
|
||||
This will return 0 if successful, or a -ve error upon failure.
|
||||
This will return 0 if successful, or a -ve error upon failure. The module
|
||||
pointer should be the module interested in using this facility (almost
|
||||
certainly THIS_MODULE).
|
||||
|
||||
|
||||
Slow work items may then be set up by:
|
||||
|
@ -91,6 +100,10 @@ Slow work items may then be set up by:
|
|||
|
||||
slow_work_init(&myitem, &myitem_ops);
|
||||
|
||||
or:
|
||||
|
||||
delayed_slow_work_init(&myitem, &myitem_ops);
|
||||
|
||||
or:
|
||||
|
||||
vslow_work_init(&myitem, &myitem_ops);
|
||||
|
@ -102,15 +115,92 @@ A suitably set up work item can then be enqueued for processing:
|
|||
int ret = slow_work_enqueue(&myitem);
|
||||
|
||||
This will return a -ve error if the thread pool is unable to gain a reference
|
||||
on the item, 0 otherwise.
|
||||
on the item, 0 otherwise, or (for delayed work):
|
||||
|
||||
int ret = delayed_slow_work_enqueue(&myitem, my_jiffy_delay);
|
||||
|
||||
|
||||
The items are reference counted, so there ought to be no need for a flush
|
||||
operation. When all a module's slow work items have been processed, and the
|
||||
operation. But as the reference counting is optional, means to cancel
|
||||
existing work items are also included:
|
||||
|
||||
cancel_slow_work(&myitem);
|
||||
cancel_delayed_slow_work(&myitem);
|
||||
|
||||
can be used to cancel pending work. The above cancel function waits for
|
||||
existing work to have been executed (or prevent execution of them, depending
|
||||
on timing).
|
||||
|
||||
|
||||
When all a module's slow work items have been processed, and the
|
||||
module has no further interest in the facility, it should unregister its
|
||||
interest:
|
||||
|
||||
slow_work_unregister_user();
|
||||
slow_work_unregister_user(struct module *module);
|
||||
|
||||
The module pointer is used to wait for all outstanding work items for that
|
||||
module before completing the unregistration. This prevents the put_ref() code
|
||||
from being taken away before it completes. module should almost certainly be
|
||||
THIS_MODULE.
|
||||
|
||||
|
||||
================
|
||||
HELPER FUNCTIONS
|
||||
================
|
||||
|
||||
The slow-work facility provides a function by which it can be determined
|
||||
whether or not an item is queued for later execution:
|
||||
|
||||
bool queued = slow_work_is_queued(struct slow_work *work);
|
||||
|
||||
If it returns false, then the item is not on the queue (it may be executing
|
||||
with a requeue pending). This can be used to work out whether an item on which
|
||||
another depends is on the queue, thus allowing a dependent item to be queued
|
||||
after it.
|
||||
|
||||
If the above shows an item on which another depends not to be queued, then the
|
||||
owner of the dependent item might need to wait. However, to avoid locking up
|
||||
the threads unnecessarily be sleeping in them, it can make sense under some
|
||||
circumstances to return the work item to the queue, thus deferring it until
|
||||
some other items have had a chance to make use of the yielded thread.
|
||||
|
||||
To yield a thread and defer an item, the work function should simply enqueue
|
||||
the work item again and return. However, this doesn't work if there's nothing
|
||||
actually on the queue, as the thread just vacated will jump straight back into
|
||||
the item's work function, thus busy waiting on a CPU.
|
||||
|
||||
Instead, the item should use the thread to wait for the dependency to go away,
|
||||
but rather than using schedule() or schedule_timeout() to sleep, it should use
|
||||
the following function:
|
||||
|
||||
bool requeue = slow_work_sleep_till_thread_needed(
|
||||
struct slow_work *work,
|
||||
signed long *_timeout);
|
||||
|
||||
This will add a second wait and then sleep, such that it will be woken up if
|
||||
either something appears on the queue that could usefully make use of the
|
||||
thread - and behind which this item can be queued, or if the event the caller
|
||||
set up to wait for happens. True will be returned if something else appeared
|
||||
on the queue and this work function should perhaps return, of false if
|
||||
something else woke it up. The timeout is as for schedule_timeout().
|
||||
|
||||
For example:
|
||||
|
||||
wq = bit_waitqueue(&my_flags, MY_BIT);
|
||||
init_wait(&wait);
|
||||
requeue = false;
|
||||
do {
|
||||
prepare_to_wait(wq, &wait, TASK_UNINTERRUPTIBLE);
|
||||
if (!test_bit(MY_BIT, &my_flags))
|
||||
break;
|
||||
requeue = slow_work_sleep_till_thread_needed(&my_work,
|
||||
&timeout);
|
||||
} while (timeout > 0 && !requeue);
|
||||
finish_wait(wq, &wait);
|
||||
if (!test_bit(MY_BIT, &my_flags)
|
||||
goto do_my_thing;
|
||||
if (requeue)
|
||||
return; // to slow_work
|
||||
|
||||
|
||||
===============
|
||||
|
@ -118,7 +208,8 @@ ITEM OPERATIONS
|
|||
===============
|
||||
|
||||
Each work item requires a table of operations of type struct slow_work_ops.
|
||||
All members are required:
|
||||
Only ->execute() is required; the getting and putting of a reference and the
|
||||
describing of an item are all optional.
|
||||
|
||||
(*) Get a reference on an item:
|
||||
|
||||
|
@ -148,6 +239,16 @@ All members are required:
|
|||
This should perform the work required of the item. It may sleep, it may
|
||||
perform disk I/O and it may wait for locks.
|
||||
|
||||
(*) View an item through /proc:
|
||||
|
||||
void (*desc)(struct slow_work *work, struct seq_file *m);
|
||||
|
||||
If supplied, this should print to 'm' a small string describing the work
|
||||
the item is to do. This should be no more than about 40 characters, and
|
||||
shouldn't include a newline character.
|
||||
|
||||
See the 'Viewing executing and queued items' section below.
|
||||
|
||||
|
||||
==================
|
||||
POOL CONFIGURATION
|
||||
|
@ -172,3 +273,50 @@ The slow-work thread pool has a number of configurables:
|
|||
is bounded to between 1 and one fewer than the number of active threads.
|
||||
This ensures there is always at least one thread that can process very
|
||||
slow work items, and always at least one thread that won't.
|
||||
|
||||
|
||||
==================================
|
||||
VIEWING EXECUTING AND QUEUED ITEMS
|
||||
==================================
|
||||
|
||||
If CONFIG_SLOW_WORK_DEBUG is enabled, a debugfs file is made available:
|
||||
|
||||
/sys/kernel/debug/slow_work/runqueue
|
||||
|
||||
through which the list of work items being executed and the queues of items to
|
||||
be executed may be viewed. The owner of a work item is given the chance to
|
||||
add some information of its own.
|
||||
|
||||
The contents look something like the following:
|
||||
|
||||
THR PID ITEM ADDR FL MARK DESC
|
||||
=== ===== ================ == ===== ==========
|
||||
0 3005 ffff880023f52348 a 952ms FSC: OBJ17d3: LOOK
|
||||
1 3006 ffff880024e33668 2 160ms FSC: OBJ17e5 OP60d3b: Write1/Store fl=2
|
||||
2 3165 ffff8800296dd180 a 424ms FSC: OBJ17e4: LOOK
|
||||
3 4089 ffff8800262c8d78 a 212ms FSC: OBJ17ea: CRTN
|
||||
4 4090 ffff88002792bed8 2 388ms FSC: OBJ17e8 OP60d36: Write1/Store fl=2
|
||||
5 4092 ffff88002a0ef308 2 388ms FSC: OBJ17e7 OP60d2e: Write1/Store fl=2
|
||||
6 4094 ffff88002abaf4b8 2 132ms FSC: OBJ17e2 OP60d4e: Write1/Store fl=2
|
||||
7 4095 ffff88002bb188e0 a 388ms FSC: OBJ17e9: CRTN
|
||||
vsq - ffff880023d99668 1 308ms FSC: OBJ17e0 OP60f91: Write1/EnQ fl=2
|
||||
vsq - ffff8800295d1740 1 212ms FSC: OBJ16be OP4d4b6: Write1/EnQ fl=2
|
||||
vsq - ffff880025ba3308 1 160ms FSC: OBJ179a OP58dec: Write1/EnQ fl=2
|
||||
vsq - ffff880024ec83e0 1 160ms FSC: OBJ17ae OP599f2: Write1/EnQ fl=2
|
||||
vsq - ffff880026618e00 1 160ms FSC: OBJ17e6 OP60d33: Write1/EnQ fl=2
|
||||
vsq - ffff880025a2a4b8 1 132ms FSC: OBJ16a2 OP4d583: Write1/EnQ fl=2
|
||||
vsq - ffff880023cbe6d8 9 212ms FSC: OBJ17eb: LOOK
|
||||
vsq - ffff880024d37590 9 212ms FSC: OBJ17ec: LOOK
|
||||
vsq - ffff880027746cb0 9 212ms FSC: OBJ17ed: LOOK
|
||||
vsq - ffff880024d37ae8 9 212ms FSC: OBJ17ee: LOOK
|
||||
vsq - ffff880024d37cb0 9 212ms FSC: OBJ17ef: LOOK
|
||||
vsq - ffff880025036550 9 212ms FSC: OBJ17f0: LOOK
|
||||
vsq - ffff8800250368e0 9 212ms FSC: OBJ17f1: LOOK
|
||||
vsq - ffff880025036aa8 9 212ms FSC: OBJ17f2: LOOK
|
||||
|
||||
In the 'THR' column, executing items show the thread they're occupying and
|
||||
queued threads indicate which queue they're on. 'PID' shows the process ID of
|
||||
a slow-work thread that's executing something. 'FL' shows the work item flags.
|
||||
'MARK' indicates how long since an item was queued or began executing. Lastly,
|
||||
the 'DESC' column permits the owner of an item to give some information.
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
Generic Thermal Sysfs driver How To
|
||||
=========================
|
||||
===================================
|
||||
|
||||
Written by Sujith Thomas <sujith.thomas@intel.com>, Zhang Rui <rui.zhang@intel.com>
|
||||
|
||||
|
@ -10,20 +10,20 @@ Copyright (c) 2008 Intel Corporation
|
|||
|
||||
0. Introduction
|
||||
|
||||
The generic thermal sysfs provides a set of interfaces for thermal zone devices (sensors)
|
||||
and thermal cooling devices (fan, processor...) to register with the thermal management
|
||||
solution and to be a part of it.
|
||||
The generic thermal sysfs provides a set of interfaces for thermal zone
|
||||
devices (sensors) and thermal cooling devices (fan, processor...) to register
|
||||
with the thermal management solution and to be a part of it.
|
||||
|
||||
This how-to focuses on enabling new thermal zone and cooling devices to participate
|
||||
in thermal management.
|
||||
This solution is platform independent and any type of thermal zone devices and
|
||||
cooling devices should be able to make use of the infrastructure.
|
||||
This how-to focuses on enabling new thermal zone and cooling devices to
|
||||
participate in thermal management.
|
||||
This solution is platform independent and any type of thermal zone devices
|
||||
and cooling devices should be able to make use of the infrastructure.
|
||||
|
||||
The main task of the thermal sysfs driver is to expose thermal zone attributes as well
|
||||
as cooling device attributes to the user space.
|
||||
An intelligent thermal management application can make decisions based on inputs
|
||||
from thermal zone attributes (the current temperature and trip point temperature)
|
||||
and throttle appropriate devices.
|
||||
The main task of the thermal sysfs driver is to expose thermal zone attributes
|
||||
as well as cooling device attributes to the user space.
|
||||
An intelligent thermal management application can make decisions based on
|
||||
inputs from thermal zone attributes (the current temperature and trip point
|
||||
temperature) and throttle appropriate devices.
|
||||
|
||||
[0-*] denotes any positive number starting from 0
|
||||
[1-*] denotes any positive number starting from 1
|
||||
|
@ -31,77 +31,77 @@ and throttle appropriate devices.
|
|||
1. thermal sysfs driver interface functions
|
||||
|
||||
1.1 thermal zone device interface
|
||||
1.1.1 struct thermal_zone_device *thermal_zone_device_register(char *name, int trips,
|
||||
void *devdata, struct thermal_zone_device_ops *ops)
|
||||
1.1.1 struct thermal_zone_device *thermal_zone_device_register(char *name,
|
||||
int trips, void *devdata, struct thermal_zone_device_ops *ops)
|
||||
|
||||
This interface function adds a new thermal zone device (sensor) to
|
||||
/sys/class/thermal folder as thermal_zone[0-*].
|
||||
It tries to bind all the thermal cooling devices registered at the same time.
|
||||
This interface function adds a new thermal zone device (sensor) to
|
||||
/sys/class/thermal folder as thermal_zone[0-*]. It tries to bind all the
|
||||
thermal cooling devices registered at the same time.
|
||||
|
||||
name: the thermal zone name.
|
||||
trips: the total number of trip points this thermal zone supports.
|
||||
devdata: device private data
|
||||
ops: thermal zone device call-backs.
|
||||
.bind: bind the thermal zone device with a thermal cooling device.
|
||||
.unbind: unbind the thermal zone device with a thermal cooling device.
|
||||
.get_temp: get the current temperature of the thermal zone.
|
||||
.get_mode: get the current mode (user/kernel) of the thermal zone.
|
||||
"kernel" means thermal management is done in kernel.
|
||||
"user" will prevent kernel thermal driver actions upon trip points
|
||||
so that user applications can take charge of thermal management.
|
||||
.set_mode: set the mode (user/kernel) of the thermal zone.
|
||||
.get_trip_type: get the type of certain trip point.
|
||||
.get_trip_temp: get the temperature above which the certain trip point
|
||||
will be fired.
|
||||
name: the thermal zone name.
|
||||
trips: the total number of trip points this thermal zone supports.
|
||||
devdata: device private data
|
||||
ops: thermal zone device call-backs.
|
||||
.bind: bind the thermal zone device with a thermal cooling device.
|
||||
.unbind: unbind the thermal zone device with a thermal cooling device.
|
||||
.get_temp: get the current temperature of the thermal zone.
|
||||
.get_mode: get the current mode (user/kernel) of the thermal zone.
|
||||
- "kernel" means thermal management is done in kernel.
|
||||
- "user" will prevent kernel thermal driver actions upon trip points
|
||||
so that user applications can take charge of thermal management.
|
||||
.set_mode: set the mode (user/kernel) of the thermal zone.
|
||||
.get_trip_type: get the type of certain trip point.
|
||||
.get_trip_temp: get the temperature above which the certain trip point
|
||||
will be fired.
|
||||
|
||||
1.1.2 void thermal_zone_device_unregister(struct thermal_zone_device *tz)
|
||||
|
||||
This interface function removes the thermal zone device.
|
||||
It deletes the corresponding entry form /sys/class/thermal folder and unbind all
|
||||
the thermal cooling devices it uses.
|
||||
This interface function removes the thermal zone device.
|
||||
It deletes the corresponding entry form /sys/class/thermal folder and
|
||||
unbind all the thermal cooling devices it uses.
|
||||
|
||||
1.2 thermal cooling device interface
|
||||
1.2.1 struct thermal_cooling_device *thermal_cooling_device_register(char *name,
|
||||
void *devdata, struct thermal_cooling_device_ops *)
|
||||
void *devdata, struct thermal_cooling_device_ops *)
|
||||
|
||||
This interface function adds a new thermal cooling device (fan/processor/...) to
|
||||
/sys/class/thermal/ folder as cooling_device[0-*].
|
||||
It tries to bind itself to all the thermal zone devices register at the same time.
|
||||
name: the cooling device name.
|
||||
devdata: device private data.
|
||||
ops: thermal cooling devices call-backs.
|
||||
.get_max_state: get the Maximum throttle state of the cooling device.
|
||||
.get_cur_state: get the Current throttle state of the cooling device.
|
||||
.set_cur_state: set the Current throttle state of the cooling device.
|
||||
This interface function adds a new thermal cooling device (fan/processor/...)
|
||||
to /sys/class/thermal/ folder as cooling_device[0-*]. It tries to bind itself
|
||||
to all the thermal zone devices register at the same time.
|
||||
name: the cooling device name.
|
||||
devdata: device private data.
|
||||
ops: thermal cooling devices call-backs.
|
||||
.get_max_state: get the Maximum throttle state of the cooling device.
|
||||
.get_cur_state: get the Current throttle state of the cooling device.
|
||||
.set_cur_state: set the Current throttle state of the cooling device.
|
||||
|
||||
1.2.2 void thermal_cooling_device_unregister(struct thermal_cooling_device *cdev)
|
||||
|
||||
This interface function remove the thermal cooling device.
|
||||
It deletes the corresponding entry form /sys/class/thermal folder and unbind
|
||||
itself from all the thermal zone devices using it.
|
||||
This interface function remove the thermal cooling device.
|
||||
It deletes the corresponding entry form /sys/class/thermal folder and
|
||||
unbind itself from all the thermal zone devices using it.
|
||||
|
||||
1.3 interface for binding a thermal zone device with a thermal cooling device
|
||||
1.3.1 int thermal_zone_bind_cooling_device(struct thermal_zone_device *tz,
|
||||
int trip, struct thermal_cooling_device *cdev);
|
||||
int trip, struct thermal_cooling_device *cdev);
|
||||
|
||||
This interface function bind a thermal cooling device to the certain trip point
|
||||
of a thermal zone device.
|
||||
This function is usually called in the thermal zone device .bind callback.
|
||||
tz: the thermal zone device
|
||||
cdev: thermal cooling device
|
||||
trip: indicates which trip point the cooling devices is associated with
|
||||
in this thermal zone.
|
||||
This interface function bind a thermal cooling device to the certain trip
|
||||
point of a thermal zone device.
|
||||
This function is usually called in the thermal zone device .bind callback.
|
||||
tz: the thermal zone device
|
||||
cdev: thermal cooling device
|
||||
trip: indicates which trip point the cooling devices is associated with
|
||||
in this thermal zone.
|
||||
|
||||
1.3.2 int thermal_zone_unbind_cooling_device(struct thermal_zone_device *tz,
|
||||
int trip, struct thermal_cooling_device *cdev);
|
||||
int trip, struct thermal_cooling_device *cdev);
|
||||
|
||||
This interface function unbind a thermal cooling device from the certain trip point
|
||||
of a thermal zone device.
|
||||
This function is usually called in the thermal zone device .unbind callback.
|
||||
tz: the thermal zone device
|
||||
cdev: thermal cooling device
|
||||
trip: indicates which trip point the cooling devices is associated with
|
||||
in this thermal zone.
|
||||
This interface function unbind a thermal cooling device from the certain
|
||||
trip point of a thermal zone device. This function is usually called in
|
||||
the thermal zone device .unbind callback.
|
||||
tz: the thermal zone device
|
||||
cdev: thermal cooling device
|
||||
trip: indicates which trip point the cooling devices is associated with
|
||||
in this thermal zone.
|
||||
|
||||
2. sysfs attributes structure
|
||||
|
||||
|
@ -114,153 +114,166 @@ if hwmon is compiled in or built as a module.
|
|||
|
||||
Thermal zone device sys I/F, created once it's registered:
|
||||
/sys/class/thermal/thermal_zone[0-*]:
|
||||
|-----type: Type of the thermal zone
|
||||
|-----temp: Current temperature
|
||||
|-----mode: Working mode of the thermal zone
|
||||
|-----trip_point_[0-*]_temp: Trip point temperature
|
||||
|-----trip_point_[0-*]_type: Trip point type
|
||||
|---type: Type of the thermal zone
|
||||
|---temp: Current temperature
|
||||
|---mode: Working mode of the thermal zone
|
||||
|---trip_point_[0-*]_temp: Trip point temperature
|
||||
|---trip_point_[0-*]_type: Trip point type
|
||||
|
||||
Thermal cooling device sys I/F, created once it's registered:
|
||||
/sys/class/thermal/cooling_device[0-*]:
|
||||
|-----type : Type of the cooling device(processor/fan/...)
|
||||
|-----max_state: Maximum cooling state of the cooling device
|
||||
|-----cur_state: Current cooling state of the cooling device
|
||||
|---type: Type of the cooling device(processor/fan/...)
|
||||
|---max_state: Maximum cooling state of the cooling device
|
||||
|---cur_state: Current cooling state of the cooling device
|
||||
|
||||
|
||||
These two dynamic attributes are created/removed in pairs.
|
||||
They represent the relationship between a thermal zone and its associated cooling device.
|
||||
They are created/removed for each
|
||||
thermal_zone_bind_cooling_device/thermal_zone_unbind_cooling_device successful execution.
|
||||
Then next two dynamic attributes are created/removed in pairs. They represent
|
||||
the relationship between a thermal zone and its associated cooling device.
|
||||
They are created/removed for each successful execution of
|
||||
thermal_zone_bind_cooling_device/thermal_zone_unbind_cooling_device.
|
||||
|
||||
/sys/class/thermal/thermal_zone[0-*]
|
||||
|-----cdev[0-*]: The [0-*]th cooling device in the current thermal zone
|
||||
|-----cdev[0-*]_trip_point: Trip point that cdev[0-*] is associated with
|
||||
/sys/class/thermal/thermal_zone[0-*]:
|
||||
|---cdev[0-*]: [0-*]th cooling device in current thermal zone
|
||||
|---cdev[0-*]_trip_point: Trip point that cdev[0-*] is associated with
|
||||
|
||||
Besides the thermal zone device sysfs I/F and cooling device sysfs I/F,
|
||||
the generic thermal driver also creates a hwmon sysfs I/F for each _type_ of
|
||||
thermal zone device. E.g. the generic thermal driver registers one hwmon class device
|
||||
and build the associated hwmon sysfs I/F for all the registered ACPI thermal zones.
|
||||
the generic thermal driver also creates a hwmon sysfs I/F for each _type_
|
||||
of thermal zone device. E.g. the generic thermal driver registers one hwmon
|
||||
class device and build the associated hwmon sysfs I/F for all the registered
|
||||
ACPI thermal zones.
|
||||
|
||||
/sys/class/hwmon/hwmon[0-*]:
|
||||
|-----name: The type of the thermal zone devices.
|
||||
|-----temp[1-*]_input: The current temperature of thermal zone [1-*].
|
||||
|-----temp[1-*]_critical: The critical trip point of thermal zone [1-*].
|
||||
|---name: The type of the thermal zone devices
|
||||
|---temp[1-*]_input: The current temperature of thermal zone [1-*]
|
||||
|---temp[1-*]_critical: The critical trip point of thermal zone [1-*]
|
||||
|
||||
Please read Documentation/hwmon/sysfs-interface for additional information.
|
||||
|
||||
***************************
|
||||
* Thermal zone attributes *
|
||||
***************************
|
||||
|
||||
type Strings which represent the thermal zone type.
|
||||
This is given by thermal zone driver as part of registration.
|
||||
Eg: "acpitz" indicates it's an ACPI thermal device.
|
||||
In order to keep it consistent with hwmon sys attribute,
|
||||
this should be a short, lowercase string,
|
||||
not containing spaces nor dashes.
|
||||
RO
|
||||
Required
|
||||
type
|
||||
Strings which represent the thermal zone type.
|
||||
This is given by thermal zone driver as part of registration.
|
||||
E.g: "acpitz" indicates it's an ACPI thermal device.
|
||||
In order to keep it consistent with hwmon sys attribute; this should
|
||||
be a short, lowercase string, not containing spaces nor dashes.
|
||||
RO, Required
|
||||
|
||||
temp Current temperature as reported by thermal zone (sensor)
|
||||
Unit: millidegree Celsius
|
||||
RO
|
||||
Required
|
||||
temp
|
||||
Current temperature as reported by thermal zone (sensor).
|
||||
Unit: millidegree Celsius
|
||||
RO, Required
|
||||
|
||||
mode One of the predefined values in [kernel, user]
|
||||
This file gives information about the algorithm
|
||||
that is currently managing the thermal zone.
|
||||
It can be either default kernel based algorithm
|
||||
or user space application.
|
||||
RW
|
||||
Optional
|
||||
kernel = Thermal management in kernel thermal zone driver.
|
||||
user = Preventing kernel thermal zone driver actions upon
|
||||
trip points so that user application can take full
|
||||
charge of the thermal management.
|
||||
mode
|
||||
One of the predefined values in [kernel, user].
|
||||
This file gives information about the algorithm that is currently
|
||||
managing the thermal zone. It can be either default kernel based
|
||||
algorithm or user space application.
|
||||
kernel = Thermal management in kernel thermal zone driver.
|
||||
user = Preventing kernel thermal zone driver actions upon
|
||||
trip points so that user application can take full
|
||||
charge of the thermal management.
|
||||
RW, Optional
|
||||
|
||||
trip_point_[0-*]_temp The temperature above which trip point will be fired
|
||||
Unit: millidegree Celsius
|
||||
RO
|
||||
Optional
|
||||
trip_point_[0-*]_temp
|
||||
The temperature above which trip point will be fired.
|
||||
Unit: millidegree Celsius
|
||||
RO, Optional
|
||||
|
||||
trip_point_[0-*]_type Strings which indicate the type of the trip point
|
||||
E.g. it can be one of critical, hot, passive,
|
||||
active[0-*] for ACPI thermal zone.
|
||||
RO
|
||||
Optional
|
||||
trip_point_[0-*]_type
|
||||
Strings which indicate the type of the trip point.
|
||||
E.g. it can be one of critical, hot, passive, active[0-*] for ACPI
|
||||
thermal zone.
|
||||
RO, Optional
|
||||
|
||||
cdev[0-*] Sysfs link to the thermal cooling device node where the sys I/F
|
||||
for cooling device throttling control represents.
|
||||
RO
|
||||
Optional
|
||||
cdev[0-*]
|
||||
Sysfs link to the thermal cooling device node where the sys I/F
|
||||
for cooling device throttling control represents.
|
||||
RO, Optional
|
||||
|
||||
cdev[0-*]_trip_point The trip point with which cdev[0-*] is associated in this thermal zone
|
||||
-1 means the cooling device is not associated with any trip point.
|
||||
RO
|
||||
Optional
|
||||
cdev[0-*]_trip_point
|
||||
The trip point with which cdev[0-*] is associated in this thermal
|
||||
zone; -1 means the cooling device is not associated with any trip
|
||||
point.
|
||||
RO, Optional
|
||||
|
||||
******************************
|
||||
* Cooling device attributes *
|
||||
******************************
|
||||
passive
|
||||
Attribute is only present for zones in which the passive cooling
|
||||
policy is not supported by native thermal driver. Default is zero
|
||||
and can be set to a temperature (in millidegrees) to enable a
|
||||
passive trip point for the zone. Activation is done by polling with
|
||||
an interval of 1 second.
|
||||
Unit: millidegrees Celsius
|
||||
RW, Optional
|
||||
|
||||
type String which represents the type of device
|
||||
eg: For generic ACPI: this should be "Fan",
|
||||
"Processor" or "LCD"
|
||||
eg. For memory controller device on intel_menlow platform:
|
||||
this should be "Memory controller"
|
||||
RO
|
||||
Required
|
||||
*****************************
|
||||
* Cooling device attributes *
|
||||
*****************************
|
||||
|
||||
max_state The maximum permissible cooling state of this cooling device.
|
||||
RO
|
||||
Required
|
||||
type
|
||||
String which represents the type of device, e.g:
|
||||
- for generic ACPI: should be "Fan", "Processor" or "LCD"
|
||||
- for memory controller device on intel_menlow platform:
|
||||
should be "Memory controller".
|
||||
RO, Required
|
||||
|
||||
cur_state The current cooling state of this cooling device.
|
||||
the value can any integer numbers between 0 and max_state,
|
||||
cur_state == 0 means no cooling
|
||||
cur_state == max_state means the maximum cooling.
|
||||
RW
|
||||
Required
|
||||
max_state
|
||||
The maximum permissible cooling state of this cooling device.
|
||||
RO, Required
|
||||
|
||||
cur_state
|
||||
The current cooling state of this cooling device.
|
||||
The value can any integer numbers between 0 and max_state:
|
||||
- cur_state == 0 means no cooling
|
||||
- cur_state == max_state means the maximum cooling.
|
||||
RW, Required
|
||||
|
||||
3. A simple implementation
|
||||
|
||||
ACPI thermal zone may support multiple trip points like critical/hot/passive/active.
|
||||
If an ACPI thermal zone supports critical, passive, active[0] and active[1] at the same time,
|
||||
it may register itself as a thermal_zone_device (thermal_zone1) with 4 trip points in all.
|
||||
It has one processor and one fan, which are both registered as thermal_cooling_device.
|
||||
If the processor is listed in _PSL method, and the fan is listed in _AL0 method,
|
||||
the sys I/F structure will be built like this:
|
||||
ACPI thermal zone may support multiple trip points like critical, hot,
|
||||
passive, active. If an ACPI thermal zone supports critical, passive,
|
||||
active[0] and active[1] at the same time, it may register itself as a
|
||||
thermal_zone_device (thermal_zone1) with 4 trip points in all.
|
||||
It has one processor and one fan, which are both registered as
|
||||
thermal_cooling_device.
|
||||
|
||||
If the processor is listed in _PSL method, and the fan is listed in _AL0
|
||||
method, the sys I/F structure will be built like this:
|
||||
|
||||
/sys/class/thermal:
|
||||
|
||||
|thermal_zone1:
|
||||
|-----type: acpitz
|
||||
|-----temp: 37000
|
||||
|-----mode: kernel
|
||||
|-----trip_point_0_temp: 100000
|
||||
|-----trip_point_0_type: critical
|
||||
|-----trip_point_1_temp: 80000
|
||||
|-----trip_point_1_type: passive
|
||||
|-----trip_point_2_temp: 70000
|
||||
|-----trip_point_2_type: active0
|
||||
|-----trip_point_3_temp: 60000
|
||||
|-----trip_point_3_type: active1
|
||||
|-----cdev0: --->/sys/class/thermal/cooling_device0
|
||||
|-----cdev0_trip_point: 1 /* cdev0 can be used for passive */
|
||||
|-----cdev1: --->/sys/class/thermal/cooling_device3
|
||||
|-----cdev1_trip_point: 2 /* cdev1 can be used for active[0]*/
|
||||
|---type: acpitz
|
||||
|---temp: 37000
|
||||
|---mode: kernel
|
||||
|---trip_point_0_temp: 100000
|
||||
|---trip_point_0_type: critical
|
||||
|---trip_point_1_temp: 80000
|
||||
|---trip_point_1_type: passive
|
||||
|---trip_point_2_temp: 70000
|
||||
|---trip_point_2_type: active0
|
||||
|---trip_point_3_temp: 60000
|
||||
|---trip_point_3_type: active1
|
||||
|---cdev0: --->/sys/class/thermal/cooling_device0
|
||||
|---cdev0_trip_point: 1 /* cdev0 can be used for passive */
|
||||
|---cdev1: --->/sys/class/thermal/cooling_device3
|
||||
|---cdev1_trip_point: 2 /* cdev1 can be used for active[0]*/
|
||||
|
||||
|cooling_device0:
|
||||
|-----type: Processor
|
||||
|-----max_state: 8
|
||||
|-----cur_state: 0
|
||||
|---type: Processor
|
||||
|---max_state: 8
|
||||
|---cur_state: 0
|
||||
|
||||
|cooling_device3:
|
||||
|-----type: Fan
|
||||
|-----max_state: 2
|
||||
|-----cur_state: 0
|
||||
|---type: Fan
|
||||
|---max_state: 2
|
||||
|---cur_state: 0
|
||||
|
||||
/sys/class/hwmon:
|
||||
|
||||
|hwmon0:
|
||||
|-----name: acpitz
|
||||
|-----temp1_input: 37000
|
||||
|-----temp1_crit: 100000
|
||||
|---name: acpitz
|
||||
|---temp1_input: 37000
|
||||
|---temp1_crit: 100000
|
||||
|
|
|
@ -218,7 +218,7 @@ static void fatal(const char *x, ...)
|
|||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
int checked_open(const char *pathname, int flags)
|
||||
static int checked_open(const char *pathname, int flags)
|
||||
{
|
||||
int fd = open(pathname, flags);
|
||||
|
||||
|
|
117
MAINTAINERS
117
MAINTAINERS
|
@ -182,7 +182,7 @@ M: Ron Minnich <rminnich@sandia.gov>
|
|||
M: Latchesar Ionkov <lucho@ionkov.net>
|
||||
L: v9fs-developer@lists.sourceforge.net
|
||||
W: http://swik.net/v9fs
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/ericvh/v9fs.git
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs.git
|
||||
S: Maintained
|
||||
F: Documentation/filesystems/9p.txt
|
||||
F: fs/9p/
|
||||
|
@ -512,10 +512,32 @@ W: http://www.arm.linux.org.uk/
|
|||
S: Maintained
|
||||
F: arch/arm/
|
||||
|
||||
ARM PRIMECELL AACI PL041 DRIVER
|
||||
M: Russell King <linux@arm.linux.org.uk>
|
||||
S: Maintained
|
||||
F: sound/arm/aaci.*
|
||||
|
||||
ARM PRIMECELL CLCD PL110 DRIVER
|
||||
M: Russell King <linux@arm.linux.org.uk>
|
||||
S: Maintained
|
||||
F: drivers/video/amba-clcd.*
|
||||
|
||||
ARM PRIMECELL KMI PL050 DRIVER
|
||||
M: Russell King <linux@arm.linux.org.uk>
|
||||
S: Maintained
|
||||
F: drivers/input/serio/ambakmi.*
|
||||
F: include/linux/amba/kmi.h
|
||||
|
||||
ARM PRIMECELL MMCI PL180/1 DRIVER
|
||||
S: Orphan
|
||||
F: drivers/mmc/host/mmci.*
|
||||
|
||||
ARM PRIMECELL BUS SUPPORT
|
||||
M: Russell King <linux@arm.linux.org.uk>
|
||||
S: Maintained
|
||||
F: drivers/amba/
|
||||
F: include/linux/amba/bus.h
|
||||
|
||||
ARM/ADI ROADRUNNER MACHINE SUPPORT
|
||||
M: Lennert Buytenhek <kernel@wantstofly.org>
|
||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
|
@ -906,7 +928,6 @@ M: Karol Kozimor <sziwan@users.sourceforge.net>
|
|||
L: acpi4asus-user@lists.sourceforge.net
|
||||
W: http://acpi4asus.sf.net
|
||||
S: Maintained
|
||||
F: arch/x86/kernel/acpi/boot.c
|
||||
F: drivers/platform/x86/asus_acpi.c
|
||||
|
||||
ASUS ASB100 HARDWARE MONITOR DRIVER
|
||||
|
@ -1028,7 +1049,7 @@ F: drivers/serial/atmel_serial.c
|
|||
|
||||
ATMEL LCDFB DRIVER
|
||||
M: Nicolas Ferre <nicolas.ferre@atmel.com>
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
|
||||
L: linux-fbdev@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/video/atmel_lcdfb.c
|
||||
F: include/video/atmel_lcdc.h
|
||||
|
@ -1245,11 +1266,10 @@ S: Supported
|
|||
F: drivers/net/tg3.*
|
||||
|
||||
BROCADE BFA FC SCSI DRIVER
|
||||
P: Jing Huang
|
||||
M: huangj@brocade.com
|
||||
L: linux-scsi@vger.kernel.org
|
||||
S: Supported
|
||||
F: drivers/scsi/bfa/
|
||||
M: Jing Huang <huangj@brocade.com>
|
||||
L: linux-scsi@vger.kernel.org
|
||||
S: Supported
|
||||
F: drivers/scsi/bfa/
|
||||
|
||||
BSG (block layer generic sg v4 driver)
|
||||
M: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
||||
|
@ -2115,7 +2135,7 @@ F: drivers/net/wan/dlci.c
|
|||
F: drivers/net/wan/sdla.c
|
||||
|
||||
FRAMEBUFFER LAYER
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
|
||||
L: linux-fbdev@vger.kernel.org
|
||||
W: http://linux-fbdev.sourceforge.net/
|
||||
S: Orphan
|
||||
F: Documentation/fb/
|
||||
|
@ -2138,7 +2158,7 @@ F: drivers/i2c/busses/i2c-cpm.c
|
|||
|
||||
FREESCALE IMX / MXC FRAMEBUFFER DRIVER
|
||||
M: Sascha Hauer <kernel@pengutronix.de>
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
|
||||
L: linux-fbdev@vger.kernel.org
|
||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
S: Maintained
|
||||
F: arch/arm/plat-mxc/include/mach/imxfb.h
|
||||
|
@ -2314,6 +2334,13 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
|
|||
S: Maintained
|
||||
F: drivers/media/video/gspca/finepix.c
|
||||
|
||||
GSPCA GL860 SUBDRIVER
|
||||
M: Olivier Lorin <o.lorin@laposte.net>
|
||||
L: linux-media@vger.kernel.org
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
|
||||
S: Maintained
|
||||
F: drivers/media/video/gspca/gl860/
|
||||
|
||||
GSPCA M5602 SUBDRIVER
|
||||
M: Erik Andren <erik.andren@gmail.com>
|
||||
L: linux-media@vger.kernel.org
|
||||
|
@ -2535,8 +2562,7 @@ S: Maintained
|
|||
F: Documentation/i2c/
|
||||
F: drivers/i2c/
|
||||
F: include/linux/i2c.h
|
||||
F: include/linux/i2c-dev.h
|
||||
F: include/linux/i2c-id.h
|
||||
F: include/linux/i2c-*.h
|
||||
|
||||
I2C-TINY-USB DRIVER
|
||||
M: Till Harbaum <till@harbaum.org>
|
||||
|
@ -2637,7 +2663,7 @@ S: Supported
|
|||
F: security/integrity/ima/
|
||||
|
||||
IMS TWINTURBO FRAMEBUFFER DRIVER
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
|
||||
L: linux-fbdev@vger.kernel.org
|
||||
S: Orphan
|
||||
F: drivers/video/imsttfb.c
|
||||
|
||||
|
@ -2672,14 +2698,14 @@ F: drivers/input/
|
|||
|
||||
INTEL FRAMEBUFFER DRIVER (excluding 810 and 815)
|
||||
M: Sylvain Meyer <sylvain.meyer@worldonline.fr>
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
|
||||
L: linux-fbdev@vger.kernel.org
|
||||
S: Maintained
|
||||
F: Documentation/fb/intelfb.txt
|
||||
F: drivers/video/intelfb/
|
||||
|
||||
INTEL 810/815 FRAMEBUFFER DRIVER
|
||||
M: Antonino Daplas <adaplas@gmail.com>
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
|
||||
L: linux-fbdev@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/video/i810/
|
||||
|
||||
|
@ -2825,7 +2851,7 @@ F: drivers/infiniband/hw/ipath/
|
|||
|
||||
IPMI SUBSYSTEM
|
||||
M: Corey Minyard <minyard@acm.org>
|
||||
L: openipmi-developer@lists.sourceforge.net
|
||||
L: openipmi-developer@lists.sourceforge.net (moderated for non-subscribers)
|
||||
W: http://openipmi.sourceforge.net/
|
||||
S: Supported
|
||||
F: Documentation/IPMI.txt
|
||||
|
@ -2989,11 +3015,8 @@ S: Maintained
|
|||
F: fs/autofs4/
|
||||
|
||||
KERNEL BUILD
|
||||
M: Sam Ravnborg <sam@ravnborg.org>
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next.git
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes.git
|
||||
L: linux-kbuild@vger.kernel.org
|
||||
S: Maintained
|
||||
S: Orphan
|
||||
F: Documentation/kbuild/
|
||||
F: Makefile
|
||||
F: scripts/Makefile.*
|
||||
|
@ -3086,9 +3109,13 @@ F: kernel/kgdb.c
|
|||
|
||||
KMEMCHECK
|
||||
M: Vegard Nossum <vegardno@ifi.uio.no>
|
||||
P Pekka Enberg
|
||||
M: penberg@cs.helsinki.fi
|
||||
M: Pekka Enberg <penberg@cs.helsinki.fi>
|
||||
S: Maintained
|
||||
F: Documentation/kmemcheck.txt
|
||||
F: arch/x86/include/asm/kmemcheck.h
|
||||
F: arch/x86/mm/kmemcheck/
|
||||
F: include/linux/kmemcheck.h
|
||||
F: mm/kmemcheck.c
|
||||
|
||||
KMEMLEAK
|
||||
M: Catalin Marinas <catalin.marinas@arm.com>
|
||||
|
@ -3389,7 +3416,7 @@ S: Supported
|
|||
|
||||
MATROX FRAMEBUFFER DRIVER
|
||||
M: Petr Vandrovec <vandrove@vc.cvut.cz>
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
|
||||
L: linux-fbdev@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/video/matrox/matroxfb_*
|
||||
F: include/linux/matroxfb.h
|
||||
|
@ -3618,7 +3645,7 @@ L: netfilter@vger.kernel.org
|
|||
L: coreteam@netfilter.org
|
||||
W: http://www.netfilter.org/
|
||||
W: http://www.iptables.org/
|
||||
T: git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6.git
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6.git
|
||||
S: Supported
|
||||
F: include/linux/netfilter*
|
||||
F: include/linux/netfilter/
|
||||
|
@ -3665,6 +3692,7 @@ L: netdev@vger.kernel.org
|
|||
W: http://www.linuxfoundation.org/en/Net
|
||||
W: http://patchwork.ozlabs.org/project/netdev/list/
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.git
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6.git
|
||||
S: Maintained
|
||||
F: net/
|
||||
F: include/net/
|
||||
|
@ -3775,7 +3803,7 @@ F: fs/ntfs/
|
|||
|
||||
NVIDIA (rivafb and nvidiafb) FRAMEBUFFER DRIVER
|
||||
M: Antonino Daplas <adaplas@gmail.com>
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
|
||||
L: linux-fbdev@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/video/riva/
|
||||
F: drivers/video/nvidia/
|
||||
|
@ -3810,7 +3838,7 @@ F: sound/soc/omap/
|
|||
|
||||
OMAP FRAMEBUFFER SUPPORT
|
||||
M: Imre Deak <imre.deak@nokia.com>
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
|
||||
L: linux-fbdev@vger.kernel.org
|
||||
L: linux-omap@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/video/omap/
|
||||
|
@ -4316,19 +4344,21 @@ F: include/linux/qnxtypes.h
|
|||
|
||||
RADEON FRAMEBUFFER DISPLAY DRIVER
|
||||
M: Benjamin Herrenschmidt <benh@kernel.crashing.org>
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
|
||||
L: linux-fbdev@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/video/aty/radeon*
|
||||
F: include/linux/radeonfb.h
|
||||
|
||||
RAGE128 FRAMEBUFFER DISPLAY DRIVER
|
||||
M: Paul Mackerras <paulus@samba.org>
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
|
||||
L: linux-fbdev@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/video/aty/aty128fb.c
|
||||
|
||||
RALINK RT2X00 WIRELESS LAN DRIVER
|
||||
P: rt2x00 project
|
||||
M: Ivo van Doorn <IvDoorn@gmail.com>
|
||||
M: Gertjan van Wingerde <gwingerde@gmail.com>
|
||||
L: linux-wireless@vger.kernel.org
|
||||
L: users@rt2x00.serialmonkey.com (moderated for non-subscribers)
|
||||
W: http://rt2x00.serialmonkey.com/
|
||||
|
@ -4416,7 +4446,7 @@ RFKILL
|
|||
M: Johannes Berg <johannes@sipsolutions.net>
|
||||
L: linux-wireless@vger.kernel.org
|
||||
S: Maintained
|
||||
F Documentation/rfkill.txt
|
||||
F: Documentation/rfkill.txt
|
||||
F: net/rfkill/
|
||||
|
||||
RISCOM8 DRIVER
|
||||
|
@ -4460,7 +4490,7 @@ F: drivers/net/wireless/rtl818x/rtl8187*
|
|||
|
||||
S3 SAVAGE FRAMEBUFFER DRIVER
|
||||
M: Antonino Daplas <adaplas@gmail.com>
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
|
||||
L: linux-fbdev@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/video/savage/
|
||||
|
||||
|
@ -4636,7 +4666,7 @@ F: drivers/mmc/host/sdhci-s3c.c
|
|||
SECURITY SUBSYSTEM
|
||||
M: James Morris <jmorris@namei.org>
|
||||
L: linux-security-module@vger.kernel.org (suggested Cc:)
|
||||
T: git git://www.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6.git
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6.git
|
||||
W: http://security.wiki.kernel.org/
|
||||
S: Supported
|
||||
F: security/
|
||||
|
@ -4672,12 +4702,11 @@ F: include/linux/ata.h
|
|||
F: include/linux/libata.h
|
||||
|
||||
SERVER ENGINES 10Gbps iSCSI - BladeEngine 2 DRIVER
|
||||
P: Jayamohan Kallickal
|
||||
M: jayamohank@serverengines.com
|
||||
L: linux-scsi@vger.kernel.org
|
||||
W: http://www.serverengines.com
|
||||
S: Supported
|
||||
F: drivers/scsi/be2iscsi/
|
||||
M: Jayamohan Kallickal <jayamohank@serverengines.com>
|
||||
L: linux-scsi@vger.kernel.org
|
||||
W: http://www.serverengines.com
|
||||
S: Supported
|
||||
F: drivers/scsi/be2iscsi/
|
||||
|
||||
SERVER ENGINES 10Gbps NIC - BladeEngine 2 DRIVER
|
||||
M: Sathya Perla <sathyap@serverengines.com>
|
||||
|
@ -5624,7 +5653,7 @@ S: Maintained
|
|||
|
||||
UVESAFB DRIVER
|
||||
M: Michal Januszewski <spock@gentoo.org>
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
|
||||
L: linux-fbdev@vger.kernel.org
|
||||
W: http://dev.gentoo.org/~spock/projects/uvesafb/
|
||||
S: Maintained
|
||||
F: Documentation/fb/uvesafb.txt
|
||||
|
@ -5657,7 +5686,7 @@ F: drivers/mmc/host/via-sdmmc.c
|
|||
VIA UNICHROME(PRO)/CHROME9 FRAMEBUFFER DRIVER
|
||||
M: Joseph Chan <JosephChan@via.com.tw>
|
||||
M: Scott Fang <ScottFang@viatech.com.cn>
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
|
||||
L: linux-fbdev@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/video/via/
|
||||
|
||||
|
@ -5683,11 +5712,11 @@ F: drivers/vlynq/vlynq.c
|
|||
F: include/linux/vlynq.h
|
||||
|
||||
VMWARE VMXNET3 ETHERNET DRIVER
|
||||
M: Shreyas Bhatewara <sbhatewara@vmware.com>
|
||||
M: VMware, Inc. <pv-drivers@vmware.com>
|
||||
L: netdev@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/net/vmxnet3/
|
||||
M: Shreyas Bhatewara <sbhatewara@vmware.com>
|
||||
M: "VMware, Inc." <pv-drivers@vmware.com>
|
||||
L: netdev@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/net/vmxnet3/
|
||||
|
||||
VOLTAGE AND CURRENT REGULATOR FRAMEWORK
|
||||
M: Liam Girdwood <lrg@slimlogic.co.uk>
|
||||
|
|
4
Makefile
4
Makefile
|
@ -1,7 +1,7 @@
|
|||
VERSION = 2
|
||||
PATCHLEVEL = 6
|
||||
SUBLEVEL = 32
|
||||
EXTRAVERSION = -rc6
|
||||
EXTRAVERSION =
|
||||
NAME = Man-Eating Seals of Antiquity
|
||||
|
||||
# *DOCUMENTATION*
|
||||
|
@ -221,7 +221,7 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
|
|||
|
||||
HOSTCC = gcc
|
||||
HOSTCXX = g++
|
||||
HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer
|
||||
HOSTCFLAGS = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer
|
||||
HOSTCXXFLAGS = -O2
|
||||
|
||||
# Decide whether to build built-in, modular, or both.
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
const char * prog_name;
|
||||
|
||||
|
||||
void
|
||||
static void
|
||||
usage (void)
|
||||
{
|
||||
fprintf(stderr,
|
||||
|
|
|
@ -26,8 +26,6 @@
|
|||
#define F_GETOWN 6 /* for sockets. */
|
||||
#define F_SETSIG 10 /* for sockets. */
|
||||
#define F_GETSIG 11 /* for sockets. */
|
||||
#define F_SETOWN_EX 12
|
||||
#define F_GETOWN_EX 13
|
||||
|
||||
/* for posix fcntl() and lockf() */
|
||||
#define F_RDLCK 1
|
||||
|
|
|
@ -50,32 +50,35 @@ struct thread_info {
|
|||
register struct thread_info *__current_thread_info __asm__("$8");
|
||||
#define current_thread_info() __current_thread_info
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
/* Thread information allocation. */
|
||||
#define THREAD_SIZE_ORDER 1
|
||||
#define THREAD_SIZE (2*PAGE_SIZE)
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
#define PREEMPT_ACTIVE 0x40000000
|
||||
|
||||
/*
|
||||
* Thread information flags:
|
||||
* - these are process state flags and used from assembly
|
||||
* - pending work-to-be-done flags come first to fit in and immediate operand.
|
||||
* - pending work-to-be-done flags come first and must be assigned to be
|
||||
* within bits 0 to 7 to fit in and immediate operand.
|
||||
* - ALPHA_UAC_SHIFT below must be kept consistent with the unaligned
|
||||
* control flags.
|
||||
*
|
||||
* TIF_SYSCALL_TRACE is known to be 0 via blbs.
|
||||
*/
|
||||
#define TIF_SYSCALL_TRACE 0 /* syscall trace active */
|
||||
#define TIF_SIGPENDING 1 /* signal pending */
|
||||
#define TIF_NEED_RESCHED 2 /* rescheduling necessary */
|
||||
#define TIF_POLLING_NRFLAG 3 /* poll_idle is polling NEED_RESCHED */
|
||||
#define TIF_DIE_IF_KERNEL 4 /* dik recursion lock */
|
||||
#define TIF_UAC_NOPRINT 5 /* see sysinfo.h */
|
||||
#define TIF_UAC_NOFIX 6
|
||||
#define TIF_UAC_SIGBUS 7
|
||||
#define TIF_MEMDIE 8
|
||||
#define TIF_RESTORE_SIGMASK 9 /* restore signal mask in do_signal */
|
||||
#define TIF_NOTIFY_RESUME 10 /* callback before returning to user */
|
||||
#define TIF_NOTIFY_RESUME 1 /* callback before returning to user */
|
||||
#define TIF_SIGPENDING 2 /* signal pending */
|
||||
#define TIF_NEED_RESCHED 3 /* rescheduling necessary */
|
||||
#define TIF_POLLING_NRFLAG 8 /* poll_idle is polling NEED_RESCHED */
|
||||
#define TIF_DIE_IF_KERNEL 9 /* dik recursion lock */
|
||||
#define TIF_UAC_NOPRINT 10 /* see sysinfo.h */
|
||||
#define TIF_UAC_NOFIX 11
|
||||
#define TIF_UAC_SIGBUS 12
|
||||
#define TIF_MEMDIE 13
|
||||
#define TIF_RESTORE_SIGMASK 14 /* restore signal mask in do_signal */
|
||||
#define TIF_FREEZE 16 /* is freezing for suspend */
|
||||
|
||||
#define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE)
|
||||
|
@ -94,7 +97,7 @@ register struct thread_info *__current_thread_info __asm__("$8");
|
|||
#define _TIF_ALLWORK_MASK (_TIF_WORK_MASK \
|
||||
| _TIF_SYSCALL_TRACE)
|
||||
|
||||
#define ALPHA_UAC_SHIFT 6
|
||||
#define ALPHA_UAC_SHIFT 10
|
||||
#define ALPHA_UAC_MASK (1 << TIF_UAC_NOPRINT | 1 << TIF_UAC_NOFIX | \
|
||||
1 << TIF_UAC_SIGBUS)
|
||||
|
||||
|
|
|
@ -1103,6 +1103,8 @@ marvel_agp_info(void)
|
|||
* Allocate the info structure.
|
||||
*/
|
||||
agp = kmalloc(sizeof(*agp), GFP_KERNEL);
|
||||
if (!agp)
|
||||
return NULL;
|
||||
|
||||
/*
|
||||
* Fill it in.
|
||||
|
|
|
@ -757,6 +757,8 @@ titan_agp_info(void)
|
|||
* Allocate the info structure.
|
||||
*/
|
||||
agp = kmalloc(sizeof(*agp), GFP_KERNEL);
|
||||
if (!agp)
|
||||
return NULL;
|
||||
|
||||
/*
|
||||
* Fill it in.
|
||||
|
|
|
@ -92,7 +92,7 @@ show_interrupts(struct seq_file *p, void *v)
|
|||
for_each_online_cpu(j)
|
||||
seq_printf(p, "%10u ", kstat_irqs_cpu(irq, j));
|
||||
#endif
|
||||
seq_printf(p, " %14s", irq_desc[irq].chip->typename);
|
||||
seq_printf(p, " %14s", irq_desc[irq].chip->name);
|
||||
seq_printf(p, " %c%s",
|
||||
(action->flags & IRQF_DISABLED)?'+':' ',
|
||||
action->name);
|
||||
|
|
|
@ -228,7 +228,7 @@ struct irqaction timer_irqaction = {
|
|||
};
|
||||
|
||||
static struct irq_chip rtc_irq_type = {
|
||||
.typename = "RTC",
|
||||
.name = "RTC",
|
||||
.startup = rtc_startup,
|
||||
.shutdown = rtc_enable_disable,
|
||||
.enable = rtc_enable_disable,
|
||||
|
|
|
@ -84,7 +84,7 @@ i8259a_end_irq(unsigned int irq)
|
|||
}
|
||||
|
||||
struct irq_chip i8259a_irq_type = {
|
||||
.typename = "XT-PIC",
|
||||
.name = "XT-PIC",
|
||||
.startup = i8259a_startup_irq,
|
||||
.shutdown = i8259a_disable_irq,
|
||||
.enable = i8259a_enable_irq,
|
||||
|
|
|
@ -71,7 +71,7 @@ pyxis_mask_and_ack_irq(unsigned int irq)
|
|||
}
|
||||
|
||||
static struct irq_chip pyxis_irq_type = {
|
||||
.typename = "PYXIS",
|
||||
.name = "PYXIS",
|
||||
.startup = pyxis_startup_irq,
|
||||
.shutdown = pyxis_disable_irq,
|
||||
.enable = pyxis_enable_irq,
|
||||
|
|
|
@ -49,7 +49,7 @@ srm_end_irq(unsigned int irq)
|
|||
|
||||
/* Handle interrupts from the SRM, assuming no additional weirdness. */
|
||||
static struct irq_chip srm_irq_type = {
|
||||
.typename = "SRM",
|
||||
.name = "SRM",
|
||||
.startup = srm_startup_irq,
|
||||
.shutdown = srm_disable_irq,
|
||||
.enable = srm_enable_irq,
|
||||
|
|
|
@ -90,7 +90,7 @@ alcor_end_irq(unsigned int irq)
|
|||
}
|
||||
|
||||
static struct irq_chip alcor_irq_type = {
|
||||
.typename = "ALCOR",
|
||||
.name = "ALCOR",
|
||||
.startup = alcor_startup_irq,
|
||||
.shutdown = alcor_disable_irq,
|
||||
.enable = alcor_enable_irq,
|
||||
|
|
|
@ -72,7 +72,7 @@ cabriolet_end_irq(unsigned int irq)
|
|||
}
|
||||
|
||||
static struct irq_chip cabriolet_irq_type = {
|
||||
.typename = "CABRIOLET",
|
||||
.name = "CABRIOLET",
|
||||
.startup = cabriolet_startup_irq,
|
||||
.shutdown = cabriolet_disable_irq,
|
||||
.enable = cabriolet_enable_irq,
|
||||
|
|
|
@ -199,7 +199,7 @@ clipper_set_affinity(unsigned int irq, const struct cpumask *affinity)
|
|||
}
|
||||
|
||||
static struct irq_chip dp264_irq_type = {
|
||||
.typename = "DP264",
|
||||
.name = "DP264",
|
||||
.startup = dp264_startup_irq,
|
||||
.shutdown = dp264_disable_irq,
|
||||
.enable = dp264_enable_irq,
|
||||
|
@ -210,7 +210,7 @@ static struct irq_chip dp264_irq_type = {
|
|||
};
|
||||
|
||||
static struct irq_chip clipper_irq_type = {
|
||||
.typename = "CLIPPER",
|
||||
.name = "CLIPPER",
|
||||
.startup = clipper_startup_irq,
|
||||
.shutdown = clipper_disable_irq,
|
||||
.enable = clipper_enable_irq,
|
||||
|
|
|
@ -70,7 +70,7 @@ eb64p_end_irq(unsigned int irq)
|
|||
}
|
||||
|
||||
static struct irq_chip eb64p_irq_type = {
|
||||
.typename = "EB64P",
|
||||
.name = "EB64P",
|
||||
.startup = eb64p_startup_irq,
|
||||
.shutdown = eb64p_disable_irq,
|
||||
.enable = eb64p_enable_irq,
|
||||
|
|
|
@ -81,7 +81,7 @@ eiger_end_irq(unsigned int irq)
|
|||
}
|
||||
|
||||
static struct irq_chip eiger_irq_type = {
|
||||
.typename = "EIGER",
|
||||
.name = "EIGER",
|
||||
.startup = eiger_startup_irq,
|
||||
.shutdown = eiger_disable_irq,
|
||||
.enable = eiger_enable_irq,
|
||||
|
|
|
@ -119,7 +119,7 @@ jensen_local_end(unsigned int irq)
|
|||
}
|
||||
|
||||
static struct irq_chip jensen_local_irq_type = {
|
||||
.typename = "LOCAL",
|
||||
.name = "LOCAL",
|
||||
.startup = jensen_local_startup,
|
||||
.shutdown = jensen_local_shutdown,
|
||||
.enable = jensen_local_enable,
|
||||
|
|
|
@ -170,7 +170,7 @@ marvel_irq_noop_return(unsigned int irq)
|
|||
}
|
||||
|
||||
static struct irq_chip marvel_legacy_irq_type = {
|
||||
.typename = "LEGACY",
|
||||
.name = "LEGACY",
|
||||
.startup = marvel_irq_noop_return,
|
||||
.shutdown = marvel_irq_noop,
|
||||
.enable = marvel_irq_noop,
|
||||
|
@ -180,7 +180,7 @@ static struct irq_chip marvel_legacy_irq_type = {
|
|||
};
|
||||
|
||||
static struct irq_chip io7_lsi_irq_type = {
|
||||
.typename = "LSI",
|
||||
.name = "LSI",
|
||||
.startup = io7_startup_irq,
|
||||
.shutdown = io7_disable_irq,
|
||||
.enable = io7_enable_irq,
|
||||
|
@ -190,7 +190,7 @@ static struct irq_chip io7_lsi_irq_type = {
|
|||
};
|
||||
|
||||
static struct irq_chip io7_msi_irq_type = {
|
||||
.typename = "MSI",
|
||||
.name = "MSI",
|
||||
.startup = io7_startup_irq,
|
||||
.shutdown = io7_disable_irq,
|
||||
.enable = io7_enable_irq,
|
||||
|
|
|
@ -69,7 +69,7 @@ mikasa_end_irq(unsigned int irq)
|
|||
}
|
||||
|
||||
static struct irq_chip mikasa_irq_type = {
|
||||
.typename = "MIKASA",
|
||||
.name = "MIKASA",
|
||||
.startup = mikasa_startup_irq,
|
||||
.shutdown = mikasa_disable_irq,
|
||||
.enable = mikasa_enable_irq,
|
||||
|
|
|
@ -74,7 +74,7 @@ noritake_end_irq(unsigned int irq)
|
|||
}
|
||||
|
||||
static struct irq_chip noritake_irq_type = {
|
||||
.typename = "NORITAKE",
|
||||
.name = "NORITAKE",
|
||||
.startup = noritake_startup_irq,
|
||||
.shutdown = noritake_disable_irq,
|
||||
.enable = noritake_enable_irq,
|
||||
|
|
|
@ -136,7 +136,7 @@ rawhide_end_irq(unsigned int irq)
|
|||
}
|
||||
|
||||
static struct irq_chip rawhide_irq_type = {
|
||||
.typename = "RAWHIDE",
|
||||
.name = "RAWHIDE",
|
||||
.startup = rawhide_startup_irq,
|
||||
.shutdown = rawhide_disable_irq,
|
||||
.enable = rawhide_enable_irq,
|
||||
|
|
|
@ -66,7 +66,7 @@ ruffian_init_irq(void)
|
|||
common_init_isa_dma();
|
||||
}
|
||||
|
||||
#define RUFFIAN_LATCH ((PIT_TICK_RATE + HZ / 2) / HZ)
|
||||
#define RUFFIAN_LATCH DIV_ROUND_CLOSEST(PIT_TICK_RATE, HZ)
|
||||
|
||||
static void __init
|
||||
ruffian_init_rtc(void)
|
||||
|
|
|
@ -73,7 +73,7 @@ rx164_end_irq(unsigned int irq)
|
|||
}
|
||||
|
||||
static struct irq_chip rx164_irq_type = {
|
||||
.typename = "RX164",
|
||||
.name = "RX164",
|
||||
.startup = rx164_startup_irq,
|
||||
.shutdown = rx164_disable_irq,
|
||||
.enable = rx164_enable_irq,
|
||||
|
|
|
@ -502,7 +502,7 @@ sable_lynx_mask_and_ack_irq(unsigned int irq)
|
|||
}
|
||||
|
||||
static struct irq_chip sable_lynx_irq_type = {
|
||||
.typename = "SABLE/LYNX",
|
||||
.name = "SABLE/LYNX",
|
||||
.startup = sable_lynx_startup_irq,
|
||||
.shutdown = sable_lynx_disable_irq,
|
||||
.enable = sable_lynx_enable_irq,
|
||||
|
|
|
@ -75,7 +75,7 @@ takara_end_irq(unsigned int irq)
|
|||
}
|
||||
|
||||
static struct irq_chip takara_irq_type = {
|
||||
.typename = "TAKARA",
|
||||
.name = "TAKARA",
|
||||
.startup = takara_startup_irq,
|
||||
.shutdown = takara_disable_irq,
|
||||
.enable = takara_enable_irq,
|
||||
|
|
|
@ -195,7 +195,7 @@ init_titan_irqs(struct irq_chip * ops, int imin, int imax)
|
|||
}
|
||||
|
||||
static struct irq_chip titan_irq_type = {
|
||||
.typename = "TITAN",
|
||||
.name = "TITAN",
|
||||
.startup = titan_startup_irq,
|
||||
.shutdown = titan_disable_irq,
|
||||
.enable = titan_enable_irq,
|
||||
|
|
|
@ -158,7 +158,7 @@ wildfire_end_irq(unsigned int irq)
|
|||
}
|
||||
|
||||
static struct irq_chip wildfire_irq_type = {
|
||||
.typename = "WILDFIRE",
|
||||
.name = "WILDFIRE",
|
||||
.startup = wildfire_startup_irq,
|
||||
.shutdown = wildfire_disable_irq,
|
||||
.enable = wildfire_enable_irq,
|
||||
|
|
|
@ -55,10 +55,10 @@ CONFIG_BLK_DEV_INITRD=y
|
|||
CONFIG_INITRAMFS_SOURCE=""
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_SYSCTL=y
|
||||
# CONFIG_EMBEDDED is not set
|
||||
CONFIG_EMBEDDED=y
|
||||
CONFIG_UID16=y
|
||||
CONFIG_SYSCTL_SYSCALL=y
|
||||
CONFIG_KALLSYMS=y
|
||||
# CONFIG_KALLSYMS is not set
|
||||
# CONFIG_KALLSYMS_ALL is not set
|
||||
# CONFIG_KALLSYMS_EXTRA_PASS is not set
|
||||
CONFIG_HOTPLUG=y
|
||||
|
@ -224,7 +224,7 @@ CONFIG_CPU_CP15_MMU=y
|
|||
#
|
||||
# Processor Features
|
||||
#
|
||||
# CONFIG_ARM_THUMB is not set
|
||||
CONFIG_ARM_THUMB=y
|
||||
# CONFIG_CPU_ICACHE_DISABLE is not set
|
||||
# CONFIG_CPU_DCACHE_DISABLE is not set
|
||||
CONFIG_CPU_DCACHE_WRITETHROUGH=y
|
||||
|
@ -248,7 +248,7 @@ CONFIG_CPU_DCACHE_WRITETHROUGH=y
|
|||
# CONFIG_HIGH_RES_TIMERS is not set
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_HZ=100
|
||||
# CONFIG_AEABI is not set
|
||||
CONFIG_AEABI=y
|
||||
# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
|
||||
CONFIG_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_FLATMEM_MANUAL=y
|
||||
|
@ -299,7 +299,9 @@ CONFIG_BINFMT_ELF=y
|
|||
#
|
||||
# Power management options
|
||||
#
|
||||
# CONFIG_PM is not set
|
||||
CONFIG_PM=y
|
||||
# CONFIG_SUSPEND is not set
|
||||
CONFIG_PM_RUNTIME=y
|
||||
|
||||
#
|
||||
# Networking
|
||||
|
@ -670,7 +672,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
|
|||
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
|
||||
# CONFIG_INPUT_JOYDEV is not set
|
||||
# CONFIG_INPUT_TSDEV is not set
|
||||
# CONFIG_INPUT_EVDEV is not set
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
# CONFIG_INPUT_EVBUG is not set
|
||||
|
||||
#
|
||||
|
@ -784,6 +786,7 @@ CONFIG_I2C_OMAP=y
|
|||
#
|
||||
# CONFIG_SPI is not set
|
||||
# CONFIG_SPI_MASTER is not set
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
|
||||
#
|
||||
# Dallas's 1-wire bus
|
||||
|
@ -820,6 +823,7 @@ CONFIG_LEDS_AMS_DELTA=y
|
|||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_TIMER=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
|
||||
|
||||
#
|
||||
# Multimedia devices
|
||||
|
@ -896,7 +900,13 @@ CONFIG_LOGO_LINUX_CLUT224=y
|
|||
#
|
||||
# Sound
|
||||
#
|
||||
# CONFIG_SOUND is not set
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SND=y
|
||||
CONFIG_SND_MIXER_OSS=y
|
||||
CONFIG_SND_PCM_OSS=y
|
||||
CONFIG_SND_SOC=y
|
||||
CONFIG_SND_OMAP_SOC=y
|
||||
CONFIG_SND_OMAP_SOC_AMS_DELTA=y
|
||||
|
||||
#
|
||||
# HID Devices
|
||||
|
|
|
@ -1,15 +1,13 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.30-rc4
|
||||
# Mon May 4 11:58:57 2009
|
||||
# Linux kernel version: 2.6.32-rc6
|
||||
# Sat Nov 7 20:31:18 2009
|
||||
#
|
||||
CONFIG_ARM=y
|
||||
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
|
||||
CONFIG_GENERIC_GPIO=y
|
||||
CONFIG_GENERIC_TIME=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||
CONFIG_MMU=y
|
||||
# CONFIG_NO_IOPORT is not set
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_STACKTRACE_SUPPORT=y
|
||||
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
|
||||
|
@ -18,13 +16,12 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y
|
|||
CONFIG_HARDIRQS_SW_RESEND=y
|
||||
CONFIG_GENERIC_IRQ_PROBE=y
|
||||
CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
||||
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
|
||||
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
|
||||
CONFIG_VECTORS_BASE=0xffff0000
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
CONFIG_CONSTRUCTORS=y
|
||||
|
||||
#
|
||||
# General setup
|
||||
|
@ -46,11 +43,12 @@ CONFIG_SYSVIPC_SYSCTL=y
|
|||
#
|
||||
# RCU Subsystem
|
||||
#
|
||||
CONFIG_CLASSIC_RCU=y
|
||||
# CONFIG_TREE_RCU is not set
|
||||
# CONFIG_PREEMPT_RCU is not set
|
||||
CONFIG_TREE_RCU=y
|
||||
# CONFIG_TREE_PREEMPT_RCU is not set
|
||||
# CONFIG_RCU_TRACE is not set
|
||||
CONFIG_RCU_FANOUT=32
|
||||
# CONFIG_RCU_FANOUT_EXACT is not set
|
||||
# CONFIG_TREE_RCU_TRACE is not set
|
||||
# CONFIG_PREEMPT_RCU_TRACE is not set
|
||||
# CONFIG_IKCONFIG is not set
|
||||
CONFIG_LOG_BUF_SHIFT=19
|
||||
# CONFIG_GROUP_SCHED is not set
|
||||
|
@ -73,7 +71,6 @@ CONFIG_SYSCTL_SYSCALL=y
|
|||
CONFIG_KALLSYMS=y
|
||||
# CONFIG_KALLSYMS_ALL is not set
|
||||
# CONFIG_KALLSYMS_EXTRA_PASS is not set
|
||||
# CONFIG_STRIP_ASM_SYMS is not set
|
||||
CONFIG_HOTPLUG=y
|
||||
CONFIG_PRINTK=y
|
||||
CONFIG_BUG=y
|
||||
|
@ -86,6 +83,10 @@ CONFIG_TIMERFD=y
|
|||
CONFIG_EVENTFD=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_AIO=y
|
||||
|
||||
#
|
||||
# Kernel Performance Events And Counters
|
||||
#
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
CONFIG_PCI_QUIRKS=y
|
||||
CONFIG_SLUB_DEBUG=y
|
||||
|
@ -95,13 +96,17 @@ CONFIG_SLUB=y
|
|||
# CONFIG_SLOB is not set
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_TRACEPOINTS=y
|
||||
# CONFIG_MARKERS is not set
|
||||
CONFIG_OPROFILE=y
|
||||
CONFIG_HAVE_OPROFILE=y
|
||||
CONFIG_KPROBES=y
|
||||
CONFIG_KRETPROBES=y
|
||||
CONFIG_HAVE_KPROBES=y
|
||||
CONFIG_HAVE_KRETPROBES=y
|
||||
|
||||
#
|
||||
# GCOV-based kernel profiling
|
||||
#
|
||||
# CONFIG_GCOV_KERNEL is not set
|
||||
# CONFIG_SLOW_WORK is not set
|
||||
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
|
||||
CONFIG_SLABINFO=y
|
||||
|
@ -114,7 +119,7 @@ CONFIG_MODULE_UNLOAD=y
|
|||
# CONFIG_MODVERSIONS is not set
|
||||
# CONFIG_MODULE_SRCVERSION_ALL is not set
|
||||
CONFIG_BLOCK=y
|
||||
# CONFIG_LBD is not set
|
||||
CONFIG_LBDAF=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_BLK_DEV_INTEGRITY is not set
|
||||
|
||||
|
@ -135,19 +140,22 @@ CONFIG_DEFAULT_IOSCHED="cfq"
|
|||
#
|
||||
# System Type
|
||||
#
|
||||
CONFIG_MMU=y
|
||||
# CONFIG_ARCH_AAEC2000 is not set
|
||||
# CONFIG_ARCH_INTEGRATOR is not set
|
||||
# CONFIG_ARCH_REALVIEW is not set
|
||||
# CONFIG_ARCH_VERSATILE is not set
|
||||
# CONFIG_ARCH_AT91 is not set
|
||||
# CONFIG_ARCH_CLPS711X is not set
|
||||
# CONFIG_ARCH_GEMINI is not set
|
||||
# CONFIG_ARCH_EBSA110 is not set
|
||||
# CONFIG_ARCH_EP93XX is not set
|
||||
# CONFIG_ARCH_GEMINI is not set
|
||||
# CONFIG_ARCH_FOOTBRIDGE is not set
|
||||
# CONFIG_ARCH_MXC is not set
|
||||
# CONFIG_ARCH_STMP3XXX is not set
|
||||
# CONFIG_ARCH_NETX is not set
|
||||
# CONFIG_ARCH_H720X is not set
|
||||
# CONFIG_ARCH_IMX is not set
|
||||
# CONFIG_ARCH_NOMADIK is not set
|
||||
# CONFIG_ARCH_IOP13XX is not set
|
||||
# CONFIG_ARCH_IOP32X is not set
|
||||
# CONFIG_ARCH_IOP33X is not set
|
||||
|
@ -156,25 +164,27 @@ CONFIG_DEFAULT_IOSCHED="cfq"
|
|||
# CONFIG_ARCH_IXP4XX is not set
|
||||
# CONFIG_ARCH_L7200 is not set
|
||||
CONFIG_ARCH_KIRKWOOD=y
|
||||
# CONFIG_ARCH_KS8695 is not set
|
||||
# CONFIG_ARCH_NS9XXX is not set
|
||||
# CONFIG_ARCH_LOKI is not set
|
||||
# CONFIG_ARCH_MV78XX0 is not set
|
||||
# CONFIG_ARCH_MXC is not set
|
||||
# CONFIG_ARCH_ORION5X is not set
|
||||
# CONFIG_ARCH_MMP is not set
|
||||
# CONFIG_ARCH_KS8695 is not set
|
||||
# CONFIG_ARCH_NS9XXX is not set
|
||||
# CONFIG_ARCH_W90X900 is not set
|
||||
# CONFIG_ARCH_PNX4008 is not set
|
||||
# CONFIG_ARCH_PXA is not set
|
||||
# CONFIG_ARCH_MMP is not set
|
||||
# CONFIG_ARCH_MSM is not set
|
||||
# CONFIG_ARCH_RPC is not set
|
||||
# CONFIG_ARCH_SA1100 is not set
|
||||
# CONFIG_ARCH_S3C2410 is not set
|
||||
# CONFIG_ARCH_S3C64XX is not set
|
||||
# CONFIG_ARCH_S5PC1XX is not set
|
||||
# CONFIG_ARCH_SHARK is not set
|
||||
# CONFIG_ARCH_LH7A40X is not set
|
||||
# CONFIG_ARCH_U300 is not set
|
||||
# CONFIG_ARCH_DAVINCI is not set
|
||||
# CONFIG_ARCH_OMAP is not set
|
||||
# CONFIG_ARCH_MSM is not set
|
||||
# CONFIG_ARCH_W90X900 is not set
|
||||
# CONFIG_ARCH_BCMRING is not set
|
||||
|
||||
#
|
||||
# Marvell Kirkwood Implementations
|
||||
|
@ -185,6 +195,7 @@ CONFIG_MACH_RD88F6281=y
|
|||
CONFIG_MACH_MV88F6281GTW_GE=y
|
||||
CONFIG_MACH_SHEEVAPLUG=y
|
||||
CONFIG_MACH_TS219=y
|
||||
CONFIG_MACH_OPENRD_BASE=y
|
||||
CONFIG_PLAT_ORION=y
|
||||
|
||||
#
|
||||
|
@ -195,7 +206,7 @@ CONFIG_CPU_FEROCEON=y
|
|||
# CONFIG_CPU_FEROCEON_OLD_ID is not set
|
||||
CONFIG_CPU_32v5=y
|
||||
CONFIG_CPU_ABRT_EV5T=y
|
||||
CONFIG_CPU_PABRT_NOIFAR=y
|
||||
CONFIG_CPU_PABRT_LEGACY=y
|
||||
CONFIG_CPU_CACHE_VIVT=y
|
||||
CONFIG_CPU_COPY_FEROCEON=y
|
||||
CONFIG_CPU_TLB_FEROCEON=y
|
||||
|
@ -211,6 +222,7 @@ CONFIG_ARM_THUMB=y
|
|||
CONFIG_OUTER_CACHE=y
|
||||
CONFIG_CACHE_FEROCEON_L2=y
|
||||
# CONFIG_CACHE_FEROCEON_L2_WRITETHROUGH is not set
|
||||
CONFIG_ARM_L1_CACHE_SHIFT=5
|
||||
|
||||
#
|
||||
# Bus support
|
||||
|
@ -235,11 +247,12 @@ CONFIG_VMSPLIT_3G=y
|
|||
# CONFIG_VMSPLIT_2G is not set
|
||||
# CONFIG_VMSPLIT_1G is not set
|
||||
CONFIG_PAGE_OFFSET=0xC0000000
|
||||
# CONFIG_PREEMPT_NONE is not set
|
||||
# CONFIG_PREEMPT_VOLUNTARY is not set
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_HZ=100
|
||||
CONFIG_AEABI=y
|
||||
# CONFIG_OABI_COMPAT is not set
|
||||
CONFIG_ARCH_FLATMEM_HAS_HOLES=y
|
||||
# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
|
||||
# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
|
||||
# CONFIG_HIGHMEM is not set
|
||||
|
@ -254,10 +267,12 @@ CONFIG_SPLIT_PTLOCK_CPUS=4096
|
|||
# CONFIG_PHYS_ADDR_T_64BIT is not set
|
||||
CONFIG_ZONE_DMA_FLAG=0
|
||||
CONFIG_VIRT_TO_BUS=y
|
||||
CONFIG_UNEVICTABLE_LRU=y
|
||||
CONFIG_HAVE_MLOCK=y
|
||||
CONFIG_HAVE_MLOCKED_PAGE_BIT=y
|
||||
# CONFIG_KSM is not set
|
||||
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
|
||||
CONFIG_ALIGNMENT_TRAP=y
|
||||
CONFIG_UACCESS_WITH_MEMCPY=y
|
||||
|
||||
#
|
||||
# Boot options
|
||||
|
@ -345,6 +360,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
|
|||
# CONFIG_NETFILTER is not set
|
||||
# CONFIG_IP_DCCP is not set
|
||||
# CONFIG_IP_SCTP is not set
|
||||
# CONFIG_RDS is not set
|
||||
# CONFIG_TIPC is not set
|
||||
# CONFIG_ATM is not set
|
||||
# CONFIG_BRIDGE is not set
|
||||
|
@ -367,6 +383,7 @@ CONFIG_NET_DSA_MV88E6123_61_65=y
|
|||
# CONFIG_ECONET is not set
|
||||
# CONFIG_WAN_ROUTER is not set
|
||||
# CONFIG_PHONET is not set
|
||||
# CONFIG_IEEE802154 is not set
|
||||
# CONFIG_NET_SCHED is not set
|
||||
# CONFIG_DCB is not set
|
||||
|
||||
|
@ -383,17 +400,18 @@ CONFIG_NET_PKTGEN=m
|
|||
# CONFIG_AF_RXRPC is not set
|
||||
CONFIG_WIRELESS=y
|
||||
CONFIG_CFG80211=y
|
||||
# CONFIG_NL80211_TESTMODE is not set
|
||||
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
|
||||
# CONFIG_CFG80211_REG_DEBUG is not set
|
||||
CONFIG_CFG80211_DEFAULT_PS=y
|
||||
CONFIG_CFG80211_DEFAULT_PS_VALUE=1
|
||||
# CONFIG_CFG80211_DEBUGFS is not set
|
||||
CONFIG_WIRELESS_OLD_REGULATORY=y
|
||||
CONFIG_WIRELESS_EXT=y
|
||||
CONFIG_WIRELESS_EXT_SYSFS=y
|
||||
CONFIG_LIB80211=y
|
||||
# CONFIG_LIB80211_DEBUG is not set
|
||||
CONFIG_MAC80211=y
|
||||
|
||||
#
|
||||
# Rate control algorithm selection
|
||||
#
|
||||
CONFIG_MAC80211_RC_MINSTREL=y
|
||||
# CONFIG_MAC80211_RC_DEFAULT_PID is not set
|
||||
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
|
||||
|
@ -414,6 +432,7 @@ CONFIG_MAC80211_RC_DEFAULT="minstrel"
|
|||
# Generic Driver Options
|
||||
#
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
# CONFIG_DEVTMPFS is not set
|
||||
CONFIG_STANDALONE=y
|
||||
CONFIG_PREVENT_FIRMWARE_BUILD=y
|
||||
CONFIG_FW_LOADER=y
|
||||
|
@ -425,9 +444,9 @@ CONFIG_EXTRA_FIRMWARE=""
|
|||
# CONFIG_CONNECTOR is not set
|
||||
CONFIG_MTD=y
|
||||
# CONFIG_MTD_DEBUG is not set
|
||||
# CONFIG_MTD_TESTS is not set
|
||||
# CONFIG_MTD_CONCAT is not set
|
||||
CONFIG_MTD_PARTITIONS=y
|
||||
# CONFIG_MTD_TESTS is not set
|
||||
# CONFIG_MTD_REDBOOT_PARTS is not set
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
# CONFIG_MTD_AFS_PARTS is not set
|
||||
|
@ -494,6 +513,7 @@ CONFIG_MTD_PHYSMAP=y
|
|||
# CONFIG_MTD_DATAFLASH is not set
|
||||
CONFIG_MTD_M25P80=y
|
||||
CONFIG_M25PXX_USE_FAST_READ=y
|
||||
# CONFIG_MTD_SST25L is not set
|
||||
# CONFIG_MTD_SLRAM is not set
|
||||
# CONFIG_MTD_PHRAM is not set
|
||||
# CONFIG_MTD_MTDRAM is not set
|
||||
|
@ -543,6 +563,7 @@ CONFIG_BLK_DEV_LOOP=y
|
|||
# CONFIG_BLK_DEV_RAM is not set
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
# CONFIG_MG_DISK is not set
|
||||
# CONFIG_MISC_DEVICES is not set
|
||||
CONFIG_HAVE_IDE=y
|
||||
# CONFIG_IDE is not set
|
||||
|
@ -567,10 +588,6 @@ CONFIG_BLK_DEV_SR=m
|
|||
# CONFIG_BLK_DEV_SR_VENDOR is not set
|
||||
CONFIG_CHR_DEV_SG=m
|
||||
# CONFIG_CHR_DEV_SCH is not set
|
||||
|
||||
#
|
||||
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
|
||||
#
|
||||
# CONFIG_SCSI_MULTI_LUN is not set
|
||||
# CONFIG_SCSI_CONSTANTS is not set
|
||||
# CONFIG_SCSI_LOGGING is not set
|
||||
|
@ -587,6 +604,8 @@ CONFIG_SCSI_WAIT_SCAN=m
|
|||
# CONFIG_SCSI_SRP_ATTRS is not set
|
||||
CONFIG_SCSI_LOWLEVEL=y
|
||||
# CONFIG_ISCSI_TCP is not set
|
||||
# CONFIG_SCSI_BNX2_ISCSI is not set
|
||||
# CONFIG_BE2ISCSI is not set
|
||||
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
|
||||
# CONFIG_SCSI_3W_9XXX is not set
|
||||
# CONFIG_SCSI_ACARD is not set
|
||||
|
@ -595,6 +614,7 @@ CONFIG_SCSI_LOWLEVEL=y
|
|||
# CONFIG_SCSI_AIC7XXX_OLD is not set
|
||||
# CONFIG_SCSI_AIC79XX is not set
|
||||
# CONFIG_SCSI_AIC94XX is not set
|
||||
# CONFIG_SCSI_MVSAS is not set
|
||||
# CONFIG_SCSI_DPT_I2O is not set
|
||||
# CONFIG_SCSI_ADVANSYS is not set
|
||||
# CONFIG_SCSI_ARCMSR is not set
|
||||
|
@ -611,7 +631,6 @@ CONFIG_SCSI_LOWLEVEL=y
|
|||
# CONFIG_SCSI_IPS is not set
|
||||
# CONFIG_SCSI_INITIO is not set
|
||||
# CONFIG_SCSI_INIA100 is not set
|
||||
# CONFIG_SCSI_MVSAS is not set
|
||||
# CONFIG_SCSI_STEX is not set
|
||||
# CONFIG_SCSI_SYM53C8XX_2 is not set
|
||||
# CONFIG_SCSI_IPR is not set
|
||||
|
@ -623,11 +642,14 @@ CONFIG_SCSI_LOWLEVEL=y
|
|||
# CONFIG_SCSI_DC390T is not set
|
||||
# CONFIG_SCSI_NSP32 is not set
|
||||
# CONFIG_SCSI_DEBUG is not set
|
||||
# CONFIG_SCSI_PMCRAID is not set
|
||||
# CONFIG_SCSI_SRP is not set
|
||||
# CONFIG_SCSI_BFA_FC is not set
|
||||
# CONFIG_SCSI_DH is not set
|
||||
# CONFIG_SCSI_OSD_INITIATOR is not set
|
||||
CONFIG_ATA=y
|
||||
# CONFIG_ATA_NONSTANDARD is not set
|
||||
CONFIG_ATA_VERBOSE_ERROR=y
|
||||
CONFIG_SATA_PMP=y
|
||||
CONFIG_SATA_AHCI=y
|
||||
# CONFIG_SATA_SIL24 is not set
|
||||
|
@ -649,6 +671,7 @@ CONFIG_SATA_MV=y
|
|||
# CONFIG_PATA_ALI is not set
|
||||
# CONFIG_PATA_AMD is not set
|
||||
# CONFIG_PATA_ARTOP is not set
|
||||
# CONFIG_PATA_ATP867X is not set
|
||||
# CONFIG_PATA_ATIIXP is not set
|
||||
# CONFIG_PATA_CMD640_PCI is not set
|
||||
# CONFIG_PATA_CMD64X is not set
|
||||
|
@ -676,6 +699,7 @@ CONFIG_SATA_MV=y
|
|||
# CONFIG_PATA_OPTIDMA is not set
|
||||
# CONFIG_PATA_PDC_OLD is not set
|
||||
# CONFIG_PATA_RADISYS is not set
|
||||
# CONFIG_PATA_RDC is not set
|
||||
# CONFIG_PATA_RZ1000 is not set
|
||||
# CONFIG_PATA_SC1200 is not set
|
||||
# CONFIG_PATA_SERVERWORKS is not set
|
||||
|
@ -693,13 +717,16 @@ CONFIG_SATA_MV=y
|
|||
#
|
||||
|
||||
#
|
||||
# Enable only one of the two stacks, unless you know what you are doing
|
||||
# You can enable one or both FireWire driver stacks.
|
||||
#
|
||||
|
||||
#
|
||||
# See the help texts for more information.
|
||||
#
|
||||
# CONFIG_FIREWIRE is not set
|
||||
# CONFIG_IEEE1394 is not set
|
||||
# CONFIG_I2O is not set
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_COMPAT_NET_DEV_OPS=y
|
||||
# CONFIG_DUMMY is not set
|
||||
# CONFIG_BONDING is not set
|
||||
# CONFIG_MACVLAN is not set
|
||||
|
@ -768,6 +795,9 @@ CONFIG_NET_PCI=y
|
|||
# CONFIG_SMSC9420 is not set
|
||||
# CONFIG_SUNDANCE is not set
|
||||
# CONFIG_TLAN is not set
|
||||
# CONFIG_KS8842 is not set
|
||||
# CONFIG_KS8851 is not set
|
||||
# CONFIG_KS8851_MLL is not set
|
||||
# CONFIG_VIA_RHINE is not set
|
||||
# CONFIG_SC92031 is not set
|
||||
# CONFIG_ATL2 is not set
|
||||
|
@ -789,6 +819,7 @@ CONFIG_NETDEV_1000=y
|
|||
# CONFIG_VIA_VELOCITY is not set
|
||||
# CONFIG_TIGON3 is not set
|
||||
# CONFIG_BNX2 is not set
|
||||
# CONFIG_CNIC is not set
|
||||
CONFIG_MV643XX_ETH=y
|
||||
# CONFIG_QLA3XXX is not set
|
||||
# CONFIG_ATL1 is not set
|
||||
|
@ -797,10 +828,7 @@ CONFIG_MV643XX_ETH=y
|
|||
# CONFIG_JME is not set
|
||||
# CONFIG_NETDEV_10000 is not set
|
||||
# CONFIG_TR is not set
|
||||
|
||||
#
|
||||
# Wireless LAN
|
||||
#
|
||||
CONFIG_WLAN=y
|
||||
# CONFIG_WLAN_PRE80211 is not set
|
||||
CONFIG_WLAN_80211=y
|
||||
CONFIG_LIBERTAS=y
|
||||
|
@ -820,9 +848,7 @@ CONFIG_LIBERTAS_SDIO=y
|
|||
# CONFIG_MAC80211_HWSIM is not set
|
||||
# CONFIG_MWL8K is not set
|
||||
# CONFIG_P54_COMMON is not set
|
||||
# CONFIG_ATH5K is not set
|
||||
# CONFIG_ATH9K is not set
|
||||
# CONFIG_AR9170_USB is not set
|
||||
# CONFIG_ATH_COMMON is not set
|
||||
# CONFIG_IPW2100 is not set
|
||||
# CONFIG_IPW2200 is not set
|
||||
# CONFIG_IWLWIFI is not set
|
||||
|
@ -832,6 +858,8 @@ CONFIG_LIBERTAS_SDIO=y
|
|||
# CONFIG_ZD1211RW is not set
|
||||
# CONFIG_RT2X00 is not set
|
||||
# CONFIG_HERMES is not set
|
||||
# CONFIG_WL12XX is not set
|
||||
# CONFIG_IWM is not set
|
||||
|
||||
#
|
||||
# Enable WiMAX (Networking options) to see the WiMAX drivers
|
||||
|
@ -855,6 +883,7 @@ CONFIG_LIBERTAS_SDIO=y
|
|||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
# CONFIG_ISDN is not set
|
||||
# CONFIG_PHONE is not set
|
||||
|
||||
#
|
||||
# Input device support
|
||||
|
@ -878,13 +907,19 @@ CONFIG_INPUT_EVDEV=y
|
|||
# Input Device Drivers
|
||||
#
|
||||
CONFIG_INPUT_KEYBOARD=y
|
||||
# CONFIG_KEYBOARD_ADP5588 is not set
|
||||
CONFIG_KEYBOARD_ATKBD=y
|
||||
# CONFIG_KEYBOARD_SUNKBD is not set
|
||||
# CONFIG_QT2160 is not set
|
||||
# CONFIG_KEYBOARD_LKKBD is not set
|
||||
# CONFIG_KEYBOARD_XTKBD is not set
|
||||
# CONFIG_KEYBOARD_NEWTON is not set
|
||||
# CONFIG_KEYBOARD_STOWAWAY is not set
|
||||
CONFIG_KEYBOARD_GPIO=y
|
||||
# CONFIG_KEYBOARD_MATRIX is not set
|
||||
# CONFIG_KEYBOARD_LM8323 is not set
|
||||
# CONFIG_KEYBOARD_MAX7359 is not set
|
||||
# CONFIG_KEYBOARD_NEWTON is not set
|
||||
# CONFIG_KEYBOARD_OPENCORES is not set
|
||||
# CONFIG_KEYBOARD_STOWAWAY is not set
|
||||
# CONFIG_KEYBOARD_SUNKBD is not set
|
||||
# CONFIG_KEYBOARD_XTKBD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_INPUT_JOYSTICK is not set
|
||||
# CONFIG_INPUT_TABLET is not set
|
||||
|
@ -943,6 +978,7 @@ CONFIG_LEGACY_PTY_COUNT=16
|
|||
CONFIG_DEVPORT=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_BOARDINFO=y
|
||||
# CONFIG_I2C_COMPAT is not set
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_HELPER_AUTO=y
|
||||
|
||||
|
@ -998,10 +1034,6 @@ CONFIG_I2C_MV64XXX=y
|
|||
# Miscellaneous I2C Chip support
|
||||
#
|
||||
# CONFIG_DS1682 is not set
|
||||
# CONFIG_SENSORS_PCF8574 is not set
|
||||
# CONFIG_PCF8575 is not set
|
||||
# CONFIG_SENSORS_PCA9539 is not set
|
||||
# CONFIG_SENSORS_MAX6875 is not set
|
||||
# CONFIG_SENSORS_TSL2550 is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
|
@ -1023,11 +1055,47 @@ CONFIG_SPI_ORION=y
|
|||
#
|
||||
# CONFIG_SPI_SPIDEV is not set
|
||||
# CONFIG_SPI_TLE62X0 is not set
|
||||
|
||||
#
|
||||
# PPS support
|
||||
#
|
||||
# CONFIG_PPS is not set
|
||||
CONFIG_ARCH_REQUIRE_GPIOLIB=y
|
||||
CONFIG_GPIOLIB=y
|
||||
# CONFIG_DEBUG_GPIO is not set
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
|
||||
#
|
||||
# Memory mapped GPIO expanders:
|
||||
#
|
||||
|
||||
#
|
||||
# I2C GPIO expanders:
|
||||
#
|
||||
# CONFIG_GPIO_MAX732X is not set
|
||||
# CONFIG_GPIO_PCA953X is not set
|
||||
# CONFIG_GPIO_PCF857X is not set
|
||||
|
||||
#
|
||||
# PCI GPIO expanders:
|
||||
#
|
||||
# CONFIG_GPIO_BT8XX is not set
|
||||
# CONFIG_GPIO_LANGWELL is not set
|
||||
|
||||
#
|
||||
# SPI GPIO expanders:
|
||||
#
|
||||
# CONFIG_GPIO_MAX7301 is not set
|
||||
# CONFIG_GPIO_MCP23S08 is not set
|
||||
# CONFIG_GPIO_MC33880 is not set
|
||||
|
||||
#
|
||||
# AC97 GPIO expanders:
|
||||
#
|
||||
# CONFIG_W1 is not set
|
||||
# CONFIG_POWER_SUPPLY is not set
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_THERMAL is not set
|
||||
# CONFIG_THERMAL_HWMON is not set
|
||||
# CONFIG_WATCHDOG is not set
|
||||
CONFIG_SSB_POSSIBLE=y
|
||||
|
||||
|
@ -1041,33 +1109,28 @@ CONFIG_SSB_POSSIBLE=y
|
|||
#
|
||||
# CONFIG_MFD_CORE is not set
|
||||
# CONFIG_MFD_SM501 is not set
|
||||
# CONFIG_MFD_ASIC3 is not set
|
||||
# CONFIG_HTC_EGPIO is not set
|
||||
# CONFIG_HTC_PASIC3 is not set
|
||||
# CONFIG_TPS65010 is not set
|
||||
# CONFIG_TWL4030_CORE is not set
|
||||
# CONFIG_MFD_TMIO is not set
|
||||
# CONFIG_MFD_TC6393XB is not set
|
||||
# CONFIG_PMIC_DA903X is not set
|
||||
# CONFIG_MFD_WM8400 is not set
|
||||
# CONFIG_MFD_WM831X is not set
|
||||
# CONFIG_MFD_WM8350_I2C is not set
|
||||
# CONFIG_MFD_PCF50633 is not set
|
||||
|
||||
#
|
||||
# Multimedia devices
|
||||
#
|
||||
|
||||
#
|
||||
# Multimedia core support
|
||||
#
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
# CONFIG_DVB_CORE is not set
|
||||
# CONFIG_VIDEO_MEDIA is not set
|
||||
|
||||
#
|
||||
# Multimedia drivers
|
||||
#
|
||||
# CONFIG_DAB is not set
|
||||
# CONFIG_MFD_MC13783 is not set
|
||||
# CONFIG_AB3100_CORE is not set
|
||||
# CONFIG_EZX_PCAP is not set
|
||||
# CONFIG_REGULATOR is not set
|
||||
# CONFIG_MEDIA_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Graphics support
|
||||
#
|
||||
CONFIG_VGA_ARB=y
|
||||
# CONFIG_DRM is not set
|
||||
# CONFIG_VGASTATE is not set
|
||||
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
|
||||
|
@ -1087,7 +1150,6 @@ CONFIG_DUMMY_CONSOLE=y
|
|||
# CONFIG_SOUND is not set
|
||||
CONFIG_HID_SUPPORT=y
|
||||
CONFIG_HID=y
|
||||
# CONFIG_HID_DEBUG is not set
|
||||
# CONFIG_HIDRAW is not set
|
||||
|
||||
#
|
||||
|
@ -1106,10 +1168,12 @@ CONFIG_HID_BELKIN=y
|
|||
CONFIG_HID_CHERRY=y
|
||||
CONFIG_HID_CHICONY=y
|
||||
CONFIG_HID_CYPRESS=y
|
||||
CONFIG_HID_DRAGONRISE=y
|
||||
# CONFIG_DRAGONRISE_FF is not set
|
||||
CONFIG_HID_EZKEY=y
|
||||
CONFIG_HID_KYE=y
|
||||
CONFIG_HID_GYRATION=y
|
||||
CONFIG_HID_TWINHAN=y
|
||||
CONFIG_HID_KENSINGTON=y
|
||||
CONFIG_HID_LOGITECH=y
|
||||
# CONFIG_LOGITECH_FF is not set
|
||||
|
@ -1123,9 +1187,14 @@ CONFIG_HID_PETALYNX=y
|
|||
CONFIG_HID_SAMSUNG=y
|
||||
CONFIG_HID_SONY=y
|
||||
CONFIG_HID_SUNPLUS=y
|
||||
CONFIG_HID_GREENASIA=y
|
||||
# CONFIG_GREENASIA_FF is not set
|
||||
CONFIG_HID_SMARTJOYPLUS=y
|
||||
# CONFIG_SMARTJOYPLUS_FF is not set
|
||||
CONFIG_HID_TOPSEED=y
|
||||
CONFIG_HID_THRUSTMASTER=y
|
||||
# CONFIG_THRUSTMASTER_FF is not set
|
||||
CONFIG_HID_ZEROPLUS=y
|
||||
# CONFIG_ZEROPLUS_FF is not set
|
||||
CONFIG_USB_SUPPORT=y
|
||||
CONFIG_USB_ARCH_HAS_HCD=y
|
||||
|
@ -1150,18 +1219,21 @@ CONFIG_USB_DEVICE_CLASS=y
|
|||
# USB Host Controller Drivers
|
||||
#
|
||||
# CONFIG_USB_C67X00_HCD is not set
|
||||
# CONFIG_USB_XHCI_HCD is not set
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_ROOT_HUB_TT=y
|
||||
CONFIG_USB_EHCI_TT_NEWSCHED=y
|
||||
# CONFIG_USB_OXU210HP_HCD is not set
|
||||
# CONFIG_USB_ISP116X_HCD is not set
|
||||
# CONFIG_USB_ISP1760_HCD is not set
|
||||
# CONFIG_USB_ISP1362_HCD is not set
|
||||
# CONFIG_USB_OHCI_HCD is not set
|
||||
# CONFIG_USB_UHCI_HCD is not set
|
||||
# CONFIG_USB_SL811_HCD is not set
|
||||
# CONFIG_USB_R8A66597_HCD is not set
|
||||
# CONFIG_USB_WHCI_HCD is not set
|
||||
# CONFIG_USB_HWA_HCD is not set
|
||||
# CONFIG_USB_MUSB_HDRC is not set
|
||||
|
||||
#
|
||||
# USB Device Class drivers
|
||||
|
@ -1252,11 +1324,14 @@ CONFIG_SDIO_UART=y
|
|||
# MMC/SD/SDIO Host Controller Drivers
|
||||
#
|
||||
# CONFIG_MMC_SDHCI is not set
|
||||
# CONFIG_MMC_AT91 is not set
|
||||
# CONFIG_MMC_ATMELMCI is not set
|
||||
# CONFIG_MMC_TIFM_SD is not set
|
||||
CONFIG_MMC_MVSDIO=y
|
||||
# CONFIG_MMC_SPI is not set
|
||||
# CONFIG_MMC_CB710 is not set
|
||||
# CONFIG_MMC_VIA_SDMMC is not set
|
||||
# CONFIG_MEMSTICK is not set
|
||||
# CONFIG_ACCESSIBILITY is not set
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
|
||||
|
@ -1266,7 +1341,7 @@ CONFIG_LEDS_CLASS=y
|
|||
# CONFIG_LEDS_PCA9532 is not set
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_GPIO_PLATFORM=y
|
||||
# CONFIG_LEDS_LP5521 is not set
|
||||
# CONFIG_LEDS_LP3944 is not set
|
||||
# CONFIG_LEDS_PCA955X is not set
|
||||
# CONFIG_LEDS_DAC124S085 is not set
|
||||
# CONFIG_LEDS_BD2802 is not set
|
||||
|
@ -1278,11 +1353,14 @@ CONFIG_LEDS_TRIGGERS=y
|
|||
CONFIG_LEDS_TRIGGER_TIMER=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
|
||||
# CONFIG_LEDS_TRIGGER_GPIO is not set
|
||||
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
|
||||
|
||||
#
|
||||
# iptables trigger is under Netfilter config (LED target)
|
||||
#
|
||||
# CONFIG_ACCESSIBILITY is not set
|
||||
# CONFIG_INFINIBAND is not set
|
||||
CONFIG_RTC_LIB=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_HCTOSYS=y
|
||||
|
@ -1314,6 +1392,7 @@ CONFIG_RTC_INTF_DEV=y
|
|||
CONFIG_RTC_DRV_S35390A=y
|
||||
# CONFIG_RTC_DRV_FM3130 is not set
|
||||
# CONFIG_RTC_DRV_RX8581 is not set
|
||||
# CONFIG_RTC_DRV_RX8025 is not set
|
||||
|
||||
#
|
||||
# SPI RTC drivers
|
||||
|
@ -1325,6 +1404,7 @@ CONFIG_RTC_DRV_S35390A=y
|
|||
# CONFIG_RTC_DRV_R9701 is not set
|
||||
# CONFIG_RTC_DRV_RS5C348 is not set
|
||||
# CONFIG_RTC_DRV_DS3234 is not set
|
||||
# CONFIG_RTC_DRV_PCF2123 is not set
|
||||
|
||||
#
|
||||
# Platform RTC drivers
|
||||
|
@ -1360,8 +1440,11 @@ CONFIG_DMA_ENGINE=y
|
|||
# CONFIG_ASYNC_TX_DMA is not set
|
||||
# CONFIG_DMATEST is not set
|
||||
# CONFIG_AUXDISPLAY is not set
|
||||
# CONFIG_REGULATOR is not set
|
||||
# CONFIG_UIO is not set
|
||||
|
||||
#
|
||||
# TI VLYNQ
|
||||
#
|
||||
# CONFIG_STAGING is not set
|
||||
|
||||
#
|
||||
|
@ -1379,10 +1462,13 @@ CONFIG_JBD=y
|
|||
# CONFIG_REISERFS_FS is not set
|
||||
# CONFIG_JFS_FS is not set
|
||||
# CONFIG_FS_POSIX_ACL is not set
|
||||
CONFIG_FILE_LOCKING=y
|
||||
# CONFIG_XFS_FS is not set
|
||||
# CONFIG_GFS2_FS is not set
|
||||
# CONFIG_OCFS2_FS is not set
|
||||
# CONFIG_BTRFS_FS is not set
|
||||
# CONFIG_NILFS2_FS is not set
|
||||
CONFIG_FILE_LOCKING=y
|
||||
CONFIG_FSNOTIFY=y
|
||||
CONFIG_DNOTIFY=y
|
||||
CONFIG_INOTIFY=y
|
||||
CONFIG_INOTIFY_USER=y
|
||||
|
@ -1455,7 +1541,6 @@ CONFIG_CRAMFS=y
|
|||
# CONFIG_ROMFS_FS is not set
|
||||
# CONFIG_SYSV_FS is not set
|
||||
# CONFIG_UFS_FS is not set
|
||||
# CONFIG_NILFS2_FS is not set
|
||||
CONFIG_NETWORK_FILESYSTEMS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3=y
|
||||
|
@ -1530,6 +1615,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
|
|||
CONFIG_ENABLE_MUST_CHECK=y
|
||||
CONFIG_FRAME_WARN=1024
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
# CONFIG_STRIP_ASM_SYMS is not set
|
||||
# CONFIG_UNUSED_SYMBOLS is not set
|
||||
CONFIG_DEBUG_FS=y
|
||||
# CONFIG_HEADERS_CHECK is not set
|
||||
|
@ -1547,6 +1633,7 @@ CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
|
|||
# CONFIG_DEBUG_OBJECTS is not set
|
||||
# CONFIG_SLUB_DEBUG_ON is not set
|
||||
# CONFIG_SLUB_STATS is not set
|
||||
# CONFIG_DEBUG_KMEMLEAK is not set
|
||||
# CONFIG_DEBUG_PREEMPT is not set
|
||||
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||
# CONFIG_RT_MUTEX_TESTER is not set
|
||||
|
@ -1567,12 +1654,14 @@ CONFIG_DEBUG_MEMORY_INIT=y
|
|||
# CONFIG_DEBUG_LIST is not set
|
||||
# CONFIG_DEBUG_SG is not set
|
||||
# CONFIG_DEBUG_NOTIFIERS is not set
|
||||
# CONFIG_DEBUG_CREDENTIALS is not set
|
||||
# CONFIG_BOOT_PRINTK_DELAY is not set
|
||||
# CONFIG_RCU_TORTURE_TEST is not set
|
||||
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
|
||||
# CONFIG_KPROBES_SANITY_TEST is not set
|
||||
# CONFIG_BACKTRACE_SELF_TEST is not set
|
||||
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
|
||||
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
|
||||
# CONFIG_LKDTM is not set
|
||||
# CONFIG_FAULT_INJECTION is not set
|
||||
# CONFIG_LATENCYTOP is not set
|
||||
|
@ -1581,25 +1670,12 @@ CONFIG_SYSCTL_SYSCALL_CHECK=y
|
|||
CONFIG_NOP_TRACER=y
|
||||
CONFIG_HAVE_FUNCTION_TRACER=y
|
||||
CONFIG_RING_BUFFER=y
|
||||
CONFIG_EVENT_TRACING=y
|
||||
CONFIG_CONTEXT_SWITCH_TRACER=y
|
||||
CONFIG_RING_BUFFER_ALLOW_SWAP=y
|
||||
CONFIG_TRACING=y
|
||||
CONFIG_TRACING_SUPPORT=y
|
||||
|
||||
#
|
||||
# Tracers
|
||||
#
|
||||
# CONFIG_FUNCTION_TRACER is not set
|
||||
# CONFIG_IRQSOFF_TRACER is not set
|
||||
# CONFIG_PREEMPT_TRACER is not set
|
||||
# CONFIG_SCHED_TRACER is not set
|
||||
# CONFIG_CONTEXT_SWITCH_TRACER is not set
|
||||
# CONFIG_EVENT_TRACER is not set
|
||||
# CONFIG_BOOT_TRACER is not set
|
||||
# CONFIG_TRACE_BRANCH_PROFILING is not set
|
||||
# CONFIG_STACK_TRACER is not set
|
||||
# CONFIG_KMEMTRACE is not set
|
||||
# CONFIG_WORKQUEUE_TRACER is not set
|
||||
# CONFIG_BLK_DEV_IO_TRACE is not set
|
||||
# CONFIG_FTRACE_STARTUP_TEST is not set
|
||||
# CONFIG_FTRACE is not set
|
||||
# CONFIG_DYNAMIC_DEBUG is not set
|
||||
# CONFIG_SAMPLES is not set
|
||||
CONFIG_HAVE_ARCH_KGDB=y
|
||||
|
@ -1623,7 +1699,6 @@ CONFIG_CRYPTO=y
|
|||
#
|
||||
# Crypto core or helper
|
||||
#
|
||||
# CONFIG_CRYPTO_FIPS is not set
|
||||
CONFIG_CRYPTO_ALGAPI=y
|
||||
CONFIG_CRYPTO_ALGAPI2=y
|
||||
CONFIG_CRYPTO_AEAD2=y
|
||||
|
@ -1665,11 +1740,13 @@ CONFIG_CRYPTO_PCBC=m
|
|||
#
|
||||
# CONFIG_CRYPTO_HMAC is not set
|
||||
# CONFIG_CRYPTO_XCBC is not set
|
||||
# CONFIG_CRYPTO_VMAC is not set
|
||||
|
||||
#
|
||||
# Digest
|
||||
#
|
||||
CONFIG_CRYPTO_CRC32C=y
|
||||
# CONFIG_CRYPTO_GHASH is not set
|
||||
# CONFIG_CRYPTO_MD4 is not set
|
||||
# CONFIG_CRYPTO_MD5 is not set
|
||||
# CONFIG_CRYPTO_MICHAEL_MIC is not set
|
||||
|
@ -1714,6 +1791,7 @@ CONFIG_CRYPTO_ARC4=y
|
|||
#
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
CONFIG_CRYPTO_HW=y
|
||||
CONFIG_CRYPTO_DEV_MV_CESA=y
|
||||
# CONFIG_CRYPTO_DEV_HIFN_795X is not set
|
||||
CONFIG_BINARY_PRINTF=y
|
||||
|
||||
|
|
|
@ -611,7 +611,7 @@ CONFIG_INPUT_KEYBOARD=y
|
|||
# CONFIG_KEYBOARD_XTKBD is not set
|
||||
# CONFIG_KEYBOARD_NEWTON is not set
|
||||
# CONFIG_KEYBOARD_STOWAWAY is not set
|
||||
# CONFIG_KEYBOARD_GPIO is not set
|
||||
CONFIG_KEYBOARD_GPIO=y
|
||||
CONFIG_INPUT_MOUSE=y
|
||||
# CONFIG_MOUSE_PS2 is not set
|
||||
# CONFIG_MOUSE_SERIAL is not set
|
||||
|
@ -634,7 +634,8 @@ CONFIG_TOUCHSCREEN_ADS7846=y
|
|||
# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
|
||||
# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
|
||||
# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
|
||||
# CONFIG_INPUT_MISC is not set
|
||||
CONFIG_INPUT_MISC=y
|
||||
CONFIG_INPUT_TWL4030_PWRBUTTON=y
|
||||
|
||||
#
|
||||
# Hardware I/O ports
|
||||
|
@ -834,7 +835,29 @@ CONFIG_DAB=y
|
|||
#
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
CONFIG_DUMMY_CONSOLE=y
|
||||
# CONFIG_SOUND is not set
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SOUND_OSS_CORE=y
|
||||
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
|
||||
CONFIG_SND=y
|
||||
CONFIG_SND_TIMER=y
|
||||
CONFIG_SND_PCM=y
|
||||
CONFIG_SND_JACK=y
|
||||
CONFIG_SND_OSSEMUL=y
|
||||
CONFIG_SND_MIXER_OSS=y
|
||||
CONFIG_SND_PCM_OSS=y
|
||||
CONFIG_SND_PCM_OSS_PLUGINS=y
|
||||
CONFIG_SND_SUPPORT_OLD_API=y
|
||||
CONFIG_SND_VERBOSE_PROCFS=y
|
||||
CONFIG_SND_VERBOSE_PRINTK=y
|
||||
CONFIG_SND_DRIVERS=y
|
||||
CONFIG_SND_USB=y
|
||||
CONFIG_SND_SOC=y
|
||||
CONFIG_SND_OMAP_SOC=y
|
||||
CONFIG_SND_OMAP_SOC_MCBSP=y
|
||||
CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=y
|
||||
CONFIG_SND_SOC_I2C_AND_SPI=y
|
||||
CONFIG_SND_SOC_TWL4030=y
|
||||
|
||||
CONFIG_HID_SUPPORT=y
|
||||
CONFIG_HID=y
|
||||
# CONFIG_HID_DEBUG is not set
|
||||
|
@ -1020,7 +1043,13 @@ CONFIG_MMC_BLOCK_BOUNCE=y
|
|||
# CONFIG_MMC_SPI is not set
|
||||
# CONFIG_MEMSTICK is not set
|
||||
# CONFIG_ACCESSIBILITY is not set
|
||||
# CONFIG_NEW_LEDS is not set
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_GPIO_PLATFORM=y
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
|
||||
|
||||
CONFIG_RTC_LIB=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_HCTOSYS=y
|
||||
|
@ -1084,9 +1113,12 @@ CONFIG_RTC_DRV_TWL4030=y
|
|||
# on-CPU RTC drivers
|
||||
#
|
||||
# CONFIG_DMADEVICES is not set
|
||||
# CONFIG_REGULATOR is not set
|
||||
# CONFIG_UIO is not set
|
||||
|
||||
CONFIG_REGULATOR=y
|
||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||
CONFIG_REGULATOR_TWL4030=y
|
||||
|
||||
#
|
||||
# File systems
|
||||
#
|
||||
|
@ -1407,3 +1439,10 @@ CONFIG_PLIST=y
|
|||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT=y
|
||||
CONFIG_HAS_DMA=y
|
||||
|
||||
# added by hand for now
|
||||
CONFIG_KEYBOARD_TWL4030=y
|
||||
CONFIG_USB_OTG_UTILS=y
|
||||
CONFIG_TWL4030_USB=y
|
||||
CONFIG_MMC_OMAP_HS=y
|
||||
|
||||
|
|
|
@ -1703,7 +1703,14 @@ CONFIG_RTC_DRV_TWL4030=y
|
|||
# on-CPU RTC drivers
|
||||
#
|
||||
# CONFIG_DMADEVICES is not set
|
||||
# CONFIG_REGULATOR is not set
|
||||
CONFIG_REGULATOR=y
|
||||
# CONFIG_REGULATOR_DEBUG is not set
|
||||
# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
|
||||
# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
|
||||
# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
|
||||
# CONFIG_REGULATOR_BQ24022 is not set
|
||||
# CONFIG_REGULATOR_MAX1586 is not set
|
||||
CONFIG_REGULATOR_TWL4030=y
|
||||
# CONFIG_UIO is not set
|
||||
# CONFIG_STAGING is not set
|
||||
|
||||
|
|
|
@ -1,15 +1,13 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.30-rc4
|
||||
# Mon May 4 14:07:25 2009
|
||||
# Linux kernel version: 2.6.32-rc6
|
||||
# Sat Nov 7 20:52:21 2009
|
||||
#
|
||||
CONFIG_ARM=y
|
||||
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
|
||||
CONFIG_GENERIC_GPIO=y
|
||||
CONFIG_GENERIC_TIME=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||
CONFIG_MMU=y
|
||||
# CONFIG_NO_IOPORT is not set
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_STACKTRACE_SUPPORT=y
|
||||
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
|
||||
|
@ -18,13 +16,12 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y
|
|||
CONFIG_HARDIRQS_SW_RESEND=y
|
||||
CONFIG_GENERIC_IRQ_PROBE=y
|
||||
CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
||||
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
|
||||
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
|
||||
CONFIG_VECTORS_BASE=0xffff0000
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
CONFIG_CONSTRUCTORS=y
|
||||
|
||||
#
|
||||
# General setup
|
||||
|
@ -46,11 +43,12 @@ CONFIG_SYSVIPC_SYSCTL=y
|
|||
#
|
||||
# RCU Subsystem
|
||||
#
|
||||
CONFIG_CLASSIC_RCU=y
|
||||
# CONFIG_TREE_RCU is not set
|
||||
# CONFIG_PREEMPT_RCU is not set
|
||||
CONFIG_TREE_RCU=y
|
||||
# CONFIG_TREE_PREEMPT_RCU is not set
|
||||
# CONFIG_RCU_TRACE is not set
|
||||
CONFIG_RCU_FANOUT=32
|
||||
# CONFIG_RCU_FANOUT_EXACT is not set
|
||||
# CONFIG_TREE_RCU_TRACE is not set
|
||||
# CONFIG_PREEMPT_RCU_TRACE is not set
|
||||
# CONFIG_IKCONFIG is not set
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
# CONFIG_GROUP_SCHED is not set
|
||||
|
@ -69,7 +67,6 @@ CONFIG_SYSCTL_SYSCALL=y
|
|||
CONFIG_KALLSYMS=y
|
||||
CONFIG_KALLSYMS_ALL=y
|
||||
# CONFIG_KALLSYMS_EXTRA_PASS is not set
|
||||
# CONFIG_STRIP_ASM_SYMS is not set
|
||||
CONFIG_HOTPLUG=y
|
||||
CONFIG_PRINTK=y
|
||||
CONFIG_BUG=y
|
||||
|
@ -82,6 +79,10 @@ CONFIG_TIMERFD=y
|
|||
CONFIG_EVENTFD=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_AIO=y
|
||||
|
||||
#
|
||||
# Kernel Performance Events And Counters
|
||||
#
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
CONFIG_PCI_QUIRKS=y
|
||||
# CONFIG_SLUB_DEBUG is not set
|
||||
|
@ -91,13 +92,17 @@ CONFIG_SLUB=y
|
|||
# CONFIG_SLOB is not set
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_TRACEPOINTS=y
|
||||
# CONFIG_MARKERS is not set
|
||||
CONFIG_OPROFILE=y
|
||||
CONFIG_HAVE_OPROFILE=y
|
||||
CONFIG_KPROBES=y
|
||||
CONFIG_KRETPROBES=y
|
||||
CONFIG_HAVE_KPROBES=y
|
||||
CONFIG_HAVE_KRETPROBES=y
|
||||
|
||||
#
|
||||
# GCOV-based kernel profiling
|
||||
#
|
||||
# CONFIG_GCOV_KERNEL is not set
|
||||
# CONFIG_SLOW_WORK is not set
|
||||
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
|
||||
CONFIG_RT_MUTEXES=y
|
||||
|
@ -109,7 +114,7 @@ CONFIG_MODULE_UNLOAD=y
|
|||
# CONFIG_MODVERSIONS is not set
|
||||
# CONFIG_MODULE_SRCVERSION_ALL is not set
|
||||
CONFIG_BLOCK=y
|
||||
# CONFIG_LBD is not set
|
||||
CONFIG_LBDAF=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_BLK_DEV_INTEGRITY is not set
|
||||
|
||||
|
@ -130,19 +135,22 @@ CONFIG_DEFAULT_IOSCHED="cfq"
|
|||
#
|
||||
# System Type
|
||||
#
|
||||
CONFIG_MMU=y
|
||||
# CONFIG_ARCH_AAEC2000 is not set
|
||||
# CONFIG_ARCH_INTEGRATOR is not set
|
||||
# CONFIG_ARCH_REALVIEW is not set
|
||||
# CONFIG_ARCH_VERSATILE is not set
|
||||
# CONFIG_ARCH_AT91 is not set
|
||||
# CONFIG_ARCH_CLPS711X is not set
|
||||
# CONFIG_ARCH_GEMINI is not set
|
||||
# CONFIG_ARCH_EBSA110 is not set
|
||||
# CONFIG_ARCH_EP93XX is not set
|
||||
# CONFIG_ARCH_GEMINI is not set
|
||||
# CONFIG_ARCH_FOOTBRIDGE is not set
|
||||
# CONFIG_ARCH_MXC is not set
|
||||
# CONFIG_ARCH_STMP3XXX is not set
|
||||
# CONFIG_ARCH_NETX is not set
|
||||
# CONFIG_ARCH_H720X is not set
|
||||
# CONFIG_ARCH_IMX is not set
|
||||
# CONFIG_ARCH_NOMADIK is not set
|
||||
# CONFIG_ARCH_IOP13XX is not set
|
||||
# CONFIG_ARCH_IOP32X is not set
|
||||
# CONFIG_ARCH_IOP33X is not set
|
||||
|
@ -151,25 +159,27 @@ CONFIG_DEFAULT_IOSCHED="cfq"
|
|||
# CONFIG_ARCH_IXP4XX is not set
|
||||
# CONFIG_ARCH_L7200 is not set
|
||||
# CONFIG_ARCH_KIRKWOOD is not set
|
||||
# CONFIG_ARCH_KS8695 is not set
|
||||
# CONFIG_ARCH_NS9XXX is not set
|
||||
# CONFIG_ARCH_LOKI is not set
|
||||
# CONFIG_ARCH_MV78XX0 is not set
|
||||
# CONFIG_ARCH_MXC is not set
|
||||
CONFIG_ARCH_ORION5X=y
|
||||
# CONFIG_ARCH_MMP is not set
|
||||
# CONFIG_ARCH_KS8695 is not set
|
||||
# CONFIG_ARCH_NS9XXX is not set
|
||||
# CONFIG_ARCH_W90X900 is not set
|
||||
# CONFIG_ARCH_PNX4008 is not set
|
||||
# CONFIG_ARCH_PXA is not set
|
||||
# CONFIG_ARCH_MMP is not set
|
||||
# CONFIG_ARCH_MSM is not set
|
||||
# CONFIG_ARCH_RPC is not set
|
||||
# CONFIG_ARCH_SA1100 is not set
|
||||
# CONFIG_ARCH_S3C2410 is not set
|
||||
# CONFIG_ARCH_S3C64XX is not set
|
||||
# CONFIG_ARCH_S5PC1XX is not set
|
||||
# CONFIG_ARCH_SHARK is not set
|
||||
# CONFIG_ARCH_LH7A40X is not set
|
||||
# CONFIG_ARCH_U300 is not set
|
||||
# CONFIG_ARCH_DAVINCI is not set
|
||||
# CONFIG_ARCH_OMAP is not set
|
||||
# CONFIG_ARCH_MSM is not set
|
||||
# CONFIG_ARCH_W90X900 is not set
|
||||
# CONFIG_ARCH_BCMRING is not set
|
||||
|
||||
#
|
||||
# Orion Implementations
|
||||
|
@ -187,6 +197,9 @@ CONFIG_MACH_WRT350N_V2=y
|
|||
CONFIG_MACH_TS78XX=y
|
||||
CONFIG_MACH_MV2120=y
|
||||
CONFIG_MACH_EDMINI_V2=y
|
||||
CONFIG_MACH_D2NET=y
|
||||
CONFIG_MACH_BIGDISK=y
|
||||
CONFIG_MACH_NET2BIG=y
|
||||
CONFIG_MACH_MSS2=y
|
||||
CONFIG_MACH_WNR854T=y
|
||||
CONFIG_MACH_RD88F5181L_GE=y
|
||||
|
@ -202,7 +215,7 @@ CONFIG_CPU_FEROCEON=y
|
|||
CONFIG_CPU_FEROCEON_OLD_ID=y
|
||||
CONFIG_CPU_32v5=y
|
||||
CONFIG_CPU_ABRT_EV5T=y
|
||||
CONFIG_CPU_PABRT_NOIFAR=y
|
||||
CONFIG_CPU_PABRT_LEGACY=y
|
||||
CONFIG_CPU_CACHE_VIVT=y
|
||||
CONFIG_CPU_COPY_FEROCEON=y
|
||||
CONFIG_CPU_TLB_FEROCEON=y
|
||||
|
@ -215,7 +228,7 @@ CONFIG_CPU_CP15_MMU=y
|
|||
CONFIG_ARM_THUMB=y
|
||||
# CONFIG_CPU_ICACHE_DISABLE is not set
|
||||
# CONFIG_CPU_DCACHE_DISABLE is not set
|
||||
# CONFIG_OUTER_CACHE is not set
|
||||
CONFIG_ARM_L1_CACHE_SHIFT=5
|
||||
|
||||
#
|
||||
# Bus support
|
||||
|
@ -240,11 +253,12 @@ CONFIG_VMSPLIT_3G=y
|
|||
# CONFIG_VMSPLIT_2G is not set
|
||||
# CONFIG_VMSPLIT_1G is not set
|
||||
CONFIG_PAGE_OFFSET=0xC0000000
|
||||
# CONFIG_PREEMPT_NONE is not set
|
||||
# CONFIG_PREEMPT_VOLUNTARY is not set
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_HZ=100
|
||||
CONFIG_AEABI=y
|
||||
CONFIG_OABI_COMPAT=y
|
||||
CONFIG_ARCH_FLATMEM_HAS_HOLES=y
|
||||
# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
|
||||
# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
|
||||
# CONFIG_HIGHMEM is not set
|
||||
|
@ -259,12 +273,14 @@ CONFIG_SPLIT_PTLOCK_CPUS=4096
|
|||
# CONFIG_PHYS_ADDR_T_64BIT is not set
|
||||
CONFIG_ZONE_DMA_FLAG=0
|
||||
CONFIG_VIRT_TO_BUS=y
|
||||
CONFIG_UNEVICTABLE_LRU=y
|
||||
CONFIG_HAVE_MLOCK=y
|
||||
CONFIG_HAVE_MLOCKED_PAGE_BIT=y
|
||||
# CONFIG_KSM is not set
|
||||
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
|
||||
CONFIG_LEDS=y
|
||||
CONFIG_LEDS_CPU=y
|
||||
CONFIG_ALIGNMENT_TRAP=y
|
||||
CONFIG_UACCESS_WITH_MEMCPY=y
|
||||
|
||||
#
|
||||
# Boot options
|
||||
|
@ -308,6 +324,7 @@ CONFIG_PM=y
|
|||
# CONFIG_PM_DEBUG is not set
|
||||
# CONFIG_SUSPEND is not set
|
||||
# CONFIG_APM_EMULATION is not set
|
||||
# CONFIG_PM_RUNTIME is not set
|
||||
CONFIG_ARCH_SUSPEND_POSSIBLE=y
|
||||
CONFIG_NET=y
|
||||
|
||||
|
@ -356,6 +373,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
|
|||
# CONFIG_NETFILTER is not set
|
||||
# CONFIG_IP_DCCP is not set
|
||||
# CONFIG_IP_SCTP is not set
|
||||
# CONFIG_RDS is not set
|
||||
# CONFIG_TIPC is not set
|
||||
# CONFIG_ATM is not set
|
||||
# CONFIG_BRIDGE is not set
|
||||
|
@ -378,6 +396,7 @@ CONFIG_NET_DSA_MV88E6123_61_65=y
|
|||
# CONFIG_ECONET is not set
|
||||
# CONFIG_WAN_ROUTER is not set
|
||||
# CONFIG_PHONET is not set
|
||||
# CONFIG_IEEE802154 is not set
|
||||
# CONFIG_NET_SCHED is not set
|
||||
# CONFIG_DCB is not set
|
||||
|
||||
|
@ -394,11 +413,15 @@ CONFIG_NET_PKTGEN=m
|
|||
# CONFIG_AF_RXRPC is not set
|
||||
CONFIG_WIRELESS=y
|
||||
# CONFIG_CFG80211 is not set
|
||||
CONFIG_CFG80211_DEFAULT_PS_VALUE=0
|
||||
# CONFIG_WIRELESS_OLD_REGULATORY is not set
|
||||
CONFIG_WIRELESS_EXT=y
|
||||
CONFIG_WIRELESS_EXT_SYSFS=y
|
||||
# CONFIG_LIB80211 is not set
|
||||
# CONFIG_MAC80211 is not set
|
||||
|
||||
#
|
||||
# CFG80211 needs to be enabled for MAC80211
|
||||
#
|
||||
# CONFIG_WIMAX is not set
|
||||
# CONFIG_RFKILL is not set
|
||||
# CONFIG_NET_9P is not set
|
||||
|
@ -411,6 +434,7 @@ CONFIG_WIRELESS_EXT_SYSFS=y
|
|||
# Generic Driver Options
|
||||
#
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
# CONFIG_DEVTMPFS is not set
|
||||
CONFIG_STANDALONE=y
|
||||
CONFIG_PREVENT_FIRMWARE_BUILD=y
|
||||
CONFIG_FW_LOADER=y
|
||||
|
@ -422,9 +446,9 @@ CONFIG_EXTRA_FIRMWARE=""
|
|||
# CONFIG_CONNECTOR is not set
|
||||
CONFIG_MTD=y
|
||||
# CONFIG_MTD_DEBUG is not set
|
||||
# CONFIG_MTD_TESTS is not set
|
||||
# CONFIG_MTD_CONCAT is not set
|
||||
CONFIG_MTD_PARTITIONS=y
|
||||
# CONFIG_MTD_TESTS is not set
|
||||
# CONFIG_MTD_REDBOOT_PARTS is not set
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
# CONFIG_MTD_AFS_PARTS is not set
|
||||
|
@ -537,6 +561,7 @@ CONFIG_BLK_DEV_LOOP=y
|
|||
# CONFIG_BLK_DEV_RAM is not set
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
# CONFIG_MG_DISK is not set
|
||||
CONFIG_MISC_DEVICES=y
|
||||
# CONFIG_PHANTOM is not set
|
||||
# CONFIG_SGI_IOC4 is not set
|
||||
|
@ -552,7 +577,9 @@ CONFIG_MISC_DEVICES=y
|
|||
#
|
||||
# CONFIG_EEPROM_AT24 is not set
|
||||
# CONFIG_EEPROM_LEGACY is not set
|
||||
# CONFIG_EEPROM_MAX6875 is not set
|
||||
# CONFIG_EEPROM_93CX6 is not set
|
||||
# CONFIG_CB710_CORE is not set
|
||||
CONFIG_HAVE_IDE=y
|
||||
# CONFIG_IDE is not set
|
||||
|
||||
|
@ -576,10 +603,6 @@ CONFIG_BLK_DEV_SR=m
|
|||
# CONFIG_BLK_DEV_SR_VENDOR is not set
|
||||
CONFIG_CHR_DEV_SG=m
|
||||
# CONFIG_CHR_DEV_SCH is not set
|
||||
|
||||
#
|
||||
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
|
||||
#
|
||||
# CONFIG_SCSI_MULTI_LUN is not set
|
||||
# CONFIG_SCSI_CONSTANTS is not set
|
||||
# CONFIG_SCSI_LOGGING is not set
|
||||
|
@ -596,6 +619,8 @@ CONFIG_SCSI_WAIT_SCAN=m
|
|||
# CONFIG_SCSI_SRP_ATTRS is not set
|
||||
CONFIG_SCSI_LOWLEVEL=y
|
||||
# CONFIG_ISCSI_TCP is not set
|
||||
# CONFIG_SCSI_BNX2_ISCSI is not set
|
||||
# CONFIG_BE2ISCSI is not set
|
||||
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
|
||||
# CONFIG_SCSI_3W_9XXX is not set
|
||||
# CONFIG_SCSI_ACARD is not set
|
||||
|
@ -604,6 +629,7 @@ CONFIG_SCSI_LOWLEVEL=y
|
|||
# CONFIG_SCSI_AIC7XXX_OLD is not set
|
||||
# CONFIG_SCSI_AIC79XX is not set
|
||||
# CONFIG_SCSI_AIC94XX is not set
|
||||
# CONFIG_SCSI_MVSAS is not set
|
||||
# CONFIG_SCSI_DPT_I2O is not set
|
||||
# CONFIG_SCSI_ADVANSYS is not set
|
||||
# CONFIG_SCSI_ARCMSR is not set
|
||||
|
@ -620,7 +646,6 @@ CONFIG_SCSI_LOWLEVEL=y
|
|||
# CONFIG_SCSI_IPS is not set
|
||||
# CONFIG_SCSI_INITIO is not set
|
||||
# CONFIG_SCSI_INIA100 is not set
|
||||
# CONFIG_SCSI_MVSAS is not set
|
||||
# CONFIG_SCSI_STEX is not set
|
||||
# CONFIG_SCSI_SYM53C8XX_2 is not set
|
||||
# CONFIG_SCSI_IPR is not set
|
||||
|
@ -632,11 +657,14 @@ CONFIG_SCSI_LOWLEVEL=y
|
|||
# CONFIG_SCSI_DC390T is not set
|
||||
# CONFIG_SCSI_NSP32 is not set
|
||||
# CONFIG_SCSI_DEBUG is not set
|
||||
# CONFIG_SCSI_PMCRAID is not set
|
||||
# CONFIG_SCSI_SRP is not set
|
||||
# CONFIG_SCSI_BFA_FC is not set
|
||||
# CONFIG_SCSI_DH is not set
|
||||
# CONFIG_SCSI_OSD_INITIATOR is not set
|
||||
CONFIG_ATA=y
|
||||
# CONFIG_ATA_NONSTANDARD is not set
|
||||
CONFIG_ATA_VERBOSE_ERROR=y
|
||||
CONFIG_SATA_PMP=y
|
||||
# CONFIG_SATA_AHCI is not set
|
||||
# CONFIG_SATA_SIL24 is not set
|
||||
|
@ -658,6 +686,7 @@ CONFIG_SATA_MV=y
|
|||
# CONFIG_PATA_ALI is not set
|
||||
# CONFIG_PATA_AMD is not set
|
||||
# CONFIG_PATA_ARTOP is not set
|
||||
# CONFIG_PATA_ATP867X is not set
|
||||
# CONFIG_PATA_ATIIXP is not set
|
||||
# CONFIG_PATA_CMD640_PCI is not set
|
||||
# CONFIG_PATA_CMD64X is not set
|
||||
|
@ -685,6 +714,7 @@ CONFIG_SATA_MV=y
|
|||
# CONFIG_PATA_OPTIDMA is not set
|
||||
# CONFIG_PATA_PDC_OLD is not set
|
||||
# CONFIG_PATA_RADISYS is not set
|
||||
# CONFIG_PATA_RDC is not set
|
||||
# CONFIG_PATA_RZ1000 is not set
|
||||
# CONFIG_PATA_SC1200 is not set
|
||||
# CONFIG_PATA_SERVERWORKS is not set
|
||||
|
@ -703,13 +733,16 @@ CONFIG_SATA_MV=y
|
|||
#
|
||||
|
||||
#
|
||||
# Enable only one of the two stacks, unless you know what you are doing
|
||||
# You can enable one or both FireWire driver stacks.
|
||||
#
|
||||
|
||||
#
|
||||
# See the help texts for more information.
|
||||
#
|
||||
# CONFIG_FIREWIRE is not set
|
||||
# CONFIG_IEEE1394 is not set
|
||||
# CONFIG_I2O is not set
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_COMPAT_NET_DEV_OPS=y
|
||||
# CONFIG_DUMMY is not set
|
||||
# CONFIG_BONDING is not set
|
||||
# CONFIG_MACVLAN is not set
|
||||
|
@ -777,6 +810,8 @@ CONFIG_NET_PCI=y
|
|||
# CONFIG_SMSC9420 is not set
|
||||
# CONFIG_SUNDANCE is not set
|
||||
# CONFIG_TLAN is not set
|
||||
# CONFIG_KS8842 is not set
|
||||
# CONFIG_KS8851_MLL is not set
|
||||
# CONFIG_VIA_RHINE is not set
|
||||
# CONFIG_SC92031 is not set
|
||||
# CONFIG_ATL2 is not set
|
||||
|
@ -798,6 +833,7 @@ CONFIG_NETDEV_1000=y
|
|||
# CONFIG_VIA_VELOCITY is not set
|
||||
# CONFIG_TIGON3 is not set
|
||||
# CONFIG_BNX2 is not set
|
||||
# CONFIG_CNIC is not set
|
||||
CONFIG_MV643XX_ETH=y
|
||||
# CONFIG_QLA3XXX is not set
|
||||
# CONFIG_ATL1 is not set
|
||||
|
@ -806,10 +842,7 @@ CONFIG_MV643XX_ETH=y
|
|||
# CONFIG_JME is not set
|
||||
# CONFIG_NETDEV_10000 is not set
|
||||
# CONFIG_TR is not set
|
||||
|
||||
#
|
||||
# Wireless LAN
|
||||
#
|
||||
CONFIG_WLAN=y
|
||||
# CONFIG_WLAN_PRE80211 is not set
|
||||
# CONFIG_WLAN_80211 is not set
|
||||
|
||||
|
@ -835,6 +868,7 @@ CONFIG_MV643XX_ETH=y
|
|||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
# CONFIG_ISDN is not set
|
||||
# CONFIG_PHONE is not set
|
||||
|
||||
#
|
||||
# Input device support
|
||||
|
@ -855,13 +889,19 @@ CONFIG_INPUT_EVDEV=y
|
|||
# Input Device Drivers
|
||||
#
|
||||
CONFIG_INPUT_KEYBOARD=y
|
||||
# CONFIG_KEYBOARD_ADP5588 is not set
|
||||
# CONFIG_KEYBOARD_ATKBD is not set
|
||||
# CONFIG_KEYBOARD_SUNKBD is not set
|
||||
# CONFIG_QT2160 is not set
|
||||
# CONFIG_KEYBOARD_LKKBD is not set
|
||||
# CONFIG_KEYBOARD_XTKBD is not set
|
||||
# CONFIG_KEYBOARD_NEWTON is not set
|
||||
# CONFIG_KEYBOARD_STOWAWAY is not set
|
||||
CONFIG_KEYBOARD_GPIO=y
|
||||
# CONFIG_KEYBOARD_MATRIX is not set
|
||||
# CONFIG_KEYBOARD_LM8323 is not set
|
||||
# CONFIG_KEYBOARD_MAX7359 is not set
|
||||
# CONFIG_KEYBOARD_NEWTON is not set
|
||||
# CONFIG_KEYBOARD_OPENCORES is not set
|
||||
# CONFIG_KEYBOARD_STOWAWAY is not set
|
||||
# CONFIG_KEYBOARD_SUNKBD is not set
|
||||
# CONFIG_KEYBOARD_XTKBD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_INPUT_JOYSTICK is not set
|
||||
# CONFIG_INPUT_TABLET is not set
|
||||
|
@ -912,6 +952,7 @@ CONFIG_HW_RANDOM_TIMERIOMEM=m
|
|||
CONFIG_DEVPORT=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_BOARDINFO=y
|
||||
# CONFIG_I2C_COMPAT is not set
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_HELPER_AUTO=y
|
||||
|
||||
|
@ -967,20 +1008,55 @@ CONFIG_I2C_MV64XXX=y
|
|||
# Miscellaneous I2C Chip support
|
||||
#
|
||||
# CONFIG_DS1682 is not set
|
||||
# CONFIG_SENSORS_PCF8574 is not set
|
||||
# CONFIG_PCF8575 is not set
|
||||
# CONFIG_SENSORS_PCA9539 is not set
|
||||
# CONFIG_SENSORS_MAX6875 is not set
|
||||
# CONFIG_SENSORS_TSL2550 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_SPI is not set
|
||||
|
||||
#
|
||||
# PPS support
|
||||
#
|
||||
# CONFIG_PPS is not set
|
||||
CONFIG_ARCH_REQUIRE_GPIOLIB=y
|
||||
CONFIG_GPIOLIB=y
|
||||
# CONFIG_DEBUG_GPIO is not set
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
|
||||
#
|
||||
# Memory mapped GPIO expanders:
|
||||
#
|
||||
|
||||
#
|
||||
# I2C GPIO expanders:
|
||||
#
|
||||
# CONFIG_GPIO_MAX732X is not set
|
||||
# CONFIG_GPIO_PCA953X is not set
|
||||
# CONFIG_GPIO_PCF857X is not set
|
||||
|
||||
#
|
||||
# PCI GPIO expanders:
|
||||
#
|
||||
# CONFIG_GPIO_BT8XX is not set
|
||||
# CONFIG_GPIO_LANGWELL is not set
|
||||
|
||||
#
|
||||
# SPI GPIO expanders:
|
||||
#
|
||||
|
||||
#
|
||||
# AC97 GPIO expanders:
|
||||
#
|
||||
# CONFIG_W1 is not set
|
||||
# CONFIG_POWER_SUPPLY is not set
|
||||
CONFIG_HWMON=y
|
||||
# CONFIG_HWMON_VID is not set
|
||||
# CONFIG_HWMON_DEBUG_CHIP is not set
|
||||
|
||||
#
|
||||
# Native drivers
|
||||
#
|
||||
# CONFIG_SENSORS_AD7414 is not set
|
||||
# CONFIG_SENSORS_AD7418 is not set
|
||||
# CONFIG_SENSORS_ADM1021 is not set
|
||||
|
@ -1030,6 +1106,8 @@ CONFIG_SENSORS_LM75=y
|
|||
# CONFIG_SENSORS_SMSC47B397 is not set
|
||||
# CONFIG_SENSORS_ADS7828 is not set
|
||||
# CONFIG_SENSORS_THMC50 is not set
|
||||
# CONFIG_SENSORS_TMP401 is not set
|
||||
# CONFIG_SENSORS_TMP421 is not set
|
||||
# CONFIG_SENSORS_VIA686A is not set
|
||||
# CONFIG_SENSORS_VT1211 is not set
|
||||
# CONFIG_SENSORS_VT8231 is not set
|
||||
|
@ -1041,9 +1119,7 @@ CONFIG_SENSORS_LM75=y
|
|||
# CONFIG_SENSORS_W83L786NG is not set
|
||||
# CONFIG_SENSORS_W83627HF is not set
|
||||
# CONFIG_SENSORS_W83627EHF is not set
|
||||
# CONFIG_HWMON_DEBUG_CHIP is not set
|
||||
# CONFIG_THERMAL is not set
|
||||
# CONFIG_THERMAL_HWMON is not set
|
||||
# CONFIG_WATCHDOG is not set
|
||||
CONFIG_SSB_POSSIBLE=y
|
||||
|
||||
|
@ -1057,33 +1133,26 @@ CONFIG_SSB_POSSIBLE=y
|
|||
#
|
||||
# CONFIG_MFD_CORE is not set
|
||||
# CONFIG_MFD_SM501 is not set
|
||||
# CONFIG_MFD_ASIC3 is not set
|
||||
# CONFIG_HTC_EGPIO is not set
|
||||
# CONFIG_HTC_PASIC3 is not set
|
||||
# CONFIG_TPS65010 is not set
|
||||
# CONFIG_TWL4030_CORE is not set
|
||||
# CONFIG_MFD_TMIO is not set
|
||||
# CONFIG_MFD_TC6393XB is not set
|
||||
# CONFIG_PMIC_DA903X is not set
|
||||
# CONFIG_MFD_WM8400 is not set
|
||||
# CONFIG_MFD_WM831X is not set
|
||||
# CONFIG_MFD_WM8350_I2C is not set
|
||||
# CONFIG_MFD_PCF50633 is not set
|
||||
|
||||
#
|
||||
# Multimedia devices
|
||||
#
|
||||
|
||||
#
|
||||
# Multimedia core support
|
||||
#
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
# CONFIG_DVB_CORE is not set
|
||||
# CONFIG_VIDEO_MEDIA is not set
|
||||
|
||||
#
|
||||
# Multimedia drivers
|
||||
#
|
||||
# CONFIG_DAB is not set
|
||||
# CONFIG_AB3100_CORE is not set
|
||||
# CONFIG_REGULATOR is not set
|
||||
# CONFIG_MEDIA_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Graphics support
|
||||
#
|
||||
# CONFIG_VGA_ARB is not set
|
||||
# CONFIG_DRM is not set
|
||||
# CONFIG_VGASTATE is not set
|
||||
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
|
||||
|
@ -1097,7 +1166,6 @@ CONFIG_SSB_POSSIBLE=y
|
|||
# CONFIG_SOUND is not set
|
||||
CONFIG_HID_SUPPORT=y
|
||||
CONFIG_HID=y
|
||||
# CONFIG_HID_DEBUG is not set
|
||||
# CONFIG_HIDRAW is not set
|
||||
|
||||
#
|
||||
|
@ -1116,10 +1184,11 @@ CONFIG_USB_HID=y
|
|||
# CONFIG_HID_CHERRY is not set
|
||||
# CONFIG_HID_CHICONY is not set
|
||||
# CONFIG_HID_CYPRESS is not set
|
||||
# CONFIG_DRAGONRISE_FF is not set
|
||||
# CONFIG_HID_DRAGONRISE is not set
|
||||
# CONFIG_HID_EZKEY is not set
|
||||
# CONFIG_HID_KYE is not set
|
||||
# CONFIG_HID_GYRATION is not set
|
||||
# CONFIG_HID_TWINHAN is not set
|
||||
# CONFIG_HID_KENSINGTON is not set
|
||||
# CONFIG_HID_LOGITECH is not set
|
||||
# CONFIG_HID_MICROSOFT is not set
|
||||
|
@ -1130,10 +1199,11 @@ CONFIG_USB_HID=y
|
|||
# CONFIG_HID_SAMSUNG is not set
|
||||
# CONFIG_HID_SONY is not set
|
||||
# CONFIG_HID_SUNPLUS is not set
|
||||
# CONFIG_GREENASIA_FF is not set
|
||||
# CONFIG_HID_GREENASIA is not set
|
||||
# CONFIG_HID_SMARTJOYPLUS is not set
|
||||
# CONFIG_HID_TOPSEED is not set
|
||||
# CONFIG_THRUSTMASTER_FF is not set
|
||||
# CONFIG_ZEROPLUS_FF is not set
|
||||
# CONFIG_HID_THRUSTMASTER is not set
|
||||
# CONFIG_HID_ZEROPLUS is not set
|
||||
CONFIG_USB_SUPPORT=y
|
||||
CONFIG_USB_ARCH_HAS_HCD=y
|
||||
CONFIG_USB_ARCH_HAS_OHCI=y
|
||||
|
@ -1160,18 +1230,21 @@ CONFIG_USB_DEVICE_CLASS=y
|
|||
# USB Host Controller Drivers
|
||||
#
|
||||
# CONFIG_USB_C67X00_HCD is not set
|
||||
# CONFIG_USB_XHCI_HCD is not set
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_ROOT_HUB_TT=y
|
||||
CONFIG_USB_EHCI_TT_NEWSCHED=y
|
||||
# CONFIG_USB_OXU210HP_HCD is not set
|
||||
# CONFIG_USB_ISP116X_HCD is not set
|
||||
# CONFIG_USB_ISP1760_HCD is not set
|
||||
# CONFIG_USB_ISP1362_HCD is not set
|
||||
# CONFIG_USB_OHCI_HCD is not set
|
||||
# CONFIG_USB_UHCI_HCD is not set
|
||||
# CONFIG_USB_SL811_HCD is not set
|
||||
# CONFIG_USB_R8A66597_HCD is not set
|
||||
# CONFIG_USB_WHCI_HCD is not set
|
||||
# CONFIG_USB_HWA_HCD is not set
|
||||
# CONFIG_USB_MUSB_HDRC is not set
|
||||
|
||||
#
|
||||
# USB Device Class drivers
|
||||
|
@ -1248,7 +1321,6 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
|
|||
# CONFIG_UWB is not set
|
||||
# CONFIG_MMC is not set
|
||||
# CONFIG_MEMSTICK is not set
|
||||
# CONFIG_ACCESSIBILITY is not set
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
|
||||
|
@ -1258,7 +1330,7 @@ CONFIG_LEDS_CLASS=y
|
|||
# CONFIG_LEDS_PCA9532 is not set
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_GPIO_PLATFORM=y
|
||||
# CONFIG_LEDS_LP5521 is not set
|
||||
# CONFIG_LEDS_LP3944 is not set
|
||||
# CONFIG_LEDS_PCA955X is not set
|
||||
# CONFIG_LEDS_BD2802 is not set
|
||||
|
||||
|
@ -1269,11 +1341,14 @@ CONFIG_LEDS_TRIGGERS=y
|
|||
CONFIG_LEDS_TRIGGER_TIMER=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
|
||||
# CONFIG_LEDS_TRIGGER_GPIO is not set
|
||||
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
|
||||
|
||||
#
|
||||
# iptables trigger is under Netfilter config (LED target)
|
||||
#
|
||||
# CONFIG_ACCESSIBILITY is not set
|
||||
# CONFIG_INFINIBAND is not set
|
||||
CONFIG_RTC_LIB=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_HCTOSYS=y
|
||||
|
@ -1306,6 +1381,7 @@ CONFIG_RTC_DRV_M41T80=y
|
|||
CONFIG_RTC_DRV_S35390A=y
|
||||
# CONFIG_RTC_DRV_FM3130 is not set
|
||||
# CONFIG_RTC_DRV_RX8581 is not set
|
||||
# CONFIG_RTC_DRV_RX8025 is not set
|
||||
|
||||
#
|
||||
# SPI RTC drivers
|
||||
|
@ -1344,8 +1420,11 @@ CONFIG_DMA_ENGINE=y
|
|||
# CONFIG_ASYNC_TX_DMA is not set
|
||||
# CONFIG_DMATEST is not set
|
||||
# CONFIG_AUXDISPLAY is not set
|
||||
# CONFIG_REGULATOR is not set
|
||||
# CONFIG_UIO is not set
|
||||
|
||||
#
|
||||
# TI VLYNQ
|
||||
#
|
||||
# CONFIG_STAGING is not set
|
||||
|
||||
#
|
||||
|
@ -1358,10 +1437,10 @@ CONFIG_EXT3_FS=y
|
|||
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
|
||||
# CONFIG_EXT3_FS_XATTR is not set
|
||||
CONFIG_EXT4_FS=m
|
||||
# CONFIG_EXT4DEV_COMPAT is not set
|
||||
CONFIG_EXT4_FS_XATTR=y
|
||||
# CONFIG_EXT4_FS_POSIX_ACL is not set
|
||||
# CONFIG_EXT4_FS_SECURITY is not set
|
||||
# CONFIG_EXT4_DEBUG is not set
|
||||
CONFIG_JBD=y
|
||||
# CONFIG_JBD_DEBUG is not set
|
||||
CONFIG_JBD2=m
|
||||
|
@ -1370,10 +1449,13 @@ CONFIG_FS_MBCACHE=m
|
|||
# CONFIG_REISERFS_FS is not set
|
||||
# CONFIG_JFS_FS is not set
|
||||
# CONFIG_FS_POSIX_ACL is not set
|
||||
CONFIG_FILE_LOCKING=y
|
||||
# CONFIG_XFS_FS is not set
|
||||
# CONFIG_GFS2_FS is not set
|
||||
# CONFIG_OCFS2_FS is not set
|
||||
# CONFIG_BTRFS_FS is not set
|
||||
# CONFIG_NILFS2_FS is not set
|
||||
CONFIG_FILE_LOCKING=y
|
||||
CONFIG_FSNOTIFY=y
|
||||
CONFIG_DNOTIFY=y
|
||||
CONFIG_INOTIFY=y
|
||||
CONFIG_INOTIFY_USER=y
|
||||
|
@ -1446,7 +1528,6 @@ CONFIG_CRAMFS=y
|
|||
# CONFIG_ROMFS_FS is not set
|
||||
# CONFIG_SYSV_FS is not set
|
||||
# CONFIG_UFS_FS is not set
|
||||
# CONFIG_NILFS2_FS is not set
|
||||
CONFIG_NETWORK_FILESYSTEMS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3=y
|
||||
|
@ -1537,6 +1618,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
|
|||
CONFIG_ENABLE_MUST_CHECK=y
|
||||
CONFIG_FRAME_WARN=1024
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
# CONFIG_STRIP_ASM_SYMS is not set
|
||||
# CONFIG_UNUSED_SYMBOLS is not set
|
||||
CONFIG_DEBUG_FS=y
|
||||
# CONFIG_HEADERS_CHECK is not set
|
||||
|
@ -1552,6 +1634,7 @@ CONFIG_SCHED_DEBUG=y
|
|||
CONFIG_SCHEDSTATS=y
|
||||
# CONFIG_TIMER_STATS is not set
|
||||
# CONFIG_DEBUG_OBJECTS is not set
|
||||
# CONFIG_DEBUG_KMEMLEAK is not set
|
||||
CONFIG_DEBUG_PREEMPT=y
|
||||
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||
# CONFIG_RT_MUTEX_TESTER is not set
|
||||
|
@ -1572,6 +1655,7 @@ CONFIG_DEBUG_INFO=y
|
|||
# CONFIG_DEBUG_LIST is not set
|
||||
# CONFIG_DEBUG_SG is not set
|
||||
# CONFIG_DEBUG_NOTIFIERS is not set
|
||||
# CONFIG_DEBUG_CREDENTIALS is not set
|
||||
CONFIG_FRAME_POINTER=y
|
||||
# CONFIG_BOOT_PRINTK_DELAY is not set
|
||||
# CONFIG_RCU_TORTURE_TEST is not set
|
||||
|
@ -1579,6 +1663,7 @@ CONFIG_FRAME_POINTER=y
|
|||
# CONFIG_KPROBES_SANITY_TEST is not set
|
||||
# CONFIG_BACKTRACE_SELF_TEST is not set
|
||||
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
|
||||
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
|
||||
# CONFIG_LKDTM is not set
|
||||
# CONFIG_FAULT_INJECTION is not set
|
||||
CONFIG_LATENCYTOP=y
|
||||
|
@ -1587,25 +1672,12 @@ CONFIG_SYSCTL_SYSCALL_CHECK=y
|
|||
CONFIG_NOP_TRACER=y
|
||||
CONFIG_HAVE_FUNCTION_TRACER=y
|
||||
CONFIG_RING_BUFFER=y
|
||||
CONFIG_EVENT_TRACING=y
|
||||
CONFIG_CONTEXT_SWITCH_TRACER=y
|
||||
CONFIG_RING_BUFFER_ALLOW_SWAP=y
|
||||
CONFIG_TRACING=y
|
||||
CONFIG_TRACING_SUPPORT=y
|
||||
|
||||
#
|
||||
# Tracers
|
||||
#
|
||||
# CONFIG_FUNCTION_TRACER is not set
|
||||
# CONFIG_IRQSOFF_TRACER is not set
|
||||
# CONFIG_PREEMPT_TRACER is not set
|
||||
# CONFIG_SCHED_TRACER is not set
|
||||
# CONFIG_CONTEXT_SWITCH_TRACER is not set
|
||||
# CONFIG_EVENT_TRACER is not set
|
||||
# CONFIG_BOOT_TRACER is not set
|
||||
# CONFIG_TRACE_BRANCH_PROFILING is not set
|
||||
# CONFIG_STACK_TRACER is not set
|
||||
# CONFIG_KMEMTRACE is not set
|
||||
# CONFIG_WORKQUEUE_TRACER is not set
|
||||
# CONFIG_BLK_DEV_IO_TRACE is not set
|
||||
# CONFIG_FTRACE_STARTUP_TEST is not set
|
||||
# CONFIG_FTRACE is not set
|
||||
# CONFIG_DYNAMIC_DEBUG is not set
|
||||
# CONFIG_SAMPLES is not set
|
||||
CONFIG_HAVE_ARCH_KGDB=y
|
||||
|
@ -1629,20 +1701,19 @@ CONFIG_CRYPTO=y
|
|||
#
|
||||
# Crypto core or helper
|
||||
#
|
||||
# CONFIG_CRYPTO_FIPS is not set
|
||||
CONFIG_CRYPTO_ALGAPI=m
|
||||
CONFIG_CRYPTO_ALGAPI2=m
|
||||
CONFIG_CRYPTO_AEAD2=m
|
||||
CONFIG_CRYPTO_ALGAPI=y
|
||||
CONFIG_CRYPTO_ALGAPI2=y
|
||||
CONFIG_CRYPTO_AEAD2=y
|
||||
CONFIG_CRYPTO_BLKCIPHER=m
|
||||
CONFIG_CRYPTO_BLKCIPHER2=m
|
||||
CONFIG_CRYPTO_HASH2=m
|
||||
CONFIG_CRYPTO_RNG2=m
|
||||
CONFIG_CRYPTO_PCOMP=m
|
||||
CONFIG_CRYPTO_BLKCIPHER2=y
|
||||
CONFIG_CRYPTO_HASH2=y
|
||||
CONFIG_CRYPTO_RNG2=y
|
||||
CONFIG_CRYPTO_PCOMP=y
|
||||
CONFIG_CRYPTO_MANAGER=m
|
||||
CONFIG_CRYPTO_MANAGER2=m
|
||||
CONFIG_CRYPTO_MANAGER2=y
|
||||
# CONFIG_CRYPTO_GF128MUL is not set
|
||||
# CONFIG_CRYPTO_NULL is not set
|
||||
CONFIG_CRYPTO_WORKQUEUE=m
|
||||
CONFIG_CRYPTO_WORKQUEUE=y
|
||||
# CONFIG_CRYPTO_CRYPTD is not set
|
||||
# CONFIG_CRYPTO_AUTHENC is not set
|
||||
# CONFIG_CRYPTO_TEST is not set
|
||||
|
@ -1670,11 +1741,13 @@ CONFIG_CRYPTO_PCBC=m
|
|||
#
|
||||
# CONFIG_CRYPTO_HMAC is not set
|
||||
# CONFIG_CRYPTO_XCBC is not set
|
||||
# CONFIG_CRYPTO_VMAC is not set
|
||||
|
||||
#
|
||||
# Digest
|
||||
#
|
||||
# CONFIG_CRYPTO_CRC32C is not set
|
||||
# CONFIG_CRYPTO_GHASH is not set
|
||||
# CONFIG_CRYPTO_MD4 is not set
|
||||
# CONFIG_CRYPTO_MD5 is not set
|
||||
# CONFIG_CRYPTO_MICHAEL_MIC is not set
|
||||
|
@ -1691,7 +1764,7 @@ CONFIG_CRYPTO_PCBC=m
|
|||
#
|
||||
# Ciphers
|
||||
#
|
||||
# CONFIG_CRYPTO_AES is not set
|
||||
CONFIG_CRYPTO_AES=y
|
||||
# CONFIG_CRYPTO_ANUBIS is not set
|
||||
# CONFIG_CRYPTO_ARC4 is not set
|
||||
# CONFIG_CRYPTO_BLOWFISH is not set
|
||||
|
@ -1719,6 +1792,7 @@ CONFIG_CRYPTO_PCBC=m
|
|||
#
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
CONFIG_CRYPTO_HW=y
|
||||
CONFIG_CRYPTO_DEV_MV_CESA=y
|
||||
# CONFIG_CRYPTO_DEV_HIFN_795X is not set
|
||||
CONFIG_BINARY_PRINTF=y
|
||||
|
||||
|
|
|
@ -22,4 +22,10 @@ enum km_type {
|
|||
KM_TYPE_NR
|
||||
};
|
||||
|
||||
#ifdef CONFIG_DEBUG_HIGHMEM
|
||||
#define KM_NMI (-1)
|
||||
#define KM_NMI_PTE (-1)
|
||||
#define KM_IRQ_PTE (-1)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
@ -402,6 +402,15 @@
|
|||
#define __ARM_NR_usr32 (__ARM_NR_BASE+4)
|
||||
#define __ARM_NR_set_tls (__ARM_NR_BASE+5)
|
||||
|
||||
/*
|
||||
* *NOTE*: This is a ghost syscall private to the kernel. Only the
|
||||
* __kuser_cmpxchg code in entry-armv.S should be aware of its
|
||||
* existence. Don't ever use this from user code.
|
||||
*/
|
||||
#ifdef __KERNEL__
|
||||
#define __ARM_NR_cmpxchg (__ARM_NR_BASE+0x00fff0)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The following syscalls are obsolete and no longer available for EABI.
|
||||
*/
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
#include <mach/entry-macro.S>
|
||||
#include <asm/thread_notify.h>
|
||||
#include <asm/unwind.h>
|
||||
#include <asm/unistd.h>
|
||||
|
||||
#include "entry-header.S"
|
||||
|
||||
|
@ -908,10 +909,10 @@ __kuser_cmpxchg: @ 0xffff0fc0
|
|||
* A special ghost syscall is used for that (see traps.c).
|
||||
*/
|
||||
stmfd sp!, {r7, lr}
|
||||
mov r7, #0xff00 @ 0xfff0 into r7 for EABI
|
||||
orr r7, r7, #0xf0
|
||||
swi #0x9ffff0
|
||||
ldr r7, =1f @ it's 20 bits
|
||||
swi __ARM_NR_cmpxchg
|
||||
ldmfd sp!, {r7, pc}
|
||||
1: .word __ARM_NR_cmpxchg
|
||||
|
||||
#elif __LINUX_ARM_ARCH__ < 6
|
||||
|
||||
|
|
|
@ -97,7 +97,7 @@ __error_a:
|
|||
bl printhex8
|
||||
adr r0, str_a2
|
||||
bl printascii
|
||||
adr r3, 3f
|
||||
adr r3, 4f
|
||||
ldmia r3, {r4, r5, r6} @ get machine desc list
|
||||
sub r4, r3, r4 @ get offset between virt&phys
|
||||
add r5, r5, r4 @ convert virt addresses to
|
||||
|
|
|
@ -662,8 +662,12 @@ static void do_signal(struct pt_regs *regs, int syscall)
|
|||
regs->ARM_sp -= 4;
|
||||
usp = (u32 __user *)regs->ARM_sp;
|
||||
|
||||
put_user(regs->ARM_pc, usp);
|
||||
regs->ARM_pc = KERN_RESTART_CODE;
|
||||
if (put_user(regs->ARM_pc, usp) == 0) {
|
||||
regs->ARM_pc = KERN_RESTART_CODE;
|
||||
} else {
|
||||
regs->ARM_sp += 4;
|
||||
force_sigsegv(0, current);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,6 +37,10 @@ void __init scu_enable(void __iomem *scu_base)
|
|||
u32 scu_ctrl;
|
||||
|
||||
scu_ctrl = __raw_readl(scu_base + SCU_CTRL);
|
||||
/* already enabled? */
|
||||
if (scu_ctrl & 1)
|
||||
return;
|
||||
|
||||
scu_ctrl |= 1;
|
||||
__raw_writel(scu_ctrl, scu_base + SCU_CTRL);
|
||||
|
||||
|
|
|
@ -528,7 +528,7 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs)
|
|||
* __kuser_cmpxchg code in entry-armv.S should be aware of its
|
||||
* existence. Don't ever use this from user code.
|
||||
*/
|
||||
case 0xfff0:
|
||||
case NR(cmpxchg):
|
||||
for (;;) {
|
||||
extern void do_DataAbort(unsigned long addr, unsigned int fsr,
|
||||
struct pt_regs *regs);
|
||||
|
@ -573,7 +573,7 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs)
|
|||
if not implemented, rather than raising SIGILL. This
|
||||
way the calling program can gracefully determine whether
|
||||
a feature is supported. */
|
||||
if (no <= 0x7ff)
|
||||
if ((no & 0xffff) <= 0x7ff)
|
||||
return -ENOSYS;
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -289,13 +289,6 @@ config MACH_NEOCORE926
|
|||
help
|
||||
Select this if you are using the Adeneo Neocore 926 board.
|
||||
|
||||
config MACH_AT91SAM9G20EK_2MMC
|
||||
bool "Atmel AT91SAM9G20-EK Evaluation Kit modified for 2 MMC Slots"
|
||||
depends on ARCH_AT91SAM9G20
|
||||
help
|
||||
Select this if you are using an Atmel AT91SAM9G20-EK Evaluation Kit
|
||||
Rev A or B modified for 2 MMC Slots.
|
||||
|
||||
endif
|
||||
|
||||
# ----------------------------------------------------------
|
||||
|
@ -322,7 +315,16 @@ config MACH_AT91SAM9G20EK
|
|||
bool "Atmel AT91SAM9G20-EK Evaluation Kit"
|
||||
depends on ARCH_AT91SAM9G20
|
||||
help
|
||||
Select this if you are using Atmel's AT91SAM9G20-EK Evaluation Kit.
|
||||
Select this if you are using Atmel's AT91SAM9G20-EK Evaluation Kit
|
||||
that embeds only one SD/MMC slot.
|
||||
|
||||
config MACH_AT91SAM9G20EK_2MMC
|
||||
bool "Atmel AT91SAM9G20-EK Evaluation Kit with 2 SD/MMC Slots"
|
||||
depends on ARCH_AT91SAM9G20
|
||||
help
|
||||
Select this if you are using an Atmel AT91SAM9G20-EK Evaluation Kit
|
||||
with 2 SD/MMC Slots. This is the case for AT91SAM9G20-EK rev. C and
|
||||
onwards.
|
||||
|
||||
config MACH_CPU9G20
|
||||
bool "Eukrea CPU9G20 board"
|
||||
|
@ -392,7 +394,7 @@ config MTD_AT91_DATAFLASH_CARD
|
|||
|
||||
config MTD_NAND_ATMEL_BUSWIDTH_16
|
||||
bool "Enable 16-bit data bus interface to NAND flash"
|
||||
depends on (MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9G10EK || MACH_AT91SAM9263EK || MACH_AT91SAM9G20EK || MACH_AT91SAM9G45EKES || MACH_AT91CAP9ADK)
|
||||
depends on (MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9G10EK || MACH_AT91SAM9263EK || MACH_AT91SAM9G20EK || MACH_AT91SAM9G20EK_2MMC || MACH_AT91SAM9G45EKES || MACH_AT91CAP9ADK)
|
||||
help
|
||||
On AT91SAM926x boards both types of NAND flash can be present
|
||||
(8 and 16 bit data bus width).
|
||||
|
|
|
@ -90,7 +90,7 @@ static struct at91_udc_data __initdata ek_udc_data = {
|
|||
* SPI devices.
|
||||
*/
|
||||
static struct spi_board_info ek_spi_devices[] = {
|
||||
#if !defined(CONFIG_MMC_ATMELMCI)
|
||||
#if !(defined(CONFIG_MMC_ATMELMCI) || defined(CONFIG_MMC_AT91))
|
||||
{ /* DataFlash chip */
|
||||
.modalias = "mtd_dataflash",
|
||||
.chip_select = 1,
|
||||
|
@ -113,7 +113,7 @@ static struct spi_board_info ek_spi_devices[] = {
|
|||
* MACB Ethernet device
|
||||
*/
|
||||
static struct at91_eth_data __initdata ek_macb_data = {
|
||||
.phy_irq_pin = AT91_PIN_PC12,
|
||||
.phy_irq_pin = AT91_PIN_PB0,
|
||||
.is_rmii = 1,
|
||||
};
|
||||
|
||||
|
@ -194,24 +194,27 @@ static void __init ek_add_device_nand(void)
|
|||
|
||||
/*
|
||||
* MCI (SD/MMC)
|
||||
* det_pin and wp_pin are not connected
|
||||
* wp_pin is not connected
|
||||
*/
|
||||
#if defined(CONFIG_MMC_ATMELMCI) || defined(CONFIG_MMC_ATMELMCI_MODULE)
|
||||
static struct mci_platform_data __initdata ek_mmc_data = {
|
||||
.slot[0] = {
|
||||
.bus_width = 4,
|
||||
.detect_pin = -ENODEV,
|
||||
.detect_pin = AT91_PIN_PC2,
|
||||
.wp_pin = -ENODEV,
|
||||
},
|
||||
.slot[1] = {
|
||||
.bus_width = 4,
|
||||
.detect_pin = -ENODEV,
|
||||
.detect_pin = AT91_PIN_PC9,
|
||||
.wp_pin = -ENODEV,
|
||||
},
|
||||
|
||||
};
|
||||
#else
|
||||
static struct amci_platform_data __initdata ek_mmc_data = {
|
||||
static struct at91_mmc_data __initdata ek_mmc_data = {
|
||||
.slot_b = 1, /* Only one slot so use slot B */
|
||||
.wire4 = 1,
|
||||
.det_pin = AT91_PIN_PC9,
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -221,13 +224,13 @@ static struct amci_platform_data __initdata ek_mmc_data = {
|
|||
static struct gpio_led ek_leds[] = {
|
||||
{ /* "bottom" led, green, userled1 to be defined */
|
||||
.name = "ds5",
|
||||
.gpio = AT91_PIN_PB12,
|
||||
.gpio = AT91_PIN_PB8,
|
||||
.active_low = 1,
|
||||
.default_trigger = "none",
|
||||
},
|
||||
{ /* "power" led, yellow */
|
||||
.name = "ds1",
|
||||
.gpio = AT91_PIN_PB13,
|
||||
.gpio = AT91_PIN_PB9,
|
||||
.default_trigger = "heartbeat",
|
||||
}
|
||||
};
|
||||
|
@ -254,7 +257,11 @@ static void __init ek_board_init(void)
|
|||
/* Ethernet */
|
||||
at91_add_device_eth(&ek_macb_data);
|
||||
/* MMC */
|
||||
#if defined(CONFIG_MMC_ATMELMCI) || defined(CONFIG_MMC_ATMELMCI_MODULE)
|
||||
at91_add_device_mci(0, &ek_mmc_data);
|
||||
#else
|
||||
at91_add_device_mmc(0, &ek_mmc_data);
|
||||
#endif
|
||||
/* I2C */
|
||||
at91_add_device_i2c(ek_i2c_devices, ARRAY_SIZE(ek_i2c_devices));
|
||||
/* LEDs */
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
#include <linux/init.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/mtd/physmap.h>
|
||||
#include <linux/io.h>
|
||||
|
||||
#include <mach/hardware.h>
|
||||
|
||||
|
|
|
@ -105,7 +105,7 @@ void __init kirkwood_setup_cpu_mbus(void)
|
|||
setup_cpu_win(0, KIRKWOOD_PCIE_IO_PHYS_BASE, KIRKWOOD_PCIE_IO_SIZE,
|
||||
TARGET_PCIE, ATTR_PCIE_IO, KIRKWOOD_PCIE_IO_BUS_BASE);
|
||||
setup_cpu_win(1, KIRKWOOD_PCIE_MEM_PHYS_BASE, KIRKWOOD_PCIE_MEM_SIZE,
|
||||
TARGET_PCIE, ATTR_PCIE_MEM, -1);
|
||||
TARGET_PCIE, ATTR_PCIE_MEM, KIRKWOOD_PCIE_MEM_BUS_BASE);
|
||||
|
||||
/*
|
||||
* Setup window for NAND controller.
|
||||
|
|
|
@ -845,7 +845,7 @@ int __init kirkwood_find_tclk(void)
|
|||
return 166666667;
|
||||
}
|
||||
|
||||
static void kirkwood_timer_init(void)
|
||||
static void __init kirkwood_timer_init(void)
|
||||
{
|
||||
kirkwood_tclk = kirkwood_find_tclk();
|
||||
orion_time_init(IRQ_KIRKWOOD_BRIDGE, kirkwood_tclk);
|
||||
|
@ -915,6 +915,14 @@ void __init kirkwood_init(void)
|
|||
kirkwood_uart0_data[0].uartclk = kirkwood_tclk;
|
||||
kirkwood_uart1_data[0].uartclk = kirkwood_tclk;
|
||||
|
||||
/*
|
||||
* Disable propagation of mbus errors to the CPU local bus,
|
||||
* as this causes mbus errors (which can occur for example
|
||||
* for PCI aborts) to throw CPU aborts, which we're not set
|
||||
* up to deal with.
|
||||
*/
|
||||
writel(readl(CPU_CONFIG) & ~CPU_CONFIG_ERROR_PROP, CPU_CONFIG);
|
||||
|
||||
kirkwood_setup_cpu_mbus();
|
||||
|
||||
#ifdef CONFIG_CACHE_FEROCEON_L2
|
||||
|
|
|
@ -13,6 +13,9 @@
|
|||
|
||||
#include <mach/kirkwood.h>
|
||||
|
||||
#define CPU_CONFIG (BRIDGE_VIRT_BASE | 0x0100)
|
||||
#define CPU_CONFIG_ERROR_PROP 0x00000004
|
||||
|
||||
#define CPU_CONTROL (BRIDGE_VIRT_BASE | 0x0104)
|
||||
#define CPU_RESET 0x00000002
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
static inline void __iomem *__io(unsigned long addr)
|
||||
{
|
||||
return (void __iomem *)((addr - KIRKWOOD_PCIE_IO_PHYS_BASE)
|
||||
return (void __iomem *)((addr - KIRKWOOD_PCIE_IO_BUS_BASE)
|
||||
+ KIRKWOOD_PCIE_IO_VIRT_BASE);
|
||||
}
|
||||
|
||||
|
|
|
@ -43,6 +43,7 @@
|
|||
#define KIRKWOOD_REGS_SIZE SZ_1M
|
||||
|
||||
#define KIRKWOOD_PCIE_MEM_PHYS_BASE 0xe0000000
|
||||
#define KIRKWOOD_PCIE_MEM_BUS_BASE 0xe0000000
|
||||
#define KIRKWOOD_PCIE_MEM_SIZE SZ_128M
|
||||
|
||||
/*
|
||||
|
|
|
@ -70,8 +70,20 @@ static void __init openrd_base_init(void)
|
|||
kirkwood_ge00_init(&openrd_base_ge00_data);
|
||||
kirkwood_sata_init(&openrd_base_sata_data);
|
||||
kirkwood_sdio_init(&openrd_base_mvsdio_data);
|
||||
|
||||
kirkwood_i2c_init();
|
||||
}
|
||||
|
||||
static int __init openrd_base_pci_init(void)
|
||||
{
|
||||
if (machine_is_openrd_base())
|
||||
kirkwood_pcie_init();
|
||||
|
||||
return 0;
|
||||
}
|
||||
subsys_initcall(openrd_base_pci_init);
|
||||
|
||||
|
||||
MACHINE_START(OPENRD_BASE, "Marvell OpenRD Base Board")
|
||||
/* Maintainer: Dhaval Vasa <dhaval.vasa@einfochips.com> */
|
||||
.phys_io = KIRKWOOD_REGS_PHYS_BASE,
|
||||
|
|
|
@ -93,7 +93,7 @@ static struct pci_ops pcie_ops = {
|
|||
};
|
||||
|
||||
|
||||
static int kirkwood_pcie_setup(int nr, struct pci_sys_data *sys)
|
||||
static int __init kirkwood_pcie_setup(int nr, struct pci_sys_data *sys)
|
||||
{
|
||||
struct resource *res;
|
||||
extern unsigned int kirkwood_clk_ctrl;
|
||||
|
@ -115,7 +115,7 @@ static int kirkwood_pcie_setup(int nr, struct pci_sys_data *sys)
|
|||
*/
|
||||
res[0].name = "PCIe I/O Space";
|
||||
res[0].flags = IORESOURCE_IO;
|
||||
res[0].start = KIRKWOOD_PCIE_IO_PHYS_BASE;
|
||||
res[0].start = KIRKWOOD_PCIE_IO_BUS_BASE;
|
||||
res[0].end = res[0].start + KIRKWOOD_PCIE_IO_SIZE - 1;
|
||||
if (request_resource(&ioport_resource, &res[0]))
|
||||
panic("Request PCIe IO resource failed\n");
|
||||
|
@ -126,7 +126,7 @@ static int kirkwood_pcie_setup(int nr, struct pci_sys_data *sys)
|
|||
*/
|
||||
res[1].name = "PCIe Memory Space";
|
||||
res[1].flags = IORESOURCE_MEM;
|
||||
res[1].start = KIRKWOOD_PCIE_MEM_PHYS_BASE;
|
||||
res[1].start = KIRKWOOD_PCIE_MEM_BUS_BASE;
|
||||
res[1].end = res[1].start + KIRKWOOD_PCIE_MEM_SIZE - 1;
|
||||
if (request_resource(&iomem_resource, &res[1]))
|
||||
panic("Request PCIe Memory resource failed\n");
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
#define KS8695_SEC1 (0x04) /* Switch Engine Control 1 */
|
||||
#define KS8695_SEC2 (0x08) /* Switch Engine Control 2 */
|
||||
|
||||
#define KS8695_P(x)_C(z) (0xc0 + (((x)-1)*3 + ((z)-1))*4) /* Port Configuration Registers */
|
||||
#define KS8695_SEPXCZ(x,z) (0x0c + (((x)-1)*3 + ((z)-1))*4) /* Port Configuration Registers */
|
||||
|
||||
#define KS8695_SEP12AN (0x48) /* Port 1 & 2 Auto-Negotiation */
|
||||
#define KS8695_SEP34AN (0x4c) /* Port 3 & 4 Auto-Negotiation */
|
||||
|
|
|
@ -160,7 +160,7 @@
|
|||
#define MMC1_WP_MMC1_WP MFP_CFG_DRV(MMC1_WP, AF0, MEDIUM)
|
||||
|
||||
/* PWM */
|
||||
#define GPIO27 PWM3 AF2 MFP_CFG(GPIO27, AF2)
|
||||
#define GPIO27_PWM3_AF2 MFP_CFG(GPIO27, AF2)
|
||||
#define GPIO51_PWM2_OUT MFP_CFG(GPIO51, AF2)
|
||||
#define GPIO117_PWM1_OUT MFP_CFG(GPIO117, AF2)
|
||||
#define GPIO118_PWM2_OUT MFP_CFG(GPIO118, AF2)
|
||||
|
|
|
@ -845,6 +845,8 @@ static char * __init mv78xx0_id(void)
|
|||
} else if (dev == MV78100_DEV_ID) {
|
||||
if (rev == MV78100_REV_A0)
|
||||
return "MV78100-A0";
|
||||
else if (rev == MV78100_REV_A1)
|
||||
return "MV78100-A1";
|
||||
else
|
||||
return "MV78100-Rev-Unsupported";
|
||||
} else if (dev == MV78200_DEV_ID) {
|
||||
|
|
|
@ -112,6 +112,7 @@
|
|||
|
||||
#define MV78100_DEV_ID 0x7810
|
||||
#define MV78100_REV_A0 1
|
||||
#define MV78100_REV_A1 2
|
||||
|
||||
#define MV78200_DEV_ID 0x7820
|
||||
#define MV78200_REV_A0 1
|
||||
|
|
|
@ -162,7 +162,7 @@ static int beagle_twl_gpio_setup(struct device *dev,
|
|||
|
||||
/* TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, active low) */
|
||||
gpio_request(gpio + TWL4030_GPIO_MAX, "nEN_USB_PWR");
|
||||
gpio_direction_output(gpio + TWL4030_GPIO_MAX, 1);
|
||||
gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0);
|
||||
|
||||
/* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
|
||||
gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
|
||||
|
|
|
@ -134,50 +134,50 @@ static void __init pandora_keys_gpio_init(void)
|
|||
}
|
||||
|
||||
static int board_keymap[] = {
|
||||
/* col, row, code */
|
||||
/* row, col, code */
|
||||
KEY(0, 0, KEY_9),
|
||||
KEY(0, 1, KEY_0),
|
||||
KEY(0, 2, KEY_BACKSPACE),
|
||||
KEY(0, 3, KEY_O),
|
||||
KEY(0, 4, KEY_P),
|
||||
KEY(0, 5, KEY_K),
|
||||
KEY(0, 6, KEY_L),
|
||||
KEY(0, 7, KEY_ENTER),
|
||||
KEY(1, 0, KEY_8),
|
||||
KEY(0, 1, KEY_8),
|
||||
KEY(0, 2, KEY_I),
|
||||
KEY(0, 3, KEY_J),
|
||||
KEY(0, 4, KEY_N),
|
||||
KEY(0, 5, KEY_M),
|
||||
KEY(1, 0, KEY_0),
|
||||
KEY(1, 1, KEY_7),
|
||||
KEY(1, 2, KEY_6),
|
||||
KEY(1, 3, KEY_5),
|
||||
KEY(1, 4, KEY_4),
|
||||
KEY(1, 5, KEY_3),
|
||||
KEY(1, 6, KEY_2),
|
||||
KEY(1, 7, KEY_1),
|
||||
KEY(2, 0, KEY_I),
|
||||
KEY(2, 1, KEY_U),
|
||||
KEY(1, 2, KEY_U),
|
||||
KEY(1, 3, KEY_H),
|
||||
KEY(1, 4, KEY_B),
|
||||
KEY(1, 5, KEY_SPACE),
|
||||
KEY(2, 0, KEY_BACKSPACE),
|
||||
KEY(2, 1, KEY_6),
|
||||
KEY(2, 2, KEY_Y),
|
||||
KEY(2, 3, KEY_T),
|
||||
KEY(2, 4, KEY_R),
|
||||
KEY(2, 5, KEY_E),
|
||||
KEY(2, 6, KEY_W),
|
||||
KEY(2, 7, KEY_Q),
|
||||
KEY(3, 0, KEY_J),
|
||||
KEY(3, 1, KEY_H),
|
||||
KEY(3, 2, KEY_G),
|
||||
KEY(2, 3, KEY_G),
|
||||
KEY(2, 4, KEY_V),
|
||||
KEY(2, 5, KEY_FN),
|
||||
KEY(3, 0, KEY_O),
|
||||
KEY(3, 1, KEY_5),
|
||||
KEY(3, 2, KEY_T),
|
||||
KEY(3, 3, KEY_F),
|
||||
KEY(3, 4, KEY_D),
|
||||
KEY(3, 5, KEY_S),
|
||||
KEY(3, 6, KEY_A),
|
||||
KEY(3, 7, KEY_LEFTSHIFT),
|
||||
KEY(4, 0, KEY_N),
|
||||
KEY(4, 1, KEY_B),
|
||||
KEY(4, 2, KEY_V),
|
||||
KEY(4, 3, KEY_C),
|
||||
KEY(3, 4, KEY_C),
|
||||
KEY(4, 0, KEY_P),
|
||||
KEY(4, 1, KEY_4),
|
||||
KEY(4, 2, KEY_R),
|
||||
KEY(4, 3, KEY_D),
|
||||
KEY(4, 4, KEY_X),
|
||||
KEY(4, 5, KEY_Z),
|
||||
KEY(4, 6, KEY_DOT),
|
||||
KEY(4, 7, KEY_COMMA),
|
||||
KEY(5, 0, KEY_M),
|
||||
KEY(5, 1, KEY_SPACE),
|
||||
KEY(5, 2, KEY_FN),
|
||||
KEY(5, 0, KEY_K),
|
||||
KEY(5, 1, KEY_3),
|
||||
KEY(5, 2, KEY_E),
|
||||
KEY(5, 3, KEY_S),
|
||||
KEY(5, 4, KEY_Z),
|
||||
KEY(6, 0, KEY_L),
|
||||
KEY(6, 1, KEY_2),
|
||||
KEY(6, 2, KEY_W),
|
||||
KEY(6, 3, KEY_A),
|
||||
KEY(6, 4, KEY_DOT),
|
||||
KEY(7, 0, KEY_ENTER),
|
||||
KEY(7, 1, KEY_1),
|
||||
KEY(7, 2, KEY_Q),
|
||||
KEY(7, 3, KEY_LEFTSHIFT),
|
||||
KEY(7, 4, KEY_COMMA),
|
||||
};
|
||||
|
||||
static struct matrix_keymap_data board_map_data = {
|
||||
|
|
|
@ -30,57 +30,56 @@
|
|||
/* Zoom2 has Qwerty keyboard*/
|
||||
static int board_keymap[] = {
|
||||
KEY(0, 0, KEY_E),
|
||||
KEY(1, 0, KEY_R),
|
||||
KEY(2, 0, KEY_T),
|
||||
KEY(3, 0, KEY_HOME),
|
||||
KEY(6, 0, KEY_I),
|
||||
KEY(7, 0, KEY_LEFTSHIFT),
|
||||
KEY(0, 1, KEY_D),
|
||||
KEY(0, 1, KEY_R),
|
||||
KEY(0, 2, KEY_T),
|
||||
KEY(0, 3, KEY_HOME),
|
||||
KEY(0, 6, KEY_I),
|
||||
KEY(0, 7, KEY_LEFTSHIFT),
|
||||
KEY(1, 0, KEY_D),
|
||||
KEY(1, 1, KEY_F),
|
||||
KEY(2, 1, KEY_G),
|
||||
KEY(3, 1, KEY_SEND),
|
||||
KEY(6, 1, KEY_K),
|
||||
KEY(7, 1, KEY_ENTER),
|
||||
KEY(0, 2, KEY_X),
|
||||
KEY(1, 2, KEY_C),
|
||||
KEY(1, 2, KEY_G),
|
||||
KEY(1, 3, KEY_SEND),
|
||||
KEY(1, 6, KEY_K),
|
||||
KEY(1, 7, KEY_ENTER),
|
||||
KEY(2, 0, KEY_X),
|
||||
KEY(2, 1, KEY_C),
|
||||
KEY(2, 2, KEY_V),
|
||||
KEY(3, 2, KEY_END),
|
||||
KEY(6, 2, KEY_DOT),
|
||||
KEY(7, 2, KEY_CAPSLOCK),
|
||||
KEY(0, 3, KEY_Z),
|
||||
KEY(1, 3, KEY_KPPLUS),
|
||||
KEY(2, 3, KEY_B),
|
||||
KEY(2, 3, KEY_END),
|
||||
KEY(2, 6, KEY_DOT),
|
||||
KEY(2, 7, KEY_CAPSLOCK),
|
||||
KEY(3, 0, KEY_Z),
|
||||
KEY(3, 1, KEY_KPPLUS),
|
||||
KEY(3, 2, KEY_B),
|
||||
KEY(3, 3, KEY_F1),
|
||||
KEY(6, 3, KEY_O),
|
||||
KEY(7, 3, KEY_SPACE),
|
||||
KEY(0, 4, KEY_W),
|
||||
KEY(1, 4, KEY_Y),
|
||||
KEY(2, 4, KEY_U),
|
||||
KEY(3, 4, KEY_F2),
|
||||
KEY(3, 6, KEY_O),
|
||||
KEY(3, 7, KEY_SPACE),
|
||||
KEY(4, 0, KEY_W),
|
||||
KEY(4, 1, KEY_Y),
|
||||
KEY(4, 2, KEY_U),
|
||||
KEY(4, 3, KEY_F2),
|
||||
KEY(4, 4, KEY_VOLUMEUP),
|
||||
KEY(6, 4, KEY_L),
|
||||
KEY(7, 4, KEY_LEFT),
|
||||
KEY(0, 5, KEY_S),
|
||||
KEY(1, 5, KEY_H),
|
||||
KEY(2, 5, KEY_J),
|
||||
KEY(3, 5, KEY_F3),
|
||||
KEY(4, 6, KEY_L),
|
||||
KEY(4, 7, KEY_LEFT),
|
||||
KEY(5, 0, KEY_S),
|
||||
KEY(5, 1, KEY_H),
|
||||
KEY(5, 2, KEY_J),
|
||||
KEY(5, 3, KEY_F3),
|
||||
KEY(5, 5, KEY_VOLUMEDOWN),
|
||||
KEY(6, 5, KEY_M),
|
||||
KEY(4, 5, KEY_ENTER),
|
||||
KEY(7, 5, KEY_RIGHT),
|
||||
KEY(0, 6, KEY_Q),
|
||||
KEY(1, 6, KEY_A),
|
||||
KEY(2, 6, KEY_N),
|
||||
KEY(3, 6, KEY_BACKSPACE),
|
||||
KEY(5, 6, KEY_M),
|
||||
KEY(5, 7, KEY_ENTER),
|
||||
KEY(6, 0, KEY_Q),
|
||||
KEY(6, 1, KEY_A),
|
||||
KEY(6, 2, KEY_N),
|
||||
KEY(6, 3, KEY_BACKSPACE),
|
||||
KEY(6, 6, KEY_P),
|
||||
KEY(7, 6, KEY_UP),
|
||||
KEY(6, 7, KEY_SELECT),
|
||||
KEY(7, 7, KEY_DOWN),
|
||||
KEY(0, 7, KEY_PROG1), /*MACRO 1 <User defined> */
|
||||
KEY(1, 7, KEY_PROG2), /*MACRO 2 <User defined> */
|
||||
KEY(2, 7, KEY_PROG3), /*MACRO 3 <User defined> */
|
||||
KEY(3, 7, KEY_PROG4), /*MACRO 4 <User defined> */
|
||||
0
|
||||
KEY(7, 0, KEY_PROG1), /*MACRO 1 <User defined> */
|
||||
KEY(7, 1, KEY_PROG2), /*MACRO 2 <User defined> */
|
||||
KEY(7, 2, KEY_PROG3), /*MACRO 3 <User defined> */
|
||||
KEY(7, 3, KEY_PROG4), /*MACRO 4 <User defined> */
|
||||
KEY(7, 5, KEY_RIGHT),
|
||||
KEY(7, 6, KEY_UP),
|
||||
KEY(7, 7, KEY_DOWN)
|
||||
};
|
||||
|
||||
static struct matrix_keymap_data board_map_data = {
|
||||
|
|
|
@ -473,7 +473,7 @@ static u16 _omap3_dpll_compute_freqsel(struct clk *clk, u8 n)
|
|||
unsigned long fint;
|
||||
u16 f = 0;
|
||||
|
||||
fint = clk->dpll_data->clk_ref->rate / (n + 1);
|
||||
fint = clk->dpll_data->clk_ref->rate / n;
|
||||
|
||||
pr_debug("clock: fint is %lu\n", fint);
|
||||
|
||||
|
|
|
@ -489,9 +489,9 @@ static struct clk core_ck = {
|
|||
static struct clk dpll3_m2x2_ck = {
|
||||
.name = "dpll3_m2x2_ck",
|
||||
.ops = &clkops_null,
|
||||
.parent = &dpll3_x2_ck,
|
||||
.parent = &dpll3_m2_ck,
|
||||
.clkdm_name = "dpll3_clkdm",
|
||||
.recalc = &followparent_recalc,
|
||||
.recalc = &omap3_clkoutx2_recalc,
|
||||
};
|
||||
|
||||
/* The PWRDN bit is apparently only available on 3430ES2 and above */
|
||||
|
|
|
@ -366,7 +366,7 @@ int gpmc_cs_request(int cs, unsigned long size, unsigned long *base)
|
|||
if (r < 0)
|
||||
goto out;
|
||||
|
||||
gpmc_cs_enable_mem(cs, res->start, res->end - res->start + 1);
|
||||
gpmc_cs_enable_mem(cs, res->start, resource_size(res));
|
||||
*base = res->start;
|
||||
gpmc_cs_set_reserved(cs, 1);
|
||||
out:
|
||||
|
@ -378,7 +378,7 @@ EXPORT_SYMBOL(gpmc_cs_request);
|
|||
void gpmc_cs_free(int cs)
|
||||
{
|
||||
spin_lock(&gpmc_mem_lock);
|
||||
if (cs >= GPMC_CS_NUM || !gpmc_cs_reserved(cs)) {
|
||||
if (cs >= GPMC_CS_NUM || cs < 0 || !gpmc_cs_reserved(cs)) {
|
||||
printk(KERN_ERR "Trying to free non-reserved GPMC CS%d\n", cs);
|
||||
BUG();
|
||||
spin_unlock(&gpmc_mem_lock);
|
||||
|
|
|
@ -300,7 +300,7 @@ static int __devinit omap2_mbox_probe(struct platform_device *pdev)
|
|||
dev_err(&pdev->dev, "invalid mem resource\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
mbox_base = ioremap(res->start, res->end - res->start);
|
||||
mbox_base = ioremap(res->start, resource_size(res));
|
||||
if (!mbox_base)
|
||||
return -ENOMEM;
|
||||
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
#include <mach/colibri.h>
|
||||
#include <mach/pxafb.h>
|
||||
#include <mach/ohci.h>
|
||||
#include <mach/audio.h>
|
||||
|
||||
#include "generic.h"
|
||||
#include "devices.h"
|
||||
|
@ -145,7 +146,8 @@ static void __init colibri_pxa320_init_lcd(void)
|
|||
static inline void colibri_pxa320_init_lcd(void) {}
|
||||
#endif
|
||||
|
||||
#if defined(SND_AC97_CODEC) || defined(SND_AC97_CODEC_MODULE)
|
||||
#if defined(CONFIG_SND_AC97_CODEC) || \
|
||||
defined(CONFIG_SND_AC97_CODEC_MODULE)
|
||||
static mfp_cfg_t colibri_pxa320_ac97_pin_config[] __initdata = {
|
||||
GPIO34_AC97_SYSCLK,
|
||||
GPIO35_AC97_SDATA_IN_0,
|
||||
|
|
|
@ -447,6 +447,7 @@ static __init int pxa_cpufreq_init(struct cpufreq_policy *policy)
|
|||
pxa27x_freq_table[i].frequency = freq;
|
||||
pxa27x_freq_table[i].index = i;
|
||||
}
|
||||
pxa27x_freq_table[i].index = i;
|
||||
pxa27x_freq_table[i].frequency = CPUFREQ_TABLE_END;
|
||||
|
||||
/*
|
||||
|
|
|
@ -102,7 +102,7 @@ static int setup_freqs_table(struct cpufreq_policy *policy,
|
|||
table[i].index = i;
|
||||
table[i].frequency = freqs[i].cpufreq_mhz * 1000;
|
||||
}
|
||||
table[num].frequency = i;
|
||||
table[num].index = i;
|
||||
table[num].frequency = CPUFREQ_TABLE_END;
|
||||
|
||||
pxa3xx_freqs = freqs;
|
||||
|
|
|
@ -604,7 +604,7 @@ static struct platform_device gpio_vbus = {
|
|||
static const struct ads7846_platform_data tsc2046_info = {
|
||||
.model = 7846,
|
||||
.vref_delay_usecs = 100,
|
||||
.pressure_max = 512,
|
||||
.pressure_max = 1024,
|
||||
.debounce_max = 10,
|
||||
.debounce_tol = 3,
|
||||
.debounce_rep = 1,
|
||||
|
|
|
@ -46,5 +46,6 @@
|
|||
beq 1001f
|
||||
bic \irqstat, \irqstat, #0x80000000
|
||||
mov \irqnr, \irqstat, lsr #16
|
||||
add \irqnr, \irqnr, #(PXA_IRQ(0))
|
||||
1001:
|
||||
.endm
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
|
||||
#include "generic.h"
|
||||
|
||||
#define MAX_INTERNAL_IRQS 128
|
||||
|
||||
#define IRQ_BIT(n) (((n) - PXA_IRQ(0)) & 0x1f)
|
||||
#define _ICMR(n) (*((((n) - PXA_IRQ(0)) & ~0x1f) ? &ICMR2 : &ICMR))
|
||||
#define _ICLR(n) (*((((n) - PXA_IRQ(0)) & ~0x1f) ? &ICLR2 : &ICLR))
|
||||
|
@ -122,6 +124,8 @@ void __init pxa_init_irq(int irq_nr, set_wake_t fn)
|
|||
{
|
||||
int irq, i;
|
||||
|
||||
BUG_ON(irq_nr > MAX_INTERNAL_IRQS);
|
||||
|
||||
pxa_internal_irq_nr = irq_nr;
|
||||
|
||||
for (irq = PXA_IRQ(0); irq < PXA_IRQ(irq_nr); irq += 32) {
|
||||
|
@ -149,7 +153,8 @@ void __init pxa_init_irq(int irq_nr, set_wake_t fn)
|
|||
}
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
static unsigned long saved_icmr[2];
|
||||
static unsigned long saved_icmr[MAX_INTERNAL_IRQS/32];
|
||||
static unsigned long saved_ipr[MAX_INTERNAL_IRQS];
|
||||
|
||||
static int pxa_irq_suspend(struct sys_device *dev, pm_message_t state)
|
||||
{
|
||||
|
@ -159,6 +164,8 @@ static int pxa_irq_suspend(struct sys_device *dev, pm_message_t state)
|
|||
saved_icmr[i] = _ICMR(irq);
|
||||
_ICMR(irq) = 0;
|
||||
}
|
||||
for (i = 0; i < pxa_internal_irq_nr; i++)
|
||||
saved_ipr[i] = IPR(i);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -171,6 +178,8 @@ static int pxa_irq_resume(struct sys_device *dev)
|
|||
_ICMR(irq) = saved_icmr[i];
|
||||
_ICLR(irq) = 0;
|
||||
}
|
||||
for (i = 0; i < pxa_internal_irq_nr; i++)
|
||||
IPR(i) = saved_ipr[i];
|
||||
|
||||
ICCR = 1;
|
||||
return 0;
|
||||
|
|
|
@ -292,10 +292,10 @@ const static unsigned int palmtc_keypad_col_gpios[] = {
|
|||
|
||||
static struct matrix_keypad_platform_data palmtc_keypad_platform_data = {
|
||||
.keymap_data = &palmtc_keymap_data,
|
||||
.col_gpios = palmtc_keypad_row_gpios,
|
||||
.num_col_gpios = 12,
|
||||
.row_gpios = palmtc_keypad_col_gpios,
|
||||
.num_row_gpios = 4,
|
||||
.row_gpios = palmtc_keypad_row_gpios,
|
||||
.num_row_gpios = ARRAY_SIZE(palmtc_keypad_row_gpios),
|
||||
.col_gpios = palmtc_keypad_col_gpios,
|
||||
.num_col_gpios = ARRAY_SIZE(palmtc_keypad_col_gpios),
|
||||
.active_low = 1,
|
||||
|
||||
.debounce_ms = 20,
|
||||
|
|
|
@ -779,11 +779,36 @@ static void __init common_init(void)
|
|||
pxa_set_i2c_info(NULL);
|
||||
}
|
||||
|
||||
#if defined(CONFIG_MACH_AKITA) || defined(CONFIG_MACH_BORZOI)
|
||||
static struct nand_bbt_descr sharpsl_akita_bbt = {
|
||||
.options = 0,
|
||||
.offs = 4,
|
||||
.len = 1,
|
||||
.pattern = scan_ff_pattern
|
||||
};
|
||||
|
||||
static struct nand_ecclayout akita_oobinfo = {
|
||||
.eccbytes = 24,
|
||||
.eccpos = {
|
||||
0x5, 0x1, 0x2, 0x3, 0x6, 0x7, 0x15, 0x11,
|
||||
0x12, 0x13, 0x16, 0x17, 0x25, 0x21, 0x22, 0x23,
|
||||
0x26, 0x27, 0x35, 0x31, 0x32, 0x33, 0x36, 0x37},
|
||||
.oobfree = {{0x08, 0x09}}
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_MACH_SPITZ) || defined(CONFIG_MACH_BORZOI)
|
||||
static void __init spitz_init(void)
|
||||
{
|
||||
spitz_ficp_platform_data.gpio_pwdown = SPITZ_GPIO_IR_ON;
|
||||
|
||||
#ifdef CONFIG_MACH_BORZOI
|
||||
if (machine_is_borzoi()) {
|
||||
sharpsl_nand_platform_data.badblock_pattern = &sharpsl_akita_bbt;
|
||||
sharpsl_nand_platform_data.ecc_layout = &akita_oobinfo;
|
||||
}
|
||||
#endif
|
||||
|
||||
platform_scoop_config = &spitz_pcmcia_config;
|
||||
|
||||
common_init();
|
||||
|
@ -808,22 +833,6 @@ static struct i2c_board_info akita_i2c_board_info[] = {
|
|||
},
|
||||
};
|
||||
|
||||
static struct nand_bbt_descr sharpsl_akita_bbt = {
|
||||
.options = 0,
|
||||
.offs = 4,
|
||||
.len = 1,
|
||||
.pattern = scan_ff_pattern
|
||||
};
|
||||
|
||||
static struct nand_ecclayout akita_oobinfo = {
|
||||
.eccbytes = 24,
|
||||
.eccpos = {
|
||||
0x5, 0x1, 0x2, 0x3, 0x6, 0x7, 0x15, 0x11,
|
||||
0x12, 0x13, 0x16, 0x17, 0x25, 0x21, 0x22, 0x23,
|
||||
0x26, 0x27, 0x35, 0x31, 0x32, 0x33, 0x36, 0x37},
|
||||
.oobfree = {{0x08, 0x09}}
|
||||
};
|
||||
|
||||
static void __init akita_init(void)
|
||||
{
|
||||
spitz_ficp_platform_data.gpio_pwdown = AKITA_GPIO_IR_ON;
|
||||
|
|
|
@ -70,6 +70,8 @@ config MACH_REALVIEW_PBX
|
|||
bool "Support RealView/PBX platform"
|
||||
select ARM_GIC
|
||||
select HAVE_PATA_PLATFORM
|
||||
select ARCH_SPARSEMEM_ENABLE if CPU_V7 && !HIGH_PHYS_OFFSET
|
||||
select ZONE_DMA if SPARSEMEM
|
||||
help
|
||||
Include support for the ARM(R) RealView PBX platform.
|
||||
|
||||
|
@ -82,6 +84,7 @@ config REALVIEW_HIGH_PHYS_OFFSET
|
|||
0x70000000, 256MB of which being mirrored at 0x00000000. If
|
||||
the board supports 512MB of RAM, this option allows the
|
||||
memory to be accessed contiguously at the high physical
|
||||
offset.
|
||||
offset. On the PBX board, disabling this option allows 1GB of
|
||||
RAM to be used with SPARSEMEM.
|
||||
|
||||
endmenu
|
||||
|
|
|
@ -59,6 +59,25 @@
|
|||
/* used by entry-macro.S and platsmp.c */
|
||||
void __iomem *gic_cpu_base_addr;
|
||||
|
||||
#ifdef CONFIG_ZONE_DMA
|
||||
/*
|
||||
* Adjust the zones if there are restrictions for DMA access.
|
||||
*/
|
||||
void __init realview_adjust_zones(int node, unsigned long *size,
|
||||
unsigned long *hole)
|
||||
{
|
||||
unsigned long dma_size = SZ_256M >> PAGE_SHIFT;
|
||||
|
||||
if (!machine_is_realview_pbx() || node || (size[0] <= dma_size))
|
||||
return;
|
||||
|
||||
size[ZONE_NORMAL] = size[0] - dma_size;
|
||||
size[ZONE_DMA] = dma_size;
|
||||
hole[ZONE_NORMAL] = hole[0];
|
||||
hole[ZONE_DMA] = 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* This is the RealView sched_clock implementation. This has
|
||||
* a resolution of 41.7ns, and a maximum value of about 179s.
|
||||
|
@ -543,7 +562,7 @@ static int realview_clcd_setup(struct clcd_fb *fb)
|
|||
fb->panel = realview_clcd_panel();
|
||||
|
||||
fb->fb.screen_base = dma_alloc_writecombine(&fb->dev->dev, framesize,
|
||||
&dma, GFP_KERNEL);
|
||||
&dma, GFP_KERNEL | GFP_DMA);
|
||||
if (!fb->fb.screen_base) {
|
||||
printk(KERN_ERR "CLCD: unable to map framebuffer\n");
|
||||
return -ENOMEM;
|
||||
|
@ -788,3 +807,24 @@ void __init realview_timer_init(unsigned int timer_irq)
|
|||
realview_clocksource_init();
|
||||
realview_clockevents_init(timer_irq);
|
||||
}
|
||||
|
||||
/*
|
||||
* Setup the memory banks.
|
||||
*/
|
||||
void realview_fixup(struct machine_desc *mdesc, struct tag *tags, char **from,
|
||||
struct meminfo *meminfo)
|
||||
{
|
||||
/*
|
||||
* Most RealView platforms have 512MB contiguous RAM at 0x70000000.
|
||||
* Half of this is mirrored at 0.
|
||||
*/
|
||||
#ifdef CONFIG_REALVIEW_HIGH_PHYS_OFFSET
|
||||
meminfo->bank[0].start = 0x70000000;
|
||||
meminfo->bank[0].size = SZ_512M;
|
||||
meminfo->nr_banks = 1;
|
||||
#else
|
||||
meminfo->bank[0].start = 0;
|
||||
meminfo->bank[0].size = SZ_256M;
|
||||
meminfo->nr_banks = 1;
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
#include <linux/amba/bus.h>
|
||||
#include <linux/io.h>
|
||||
|
||||
#include <asm/setup.h>
|
||||
#include <asm/leds.h>
|
||||
|
||||
#define AMBA_DEVICE(name,busid,base,plat) \
|
||||
|
@ -44,6 +45,8 @@ static struct amba_device name##_device = { \
|
|||
/* .dma = base##_DMA,*/ \
|
||||
}
|
||||
|
||||
struct machine_desc;
|
||||
|
||||
extern struct platform_device realview_flash_device;
|
||||
extern struct platform_device realview_cf_device;
|
||||
extern struct platform_device realview_i2c_device;
|
||||
|
@ -61,5 +64,8 @@ extern void realview_timer_init(unsigned int timer_irq);
|
|||
extern int realview_flash_register(struct resource *res, u32 num);
|
||||
extern int realview_eth_register(const char *name, struct resource *res);
|
||||
extern int realview_usb_register(struct resource *res);
|
||||
extern void realview_fixup(struct machine_desc *mdesc, struct tag *tags,
|
||||
char **from, struct meminfo *meminfo);
|
||||
extern void (*realview_reset)(char);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -29,4 +29,53 @@
|
|||
#define PHYS_OFFSET UL(0x00000000)
|
||||
#endif
|
||||
|
||||
#if !defined(__ASSEMBLY__) && defined(CONFIG_ZONE_DMA)
|
||||
extern void realview_adjust_zones(int node, unsigned long *size,
|
||||
unsigned long *hole);
|
||||
#define arch_adjust_zones(node, size, hole) \
|
||||
realview_adjust_zones(node, size, hole)
|
||||
|
||||
#define ISA_DMA_THRESHOLD (PHYS_OFFSET + SZ_256M - 1)
|
||||
#define MAX_DMA_ADDRESS (PAGE_OFFSET + SZ_256M)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SPARSEMEM
|
||||
|
||||
/*
|
||||
* Sparsemem definitions for RealView PBX.
|
||||
*
|
||||
* The RealView PBX board has another block of 512MB of RAM at 0x20000000,
|
||||
* however only the block at 0x70000000 (or the 256MB mirror at 0x00000000)
|
||||
* may be used for DMA.
|
||||
*
|
||||
* The macros below define a section size of 256MB and a non-linear virtual to
|
||||
* physical mapping:
|
||||
*
|
||||
* 256MB @ 0x00000000 -> PAGE_OFFSET
|
||||
* 512MB @ 0x20000000 -> PAGE_OFFSET + 0x10000000
|
||||
* 256MB @ 0x80000000 -> PAGE_OFFSET + 0x30000000
|
||||
*/
|
||||
#ifdef CONFIG_REALVIEW_HIGH_PHYS_OFFSET
|
||||
#error "SPARSEMEM not available with REALVIEW_HIGH_PHYS_OFFSET"
|
||||
#endif
|
||||
|
||||
#define MAX_PHYSMEM_BITS 32
|
||||
#define SECTION_SIZE_BITS 28
|
||||
|
||||
/* bank page offsets */
|
||||
#define PAGE_OFFSET1 (PAGE_OFFSET + 0x10000000)
|
||||
#define PAGE_OFFSET2 (PAGE_OFFSET + 0x30000000)
|
||||
|
||||
#define __phys_to_virt(phys) \
|
||||
((phys) >= 0x80000000 ? (phys) - 0x80000000 + PAGE_OFFSET2 : \
|
||||
(phys) >= 0x20000000 ? (phys) - 0x20000000 + PAGE_OFFSET1 : \
|
||||
(phys) + PAGE_OFFSET)
|
||||
|
||||
#define __virt_to_phys(virt) \
|
||||
((virt) >= PAGE_OFFSET2 ? (virt) - PAGE_OFFSET2 + 0x80000000 : \
|
||||
(virt) >= PAGE_OFFSET1 ? (virt) - PAGE_OFFSET1 + 0x20000000 : \
|
||||
(virt) - PAGE_OFFSET)
|
||||
|
||||
#endif /* CONFIG_SPARSEMEM */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -146,11 +146,8 @@ static void __init poke_milo(void)
|
|||
* register. The BootMonitor waits for this register to become
|
||||
* non-zero.
|
||||
*/
|
||||
#define REALVIEW_SYS_FLAGSS_OFFSET 0x30
|
||||
#define REALVIEW_SYS_FLAGSC_OFFSET 0x34
|
||||
__raw_writel(BSYM(virt_to_phys(realview_secondary_startup)),
|
||||
__io_address(REALVIEW_SYS_BASE) +
|
||||
REALVIEW_SYS_FLAGSS_OFFSET);
|
||||
__io_address(REALVIEW_SYS_FLAGSSET));
|
||||
|
||||
mb();
|
||||
}
|
||||
|
|
|
@ -415,6 +415,7 @@ MACHINE_START(REALVIEW_EB, "ARM-RealView EB")
|
|||
.phys_io = REALVIEW_EB_UART0_BASE,
|
||||
.io_pg_offst = (IO_ADDRESS(REALVIEW_EB_UART0_BASE) >> 18) & 0xfffc,
|
||||
.boot_params = PHYS_OFFSET + 0x00000100,
|
||||
.fixup = realview_fixup,
|
||||
.map_io = realview_eb_map_io,
|
||||
.init_irq = gic_init_irq,
|
||||
.timer = &realview_eb_timer,
|
||||
|
|
|
@ -300,6 +300,18 @@ static void realview_pb1176_reset(char mode)
|
|||
__raw_writel(REALVIEW_PB1176_SYS_LOCKVAL_RSTCTL, hdr_ctrl);
|
||||
}
|
||||
|
||||
static void realview_pb1176_fixup(struct machine_desc *mdesc,
|
||||
struct tag *tags, char **from,
|
||||
struct meminfo *meminfo)
|
||||
{
|
||||
/*
|
||||
* RealView PB1176 only has 128MB of RAM mapped at 0.
|
||||
*/
|
||||
meminfo->bank[0].start = 0;
|
||||
meminfo->bank[0].size = SZ_128M;
|
||||
meminfo->nr_banks = 1;
|
||||
}
|
||||
|
||||
static void __init realview_pb1176_init(void)
|
||||
{
|
||||
int i;
|
||||
|
@ -331,6 +343,7 @@ MACHINE_START(REALVIEW_PB1176, "ARM-RealView PB1176")
|
|||
.phys_io = REALVIEW_PB1176_UART0_BASE,
|
||||
.io_pg_offst = (IO_ADDRESS(REALVIEW_PB1176_UART0_BASE) >> 18) & 0xfffc,
|
||||
.boot_params = PHYS_OFFSET + 0x00000100,
|
||||
.fixup = realview_pb1176_fixup,
|
||||
.map_io = realview_pb1176_map_io,
|
||||
.init_irq = gic_init_irq,
|
||||
.timer = &realview_pb1176_timer,
|
||||
|
|
|
@ -347,6 +347,7 @@ MACHINE_START(REALVIEW_PB11MP, "ARM-RealView PB11MPCore")
|
|||
.phys_io = REALVIEW_PB11MP_UART0_BASE,
|
||||
.io_pg_offst = (IO_ADDRESS(REALVIEW_PB11MP_UART0_BASE) >> 18) & 0xfffc,
|
||||
.boot_params = PHYS_OFFSET + 0x00000100,
|
||||
.fixup = realview_fixup,
|
||||
.map_io = realview_pb11mp_map_io,
|
||||
.init_irq = gic_init_irq,
|
||||
.timer = &realview_pb11mp_timer,
|
||||
|
|
|
@ -298,6 +298,7 @@ MACHINE_START(REALVIEW_PBA8, "ARM-RealView PB-A8")
|
|||
.phys_io = REALVIEW_PBA8_UART0_BASE,
|
||||
.io_pg_offst = (IO_ADDRESS(REALVIEW_PBA8_UART0_BASE) >> 18) & 0xfffc,
|
||||
.boot_params = PHYS_OFFSET + 0x00000100,
|
||||
.fixup = realview_fixup,
|
||||
.map_io = realview_pba8_map_io,
|
||||
.init_irq = gic_init_irq,
|
||||
.timer = &realview_pba8_timer,
|
||||
|
|
|
@ -304,6 +304,26 @@ static struct sys_timer realview_pbx_timer = {
|
|||
.init = realview_pbx_timer_init,
|
||||
};
|
||||
|
||||
static void realview_pbx_fixup(struct machine_desc *mdesc, struct tag *tags,
|
||||
char **from, struct meminfo *meminfo)
|
||||
{
|
||||
#ifdef CONFIG_SPARSEMEM
|
||||
/*
|
||||
* Memory configuration with SPARSEMEM enabled on RealView PBX (see
|
||||
* asm/mach/memory.h for more information).
|
||||
*/
|
||||
meminfo->bank[0].start = 0;
|
||||
meminfo->bank[0].size = SZ_256M;
|
||||
meminfo->bank[1].start = 0x20000000;
|
||||
meminfo->bank[1].size = SZ_512M;
|
||||
meminfo->bank[2].start = 0x80000000;
|
||||
meminfo->bank[2].size = SZ_256M;
|
||||
meminfo->nr_banks = 3;
|
||||
#else
|
||||
realview_fixup(mdesc, tags, from, meminfo);
|
||||
#endif
|
||||
}
|
||||
|
||||
static void __init realview_pbx_init(void)
|
||||
{
|
||||
int i;
|
||||
|
@ -345,6 +365,7 @@ MACHINE_START(REALVIEW_PBX, "ARM-RealView PBX")
|
|||
.phys_io = REALVIEW_PBX_UART0_BASE,
|
||||
.io_pg_offst = (IO_ADDRESS(REALVIEW_PBX_UART0_BASE) >> 18) & 0xfffc,
|
||||
.boot_params = PHYS_OFFSET + 0x00000100,
|
||||
.fixup = realview_pbx_fixup,
|
||||
.map_io = realview_pbx_map_io,
|
||||
.init_irq = gic_init_irq,
|
||||
.timer = &realview_pbx_timer,
|
||||
|
|
|
@ -58,21 +58,13 @@ enum dma_ch {
|
|||
DMACH_MAX /* the end */
|
||||
};
|
||||
|
||||
static __inline__ int s3c_dma_has_circular(void)
|
||||
static __inline__ bool s3c_dma_has_circular(void)
|
||||
{
|
||||
/* we will be supporting ciruclar buffers as soon as we have DMA
|
||||
* engine support.
|
||||
*/
|
||||
return 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
#define S3C2410_DMAF_CIRCULAR (1 << 0)
|
||||
|
||||
static inline bool s3c_dma_has_circular(void)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
#include <plat/dma.h>
|
||||
|
||||
#endif /* __ASM_ARCH_IRQ_H */
|
||||
|
|
|
@ -77,6 +77,7 @@ config SMDK6410_WM1190_EV1
|
|||
depends on MACH_SMDK6410
|
||||
select REGULATOR
|
||||
select REGULATOR_WM8350
|
||||
select S3C24XX_GPIO_EXTRA64
|
||||
select MFD_WM8350_I2C
|
||||
select MFD_WM8350_CONFIG_MODE_0
|
||||
select MFD_WM8350_CONFIG_MODE_3
|
||||
|
|
|
@ -320,6 +320,9 @@ static int __init smdk6410_wm8350_init(struct wm8350 *wm8350)
|
|||
{
|
||||
int i;
|
||||
|
||||
/* Configure the IRQ line */
|
||||
s3c_gpio_setpull(S3C64XX_GPN(12), S3C_GPIO_PULL_UP);
|
||||
|
||||
/* Instantiate the regulators */
|
||||
for (i = 0; i < ARRAY_SIZE(wm1190_regulators); i++)
|
||||
wm8350_register_regulator(wm8350,
|
||||
|
|
|
@ -408,7 +408,7 @@ static struct platform_device keypad_device = {
|
|||
};
|
||||
|
||||
static struct platform_device rtc_device = {
|
||||
.name = "rtc0",
|
||||
.name = "rtc-coh901331",
|
||||
.id = -1,
|
||||
.num_resources = ARRAY_SIZE(rtc_resources),
|
||||
.resource = rtc_resources,
|
||||
|
|
|
@ -186,9 +186,10 @@ cpu_v7_name:
|
|||
*/
|
||||
__v7_setup:
|
||||
#ifdef CONFIG_SMP
|
||||
mrc p15, 0, r0, c1, c0, 1 @ Enable SMP/nAMP mode and
|
||||
orr r0, r0, #(1 << 6) | (1 << 0) @ TLB ops broadcasting
|
||||
mcr p15, 0, r0, c1, c0, 1
|
||||
mrc p15, 0, r0, c1, c0, 1
|
||||
tst r0, #(1 << 6) @ SMP/nAMP mode enabled?
|
||||
orreq r0, r0, #(1 << 6) | (1 << 0) @ Enable SMP/nAMP mode and
|
||||
mcreq p15, 0, r0, c1, c0, 1 @ TLB ops broadcasting
|
||||
#endif
|
||||
adr r12, __v7_setup_stack @ the local stack
|
||||
stmia r12, {r0-r5, r7, r9, r11, lr}
|
||||
|
|
|
@ -127,7 +127,7 @@ static int __init omap_cpu_init(struct cpufreq_policy *policy)
|
|||
}
|
||||
|
||||
/* FIXME: what's the actual transition time? */
|
||||
policy->cpuinfo.transition_latency = 10 * 1000 * 1000;
|
||||
policy->cpuinfo.transition_latency = 300 * 1000;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -691,13 +691,16 @@ static inline void disable_lnk(int lch)
|
|||
static inline void omap2_enable_irq_lch(int lch)
|
||||
{
|
||||
u32 val;
|
||||
unsigned long flags;
|
||||
|
||||
if (!cpu_class_is_omap2())
|
||||
return;
|
||||
|
||||
spin_lock_irqsave(&dma_chan_lock, flags);
|
||||
val = dma_read(IRQENABLE_L0);
|
||||
val |= 1 << lch;
|
||||
dma_write(val, IRQENABLE_L0);
|
||||
spin_unlock_irqrestore(&dma_chan_lock, flags);
|
||||
}
|
||||
|
||||
int omap_request_dma(int dev_id, const char *dev_name,
|
||||
|
@ -799,10 +802,13 @@ void omap_free_dma(int lch)
|
|||
|
||||
if (cpu_class_is_omap2()) {
|
||||
u32 val;
|
||||
|
||||
spin_lock_irqsave(&dma_chan_lock, flags);
|
||||
/* Disable interrupts */
|
||||
val = dma_read(IRQENABLE_L0);
|
||||
val &= ~(1 << lch);
|
||||
dma_write(val, IRQENABLE_L0);
|
||||
spin_unlock_irqrestore(&dma_chan_lock, flags);
|
||||
|
||||
/* Clear the CSR register and IRQ status register */
|
||||
dma_write(OMAP2_DMA_CSR_CLEAR_MASK, CSR(lch));
|
||||
|
@ -1108,6 +1114,14 @@ int omap_dma_running(void)
|
|||
{
|
||||
int lch;
|
||||
|
||||
/*
|
||||
* On OMAP1510, internal LCD controller will start the transfer
|
||||
* when it gets enabled, so assume DMA running if LCD enabled.
|
||||
*/
|
||||
if (cpu_is_omap1510())
|
||||
if (omap_readw(0xfffec000 + 0x00) & (1 << 0))
|
||||
return 1;
|
||||
|
||||
/* Check if LCD DMA is running */
|
||||
if (cpu_is_omap16xx())
|
||||
if (omap_readw(OMAP1610_DMA_LCD_CCR) & OMAP_DMA_CCR_EN)
|
||||
|
|
|
@ -373,7 +373,7 @@ static inline int gpio_valid(int gpio)
|
|||
|
||||
static int check_gpio(int gpio)
|
||||
{
|
||||
if (unlikely(gpio_valid(gpio)) < 0) {
|
||||
if (unlikely(gpio_valid(gpio) < 0)) {
|
||||
printk(KERN_ERR "omap-gpio: invalid GPIO %d\n", gpio);
|
||||
dump_stack();
|
||||
return -1;
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#ifndef __ASM_PLAT_MFP_H
|
||||
#define __ASM_PLAT_MFP_H
|
||||
|
||||
#define mfp_to_gpio(m) ((m) % 128)
|
||||
#define mfp_to_gpio(m) ((m) % 256)
|
||||
|
||||
/* list of all the configurable MFP pins */
|
||||
enum {
|
||||
|
|
|
@ -207,7 +207,7 @@ unsigned long mfp_read(int mfp)
|
|||
{
|
||||
unsigned long val, flags;
|
||||
|
||||
BUG_ON(mfp >= MFP_PIN_MAX);
|
||||
BUG_ON(mfp < 0 || mfp >= MFP_PIN_MAX);
|
||||
|
||||
spin_lock_irqsave(&mfp_spin_lock, flags);
|
||||
val = mfpr_readl(mfp_table[mfp].mfpr_off);
|
||||
|
@ -220,7 +220,7 @@ void mfp_write(int mfp, unsigned long val)
|
|||
{
|
||||
unsigned long flags;
|
||||
|
||||
BUG_ON(mfp >= MFP_PIN_MAX);
|
||||
BUG_ON(mfp < 0 || mfp >= MFP_PIN_MAX);
|
||||
|
||||
spin_lock_irqsave(&mfp_spin_lock, flags);
|
||||
mfpr_writel(mfp_table[mfp].mfpr_off, val);
|
||||
|
|
|
@ -151,8 +151,6 @@ static void s3c64xx_dma_fill_lli(struct s3c2410_dma_chan *chan,
|
|||
src = chan->dev_addr;
|
||||
dst = data;
|
||||
control0 = PL080_CONTROL_SRC_AHB2;
|
||||
control0 |= (u32)chan->hw_width << PL080_CONTROL_SWIDTH_SHIFT;
|
||||
control0 |= 2 << PL080_CONTROL_DWIDTH_SHIFT;
|
||||
control0 |= PL080_CONTROL_DST_INCR;
|
||||
break;
|
||||
|
||||
|
@ -160,8 +158,6 @@ static void s3c64xx_dma_fill_lli(struct s3c2410_dma_chan *chan,
|
|||
src = data;
|
||||
dst = chan->dev_addr;
|
||||
control0 = PL080_CONTROL_DST_AHB2;
|
||||
control0 |= (u32)chan->hw_width << PL080_CONTROL_DWIDTH_SHIFT;
|
||||
control0 |= 2 << PL080_CONTROL_SWIDTH_SHIFT;
|
||||
control0 |= PL080_CONTROL_SRC_INCR;
|
||||
break;
|
||||
default:
|
||||
|
@ -173,6 +169,8 @@ static void s3c64xx_dma_fill_lli(struct s3c2410_dma_chan *chan,
|
|||
control1 = size >> chan->hw_width; /* size in no of xfers */
|
||||
control0 |= PL080_CONTROL_PROT_SYS; /* always in priv. mode */
|
||||
control0 |= PL080_CONTROL_TC_IRQ_EN; /* always fire IRQ */
|
||||
control0 |= (u32)chan->hw_width << PL080_CONTROL_DWIDTH_SHIFT;
|
||||
control0 |= (u32)chan->hw_width << PL080_CONTROL_SWIDTH_SHIFT;
|
||||
|
||||
lli->src_addr = src;
|
||||
lli->dst_addr = dst;
|
||||
|
@ -339,6 +337,7 @@ int s3c2410_dma_enqueue(unsigned int channel, void *id,
|
|||
struct s3c64xx_dma_buff *next;
|
||||
struct s3c64xx_dma_buff *buff;
|
||||
struct pl080s_lli *lli;
|
||||
unsigned long flags;
|
||||
int ret;
|
||||
|
||||
WARN_ON(!chan);
|
||||
|
@ -366,6 +365,8 @@ int s3c2410_dma_enqueue(unsigned int channel, void *id,
|
|||
|
||||
s3c64xx_dma_fill_lli(chan, lli, data, size);
|
||||
|
||||
local_irq_save(flags);
|
||||
|
||||
if ((next = chan->next) != NULL) {
|
||||
struct s3c64xx_dma_buff *end = chan->end;
|
||||
struct pl080s_lli *endlli = end->lli;
|
||||
|
@ -397,6 +398,8 @@ int s3c2410_dma_enqueue(unsigned int channel, void *id,
|
|||
s3c64xx_lli_to_regs(chan, lli);
|
||||
}
|
||||
|
||||
local_irq_restore(flags);
|
||||
|
||||
show_lli(lli);
|
||||
|
||||
dbg_showchan(chan);
|
||||
|
@ -560,26 +563,11 @@ int s3c2410_dma_free(unsigned int channel, struct s3c2410_dma_client *client)
|
|||
|
||||
EXPORT_SYMBOL(s3c2410_dma_free);
|
||||
|
||||
|
||||
static void s3c64xx_dma_tcirq(struct s3c64xx_dmac *dmac, int offs)
|
||||
{
|
||||
struct s3c2410_dma_chan *chan = dmac->channels + offs;
|
||||
|
||||
/* note, we currently do not bother to work out which buffer
|
||||
* or buffers have been completed since the last tc-irq. */
|
||||
|
||||
if (chan->callback_fn)
|
||||
(chan->callback_fn)(chan, chan->curr->pw, 0, S3C2410_RES_OK);
|
||||
}
|
||||
|
||||
static void s3c64xx_dma_errirq(struct s3c64xx_dmac *dmac, int offs)
|
||||
{
|
||||
printk(KERN_DEBUG "%s: offs %d\n", __func__, offs);
|
||||
}
|
||||
|
||||
static irqreturn_t s3c64xx_dma_irq(int irq, void *pw)
|
||||
{
|
||||
struct s3c64xx_dmac *dmac = pw;
|
||||
struct s3c2410_dma_chan *chan;
|
||||
enum s3c2410_dma_buffresult res;
|
||||
u32 tcstat, errstat;
|
||||
u32 bit;
|
||||
int offs;
|
||||
|
@ -588,14 +576,54 @@ static irqreturn_t s3c64xx_dma_irq(int irq, void *pw)
|
|||
errstat = readl(dmac->regs + PL080_ERR_STATUS);
|
||||
|
||||
for (offs = 0, bit = 1; offs < 8; offs++, bit <<= 1) {
|
||||
struct s3c64xx_dma_buff *buff;
|
||||
|
||||
if (!(errstat & bit) && !(tcstat & bit))
|
||||
continue;
|
||||
|
||||
chan = dmac->channels + offs;
|
||||
res = S3C2410_RES_ERR;
|
||||
|
||||
if (tcstat & bit) {
|
||||
writel(bit, dmac->regs + PL080_TC_CLEAR);
|
||||
s3c64xx_dma_tcirq(dmac, offs);
|
||||
res = S3C2410_RES_OK;
|
||||
}
|
||||
|
||||
if (errstat & bit) {
|
||||
s3c64xx_dma_errirq(dmac, offs);
|
||||
if (errstat & bit)
|
||||
writel(bit, dmac->regs + PL080_ERR_CLEAR);
|
||||
|
||||
/* 'next' points to the buffer that is next to the
|
||||
* currently active buffer.
|
||||
* For CIRCULAR queues, 'next' will be same as 'curr'
|
||||
* when 'end' is the active buffer.
|
||||
*/
|
||||
buff = chan->curr;
|
||||
while (buff && buff != chan->next
|
||||
&& buff->next != chan->next)
|
||||
buff = buff->next;
|
||||
|
||||
if (!buff)
|
||||
BUG();
|
||||
|
||||
if (buff == chan->next)
|
||||
buff = chan->end;
|
||||
|
||||
s3c64xx_dma_bufffdone(chan, buff, res);
|
||||
|
||||
/* Free the node and update curr, if non-circular queue */
|
||||
if (!(chan->flags & S3C2410_DMAF_CIRCULAR)) {
|
||||
chan->curr = buff->next;
|
||||
s3c64xx_dma_freebuff(buff);
|
||||
}
|
||||
|
||||
/* Update 'next' */
|
||||
buff = chan->next;
|
||||
if (chan->next == chan->end) {
|
||||
chan->next = chan->curr;
|
||||
if (!(chan->flags & S3C2410_DMAF_CIRCULAR))
|
||||
chan->end = NULL;
|
||||
} else {
|
||||
chan->next = buff->next;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
#
|
||||
# http://www.arm.linux.org.uk/developer/machines/?action=new
|
||||
#
|
||||
# Last update: Fri Sep 18 21:42:00 2009
|
||||
# Last update: Wed Nov 25 22:14:58 2009
|
||||
#
|
||||
# machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number
|
||||
#
|
||||
|
@ -928,7 +928,7 @@ palmt5 MACH_PALMT5 PALMT5 917
|
|||
palmtc MACH_PALMTC PALMTC 918
|
||||
omap_apollon MACH_OMAP_APOLLON OMAP_APOLLON 919
|
||||
mxc30030evb MACH_MXC30030EVB MXC30030EVB 920
|
||||
rea_2d MACH_REA_2D REA_2D 921
|
||||
rea_cpu2 MACH_REA_2D REA_2D 921
|
||||
eti3e524 MACH_TI3E524 TI3E524 922
|
||||
ateb9200 MACH_ATEB9200 ATEB9200 923
|
||||
auckland MACH_AUCKLAND AUCKLAND 924
|
||||
|
@ -2421,3 +2421,118 @@ liberty MACH_LIBERTY LIBERTY 2434
|
|||
mh355 MACH_MH355 MH355 2435
|
||||
pc7802 MACH_PC7802 PC7802 2436
|
||||
gnet_sgc MACH_GNET_SGC GNET_SGC 2437
|
||||
einstein15 MACH_EINSTEIN15 EINSTEIN15 2438
|
||||
cmpd MACH_CMPD CMPD 2439
|
||||
davinci_hase1 MACH_DAVINCI_HASE1 DAVINCI_HASE1 2440
|
||||
lgeincitephone MACH_LGEINCITEPHONE LGEINCITEPHONE 2441
|
||||
ea313x MACH_EA313X EA313X 2442
|
||||
fwbd_39064 MACH_FWBD_39064 FWBD_39064 2443
|
||||
fwbd_390128 MACH_FWBD_390128 FWBD_390128 2444
|
||||
pelco_moe MACH_PELCO_MOE PELCO_MOE 2445
|
||||
minimix27 MACH_MINIMIX27 MINIMIX27 2446
|
||||
omap3_thunder MACH_OMAP3_THUNDER OMAP3_THUNDER 2447
|
||||
passionc MACH_PASSIONC PASSIONC 2448
|
||||
mx27amata MACH_MX27AMATA MX27AMATA 2449
|
||||
bgat1 MACH_BGAT1 BGAT1 2450
|
||||
buzz MACH_BUZZ BUZZ 2451
|
||||
mb9g20 MACH_MB9G20 MB9G20 2452
|
||||
yushan MACH_YUSHAN YUSHAN 2453
|
||||
lizard MACH_LIZARD LIZARD 2454
|
||||
omap3polycom MACH_OMAP3POLYCOM OMAP3POLYCOM 2455
|
||||
smdkv210 MACH_SMDKV210 SMDKV210 2456
|
||||
bravo MACH_BRAVO BRAVO 2457
|
||||
siogentoo1 MACH_SIOGENTOO1 SIOGENTOO1 2458
|
||||
siogentoo2 MACH_SIOGENTOO2 SIOGENTOO2 2459
|
||||
sm3k MACH_SM3K SM3K 2460
|
||||
acer_tempo_f900 MACH_ACER_TEMPO_F900 ACER_TEMPO_F900 2461
|
||||
sst61vc010_dev MACH_SST61VC010_DEV SST61VC010_DEV 2462
|
||||
glittertind MACH_GLITTERTIND GLITTERTIND 2463
|
||||
omap_zoom3 MACH_OMAP_ZOOM3 OMAP_ZOOM3 2464
|
||||
omap_3630sdp MACH_OMAP_3630SDP OMAP_3630SDP 2465
|
||||
cybook2440 MACH_CYBOOK2440 CYBOOK2440 2466
|
||||
torino_s MACH_TORINO_S TORINO_S 2467
|
||||
havana MACH_HAVANA HAVANA 2468
|
||||
beaumont_11 MACH_BEAUMONT_11 BEAUMONT_11 2469
|
||||
vanguard MACH_VANGUARD VANGUARD 2470
|
||||
s5pc110_draco MACH_S5PC110_DRACO S5PC110_DRACO 2471
|
||||
cartesio_two MACH_CARTESIO_TWO CARTESIO_TWO 2472
|
||||
aster MACH_ASTER ASTER 2473
|
||||
voguesv210 MACH_VOGUESV210 VOGUESV210 2474
|
||||
acm500x MACH_ACM500X ACM500X 2475
|
||||
km9260 MACH_KM9260 KM9260 2476
|
||||
nideflexg1 MACH_NIDEFLEXG1 NIDEFLEXG1 2477
|
||||
ctera_plug_io MACH_CTERA_PLUG_IO CTERA_PLUG_IO 2478
|
||||
smartq7 MACH_SMARTQ7 SMARTQ7 2479
|
||||
at91sam9g10ek2 MACH_AT91SAM9G10EK2 AT91SAM9G10EK2 2480
|
||||
asusp527 MACH_ASUSP527 ASUSP527 2481
|
||||
at91sam9g20mpm2 MACH_AT91SAM9G20MPM2 AT91SAM9G20MPM2 2482
|
||||
topasa900 MACH_TOPASA900 TOPASA900 2483
|
||||
electrum_100 MACH_ELECTRUM_100 ELECTRUM_100 2484
|
||||
mx51grb MACH_MX51GRB MX51GRB 2485
|
||||
xea300 MACH_XEA300 XEA300 2486
|
||||
htcstartrek MACH_HTCSTARTREK HTCSTARTREK 2487
|
||||
lima MACH_LIMA LIMA 2488
|
||||
csb740 MACH_CSB740 CSB740 2489
|
||||
usb_s8815 MACH_USB_S8815 USB_S8815 2490
|
||||
watson_efm_plugin MACH_WATSON_EFM_PLUGIN WATSON_EFM_PLUGIN 2491
|
||||
milkyway MACH_MILKYWAY MILKYWAY 2492
|
||||
g4evm MACH_G4EVM G4EVM 2493
|
||||
picomod6 MACH_PICOMOD6 PICOMOD6 2494
|
||||
omapl138_hawkboard MACH_OMAPL138_HAWKBOARD OMAPL138_HAWKBOARD 2495
|
||||
ip6000 MACH_IP6000 IP6000 2496
|
||||
ip6010 MACH_IP6010 IP6010 2497
|
||||
utm400 MACH_UTM400 UTM400 2498
|
||||
omap3_zybex MACH_OMAP3_ZYBEX OMAP3_ZYBEX 2499
|
||||
wireless_space MACH_WIRELESS_SPACE WIRELESS_SPACE 2500
|
||||
sx560 MACH_SX560 SX560 2501
|
||||
ts41x MACH_TS41X TS41X 2502
|
||||
elphel10373 MACH_ELPHEL10373 ELPHEL10373 2503
|
||||
rhobot MACH_RHOBOT RHOBOT 2504
|
||||
mx51_refresh MACH_MX51_REFRESH MX51_REFRESH 2505
|
||||
ls9260 MACH_LS9260 LS9260 2506
|
||||
shank MACH_SHANK SHANK 2507
|
||||
qsd8x50_st1 MACH_QSD8X50_ST1 QSD8X50_ST1 2508
|
||||
at91sam9m10ekes MACH_AT91SAM9M10EKES AT91SAM9M10EKES 2509
|
||||
hiram MACH_HIRAM HIRAM 2510
|
||||
phy3250 MACH_PHY3250 PHY3250 2511
|
||||
ea3250 MACH_EA3250 EA3250 2512
|
||||
fdi3250 MACH_FDI3250 FDI3250 2513
|
||||
whitestone MACH_WHITESTONE WHITESTONE 2514
|
||||
at91sam9263nit MACH_AT91SAM9263NIT AT91SAM9263NIT 2515
|
||||
ccmx51 MACH_CCMX51 CCMX51 2516
|
||||
ccmx51js MACH_CCMX51JS CCMX51JS 2517
|
||||
ccwmx51 MACH_CCWMX51 CCWMX51 2518
|
||||
ccwmx51js MACH_CCWMX51JS CCWMX51JS 2519
|
||||
mini6410 MACH_MINI6410 MINI6410 2520
|
||||
tiny6410 MACH_TINY6410 TINY6410 2521
|
||||
nano6410 MACH_NANO6410 NANO6410 2522
|
||||
at572d940hfnldb MACH_AT572D940HFNLDB AT572D940HFNLDB 2523
|
||||
htcleo MACH_HTCLEO HTCLEO 2524
|
||||
avp13 MACH_AVP13 AVP13 2525
|
||||
xxsvideod MACH_XXSVIDEOD XXSVIDEOD 2526
|
||||
vpnext MACH_VPNEXT VPNEXT 2527
|
||||
swarco_itc3 MACH_SWARCO_ITC3 SWARCO_ITC3 2528
|
||||
tx51 MACH_TX51 TX51 2529
|
||||
dolby_cat1021 MACH_DOLBY_CAT1021 DOLBY_CAT1021 2530
|
||||
mx28evk MACH_MX28EVK MX28EVK 2531
|
||||
phoenix260 MACH_PHOENIX260 PHOENIX260 2532
|
||||
uvaca_stork MACH_UVACA_STORK UVACA_STORK 2533
|
||||
smartq5 MACH_SMARTQ5 SMARTQ5 2534
|
||||
all3078 MACH_ALL3078 ALL3078 2535
|
||||
ctera_2bay_ds MACH_CTERA_2BAY_DS CTERA_2BAY_DS 2536
|
||||
siogentoo3 MACH_SIOGENTOO3 SIOGENTOO3 2537
|
||||
epb5000 MACH_EPB5000 EPB5000 2538
|
||||
hy9263 MACH_HY9263 HY9263 2539
|
||||
acer_tempo_m900 MACH_ACER_TEMPO_M900 ACER_TEMPO_M900 2540
|
||||
acer_tempo_dx650 MACH_ACER_TEMPO_DX900 ACER_TEMPO_DX900 2541
|
||||
acer_tempo_x960 MACH_ACER_TEMPO_X960 ACER_TEMPO_X960 2542
|
||||
acer_eten_v900 MACH_ACER_ETEN_V900 ACER_ETEN_V900 2543
|
||||
acer_eten_x900 MACH_ACER_ETEN_X900 ACER_ETEN_X900 2544
|
||||
bonnell MACH_BONNELL BONNELL 2545
|
||||
oht_mx27 MACH_OHT_MX27 OHT_MX27 2546
|
||||
htcquartz MACH_HTCQUARTZ HTCQUARTZ 2547
|
||||
davinci_dm6467tevm MACH_DAVINCI_DM6467TEVM DAVINCI_DM6467TEVM 2548
|
||||
c3ax03 MACH_C3AX03 C3AX03 2549
|
||||
mxt_td60 MACH_MXT_TD60 MXT_TD60 2550
|
||||
esyx MACH_ESYX ESYX 2551
|
||||
bulldog MACH_BULLDOG BULLDOG 2553
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue