mirror of https://gitee.com/openkylin/linux.git
Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6
This commit is contained in:
commit
edc72786d2
|
@ -227,7 +227,14 @@ as the path relative to the root of the cgroup file system.
|
|||
Each cgroup is represented by a directory in the cgroup file system
|
||||
containing the following files describing that cgroup:
|
||||
|
||||
- tasks: list of tasks (by pid) attached to that cgroup
|
||||
- tasks: list of tasks (by pid) attached to that cgroup. This list
|
||||
is not guaranteed to be sorted. Writing a thread id into this file
|
||||
moves the thread into this cgroup.
|
||||
- cgroup.procs: list of tgids in the cgroup. This list is not
|
||||
guaranteed to be sorted or free of duplicate tgids, and userspace
|
||||
should sort/uniquify the list if this property is required.
|
||||
Writing a tgid into this file moves all threads with that tgid into
|
||||
this cgroup.
|
||||
- notify_on_release flag: run the release agent on exit?
|
||||
- release_agent: the path to use for release notifications (this file
|
||||
exists in the top cgroup only)
|
||||
|
@ -374,7 +381,7 @@ Now you want to do something with this cgroup.
|
|||
|
||||
In this directory you can find several files:
|
||||
# ls
|
||||
notify_on_release tasks
|
||||
cgroup.procs notify_on_release tasks
|
||||
(plus whatever files added by the attached subsystems)
|
||||
|
||||
Now attach your shell to this cgroup:
|
||||
|
|
|
@ -128,8 +128,8 @@ Setting IsSM Capability Bit
|
|||
To create the appropriate character device files automatically with
|
||||
udev, a rule like
|
||||
|
||||
KERNEL="umad*", NAME="infiniband/%k"
|
||||
KERNEL="issm*", NAME="infiniband/%k"
|
||||
KERNEL=="umad*", NAME="infiniband/%k"
|
||||
KERNEL=="issm*", NAME="infiniband/%k"
|
||||
|
||||
can be used. This will create device nodes named
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@ Memory pinning
|
|||
To create the appropriate character device files automatically with
|
||||
udev, a rule like
|
||||
|
||||
KERNEL="uverbs*", NAME="infiniband/%k"
|
||||
KERNEL=="uverbs*", NAME="infiniband/%k"
|
||||
|
||||
can be used. This will create device nodes named
|
||||
|
||||
|
|
|
@ -60,10 +60,9 @@ open() operation on regular files or character devices.
|
|||
|
||||
After a successful return from register_appl(), CAPI messages from the
|
||||
application may be passed to the driver for the device via calls to the
|
||||
send_message() callback function. The CAPI message to send is stored in the
|
||||
data portion of an skb. Conversely, the driver may call Kernel CAPI's
|
||||
capi_ctr_handle_message() function to pass a received CAPI message to Kernel
|
||||
CAPI for forwarding to an application, specifying its ApplID.
|
||||
send_message() callback function. Conversely, the driver may call Kernel
|
||||
CAPI's capi_ctr_handle_message() function to pass a received CAPI message to
|
||||
Kernel CAPI for forwarding to an application, specifying its ApplID.
|
||||
|
||||
Deregistration requests (CAPI operation CAPI_RELEASE) from applications are
|
||||
forwarded as calls to the release_appl() callback function, passing the same
|
||||
|
@ -142,6 +141,7 @@ u16 (*send_message)(struct capi_ctr *ctrlr, struct sk_buff *skb)
|
|||
to accepting or queueing the message. Errors occurring during the
|
||||
actual processing of the message should be signaled with an
|
||||
appropriate reply message.
|
||||
May be called in process or interrupt context.
|
||||
Calls to this function are not serialized by Kernel CAPI, ie. it must
|
||||
be prepared to be re-entered.
|
||||
|
||||
|
@ -154,7 +154,8 @@ read_proc_t *ctr_read_proc
|
|||
system entry, /proc/capi/controllers/<n>; will be called with a
|
||||
pointer to the device's capi_ctr structure as the last (data) argument
|
||||
|
||||
Note: Callback functions are never called in interrupt context.
|
||||
Note: Callback functions except send_message() are never called in interrupt
|
||||
context.
|
||||
|
||||
- to be filled in before calling capi_ctr_ready():
|
||||
|
||||
|
@ -171,14 +172,40 @@ u8 serial[CAPI_SERIAL_LEN]
|
|||
value to return for CAPI_GET_SERIAL
|
||||
|
||||
|
||||
4.3 The _cmsg Structure
|
||||
4.3 SKBs
|
||||
|
||||
CAPI messages are passed between Kernel CAPI and the driver via send_message()
|
||||
and capi_ctr_handle_message(), stored in the data portion of a socket buffer
|
||||
(skb). Each skb contains a single CAPI message coded according to the CAPI 2.0
|
||||
standard.
|
||||
|
||||
For the data transfer messages, DATA_B3_REQ and DATA_B3_IND, the actual
|
||||
payload data immediately follows the CAPI message itself within the same skb.
|
||||
The Data and Data64 parameters are not used for processing. The Data64
|
||||
parameter may be omitted by setting the length field of the CAPI message to 22
|
||||
instead of 30.
|
||||
|
||||
|
||||
4.4 The _cmsg Structure
|
||||
|
||||
(declared in <linux/isdn/capiutil.h>)
|
||||
|
||||
The _cmsg structure stores the contents of a CAPI 2.0 message in an easily
|
||||
accessible form. It contains members for all possible CAPI 2.0 parameters, of
|
||||
which only those appearing in the message type currently being processed are
|
||||
actually used. Unused members should be set to zero.
|
||||
accessible form. It contains members for all possible CAPI 2.0 parameters,
|
||||
including subparameters of the Additional Info and B Protocol structured
|
||||
parameters, with the following exceptions:
|
||||
|
||||
* second Calling party number (CONNECT_IND)
|
||||
|
||||
* Data64 (DATA_B3_REQ and DATA_B3_IND)
|
||||
|
||||
* Sending complete (subparameter of Additional Info, CONNECT_REQ and INFO_REQ)
|
||||
|
||||
* Global Configuration (subparameter of B Protocol, CONNECT_REQ, CONNECT_RESP
|
||||
and SELECT_B_PROTOCOL_REQ)
|
||||
|
||||
Only those parameters appearing in the message type currently being processed
|
||||
are actually used. Unused members should be set to zero.
|
||||
|
||||
Members are named after the CAPI 2.0 standard names of the parameters they
|
||||
represent. See <linux/isdn/capiutil.h> for the exact spelling. Member data
|
||||
|
@ -190,18 +217,19 @@ u16 for CAPI parameters of type 'word'
|
|||
|
||||
u32 for CAPI parameters of type 'dword'
|
||||
|
||||
_cstruct for CAPI parameters of type 'struct' not containing any
|
||||
variably-sized (struct) subparameters (eg. 'Called Party Number')
|
||||
_cstruct for CAPI parameters of type 'struct'
|
||||
The member is a pointer to a buffer containing the parameter in
|
||||
CAPI encoding (length + content). It may also be NULL, which will
|
||||
be taken to represent an empty (zero length) parameter.
|
||||
Subparameters are stored in encoded form within the content part.
|
||||
|
||||
_cmstruct for CAPI parameters of type 'struct' containing 'struct'
|
||||
subparameters ('Additional Info' and 'B Protocol')
|
||||
_cmstruct alternative representation for CAPI parameters of type 'struct'
|
||||
(used only for the 'Additional Info' and 'B Protocol' parameters)
|
||||
The representation is a single byte containing one of the values:
|
||||
CAPI_DEFAULT: the parameter is empty
|
||||
CAPI_COMPOSE: the values of the subparameters are stored
|
||||
individually in the corresponding _cmsg structure members
|
||||
CAPI_DEFAULT: The parameter is empty/absent.
|
||||
CAPI_COMPOSE: The parameter is present.
|
||||
Subparameter values are stored individually in the corresponding
|
||||
_cmsg structure members.
|
||||
|
||||
Functions capi_cmsg2message() and capi_message2cmsg() are provided to convert
|
||||
messages between their transport encoding described in the CAPI 2.0 standard
|
||||
|
@ -297,3 +325,26 @@ char *capi_cmd2str(u8 Command, u8 Subcommand)
|
|||
be NULL if the command/subcommand is not one of those defined in the
|
||||
CAPI 2.0 standard.
|
||||
|
||||
|
||||
7. Debugging
|
||||
|
||||
The module kernelcapi has a module parameter showcapimsgs controlling some
|
||||
debugging output produced by the module. It can only be set when the module is
|
||||
loaded, via a parameter "showcapimsgs=<n>" to the modprobe command, either on
|
||||
the command line or in the configuration file.
|
||||
|
||||
If the lowest bit of showcapimsgs is set, kernelcapi logs controller and
|
||||
application up and down events.
|
||||
|
||||
In addition, every registered CAPI controller has an associated traceflag
|
||||
parameter controlling how CAPI messages sent from and to tha controller are
|
||||
logged. The traceflag parameter is initialized with the value of the
|
||||
showcapimsgs parameter when the controller is registered, but can later be
|
||||
changed via the MANUFACTURER_REQ command KCAPI_CMD_TRACE.
|
||||
|
||||
If the value of traceflag is non-zero, CAPI messages are logged.
|
||||
DATA_B3 messages are only logged if the value of traceflag is > 2.
|
||||
|
||||
If the lowest bit of traceflag is set, only the command/subcommand and message
|
||||
length are logged. Otherwise, kernelcapi logs a readable representation of
|
||||
the entire message.
|
||||
|
|
|
@ -671,6 +671,7 @@ and is between 256 and 4096 characters. It is defined in the file
|
|||
earlyprintk= [X86,SH,BLACKFIN]
|
||||
earlyprintk=vga
|
||||
earlyprintk=serial[,ttySn[,baudrate]]
|
||||
earlyprintk=ttySn[,baudrate]
|
||||
earlyprintk=dbgp[debugController#]
|
||||
|
||||
Append ",keep" to not disable it when the real console
|
||||
|
|
|
@ -90,6 +90,11 @@ Examples:
|
|||
pgset "dstmac 00:00:00:00:00:00" sets MAC destination address
|
||||
pgset "srcmac 00:00:00:00:00:00" sets MAC source address
|
||||
|
||||
pgset "queue_map_min 0" Sets the min value of tx queue interval
|
||||
pgset "queue_map_max 7" Sets the max value of tx queue interval, for multiqueue devices
|
||||
To select queue 1 of a given device,
|
||||
use queue_map_min=1 and queue_map_max=1
|
||||
|
||||
pgset "src_mac_count 1" Sets the number of MACs we'll range through.
|
||||
The 'minimum' MAC is what you set with srcmac.
|
||||
|
||||
|
@ -101,6 +106,9 @@ Examples:
|
|||
IPDST_RND, UDPSRC_RND,
|
||||
UDPDST_RND, MACSRC_RND, MACDST_RND
|
||||
MPLS_RND, VID_RND, SVID_RND
|
||||
QUEUE_MAP_RND # queue map random
|
||||
QUEUE_MAP_CPU # queue map mirrors smp_processor_id()
|
||||
|
||||
|
||||
pgset "udp_src_min 9" set UDP source port min, If < udp_src_max, then
|
||||
cycle through the port range.
|
||||
|
|
|
@ -3,6 +3,25 @@ HIGHPOINT ROCKETRAID 3xxx/4xxx ADAPTER DRIVER (hptiop)
|
|||
Controller Register Map
|
||||
-------------------------
|
||||
|
||||
For RR44xx Intel IOP based adapters, the controller IOP is accessed via PCI BAR0 and BAR2:
|
||||
|
||||
BAR0 offset Register
|
||||
0x11C5C Link Interface IRQ Set
|
||||
0x11C60 Link Interface IRQ Clear
|
||||
|
||||
BAR2 offset Register
|
||||
0x10 Inbound Message Register 0
|
||||
0x14 Inbound Message Register 1
|
||||
0x18 Outbound Message Register 0
|
||||
0x1C Outbound Message Register 1
|
||||
0x20 Inbound Doorbell Register
|
||||
0x24 Inbound Interrupt Status Register
|
||||
0x28 Inbound Interrupt Mask Register
|
||||
0x30 Outbound Interrupt Status Register
|
||||
0x34 Outbound Interrupt Mask Register
|
||||
0x40 Inbound Queue Port
|
||||
0x44 Outbound Queue Port
|
||||
|
||||
For Intel IOP based adapters, the controller IOP is accessed via PCI BAR0:
|
||||
|
||||
BAR0 offset Register
|
||||
|
@ -93,7 +112,7 @@ The driver exposes following sysfs attributes:
|
|||
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Copyright (C) 2006-2007 HighPoint Technologies, Inc. All Rights Reserved.
|
||||
Copyright (C) 2006-2009 HighPoint Technologies, Inc. All Rights Reserved.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
|
|
|
@ -52,15 +52,15 @@ The KSM daemon is controlled by sysfs files in /sys/kernel/mm/ksm/,
|
|||
readable by all but writable only by root:
|
||||
|
||||
max_kernel_pages - set to maximum number of kernel pages that KSM may use
|
||||
e.g. "echo 2000 > /sys/kernel/mm/ksm/max_kernel_pages"
|
||||
e.g. "echo 100000 > /sys/kernel/mm/ksm/max_kernel_pages"
|
||||
Value 0 imposes no limit on the kernel pages KSM may use;
|
||||
but note that any process using MADV_MERGEABLE can cause
|
||||
KSM to allocate these pages, unswappable until it exits.
|
||||
Default: 2000 (chosen for demonstration purposes)
|
||||
Default: quarter of memory (chosen to not pin too much)
|
||||
|
||||
pages_to_scan - how many present pages to scan before ksmd goes to sleep
|
||||
e.g. "echo 200 > /sys/kernel/mm/ksm/pages_to_scan"
|
||||
Default: 200 (chosen for demonstration purposes)
|
||||
e.g. "echo 100 > /sys/kernel/mm/ksm/pages_to_scan"
|
||||
Default: 100 (chosen for demonstration purposes)
|
||||
|
||||
sleep_millisecs - how many milliseconds ksmd should sleep before next scan
|
||||
e.g. "echo 20 > /sys/kernel/mm/ksm/sleep_millisecs"
|
||||
|
@ -70,7 +70,8 @@ run - set 0 to stop ksmd from running but keep merged pages,
|
|||
set 1 to run ksmd e.g. "echo 1 > /sys/kernel/mm/ksm/run",
|
||||
set 2 to stop ksmd and unmerge all pages currently merged,
|
||||
but leave mergeable areas registered for next run
|
||||
Default: 1 (for immediate use by apps which register)
|
||||
Default: 0 (must be changed to 1 to activate KSM,
|
||||
except if CONFIG_SYSFS is disabled)
|
||||
|
||||
The effectiveness of KSM and MADV_MERGEABLE is shown in /sys/kernel/mm/ksm/:
|
||||
|
||||
|
@ -86,4 +87,4 @@ pages_volatile embraces several different kinds of activity, but a high
|
|||
proportion there would also indicate poor use of madvise MADV_MERGEABLE.
|
||||
|
||||
Izik Eidus,
|
||||
Hugh Dickins, 30 July 2009
|
||||
Hugh Dickins, 24 Sept 2009
|
||||
|
|
|
@ -2,7 +2,10 @@
|
|||
* page-types: Tool for querying page flags
|
||||
*
|
||||
* Copyright (C) 2009 Intel corporation
|
||||
* Copyright (C) 2009 Wu Fengguang <fengguang.wu@intel.com>
|
||||
*
|
||||
* Authors: Wu Fengguang <fengguang.wu@intel.com>
|
||||
*
|
||||
* Released under the General Public License (GPL).
|
||||
*/
|
||||
|
||||
#define _LARGEFILE64_SOURCE
|
||||
|
@ -69,7 +72,9 @@
|
|||
#define KPF_COMPOUND_TAIL 16
|
||||
#define KPF_HUGE 17
|
||||
#define KPF_UNEVICTABLE 18
|
||||
#define KPF_HWPOISON 19
|
||||
#define KPF_NOPAGE 20
|
||||
#define KPF_KSM 21
|
||||
|
||||
/* [32-] kernel hacking assistances */
|
||||
#define KPF_RESERVED 32
|
||||
|
@ -116,7 +121,9 @@ static char *page_flag_names[] = {
|
|||
[KPF_COMPOUND_TAIL] = "T:compound_tail",
|
||||
[KPF_HUGE] = "G:huge",
|
||||
[KPF_UNEVICTABLE] = "u:unevictable",
|
||||
[KPF_HWPOISON] = "X:hwpoison",
|
||||
[KPF_NOPAGE] = "n:nopage",
|
||||
[KPF_KSM] = "x:ksm",
|
||||
|
||||
[KPF_RESERVED] = "r:reserved",
|
||||
[KPF_MLOCKED] = "m:mlocked",
|
||||
|
@ -152,9 +159,6 @@ static unsigned long opt_size[MAX_ADDR_RANGES];
|
|||
static int nr_vmas;
|
||||
static unsigned long pg_start[MAX_VMAS];
|
||||
static unsigned long pg_end[MAX_VMAS];
|
||||
static unsigned long voffset;
|
||||
|
||||
static int pagemap_fd;
|
||||
|
||||
#define MAX_BIT_FILTERS 64
|
||||
static int nr_bit_filters;
|
||||
|
@ -163,9 +167,16 @@ static uint64_t opt_bits[MAX_BIT_FILTERS];
|
|||
|
||||
static int page_size;
|
||||
|
||||
#define PAGES_BATCH (64 << 10) /* 64k pages */
|
||||
static int pagemap_fd;
|
||||
static int kpageflags_fd;
|
||||
|
||||
static int opt_hwpoison;
|
||||
static int opt_unpoison;
|
||||
|
||||
static char *hwpoison_debug_fs = "/debug/hwpoison";
|
||||
static int hwpoison_inject_fd;
|
||||
static int hwpoison_forget_fd;
|
||||
|
||||
#define HASH_SHIFT 13
|
||||
#define HASH_SIZE (1 << HASH_SHIFT)
|
||||
#define HASH_MASK (HASH_SIZE - 1)
|
||||
|
@ -207,6 +218,74 @@ static void fatal(const char *x, ...)
|
|||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
int checked_open(const char *pathname, int flags)
|
||||
{
|
||||
int fd = open(pathname, flags);
|
||||
|
||||
if (fd < 0) {
|
||||
perror(pathname);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
return fd;
|
||||
}
|
||||
|
||||
/*
|
||||
* pagemap/kpageflags routines
|
||||
*/
|
||||
|
||||
static unsigned long do_u64_read(int fd, char *name,
|
||||
uint64_t *buf,
|
||||
unsigned long index,
|
||||
unsigned long count)
|
||||
{
|
||||
long bytes;
|
||||
|
||||
if (index > ULONG_MAX / 8)
|
||||
fatal("index overflow: %lu\n", index);
|
||||
|
||||
if (lseek(fd, index * 8, SEEK_SET) < 0) {
|
||||
perror(name);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
bytes = read(fd, buf, count * 8);
|
||||
if (bytes < 0) {
|
||||
perror(name);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
if (bytes % 8)
|
||||
fatal("partial read: %lu bytes\n", bytes);
|
||||
|
||||
return bytes / 8;
|
||||
}
|
||||
|
||||
static unsigned long kpageflags_read(uint64_t *buf,
|
||||
unsigned long index,
|
||||
unsigned long pages)
|
||||
{
|
||||
return do_u64_read(kpageflags_fd, PROC_KPAGEFLAGS, buf, index, pages);
|
||||
}
|
||||
|
||||
static unsigned long pagemap_read(uint64_t *buf,
|
||||
unsigned long index,
|
||||
unsigned long pages)
|
||||
{
|
||||
return do_u64_read(pagemap_fd, "/proc/pid/pagemap", buf, index, pages);
|
||||
}
|
||||
|
||||
static unsigned long pagemap_pfn(uint64_t val)
|
||||
{
|
||||
unsigned long pfn;
|
||||
|
||||
if (val & PM_PRESENT)
|
||||
pfn = PM_PFRAME(val);
|
||||
else
|
||||
pfn = 0;
|
||||
|
||||
return pfn;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* page flag names
|
||||
|
@ -255,7 +334,8 @@ static char *page_flag_longname(uint64_t flags)
|
|||
* page list and summary
|
||||
*/
|
||||
|
||||
static void show_page_range(unsigned long offset, uint64_t flags)
|
||||
static void show_page_range(unsigned long voffset,
|
||||
unsigned long offset, uint64_t flags)
|
||||
{
|
||||
static uint64_t flags0;
|
||||
static unsigned long voff;
|
||||
|
@ -281,7 +361,8 @@ static void show_page_range(unsigned long offset, uint64_t flags)
|
|||
count = 1;
|
||||
}
|
||||
|
||||
static void show_page(unsigned long offset, uint64_t flags)
|
||||
static void show_page(unsigned long voffset,
|
||||
unsigned long offset, uint64_t flags)
|
||||
{
|
||||
if (opt_pid)
|
||||
printf("%lx\t", voffset);
|
||||
|
@ -362,6 +443,62 @@ static uint64_t well_known_flags(uint64_t flags)
|
|||
return flags;
|
||||
}
|
||||
|
||||
static uint64_t kpageflags_flags(uint64_t flags)
|
||||
{
|
||||
flags = expand_overloaded_flags(flags);
|
||||
|
||||
if (!opt_raw)
|
||||
flags = well_known_flags(flags);
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
||||
/*
|
||||
* page actions
|
||||
*/
|
||||
|
||||
static void prepare_hwpoison_fd(void)
|
||||
{
|
||||
char buf[100];
|
||||
|
||||
if (opt_hwpoison && !hwpoison_inject_fd) {
|
||||
sprintf(buf, "%s/corrupt-pfn", hwpoison_debug_fs);
|
||||
hwpoison_inject_fd = checked_open(buf, O_WRONLY);
|
||||
}
|
||||
|
||||
if (opt_unpoison && !hwpoison_forget_fd) {
|
||||
sprintf(buf, "%s/renew-pfn", hwpoison_debug_fs);
|
||||
hwpoison_forget_fd = checked_open(buf, O_WRONLY);
|
||||
}
|
||||
}
|
||||
|
||||
static int hwpoison_page(unsigned long offset)
|
||||
{
|
||||
char buf[100];
|
||||
int len;
|
||||
|
||||
len = sprintf(buf, "0x%lx\n", offset);
|
||||
len = write(hwpoison_inject_fd, buf, len);
|
||||
if (len < 0) {
|
||||
perror("hwpoison inject");
|
||||
return len;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int unpoison_page(unsigned long offset)
|
||||
{
|
||||
char buf[100];
|
||||
int len;
|
||||
|
||||
len = sprintf(buf, "0x%lx\n", offset);
|
||||
len = write(hwpoison_forget_fd, buf, len);
|
||||
if (len < 0) {
|
||||
perror("hwpoison forget");
|
||||
return len;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* page frame walker
|
||||
|
@ -394,104 +531,83 @@ static int hash_slot(uint64_t flags)
|
|||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
static void add_page(unsigned long offset, uint64_t flags)
|
||||
static void add_page(unsigned long voffset,
|
||||
unsigned long offset, uint64_t flags)
|
||||
{
|
||||
flags = expand_overloaded_flags(flags);
|
||||
|
||||
if (!opt_raw)
|
||||
flags = well_known_flags(flags);
|
||||
flags = kpageflags_flags(flags);
|
||||
|
||||
if (!bit_mask_ok(flags))
|
||||
return;
|
||||
|
||||
if (opt_hwpoison)
|
||||
hwpoison_page(offset);
|
||||
if (opt_unpoison)
|
||||
unpoison_page(offset);
|
||||
|
||||
if (opt_list == 1)
|
||||
show_page_range(offset, flags);
|
||||
show_page_range(voffset, offset, flags);
|
||||
else if (opt_list == 2)
|
||||
show_page(offset, flags);
|
||||
show_page(voffset, offset, flags);
|
||||
|
||||
nr_pages[hash_slot(flags)]++;
|
||||
total_pages++;
|
||||
}
|
||||
|
||||
static void walk_pfn(unsigned long index, unsigned long count)
|
||||
#define KPAGEFLAGS_BATCH (64 << 10) /* 64k pages */
|
||||
static void walk_pfn(unsigned long voffset,
|
||||
unsigned long index,
|
||||
unsigned long count)
|
||||
{
|
||||
uint64_t buf[KPAGEFLAGS_BATCH];
|
||||
unsigned long batch;
|
||||
unsigned long n;
|
||||
unsigned long pages;
|
||||
unsigned long i;
|
||||
|
||||
if (index > ULONG_MAX / KPF_BYTES)
|
||||
fatal("index overflow: %lu\n", index);
|
||||
|
||||
lseek(kpageflags_fd, index * KPF_BYTES, SEEK_SET);
|
||||
|
||||
while (count) {
|
||||
uint64_t kpageflags_buf[KPF_BYTES * PAGES_BATCH];
|
||||
|
||||
batch = min_t(unsigned long, count, PAGES_BATCH);
|
||||
n = read(kpageflags_fd, kpageflags_buf, batch * KPF_BYTES);
|
||||
if (n == 0)
|
||||
batch = min_t(unsigned long, count, KPAGEFLAGS_BATCH);
|
||||
pages = kpageflags_read(buf, index, batch);
|
||||
if (pages == 0)
|
||||
break;
|
||||
if (n < 0) {
|
||||
perror(PROC_KPAGEFLAGS);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
if (n % KPF_BYTES != 0)
|
||||
fatal("partial read: %lu bytes\n", n);
|
||||
n = n / KPF_BYTES;
|
||||
for (i = 0; i < pages; i++)
|
||||
add_page(voffset + i, index + i, buf[i]);
|
||||
|
||||
for (i = 0; i < n; i++)
|
||||
add_page(index + i, kpageflags_buf[i]);
|
||||
|
||||
index += batch;
|
||||
count -= batch;
|
||||
index += pages;
|
||||
count -= pages;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#define PAGEMAP_BATCH 4096
|
||||
static unsigned long task_pfn(unsigned long pgoff)
|
||||
#define PAGEMAP_BATCH (64 << 10)
|
||||
static void walk_vma(unsigned long index, unsigned long count)
|
||||
{
|
||||
static uint64_t buf[PAGEMAP_BATCH];
|
||||
static unsigned long start;
|
||||
static long count;
|
||||
uint64_t pfn;
|
||||
uint64_t buf[PAGEMAP_BATCH];
|
||||
unsigned long batch;
|
||||
unsigned long pages;
|
||||
unsigned long pfn;
|
||||
unsigned long i;
|
||||
|
||||
if (pgoff < start || pgoff >= start + count) {
|
||||
if (lseek64(pagemap_fd,
|
||||
(uint64_t)pgoff * PM_ENTRY_BYTES,
|
||||
SEEK_SET) < 0) {
|
||||
perror("pagemap seek");
|
||||
exit(EXIT_FAILURE);
|
||||
while (count) {
|
||||
batch = min_t(unsigned long, count, PAGEMAP_BATCH);
|
||||
pages = pagemap_read(buf, index, batch);
|
||||
if (pages == 0)
|
||||
break;
|
||||
|
||||
for (i = 0; i < pages; i++) {
|
||||
pfn = pagemap_pfn(buf[i]);
|
||||
if (pfn)
|
||||
walk_pfn(index + i, pfn, 1);
|
||||
}
|
||||
count = read(pagemap_fd, buf, sizeof(buf));
|
||||
if (count == 0)
|
||||
return 0;
|
||||
if (count < 0) {
|
||||
perror("pagemap read");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
if (count % PM_ENTRY_BYTES) {
|
||||
fatal("pagemap read not aligned.\n");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
count /= PM_ENTRY_BYTES;
|
||||
start = pgoff;
|
||||
|
||||
index += pages;
|
||||
count -= pages;
|
||||
}
|
||||
|
||||
pfn = buf[pgoff - start];
|
||||
if (pfn & PM_PRESENT)
|
||||
pfn = PM_PFRAME(pfn);
|
||||
else
|
||||
pfn = 0;
|
||||
|
||||
return pfn;
|
||||
}
|
||||
|
||||
static void walk_task(unsigned long index, unsigned long count)
|
||||
{
|
||||
int i = 0;
|
||||
const unsigned long end = index + count;
|
||||
unsigned long start;
|
||||
int i = 0;
|
||||
|
||||
while (index < end) {
|
||||
|
||||
|
@ -501,15 +617,11 @@ static void walk_task(unsigned long index, unsigned long count)
|
|||
if (pg_start[i] >= end)
|
||||
return;
|
||||
|
||||
voffset = max_t(unsigned long, pg_start[i], index);
|
||||
index = min_t(unsigned long, pg_end[i], end);
|
||||
start = max_t(unsigned long, pg_start[i], index);
|
||||
index = min_t(unsigned long, pg_end[i], end);
|
||||
|
||||
assert(voffset < index);
|
||||
for (; voffset < index; voffset++) {
|
||||
unsigned long pfn = task_pfn(voffset);
|
||||
if (pfn)
|
||||
walk_pfn(pfn, 1);
|
||||
}
|
||||
assert(start < index);
|
||||
walk_vma(start, index - start);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -527,18 +639,14 @@ static void walk_addr_ranges(void)
|
|||
{
|
||||
int i;
|
||||
|
||||
kpageflags_fd = open(PROC_KPAGEFLAGS, O_RDONLY);
|
||||
if (kpageflags_fd < 0) {
|
||||
perror(PROC_KPAGEFLAGS);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
kpageflags_fd = checked_open(PROC_KPAGEFLAGS, O_RDONLY);
|
||||
|
||||
if (!nr_addr_ranges)
|
||||
add_addr_range(0, ULONG_MAX);
|
||||
|
||||
for (i = 0; i < nr_addr_ranges; i++)
|
||||
if (!opt_pid)
|
||||
walk_pfn(opt_offset[i], opt_size[i]);
|
||||
walk_pfn(0, opt_offset[i], opt_size[i]);
|
||||
else
|
||||
walk_task(opt_offset[i], opt_size[i]);
|
||||
|
||||
|
@ -575,6 +683,8 @@ static void usage(void)
|
|||
" -l|--list Show page details in ranges\n"
|
||||
" -L|--list-each Show page details one by one\n"
|
||||
" -N|--no-summary Don't show summay info\n"
|
||||
" -X|--hwpoison hwpoison pages\n"
|
||||
" -x|--unpoison unpoison pages\n"
|
||||
" -h|--help Show this usage message\n"
|
||||
"addr-spec:\n"
|
||||
" N one page at offset N (unit: pages)\n"
|
||||
|
@ -624,11 +734,7 @@ static void parse_pid(const char *str)
|
|||
opt_pid = parse_number(str);
|
||||
|
||||
sprintf(buf, "/proc/%d/pagemap", opt_pid);
|
||||
pagemap_fd = open(buf, O_RDONLY);
|
||||
if (pagemap_fd < 0) {
|
||||
perror(buf);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
pagemap_fd = checked_open(buf, O_RDONLY);
|
||||
|
||||
sprintf(buf, "/proc/%d/maps", opt_pid);
|
||||
file = fopen(buf, "r");
|
||||
|
@ -788,6 +894,8 @@ static struct option opts[] = {
|
|||
{ "list" , 0, NULL, 'l' },
|
||||
{ "list-each" , 0, NULL, 'L' },
|
||||
{ "no-summary", 0, NULL, 'N' },
|
||||
{ "hwpoison" , 0, NULL, 'X' },
|
||||
{ "unpoison" , 0, NULL, 'x' },
|
||||
{ "help" , 0, NULL, 'h' },
|
||||
{ NULL , 0, NULL, 0 }
|
||||
};
|
||||
|
@ -799,7 +907,7 @@ int main(int argc, char *argv[])
|
|||
page_size = getpagesize();
|
||||
|
||||
while ((c = getopt_long(argc, argv,
|
||||
"rp:f:a:b:lLNh", opts, NULL)) != -1) {
|
||||
"rp:f:a:b:lLNXxh", opts, NULL)) != -1) {
|
||||
switch (c) {
|
||||
case 'r':
|
||||
opt_raw = 1;
|
||||
|
@ -825,6 +933,14 @@ int main(int argc, char *argv[])
|
|||
case 'N':
|
||||
opt_no_summary = 1;
|
||||
break;
|
||||
case 'X':
|
||||
opt_hwpoison = 1;
|
||||
prepare_hwpoison_fd();
|
||||
break;
|
||||
case 'x':
|
||||
opt_unpoison = 1;
|
||||
prepare_hwpoison_fd();
|
||||
break;
|
||||
case 'h':
|
||||
usage();
|
||||
exit(0);
|
||||
|
@ -844,7 +960,7 @@ int main(int argc, char *argv[])
|
|||
walk_addr_ranges();
|
||||
|
||||
if (opt_list == 1)
|
||||
show_page_range(0, 0); /* drain the buffer */
|
||||
show_page_range(0, 0, 0); /* drain the buffer */
|
||||
|
||||
if (opt_no_summary)
|
||||
return 0;
|
||||
|
|
|
@ -57,7 +57,9 @@ There are three components to pagemap:
|
|||
16. COMPOUND_TAIL
|
||||
16. HUGE
|
||||
18. UNEVICTABLE
|
||||
19. HWPOISON
|
||||
20. NOPAGE
|
||||
21. KSM
|
||||
|
||||
Short descriptions to the page flags:
|
||||
|
||||
|
@ -86,9 +88,15 @@ Short descriptions to the page flags:
|
|||
17. HUGE
|
||||
this is an integral part of a HugeTLB page
|
||||
|
||||
19. HWPOISON
|
||||
hardware detected memory corruption on this page: don't touch the data!
|
||||
|
||||
20. NOPAGE
|
||||
no page frame exists at the requested address
|
||||
|
||||
21. KSM
|
||||
identical memory pages dynamically shared between one or more processes
|
||||
|
||||
[IO related page flags]
|
||||
1. ERROR IO error occurred
|
||||
3. UPTODATE page has up-to-date data
|
||||
|
|
25
MAINTAINERS
25
MAINTAINERS
|
@ -1236,6 +1236,13 @@ L: netdev@vger.kernel.org
|
|||
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/
|
||||
|
||||
BSG (block layer generic sg v4 driver)
|
||||
M: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
||||
L: linux-scsi@vger.kernel.org
|
||||
|
@ -2063,7 +2070,7 @@ S: Maintained
|
|||
F: fs/*
|
||||
|
||||
FINTEK F75375S HARDWARE MONITOR AND FAN CONTROLLER DRIVER
|
||||
M: Riku Voipio <riku.vipio@iki.fi>
|
||||
M: Riku Voipio <riku.voipio@iki.fi>
|
||||
L: lm-sensors@lm-sensors.org
|
||||
S: Maintained
|
||||
F: drivers/hwmon/f75375s.c
|
||||
|
@ -3648,6 +3655,13 @@ F: Documentation/blockdev/nbd.txt
|
|||
F: drivers/block/nbd.c
|
||||
F: include/linux/nbd.h
|
||||
|
||||
NETWORK DROP MONITOR
|
||||
M: Neil Horman <nhorman@tuxdriver.com>
|
||||
L: netdev@vger.kernel.org
|
||||
S: Maintained
|
||||
W: https://fedorahosted.org/dropwatch/
|
||||
F: net/core/drop_monitor.c
|
||||
|
||||
NETWORKING [GENERAL]
|
||||
M: "David S. Miller" <davem@davemloft.net>
|
||||
L: netdev@vger.kernel.org
|
||||
|
@ -3978,6 +3992,7 @@ F: drivers/block/paride/
|
|||
PARISC ARCHITECTURE
|
||||
M: Kyle McMartin <kyle@mcmartin.ca>
|
||||
M: Helge Deller <deller@gmx.de>
|
||||
M: "James E.J. Bottomley" <jejb@parisc-linux.org>
|
||||
L: linux-parisc@vger.kernel.org
|
||||
W: http://www.parisc-linux.org/
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6.git
|
||||
|
@ -4643,6 +4658,14 @@ F: drivers/ata/
|
|||
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/
|
||||
|
||||
SERVER ENGINES 10Gbps NIC - BladeEngine 2 DRIVER
|
||||
M: Sathya Perla <sathyap@serverengines.com>
|
||||
M: Subbu Seetharaman <subbus@serverengines.com>
|
||||
|
|
2
Makefile
2
Makefile
|
@ -1,7 +1,7 @@
|
|||
VERSION = 2
|
||||
PATCHLEVEL = 6
|
||||
SUBLEVEL = 32
|
||||
EXTRAVERSION = -rc3
|
||||
EXTRAVERSION = -rc4
|
||||
NAME = Man-Eating Seals of Antiquity
|
||||
|
||||
# *DOCUMENTATION*
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
#include <linux/interrupt.h>
|
||||
#include <linux/time.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/smp.h>
|
||||
#include <linux/timex.h>
|
||||
#include <linux/errno.h>
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/signal.h>
|
||||
#include <asm/system.h>
|
||||
#include <asm/mach/pci.h>
|
||||
#include <asm/irq_regs.h>
|
||||
|
|
|
@ -38,49 +38,49 @@
|
|||
|
||||
static int board_keymap[] = {
|
||||
KEY(0, 0, KEY_Q),
|
||||
KEY(0, 1, KEY_W),
|
||||
KEY(0, 2, KEY_E),
|
||||
KEY(0, 3, KEY_R),
|
||||
KEY(0, 4, KEY_T),
|
||||
KEY(0, 5, KEY_Y),
|
||||
KEY(0, 6, KEY_U),
|
||||
KEY(0, 7, KEY_I),
|
||||
KEY(1, 0, KEY_O),
|
||||
KEY(0, 1, KEY_O),
|
||||
KEY(0, 2, KEY_P),
|
||||
KEY(0, 3, KEY_COMMA),
|
||||
KEY(0, 4, KEY_BACKSPACE),
|
||||
KEY(0, 6, KEY_A),
|
||||
KEY(0, 7, KEY_S),
|
||||
KEY(1, 0, KEY_W),
|
||||
KEY(1, 1, KEY_D),
|
||||
KEY(1, 2, KEY_DOT),
|
||||
KEY(1, 3, KEY_V),
|
||||
KEY(1, 4, KEY_DOWN),
|
||||
KEY(2, 0, KEY_P),
|
||||
KEY(2, 1, KEY_F),
|
||||
KEY(1, 2, KEY_F),
|
||||
KEY(1, 3, KEY_G),
|
||||
KEY(1, 4, KEY_H),
|
||||
KEY(1, 5, KEY_J),
|
||||
KEY(1, 6, KEY_K),
|
||||
KEY(1, 7, KEY_L),
|
||||
KEY(2, 0, KEY_E),
|
||||
KEY(2, 1, KEY_DOT),
|
||||
KEY(2, 2, KEY_UP),
|
||||
KEY(2, 3, KEY_B),
|
||||
KEY(2, 4, KEY_RIGHT),
|
||||
KEY(3, 0, KEY_COMMA),
|
||||
KEY(3, 1, KEY_G),
|
||||
KEY(3, 2, KEY_ENTER),
|
||||
KEY(2, 3, KEY_ENTER),
|
||||
KEY(2, 5, KEY_Z),
|
||||
KEY(2, 6, KEY_X),
|
||||
KEY(2, 7, KEY_C),
|
||||
KEY(3, 0, KEY_R),
|
||||
KEY(3, 1, KEY_V),
|
||||
KEY(3, 2, KEY_B),
|
||||
KEY(3, 3, KEY_N),
|
||||
KEY(4, 0, KEY_BACKSPACE),
|
||||
KEY(4, 1, KEY_H),
|
||||
KEY(4, 3, KEY_M),
|
||||
KEY(3, 4, KEY_M),
|
||||
KEY(3, 5, KEY_SPACE),
|
||||
KEY(3, 6, KEY_SPACE),
|
||||
KEY(3, 7, KEY_LEFT),
|
||||
KEY(4, 0, KEY_T),
|
||||
KEY(4, 1, KEY_DOWN),
|
||||
KEY(4, 2, KEY_RIGHT),
|
||||
KEY(4, 4, KEY_LEFTCTRL),
|
||||
KEY(5, 1, KEY_J),
|
||||
KEY(5, 2, KEY_Z),
|
||||
KEY(5, 3, KEY_SPACE),
|
||||
KEY(5, 4, KEY_LEFTSHIFT),
|
||||
KEY(6, 0, KEY_A),
|
||||
KEY(6, 1, KEY_K),
|
||||
KEY(6, 2, KEY_X),
|
||||
KEY(6, 3, KEY_SPACE),
|
||||
KEY(6, 4, KEY_FN),
|
||||
KEY(7, 0, KEY_S),
|
||||
KEY(7, 1, KEY_L),
|
||||
KEY(7, 2, KEY_C),
|
||||
KEY(7, 3, KEY_LEFT),
|
||||
KEY(0xff, 0, KEY_F6),
|
||||
KEY(0xff, 1, KEY_F7),
|
||||
KEY(0xff, 2, KEY_F8),
|
||||
KEY(0xff, 4, KEY_F9),
|
||||
KEY(0xff, 5, KEY_F10),
|
||||
KEY(4, 5, KEY_RIGHTALT),
|
||||
KEY(4, 6, KEY_LEFTSHIFT),
|
||||
KEY(5, 0, KEY_Y),
|
||||
KEY(6, 0, KEY_U),
|
||||
KEY(7, 0, KEY_I),
|
||||
KEY(7, 1, KEY_F7),
|
||||
KEY(7, 2, KEY_F8),
|
||||
KEY(0xff, 2, KEY_F9),
|
||||
KEY(0xff, 4, KEY_F10),
|
||||
KEY(0xff, 5, KEY_F11),
|
||||
};
|
||||
|
||||
static struct matrix_keymap_data board_map_data = {
|
||||
|
|
|
@ -338,6 +338,13 @@ static struct omap_clk omap34xx_clks[] = {
|
|||
*/
|
||||
#define SDRC_MPURATE_LOOPS 96
|
||||
|
||||
/*
|
||||
* DPLL5_FREQ_FOR_USBHOST: USBHOST and USBTLL are the only clocks
|
||||
* that are sourced by DPLL5, and both of these require this clock
|
||||
* to be at 120 MHz for proper operation.
|
||||
*/
|
||||
#define DPLL5_FREQ_FOR_USBHOST 120000000
|
||||
|
||||
/**
|
||||
* omap3430es2_clk_ssi_find_idlest - return CM_IDLEST info for SSI
|
||||
* @clk: struct clk * being enabled
|
||||
|
@ -1056,6 +1063,28 @@ void omap2_clk_prepare_for_reboot(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
static void omap3_clk_lock_dpll5(void)
|
||||
{
|
||||
struct clk *dpll5_clk;
|
||||
struct clk *dpll5_m2_clk;
|
||||
|
||||
dpll5_clk = clk_get(NULL, "dpll5_ck");
|
||||
clk_set_rate(dpll5_clk, DPLL5_FREQ_FOR_USBHOST);
|
||||
clk_enable(dpll5_clk);
|
||||
|
||||
/* Enable autoidle to allow it to enter low power bypass */
|
||||
omap3_dpll_allow_idle(dpll5_clk);
|
||||
|
||||
/* Program dpll5_m2_clk divider for no division */
|
||||
dpll5_m2_clk = clk_get(NULL, "dpll5_m2_ck");
|
||||
clk_enable(dpll5_m2_clk);
|
||||
clk_set_rate(dpll5_m2_clk, DPLL5_FREQ_FOR_USBHOST);
|
||||
|
||||
clk_disable(dpll5_m2_clk);
|
||||
clk_disable(dpll5_clk);
|
||||
return;
|
||||
}
|
||||
|
||||
/* REVISIT: Move this init stuff out into clock.c */
|
||||
|
||||
/*
|
||||
|
@ -1148,6 +1177,12 @@ int __init omap2_clk_init(void)
|
|||
*/
|
||||
clk_enable_init_clocks();
|
||||
|
||||
/*
|
||||
* Lock DPLL5 and put it in autoidle.
|
||||
*/
|
||||
if (omap_rev() >= OMAP3430_REV_ES2_0)
|
||||
omap3_clk_lock_dpll5();
|
||||
|
||||
/* Avoid sleeping during omap2_clk_prepare_for_reboot() */
|
||||
/* REVISIT: not yet ready for 343x */
|
||||
#if 0
|
||||
|
|
|
@ -541,7 +541,7 @@ static int __init pm_dbg_init(void)
|
|||
printk(KERN_ERR "%s: only OMAP3 supported\n", __func__);
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
|
||||
d = debugfs_create_dir("pm_debug", NULL);
|
||||
if (IS_ERR(d))
|
||||
return PTR_ERR(d);
|
||||
|
@ -551,7 +551,7 @@ static int __init pm_dbg_init(void)
|
|||
(void) debugfs_create_file("time", S_IRUGO,
|
||||
d, (void *)DEBUG_FILE_TIMERS, &debug_fops);
|
||||
|
||||
pwrdm_for_each(pwrdms_setup, (void *)d);
|
||||
pwrdm_for_each_nolock(pwrdms_setup, (void *)d);
|
||||
|
||||
pm_dbg_dir = debugfs_create_dir("registers", d);
|
||||
if (IS_ERR(pm_dbg_dir))
|
||||
|
|
|
@ -51,97 +51,112 @@ static void (*_omap_sram_idle)(u32 *addr, int save_state);
|
|||
|
||||
static struct powerdomain *mpu_pwrdm;
|
||||
|
||||
/* PRCM Interrupt Handler for wakeups */
|
||||
/*
|
||||
* PRCM Interrupt Handler Helper Function
|
||||
*
|
||||
* The purpose of this function is to clear any wake-up events latched
|
||||
* in the PRCM PM_WKST_x registers. It is possible that a wake-up event
|
||||
* may occur whilst attempting to clear a PM_WKST_x register and thus
|
||||
* set another bit in this register. A while loop is used to ensure
|
||||
* that any peripheral wake-up events occurring while attempting to
|
||||
* clear the PM_WKST_x are detected and cleared.
|
||||
*/
|
||||
static int prcm_clear_mod_irqs(s16 module, u8 regs)
|
||||
{
|
||||
u32 wkst, fclk, iclk, clken;
|
||||
u16 wkst_off = (regs == 3) ? OMAP3430ES2_PM_WKST3 : PM_WKST1;
|
||||
u16 fclk_off = (regs == 3) ? OMAP3430ES2_CM_FCLKEN3 : CM_FCLKEN1;
|
||||
u16 iclk_off = (regs == 3) ? CM_ICLKEN3 : CM_ICLKEN1;
|
||||
u16 grpsel_off = (regs == 3) ?
|
||||
OMAP3430ES2_PM_MPUGRPSEL3 : OMAP3430_PM_MPUGRPSEL;
|
||||
int c = 0;
|
||||
|
||||
wkst = prm_read_mod_reg(module, wkst_off);
|
||||
wkst &= prm_read_mod_reg(module, grpsel_off);
|
||||
if (wkst) {
|
||||
iclk = cm_read_mod_reg(module, iclk_off);
|
||||
fclk = cm_read_mod_reg(module, fclk_off);
|
||||
while (wkst) {
|
||||
clken = wkst;
|
||||
cm_set_mod_reg_bits(clken, module, iclk_off);
|
||||
/*
|
||||
* For USBHOST, we don't know whether HOST1 or
|
||||
* HOST2 woke us up, so enable both f-clocks
|
||||
*/
|
||||
if (module == OMAP3430ES2_USBHOST_MOD)
|
||||
clken |= 1 << OMAP3430ES2_EN_USBHOST2_SHIFT;
|
||||
cm_set_mod_reg_bits(clken, module, fclk_off);
|
||||
prm_write_mod_reg(wkst, module, wkst_off);
|
||||
wkst = prm_read_mod_reg(module, wkst_off);
|
||||
c++;
|
||||
}
|
||||
cm_write_mod_reg(iclk, module, iclk_off);
|
||||
cm_write_mod_reg(fclk, module, fclk_off);
|
||||
}
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
static int _prcm_int_handle_wakeup(void)
|
||||
{
|
||||
int c;
|
||||
|
||||
c = prcm_clear_mod_irqs(WKUP_MOD, 1);
|
||||
c += prcm_clear_mod_irqs(CORE_MOD, 1);
|
||||
c += prcm_clear_mod_irqs(OMAP3430_PER_MOD, 1);
|
||||
if (omap_rev() > OMAP3430_REV_ES1_0) {
|
||||
c += prcm_clear_mod_irqs(CORE_MOD, 3);
|
||||
c += prcm_clear_mod_irqs(OMAP3430ES2_USBHOST_MOD, 1);
|
||||
}
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
/*
|
||||
* PRCM Interrupt Handler
|
||||
*
|
||||
* The PRM_IRQSTATUS_MPU register indicates if there are any pending
|
||||
* interrupts from the PRCM for the MPU. These bits must be cleared in
|
||||
* order to clear the PRCM interrupt. The PRCM interrupt handler is
|
||||
* implemented to simply clear the PRM_IRQSTATUS_MPU in order to clear
|
||||
* the PRCM interrupt. Please note that bit 0 of the PRM_IRQSTATUS_MPU
|
||||
* register indicates that a wake-up event is pending for the MPU and
|
||||
* this bit can only be cleared if the all the wake-up events latched
|
||||
* in the various PM_WKST_x registers have been cleared. The interrupt
|
||||
* handler is implemented using a do-while loop so that if a wake-up
|
||||
* event occurred during the processing of the prcm interrupt handler
|
||||
* (setting a bit in the corresponding PM_WKST_x register and thus
|
||||
* preventing us from clearing bit 0 of the PRM_IRQSTATUS_MPU register)
|
||||
* this would be handled.
|
||||
*/
|
||||
static irqreturn_t prcm_interrupt_handler (int irq, void *dev_id)
|
||||
{
|
||||
u32 wkst, irqstatus_mpu;
|
||||
u32 fclk, iclk;
|
||||
u32 irqstatus_mpu;
|
||||
int c = 0;
|
||||
|
||||
/* WKUP */
|
||||
wkst = prm_read_mod_reg(WKUP_MOD, PM_WKST);
|
||||
if (wkst) {
|
||||
iclk = cm_read_mod_reg(WKUP_MOD, CM_ICLKEN);
|
||||
fclk = cm_read_mod_reg(WKUP_MOD, CM_FCLKEN);
|
||||
cm_set_mod_reg_bits(wkst, WKUP_MOD, CM_ICLKEN);
|
||||
cm_set_mod_reg_bits(wkst, WKUP_MOD, CM_FCLKEN);
|
||||
prm_write_mod_reg(wkst, WKUP_MOD, PM_WKST);
|
||||
while (prm_read_mod_reg(WKUP_MOD, PM_WKST))
|
||||
cpu_relax();
|
||||
cm_write_mod_reg(iclk, WKUP_MOD, CM_ICLKEN);
|
||||
cm_write_mod_reg(fclk, WKUP_MOD, CM_FCLKEN);
|
||||
}
|
||||
do {
|
||||
irqstatus_mpu = prm_read_mod_reg(OCP_MOD,
|
||||
OMAP3_PRM_IRQSTATUS_MPU_OFFSET);
|
||||
|
||||
/* CORE */
|
||||
wkst = prm_read_mod_reg(CORE_MOD, PM_WKST1);
|
||||
if (wkst) {
|
||||
iclk = cm_read_mod_reg(CORE_MOD, CM_ICLKEN1);
|
||||
fclk = cm_read_mod_reg(CORE_MOD, CM_FCLKEN1);
|
||||
cm_set_mod_reg_bits(wkst, CORE_MOD, CM_ICLKEN1);
|
||||
cm_set_mod_reg_bits(wkst, CORE_MOD, CM_FCLKEN1);
|
||||
prm_write_mod_reg(wkst, CORE_MOD, PM_WKST1);
|
||||
while (prm_read_mod_reg(CORE_MOD, PM_WKST1))
|
||||
cpu_relax();
|
||||
cm_write_mod_reg(iclk, CORE_MOD, CM_ICLKEN1);
|
||||
cm_write_mod_reg(fclk, CORE_MOD, CM_FCLKEN1);
|
||||
}
|
||||
wkst = prm_read_mod_reg(CORE_MOD, OMAP3430ES2_PM_WKST3);
|
||||
if (wkst) {
|
||||
iclk = cm_read_mod_reg(CORE_MOD, CM_ICLKEN3);
|
||||
fclk = cm_read_mod_reg(CORE_MOD, OMAP3430ES2_CM_FCLKEN3);
|
||||
cm_set_mod_reg_bits(wkst, CORE_MOD, CM_ICLKEN3);
|
||||
cm_set_mod_reg_bits(wkst, CORE_MOD, OMAP3430ES2_CM_FCLKEN3);
|
||||
prm_write_mod_reg(wkst, CORE_MOD, OMAP3430ES2_PM_WKST3);
|
||||
while (prm_read_mod_reg(CORE_MOD, OMAP3430ES2_PM_WKST3))
|
||||
cpu_relax();
|
||||
cm_write_mod_reg(iclk, CORE_MOD, CM_ICLKEN3);
|
||||
cm_write_mod_reg(fclk, CORE_MOD, OMAP3430ES2_CM_FCLKEN3);
|
||||
}
|
||||
if (irqstatus_mpu & (OMAP3430_WKUP_ST | OMAP3430_IO_ST)) {
|
||||
c = _prcm_int_handle_wakeup();
|
||||
|
||||
/* PER */
|
||||
wkst = prm_read_mod_reg(OMAP3430_PER_MOD, PM_WKST);
|
||||
if (wkst) {
|
||||
iclk = cm_read_mod_reg(OMAP3430_PER_MOD, CM_ICLKEN);
|
||||
fclk = cm_read_mod_reg(OMAP3430_PER_MOD, CM_FCLKEN);
|
||||
cm_set_mod_reg_bits(wkst, OMAP3430_PER_MOD, CM_ICLKEN);
|
||||
cm_set_mod_reg_bits(wkst, OMAP3430_PER_MOD, CM_FCLKEN);
|
||||
prm_write_mod_reg(wkst, OMAP3430_PER_MOD, PM_WKST);
|
||||
while (prm_read_mod_reg(OMAP3430_PER_MOD, PM_WKST))
|
||||
cpu_relax();
|
||||
cm_write_mod_reg(iclk, OMAP3430_PER_MOD, CM_ICLKEN);
|
||||
cm_write_mod_reg(fclk, OMAP3430_PER_MOD, CM_FCLKEN);
|
||||
}
|
||||
|
||||
if (omap_rev() > OMAP3430_REV_ES1_0) {
|
||||
/* USBHOST */
|
||||
wkst = prm_read_mod_reg(OMAP3430ES2_USBHOST_MOD, PM_WKST);
|
||||
if (wkst) {
|
||||
iclk = cm_read_mod_reg(OMAP3430ES2_USBHOST_MOD,
|
||||
CM_ICLKEN);
|
||||
fclk = cm_read_mod_reg(OMAP3430ES2_USBHOST_MOD,
|
||||
CM_FCLKEN);
|
||||
cm_set_mod_reg_bits(wkst, OMAP3430ES2_USBHOST_MOD,
|
||||
CM_ICLKEN);
|
||||
cm_set_mod_reg_bits(wkst, OMAP3430ES2_USBHOST_MOD,
|
||||
CM_FCLKEN);
|
||||
prm_write_mod_reg(wkst, OMAP3430ES2_USBHOST_MOD,
|
||||
PM_WKST);
|
||||
while (prm_read_mod_reg(OMAP3430ES2_USBHOST_MOD,
|
||||
PM_WKST))
|
||||
cpu_relax();
|
||||
cm_write_mod_reg(iclk, OMAP3430ES2_USBHOST_MOD,
|
||||
CM_ICLKEN);
|
||||
cm_write_mod_reg(fclk, OMAP3430ES2_USBHOST_MOD,
|
||||
CM_FCLKEN);
|
||||
/*
|
||||
* Is the MPU PRCM interrupt handler racing with the
|
||||
* IVA2 PRCM interrupt handler ?
|
||||
*/
|
||||
WARN(c == 0, "prcm: WARNING: PRCM indicated MPU wakeup "
|
||||
"but no wakeup sources are marked\n");
|
||||
} else {
|
||||
/* XXX we need to expand our PRCM interrupt handler */
|
||||
WARN(1, "prcm: WARNING: PRCM interrupt received, but "
|
||||
"no code to handle it (%08x)\n", irqstatus_mpu);
|
||||
}
|
||||
}
|
||||
|
||||
irqstatus_mpu = prm_read_mod_reg(OCP_MOD,
|
||||
OMAP3_PRM_IRQSTATUS_MPU_OFFSET);
|
||||
prm_write_mod_reg(irqstatus_mpu, OCP_MOD,
|
||||
OMAP3_PRM_IRQSTATUS_MPU_OFFSET);
|
||||
prm_write_mod_reg(irqstatus_mpu, OCP_MOD,
|
||||
OMAP3_PRM_IRQSTATUS_MPU_OFFSET);
|
||||
|
||||
while (prm_read_mod_reg(OCP_MOD, OMAP3_PRM_IRQSTATUS_MPU_OFFSET))
|
||||
cpu_relax();
|
||||
} while (prm_read_mod_reg(OCP_MOD, OMAP3_PRM_IRQSTATUS_MPU_OFFSET));
|
||||
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
@ -624,6 +639,16 @@ static void __init prcm_setup_regs(void)
|
|||
prm_write_mod_reg(OMAP3430_IO_EN | OMAP3430_WKUP_EN,
|
||||
OCP_MOD, OMAP3_PRM_IRQENABLE_MPU_OFFSET);
|
||||
|
||||
/* Enable GPIO wakeups in PER */
|
||||
prm_write_mod_reg(OMAP3430_EN_GPIO2 | OMAP3430_EN_GPIO3 |
|
||||
OMAP3430_EN_GPIO4 | OMAP3430_EN_GPIO5 |
|
||||
OMAP3430_EN_GPIO6, OMAP3430_PER_MOD, PM_WKEN);
|
||||
/* and allow them to wake up MPU */
|
||||
prm_write_mod_reg(OMAP3430_GRPSEL_GPIO2 | OMAP3430_EN_GPIO3 |
|
||||
OMAP3430_GRPSEL_GPIO4 | OMAP3430_EN_GPIO5 |
|
||||
OMAP3430_GRPSEL_GPIO6,
|
||||
OMAP3430_PER_MOD, OMAP3430_PM_MPUGRPSEL);
|
||||
|
||||
/* Don't attach IVA interrupts */
|
||||
prm_write_mod_reg(0, WKUP_MOD, OMAP3430_PM_IVAGRPSEL);
|
||||
prm_write_mod_reg(0, CORE_MOD, OMAP3430_PM_IVAGRPSEL1);
|
||||
|
|
|
@ -273,35 +273,50 @@ struct powerdomain *pwrdm_lookup(const char *name)
|
|||
}
|
||||
|
||||
/**
|
||||
* pwrdm_for_each - call function on each registered clockdomain
|
||||
* pwrdm_for_each_nolock - call function on each registered clockdomain
|
||||
* @fn: callback function *
|
||||
*
|
||||
* Call the supplied function for each registered powerdomain. The
|
||||
* callback function can return anything but 0 to bail out early from
|
||||
* the iterator. The callback function is called with the pwrdm_rwlock
|
||||
* held for reading, so no powerdomain structure manipulation
|
||||
* functions should be called from the callback, although hardware
|
||||
* powerdomain control functions are fine. Returns the last return
|
||||
* value of the callback function, which should be 0 for success or
|
||||
* anything else to indicate failure; or -EINVAL if the function
|
||||
* pointer is null.
|
||||
* the iterator. Returns the last return value of the callback function, which
|
||||
* should be 0 for success or anything else to indicate failure; or -EINVAL if
|
||||
* the function pointer is null.
|
||||
*/
|
||||
int pwrdm_for_each(int (*fn)(struct powerdomain *pwrdm, void *user),
|
||||
void *user)
|
||||
int pwrdm_for_each_nolock(int (*fn)(struct powerdomain *pwrdm, void *user),
|
||||
void *user)
|
||||
{
|
||||
struct powerdomain *temp_pwrdm;
|
||||
unsigned long flags;
|
||||
int ret = 0;
|
||||
|
||||
if (!fn)
|
||||
return -EINVAL;
|
||||
|
||||
read_lock_irqsave(&pwrdm_rwlock, flags);
|
||||
list_for_each_entry(temp_pwrdm, &pwrdm_list, node) {
|
||||
ret = (*fn)(temp_pwrdm, user);
|
||||
if (ret)
|
||||
break;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* pwrdm_for_each - call function on each registered clockdomain
|
||||
* @fn: callback function *
|
||||
*
|
||||
* This function is the same as 'pwrdm_for_each_nolock()', but keeps the
|
||||
* &pwrdm_rwlock locked for reading, so no powerdomain structure manipulation
|
||||
* functions should be called from the callback, although hardware powerdomain
|
||||
* control functions are fine.
|
||||
*/
|
||||
int pwrdm_for_each(int (*fn)(struct powerdomain *pwrdm, void *user),
|
||||
void *user)
|
||||
{
|
||||
unsigned long flags;
|
||||
int ret;
|
||||
|
||||
read_lock_irqsave(&pwrdm_rwlock, flags);
|
||||
ret = pwrdm_for_each_nolock(fn, user);
|
||||
read_unlock_irqrestore(&pwrdm_rwlock, flags);
|
||||
|
||||
return ret;
|
||||
|
|
|
@ -155,7 +155,7 @@ MODULE_PARM_DESC(pxa255_turbo_table, "Selects the frequency table (0 = run table
|
|||
|
||||
static pxa_freqs_t pxa27x_freqs[] = {
|
||||
{104000, 104000, PXA27x_CCCR(1, 8, 2), 0, CCLKCFG2(1, 0, 1), 900000, 1705000 },
|
||||
{156000, 104000, PXA27x_CCCR(1, 8, 6), 0, CCLKCFG2(1, 1, 1), 1000000, 1705000 },
|
||||
{156000, 104000, PXA27x_CCCR(1, 8, 3), 0, CCLKCFG2(1, 0, 1), 1000000, 1705000 },
|
||||
{208000, 208000, PXA27x_CCCR(0, 16, 2), 1, CCLKCFG2(0, 0, 1), 1180000, 1705000 },
|
||||
{312000, 208000, PXA27x_CCCR(1, 16, 3), 1, CCLKCFG2(1, 0, 1), 1250000, 1705000 },
|
||||
{416000, 208000, PXA27x_CCCR(1, 16, 4), 1, CCLKCFG2(1, 0, 1), 1350000, 1705000 },
|
||||
|
|
|
@ -238,7 +238,7 @@ static struct resource csb726_lan_resources[] = {
|
|||
};
|
||||
|
||||
struct smsc911x_platform_config csb726_lan_config = {
|
||||
.irq_type = SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
|
||||
.irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
|
||||
.irq_type = SMSC911X_IRQ_TYPE_PUSH_PULL,
|
||||
.flags = SMSC911X_USE_32BIT,
|
||||
.phy_interface = PHY_INTERFACE_MODE_MII,
|
||||
|
|
|
@ -303,32 +303,21 @@ IS_OMAP_TYPE(3430, 0x3430)
|
|||
#define cpu_is_omap2430() 0
|
||||
#define cpu_is_omap3430() 0
|
||||
|
||||
#if defined(MULTI_OMAP1)
|
||||
# if defined(CONFIG_ARCH_OMAP730)
|
||||
# undef cpu_is_omap730
|
||||
# define cpu_is_omap730() is_omap730()
|
||||
# endif
|
||||
# if defined(CONFIG_ARCH_OMAP850)
|
||||
# undef cpu_is_omap850
|
||||
# define cpu_is_omap850() is_omap850()
|
||||
# endif
|
||||
#else
|
||||
# if defined(CONFIG_ARCH_OMAP730)
|
||||
# undef cpu_is_omap730
|
||||
# define cpu_is_omap730() 1
|
||||
# endif
|
||||
#endif
|
||||
#else
|
||||
# if defined(CONFIG_ARCH_OMAP850)
|
||||
# undef cpu_is_omap850
|
||||
# define cpu_is_omap850() 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Whether we have MULTI_OMAP1 or not, we still need to distinguish
|
||||
* between 330 vs. 1510 and 1611B/5912 vs. 1710.
|
||||
* between 730 vs 850, 330 vs. 1510 and 1611B/5912 vs. 1710.
|
||||
*/
|
||||
|
||||
#if defined(CONFIG_ARCH_OMAP730)
|
||||
# undef cpu_is_omap730
|
||||
# define cpu_is_omap730() is_omap730()
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_ARCH_OMAP850)
|
||||
# undef cpu_is_omap850
|
||||
# define cpu_is_omap850() is_omap850()
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_ARCH_OMAP15XX)
|
||||
# undef cpu_is_omap310
|
||||
# undef cpu_is_omap1510
|
||||
|
@ -433,3 +422,5 @@ IS_OMAP_TYPE(3430, 0x3430)
|
|||
|
||||
int omap_chip_is(struct omap_chip_id oci);
|
||||
void omap2_check_revision(void);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -135,6 +135,8 @@ struct powerdomain *pwrdm_lookup(const char *name);
|
|||
|
||||
int pwrdm_for_each(int (*fn)(struct powerdomain *pwrdm, void *user),
|
||||
void *user);
|
||||
int pwrdm_for_each_nolock(int (*fn)(struct powerdomain *pwrdm, void *user),
|
||||
void *user);
|
||||
|
||||
int pwrdm_add_clkdm(struct powerdomain *pwrdm, struct clockdomain *clkdm);
|
||||
int pwrdm_del_clkdm(struct powerdomain *pwrdm, struct clockdomain *clkdm);
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
* 'va': mpu virtual address
|
||||
*
|
||||
* 'c': contiguous memory area
|
||||
* 'd': dicontiguous memory area
|
||||
* 'd': discontiguous memory area
|
||||
* 'a': anonymous memory allocation
|
||||
* '()': optional feature
|
||||
*
|
||||
|
@ -363,8 +363,9 @@ void *da_to_va(struct iommu *obj, u32 da)
|
|||
goto out;
|
||||
}
|
||||
va = area->va;
|
||||
mutex_unlock(&obj->mmap_lock);
|
||||
out:
|
||||
mutex_unlock(&obj->mmap_lock);
|
||||
|
||||
return va;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(da_to_va);
|
||||
|
@ -398,7 +399,7 @@ static inline void sgtable_drain_vmalloc(struct sg_table *sgt)
|
|||
{
|
||||
/*
|
||||
* Actually this is not necessary at all, just exists for
|
||||
* consistency of the code readibility.
|
||||
* consistency of the code readability.
|
||||
*/
|
||||
BUG_ON(!sgt);
|
||||
}
|
||||
|
@ -434,7 +435,7 @@ static inline void sgtable_drain_kmalloc(struct sg_table *sgt)
|
|||
{
|
||||
/*
|
||||
* Actually this is not necessary at all, just exists for
|
||||
* consistency of the code readibility
|
||||
* consistency of the code readability
|
||||
*/
|
||||
BUG_ON(!sgt);
|
||||
}
|
||||
|
|
|
@ -270,7 +270,8 @@ void * omap_sram_push(void * start, unsigned long size)
|
|||
omap_sram_ceil -= size;
|
||||
omap_sram_ceil = ROUND_DOWN(omap_sram_ceil, sizeof(void *));
|
||||
memcpy((void *)omap_sram_ceil, start, size);
|
||||
flush_icache_range((unsigned long)start, (unsigned long)(start + size));
|
||||
flush_icache_range((unsigned long)omap_sram_ceil,
|
||||
(unsigned long)(omap_sram_ceil + size));
|
||||
|
||||
return (void *)omap_sram_ceil;
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/err.h>
|
||||
#include <linux/clk.h>
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
This BSD-Style License applies to a few files in ./arch/blackfin directory,
|
||||
and is included here, so people understand which code they can use outside
|
||||
the Linux kernel, in non-GPL based projects.
|
||||
|
||||
Using the files released under the "ADI BSD" license, must comply with
|
||||
these license terms.
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
Copyright Analog Devices, Inc.
|
||||
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in
|
||||
the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
- Neither the name of Analog Devices, Inc. nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
- The use of this software may or may not infringe the patent rights
|
||||
of one or more patent holders. This license does not release you
|
||||
from the requirement that you obtain separate licenses from these
|
||||
patent holders to use this software.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT,
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
BUT NOT LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
|
|
@ -47,6 +47,9 @@ config GENERIC_HARDIRQS
|
|||
config GENERIC_IRQ_PROBE
|
||||
def_bool y
|
||||
|
||||
config GENERIC_HARDIRQS_NO__DO_IRQ
|
||||
def_bool y
|
||||
|
||||
config GENERIC_GPIO
|
||||
def_bool y
|
||||
|
||||
|
@ -229,7 +232,7 @@ endchoice
|
|||
|
||||
config SMP
|
||||
depends on BF561
|
||||
select GENERIC_TIME
|
||||
select GENERIC_CLOCKEVENTS
|
||||
bool "Symmetric multi-processing support"
|
||||
---help---
|
||||
This enables support for systems with more than one CPU,
|
||||
|
@ -613,12 +616,10 @@ comment "Kernel Timer/Scheduler"
|
|||
source kernel/Kconfig.hz
|
||||
|
||||
config GENERIC_TIME
|
||||
bool "Generic time"
|
||||
default y
|
||||
def_bool y
|
||||
|
||||
config GENERIC_CLOCKEVENTS
|
||||
bool "Generic clock events"
|
||||
depends on GENERIC_TIME
|
||||
default y
|
||||
|
||||
choice
|
||||
|
@ -653,6 +654,10 @@ config GPTMR0_CLOCKSOURCE
|
|||
depends on GENERIC_CLOCKEVENTS
|
||||
depends on !TICKSOURCE_GPTMR0
|
||||
|
||||
config ARCH_USES_GETTIMEOFFSET
|
||||
depends on !GENERIC_CLOCKEVENTS
|
||||
def_bool y
|
||||
|
||||
source kernel/time/Kconfig
|
||||
|
||||
comment "Misc"
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef __ARCH_BLACKFIN_ATOMIC__
|
||||
#define __ARCH_BLACKFIN_ATOMIC__
|
||||
|
||||
|
|
|
@ -1,29 +1,9 @@
|
|||
/*
|
||||
* File: include/asm-blackfin/bfin-global.h
|
||||
* Based on:
|
||||
* Author: *
|
||||
* Created:
|
||||
* Description: Global extern defines for blackfin
|
||||
* Global extern defines for blackfin
|
||||
*
|
||||
* Modified:
|
||||
* Copyright 2004-2006 Analog Devices Inc.
|
||||
* Copyright 2006-2009 Analog Devices Inc.
|
||||
*
|
||||
* Bugs: Enter bugs at http://blackfin.uclinux.org/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see the file COPYING, or write
|
||||
* to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _BFIN_GLOBAL_H_
|
||||
|
|
|
@ -3,8 +3,6 @@
|
|||
*
|
||||
* Copyright 2004-2008 Analog Devices Inc.
|
||||
*
|
||||
* Enter bugs at http://blackfin.uclinux.org/
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
/*
|
||||
* board initialization should put one of these structures into platform_data
|
||||
* and place the bfin-rotary onto platform_bus named "bfin-rotary".
|
||||
*
|
||||
* Copyright 2008 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _BFIN_ROTARY_H
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2006-2008 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _bfin_simple_timer_h_
|
||||
#define _bfin_simple_timer_h_
|
||||
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _BLACKFIN_BITOPS_H
|
||||
#define _BLACKFIN_BITOPS_H
|
||||
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
/*
|
||||
* Common header file for blackfin family of processors.
|
||||
* Common header file for Blackfin family of processors.
|
||||
*
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _BLACKFIN_H_
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _BLACKFIN_BUG_H
|
||||
#define _BLACKFIN_BUG_H
|
||||
|
||||
|
|
|
@ -1,6 +1 @@
|
|||
#ifndef _BLACKFIN_BYTEORDER_H
|
||||
#define _BLACKFIN_BYTEORDER_H
|
||||
|
||||
#include <linux/byteorder/little_endian.h>
|
||||
|
||||
#endif /* _BLACKFIN_BYTEORDER_H */
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
/*
|
||||
* include/asm-blackfin/cache.h
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef __ARCH_BLACKFIN_CACHE_H
|
||||
#define __ARCH_BLACKFIN_CACHE_H
|
||||
|
||||
|
@ -35,10 +38,10 @@
|
|||
|
||||
#if defined(CONFIG_SMP) && \
|
||||
!defined(CONFIG_BFIN_CACHE_COHERENT)
|
||||
# if defined(CONFIG_BFIN_ICACHEABLE) || defined(CONFIG_BFIN_L2_ICACHEABLE)
|
||||
# if defined(CONFIG_BFIN_EXTMEM_ICACHEABLE) || defined(CONFIG_BFIN_L2_ICACHEABLE)
|
||||
# define __ARCH_SYNC_CORE_ICACHE
|
||||
# endif
|
||||
# if defined(CONFIG_BFIN_DCACHEABLE) || defined(CONFIG_BFIN_L2_DCACHEABLE)
|
||||
# if defined(CONFIG_BFIN_EXTMEM_DCACHEABLE) || defined(CONFIG_BFIN_L2_DCACHEABLE)
|
||||
# define __ARCH_SYNC_CORE_DCACHE
|
||||
# endif
|
||||
#ifndef __ASSEMBLY__
|
||||
|
|
|
@ -1,30 +1,9 @@
|
|||
/*
|
||||
* File: include/asm-blackfin/cacheflush.h
|
||||
* Based on: include/asm-m68knommu/cacheflush.h
|
||||
* Author: LG Soft India
|
||||
* Copyright (C) 2004 Analog Devices Inc.
|
||||
* Created: Tue Sep 21 2004
|
||||
* Description: Blackfin low-level cache routines adapted from the i386
|
||||
* and PPC versions by Greg Ungerer (gerg@snapgear.com)
|
||||
* Blackfin low-level cache routines
|
||||
*
|
||||
* Modified:
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Bugs: Enter bugs at http://blackfin.uclinux.org/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; see the file COPYING.
|
||||
* If not, write to the Free Software Foundation,
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _BLACKFIN_CACHEFLUSH_H
|
||||
|
|
|
@ -1,30 +1,8 @@
|
|||
/*
|
||||
* File: include/asm-blackfin/mach-common/cdef_LPBlackfin.h
|
||||
* Based on:
|
||||
* Author: unknown
|
||||
* COPYRIGHT 2005 Analog Devices
|
||||
* Created: ?
|
||||
* Description:
|
||||
*
|
||||
* Modified:
|
||||
*
|
||||
* Bugs: Enter bugs at http://blackfin.uclinux.org/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; see the file COPYING.
|
||||
* If not, write to the Free Software Foundation,
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
/*
|
||||
* Copyright 2005-2008 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _CDEF_LPBLACKFIN_H
|
||||
#define _CDEF_LPBLACKFIN_H
|
||||
|
|
|
@ -1,9 +1,14 @@
|
|||
/*
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
* akbar.hussain@lineo.com
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _BFIN_CHECKSUM_H
|
||||
#define _BFIN_CHECKSUM_H
|
||||
|
||||
/*
|
||||
* MODIFIED FOR BFIN April 30, 2001 akbar.hussain@lineo.com
|
||||
*
|
||||
* computes the checksum of a memory block at buff, length len,
|
||||
* and adds in "sum" (32-bit)
|
||||
*
|
||||
|
|
|
@ -1,30 +1,9 @@
|
|||
/*
|
||||
* File: include/asm-blackfin/mach-common/clocks.h
|
||||
* Based on: include/asm-blackfin/mach-bf537/bf537.h
|
||||
* Author: Robin Getz <rgetz@blackfin.uclinux.org>
|
||||
* Common Clock definitions for various kernel files
|
||||
*
|
||||
* Created: 25Jul07
|
||||
* Description: Common Clock definitions for various kernel files
|
||||
* Copyright 2007-2008 Analog Devices Inc.
|
||||
*
|
||||
* Modified:
|
||||
* Copyright 2004-2007 Analog Devices Inc.
|
||||
*
|
||||
* Bugs: Enter bugs at http://blackfin.uclinux.org/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see the file COPYING, or write
|
||||
* to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _BFIN_CLOCKS_H
|
||||
|
|
|
@ -1,30 +1,7 @@
|
|||
/*
|
||||
* File: arch/blackfin/kernel/context.S
|
||||
* Based on:
|
||||
* Author:
|
||||
* Copyright 2007-2009 Analog Devices Inc.
|
||||
*
|
||||
* Created:
|
||||
* Description:
|
||||
*
|
||||
* Modified:
|
||||
* Copyright 2004-2007 Analog Devices Inc.
|
||||
*
|
||||
* Bugs: Enter bugs at http://blackfin.uclinux.org/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see the file COPYING, or write
|
||||
* to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,30 +1,7 @@
|
|||
/*
|
||||
* File: include/asm-blackfin/cplb.h
|
||||
* Based on: include/asm-blackfin/mach-bf537/bf537.h
|
||||
* Author: Robin Getz <rgetz@blackfin.uclinux.org>
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Created: 2000
|
||||
* Description: Common CPLB definitions for CPLB init
|
||||
*
|
||||
* Modified:
|
||||
* Copyright 2004-2007 Analog Devices Inc.
|
||||
*
|
||||
* Bugs: Enter bugs at http://blackfin.uclinux.org/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see the file COPYING, or write
|
||||
* to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _CPLB_H
|
||||
|
|
|
@ -1,30 +1,9 @@
|
|||
/*
|
||||
* File: include/asm-blackfin/cplbinit.h
|
||||
* Based on:
|
||||
* Author:
|
||||
* Common CPLB definitions for CPLB init
|
||||
*
|
||||
* Created:
|
||||
* Description:
|
||||
* Copyright 2006-2008 Analog Devices Inc.
|
||||
*
|
||||
* Modified:
|
||||
* Copyright 2004-2006 Analog Devices Inc.
|
||||
*
|
||||
* Bugs: Enter bugs at http://blackfin.uclinux.org/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see the file COPYING, or write
|
||||
* to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef __ASM_CPLBINIT_H__
|
||||
|
|
|
@ -1,23 +1,8 @@
|
|||
/*
|
||||
* File: arch/blackfin/include/asm/cpu.h.
|
||||
* Author: Philippe Gerum <rpm@xenomai.org>
|
||||
* Copyright 2007-2009 Analog Devices Inc.
|
||||
* Philippe Gerum <rpm@xenomai.org>
|
||||
*
|
||||
* Copyright 2007 Analog Devices Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see the file COPYING, or write
|
||||
* to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef __ASM_BLACKFIN_CPU_H
|
||||
|
|
|
@ -1,32 +1,10 @@
|
|||
/*
|
||||
* File: include/asm-blackfin/mach-common/def_LPBlackfin.h
|
||||
* Based on:
|
||||
* Author: unknown
|
||||
* COPYRIGHT 2005 Analog Devices
|
||||
* Created: ?
|
||||
* Description:
|
||||
*
|
||||
* Modified:
|
||||
*
|
||||
* Bugs: Enter bugs at http://blackfin.uclinux.org/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; see the file COPYING.
|
||||
* If not, write to the Free Software Foundation,
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/* LP Blackfin CORE REGISTER BIT & ADDRESS DEFINITIONS FOR ADSP-BF532/33 */
|
||||
/*
|
||||
* Blackfin core register bit & address definitions
|
||||
*
|
||||
* Copyright 2005-2008 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the ADI BSD license or GPL-2 (or later).
|
||||
*/
|
||||
|
||||
#ifndef _DEF_LPBLACKFIN_H
|
||||
#define _DEF_LPBLACKFIN_H
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _BLACKFIN_DMA_MAPPING_H
|
||||
#define _BLACKFIN_DMA_MAPPING_H
|
||||
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
/*
|
||||
* include/asm-blackfin/dpmc.h - Miscellaneous IOCTL commands for Dynamic Power
|
||||
* Management Controller Driver.
|
||||
* Miscellaneous IOCTL commands for Dynamic Power Management Controller Driver
|
||||
*
|
||||
* Copyright (C) 2004-2008 Analog Device Inc.
|
||||
*
|
||||
* Licensed under the GPL-2
|
||||
*/
|
||||
|
||||
#ifndef _BLACKFIN_DPMC_H_
|
||||
#define _BLACKFIN_DPMC_H_
|
||||
|
||||
|
|
|
@ -1,27 +1,11 @@
|
|||
/*
|
||||
* File: include/asm-blackfin/early_printk.h
|
||||
* Author: Robin Getz <rgetz@blackfin.uclinux.org
|
||||
* function prototpyes for early printk
|
||||
*
|
||||
* Created: 14Aug2007
|
||||
* Description: function prototpyes for early printk
|
||||
* Copyright 2007-2009 Analog Devices Inc.
|
||||
*
|
||||
* Modified:
|
||||
* Copyright 2004-2007 Analog Devices Inc.
|
||||
*
|
||||
* Bugs: Enter bugs at http://blackfin.uclinux.org/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __ASM_EARLY_PRINTK_H__
|
||||
#define __ASM_EARLY_PRINTK_H__
|
||||
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
/* Changes made by LG Soft Oct 2004*/
|
||||
/*
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef __ASMBFIN_ELF_H
|
||||
#define __ASMBFIN_ELF_H
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef __BFIN_ENTRY_H
|
||||
#define __BFIN_ENTRY_H
|
||||
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2004-2008 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _BFIN_FCNTL_H
|
||||
#define _BFIN_FCNTL_H
|
||||
|
||||
|
|
|
@ -1,5 +1,11 @@
|
|||
/* This file defines the fixed addresses where userspace programs can find
|
||||
atomic code sequences. */
|
||||
/*
|
||||
* This file defines the fixed addresses where userspace programs
|
||||
* can find atomic code sequences.
|
||||
*
|
||||
* Copyright 2007-2008 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef __BFIN_ASM_FIXED_CODE_H__
|
||||
#define __BFIN_ASM_FIXED_CODE_H__
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
/*
|
||||
* include/asm-blackfin/flat.h -- uClinux flat-format executables
|
||||
* uClinux flat-format executables
|
||||
*
|
||||
* Copyright (C) 2003,
|
||||
* Copyright 2003-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2
|
||||
*/
|
||||
|
||||
#ifndef __BLACKFIN_FLAT_H__
|
||||
|
|
|
@ -1,30 +1,7 @@
|
|||
/*
|
||||
* File: arch/blackfin/kernel/bfin_gpio.h
|
||||
* Based on:
|
||||
* Author: Michael Hennerich (hennerich@blackfin.uclinux.org)
|
||||
* Copyright 2006-2009 Analog Devices Inc.
|
||||
*
|
||||
* Created:
|
||||
* Description:
|
||||
*
|
||||
* Modified:
|
||||
* Copyright 2004-2008 Analog Devices Inc.
|
||||
*
|
||||
* Bugs: Enter bugs at http://blackfin.uclinux.org/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see the file COPYING, or write
|
||||
* to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef __ARCH_BLACKFIN_GPIO_H__
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef __BFIN_HARDIRQ_H
|
||||
#define __BFIN_HARDIRQ_H
|
||||
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _BFIN_IO_H
|
||||
#define _BFIN_IO_H
|
||||
|
||||
|
|
|
@ -1,17 +1,10 @@
|
|||
/*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file COPYING in the main directory of this archive
|
||||
* for more details.
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
* 2003 HuTao
|
||||
* 2002 Arcturus Networks Inc. (www.arcturusnetworks.com
|
||||
* Ted Ma <mated@sympatico.ca>
|
||||
*
|
||||
* Changed by HuTao Apr18, 2003
|
||||
*
|
||||
* Copyright was missing when I got the code so took from MIPS arch ...MaTed---
|
||||
* Copyright (C) 1994 by Waldorf GMBH, written by Ralf Baechle
|
||||
* Copyright (C) 1995, 96, 97, 98, 99, 2000, 2001 by Ralf Baechle
|
||||
*
|
||||
* Adapted for BlackFin (ADI) by Ted Ma <mated@sympatico.ca>
|
||||
* Copyright (c) 2002 Arcturus Networks Inc. (www.arcturusnetworks.com)
|
||||
* Copyright (c) 2002 Lineo, Inc. <mattw@lineo.com>
|
||||
* Licensed under the GPL-2
|
||||
*/
|
||||
|
||||
#ifndef _BFIN_IRQ_H_
|
||||
|
@ -19,6 +12,8 @@
|
|||
|
||||
#include <linux/irqflags.h>
|
||||
|
||||
#include <mach/anomaly.h>
|
||||
|
||||
/* SYS_IRQS and NR_IRQS are defined in <mach-bf5xx/irq.h> */
|
||||
#include <mach/irq.h>
|
||||
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2007-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _IRQ_HANDLER_H
|
||||
#define _IRQ_HANDLER_H
|
||||
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
/*
|
||||
* l1layout.h
|
||||
* Defines a layout of L1 scratchpad memory that userspace can rely on.
|
||||
*
|
||||
* Copyright 2006-2008 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _L1LAYOUT_H_
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef __ASM_LINKAGE_H
|
||||
#define __ASM_LINKAGE_H
|
||||
|
||||
|
|
|
@ -1,8 +1,13 @@
|
|||
/*
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
* 2002 David McCullough <davidm@snapgear.com>
|
||||
*
|
||||
* Licensed under the GPL-2.
|
||||
*/
|
||||
|
||||
#ifndef __MMU_H
|
||||
#define __MMU_H
|
||||
|
||||
/* Copyright (C) 2002, David McCullough <davidm@snapgear.com> */
|
||||
|
||||
struct sram_list_struct {
|
||||
struct sram_list_struct *next;
|
||||
void *addr;
|
||||
|
|
|
@ -1,30 +1,7 @@
|
|||
/*
|
||||
* File: include/asm-blackfin/mmu_context.h
|
||||
* Based on:
|
||||
* Author:
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Created:
|
||||
* Description:
|
||||
*
|
||||
* Modified:
|
||||
* Copyright 2004-2006 Analog Devices Inc.
|
||||
*
|
||||
* Bugs: Enter bugs at http://blackfin.uclinux.org/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see the file COPYING, or write
|
||||
* to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef __BLACKFIN_MMU_CONTEXT_H__
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2004-2008 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _ASM_BFIN_MODULE_H
|
||||
#define _ASM_BFIN_MODULE_H
|
||||
|
||||
|
|
|
@ -4,6 +4,10 @@
|
|||
* TODO: implement optimized primitives instead, or leave the generic
|
||||
* implementation in place, or pick the atomic_xchg() based generic
|
||||
* implementation. (see asm-generic/mutex-xchg.h for details)
|
||||
*
|
||||
* Copyright 2006-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _ASM_MUTEX_H
|
||||
|
|
|
@ -1,13 +1,9 @@
|
|||
/* linux/include/asm-blackfin/nand.h
|
||||
*
|
||||
* Copyright (c) 2007 Analog Devices, Inc.
|
||||
* Bryan Wu <bryan.wu@analog.com>
|
||||
*
|
||||
/*
|
||||
* BF5XX - NAND flash controller platfrom_device info
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
* Copyright 2007-2008 Analog Devices, Inc.
|
||||
*
|
||||
* Licensed under the GPL-2
|
||||
*/
|
||||
|
||||
/* struct bf5xx_nand_platform
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _BLACKFIN_PAGE_H
|
||||
#define _BLACKFIN_PAGE_H
|
||||
|
||||
|
|
|
@ -1,5 +1,10 @@
|
|||
|
||||
/* This handles the memory map.. */
|
||||
/*
|
||||
* This handles the memory map
|
||||
*
|
||||
* Copyright 2004-2008 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifdef CONFIG_BLACKFIN
|
||||
#define PAGE_OFFSET_RAW 0x00000000
|
||||
|
|
|
@ -1,23 +1,8 @@
|
|||
/*
|
||||
* File: arch/blackfin/include/asm/pda.h
|
||||
* Author: Philippe Gerum <rpm@xenomai.org>
|
||||
* Copyright 2007-2009 Analog Devices Inc.
|
||||
* Philippe Gerum <rpm@xenomai.org>
|
||||
*
|
||||
* Copyright 2007 Analog Devices Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see the file COPYING, or write
|
||||
* to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _ASM_BLACKFIN_PDA_H
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _BLACKFIN_PGTABLE_H
|
||||
#define _BLACKFIN_PGTABLE_H
|
||||
|
||||
|
@ -92,6 +98,12 @@ extern unsigned int kobjsize(const void *objp);
|
|||
#define VMALLOC_START 0
|
||||
#define VMALLOC_END 0xffffffff
|
||||
|
||||
/* provide a special get_unmapped_area for framebuffer mmaps of nommu */
|
||||
extern unsigned long get_fb_unmapped_area(struct file *filp, unsigned long,
|
||||
unsigned long, unsigned long,
|
||||
unsigned long);
|
||||
#define HAVE_ARCH_FB_UNMAPPED_AREA
|
||||
|
||||
#include <asm-generic/pgtable.h>
|
||||
|
||||
#endif /* _BLACKFIN_PGTABLE_H */
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
/*
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __BFIN_POLL_H
|
||||
#define __BFIN_POLL_H
|
||||
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
/*
|
||||
* Common header file for blackfin family of processors.
|
||||
* Common header file for Blackfin family of processors
|
||||
*
|
||||
* Copyright 2007-2008 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _PORTMUX_H_
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef __ARCH_BFIN_POSIX_TYPES_H
|
||||
#define __ARCH_BFIN_POSIX_TYPES_H
|
||||
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef __ASM_BFIN_PROCESSOR_H
|
||||
#define __ASM_BFIN_PROCESSOR_H
|
||||
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2004-2008 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _BFIN_PTRACE_H
|
||||
#define _BFIN_PTRACE_H
|
||||
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _BLACKFIN_SECTIONS_H
|
||||
#define _BLACKFIN_SECTIONS_H
|
||||
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2004-2008 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _BFIN_SEGMENT_H
|
||||
#define _BFIN_SEGMENT_H
|
||||
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2004-2008 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _ASM_BLACKFIN_SIGCONTEXT_H
|
||||
#define _ASM_BLACKFIN_SIGCONTEXT_H
|
||||
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2004-2008 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _BFIN_SIGINFO_H
|
||||
#define _BFIN_SIGINFO_H
|
||||
|
||||
|
|
|
@ -1,23 +1,8 @@
|
|||
/*
|
||||
* File: arch/blackfin/include/asm/smp.h
|
||||
* Author: Philippe Gerum <rpm@xenomai.org>
|
||||
* Copyright 2007-2009 Analog Devices Inc.
|
||||
* Philippe Gerum <rpm@xenomai.org>
|
||||
*
|
||||
* Copyright 2007 Analog Devices Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see the file COPYING, or write
|
||||
* to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef __ASM_BLACKFIN_SMP_H
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef __BFIN_SPINLOCK_H
|
||||
#define __BFIN_SPINLOCK_H
|
||||
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2008 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef __ASM_SPINLOCK_TYPES_H
|
||||
#define __ASM_SPINLOCK_TYPES_H
|
||||
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2004-2006 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2.
|
||||
*/
|
||||
|
||||
#ifndef _BFIN_STAT_H
|
||||
#define _BFIN_STAT_H
|
||||
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2004-2008 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _BLACKFIN_STRING_H_
|
||||
#define _BLACKFIN_STRING_H_
|
||||
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _BLACKFIN_SWAB_H
|
||||
#define _BLACKFIN_SWAB_H
|
||||
|
||||
|
|
|
@ -1,34 +1,8 @@
|
|||
/*
|
||||
* File: include/asm/system.h
|
||||
* Based on:
|
||||
* Author: Tony Kou (tonyko@lineo.ca)
|
||||
* Copyright (c) 2002 Arcturus Networks Inc.
|
||||
* (www.arcturusnetworks.com)
|
||||
* Copyright (c) 2003 Metrowerks (www.metrowerks.com)
|
||||
* Copyright (c) 2004 Analog Device Inc.
|
||||
* Created: 25Jan2001 - Tony Kou
|
||||
* Description: system.h include file
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
* Tony Kou (tonyko@lineo.ca)
|
||||
*
|
||||
* Modified: 22Sep2006 - Robin Getz
|
||||
* - move include blackfin.h down, so I can get access to
|
||||
* irq functions in other include files.
|
||||
*
|
||||
* Bugs: Enter bugs at http://blackfin.uclinux.org/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; see the file COPYING.
|
||||
* If not, write to the Free Software Foundation,
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
* Licensed under the GPL-2 or later
|
||||
*/
|
||||
|
||||
#ifndef _BLACKFIN_SYSTEM_H
|
||||
|
|
|
@ -1,27 +1,7 @@
|
|||
/*
|
||||
* File: include/asm-blackfin/thread_info.h
|
||||
* Based on: include/asm-m68knommu/thread_info.h
|
||||
* Author: LG Soft India
|
||||
* Copyright (C) 2004-2005 Analog Devices Inc.
|
||||
* Created: Tue Sep 21 2004
|
||||
* Description: Blackfin low-level thread information
|
||||
* Modified:
|
||||
* Bugs: Enter bugs at http://blackfin.uclinux.org/
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; see the file COPYING.
|
||||
* If not, write to the Free Software Foundation,
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _ASM_THREAD_INFO_H
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2004-2008 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _BLACKFIN_TLB_H
|
||||
#define _BLACKFIN_TLB_H
|
||||
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
/*
|
||||
* Common header file for blackfin family of processors.
|
||||
* header file for hardware trace functions
|
||||
*
|
||||
* Copyright 2007-2008 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _BLACKFIN_TRACE_
|
||||
|
|
|
@ -1,13 +1,10 @@
|
|||
/*
|
||||
* linux/include/asm/traps.h
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
* 2001 Lineo, Inc
|
||||
* Tony Kou
|
||||
* 1993 Hamish Macdonald
|
||||
*
|
||||
* Copyright (C) 1993 Hamish Macdonald
|
||||
*
|
||||
* Lineo, Inc Jul 2001 Tony Kou
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file COPYING in the main directory of this archive
|
||||
* for more details.
|
||||
* Licensed under the GPL-2
|
||||
*/
|
||||
|
||||
#ifndef _BFIN_TRAPS_H
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
/* Changes made by Lineo Inc. May 2001
|
||||
/*
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*
|
||||
* Based on: include/asm-m68knommu/uaccess.h
|
||||
*/
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef __ASM_BFIN_UNISTD_H
|
||||
#define __ASM_BFIN_UNISTD_H
|
||||
/*
|
||||
|
|
|
@ -1,30 +1,9 @@
|
|||
/*
|
||||
* File: arch/blackfin/kernel/asm-offsets.c
|
||||
* Based on:
|
||||
* Author:
|
||||
* generate definitions needed by assembly language modules
|
||||
*
|
||||
* Created:
|
||||
* Description: generate definitions needed by assembly language modules.
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Modified:
|
||||
* Copyright 2004-2006 Analog Devices Inc.
|
||||
*
|
||||
* Bugs: Enter bugs at http://blackfin.uclinux.org/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see the file COPYING, or write
|
||||
* to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
* Licensed under the GPL-2 or later
|
||||
*/
|
||||
|
||||
#include <linux/stddef.h>
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
* bfin_dma_5xx.c - Blackfin DMA implementation
|
||||
*
|
||||
* Copyright 2004-2008 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
|
|
|
@ -1,30 +1,9 @@
|
|||
/*
|
||||
* File: arch/blackfin/kernel/bfin_gpio.c
|
||||
* Based on:
|
||||
* Author: Michael Hennerich (hennerich@blackfin.uclinux.org)
|
||||
* GPIO Abstraction Layer
|
||||
*
|
||||
* Created:
|
||||
* Description: GPIO Abstraction Layer
|
||||
* Copyright 2006-2009 Analog Devices Inc.
|
||||
*
|
||||
* Modified:
|
||||
* Copyright 2008 Analog Devices Inc.
|
||||
*
|
||||
* Bugs: Enter bugs at http://blackfin.uclinux.org/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see the file COPYING, or write
|
||||
* to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
* Licensed under the GPL-2 or later
|
||||
*/
|
||||
|
||||
#include <linux/delay.h>
|
||||
|
|
|
@ -1,25 +1,11 @@
|
|||
/*
|
||||
* Blackfin CPLB initialization
|
||||
*
|
||||
* Copyright 2004-2007 Analog Devices Inc.
|
||||
* Copyright 2008-2009 Analog Devices Inc.
|
||||
*
|
||||
* Bugs: Enter bugs at http://blackfin.uclinux.org/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see the file COPYING, or write
|
||||
* to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#include <linux/module.h>
|
||||
|
||||
#include <asm/blackfin.h>
|
||||
|
|
|
@ -1,22 +1,11 @@
|
|||
/*
|
||||
* Blackfin CPLB exception handling.
|
||||
* Copyright 2004-2007 Analog Devices Inc.
|
||||
* Blackfin CPLB exception handling for when MPU in on
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
* Copyright 2008-2009 Analog Devices Inc.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see the file COPYING, or write
|
||||
* to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <linux/mm.h>
|
||||
|
||||
|
|
|
@ -1,24 +1,9 @@
|
|||
/*
|
||||
* Blackfin CPLB initialization
|
||||
*
|
||||
* Copyright 2004-2007 Analog Devices Inc.
|
||||
* Copyright 2007-2009 Analog Devices Inc.
|
||||
*
|
||||
* Bugs: Enter bugs at http://blackfin.uclinux.org/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see the file COPYING, or write
|
||||
* to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#include <linux/module.h>
|
||||
|
|
|
@ -1,26 +1,14 @@
|
|||
/*
|
||||
* File: arch/blackfin/kernel/cplb-nompu-c/cplbmgr.c
|
||||
* Based on: arch/blackfin/kernel/cplb-mpu/cplbmgr.c
|
||||
* Author: Michael McTernan <mmcternan@airvana.com>
|
||||
*
|
||||
* Created: 01Nov2008
|
||||
* Description: CPLB miss handler.
|
||||
*
|
||||
* Modified:
|
||||
* Copyright 2008 Airvana Inc.
|
||||
* Copyright 2004-2007 Analog Devices Inc.
|
||||
* Copyright 2008-2009 Analog Devices Inc.
|
||||
*
|
||||
* Bugs: Enter bugs at http://blackfin.uclinux.org/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
* Licensed under the GPL-2 or later
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue