Merge master.kernel.org:/home/rmk/linux-2.6-arm
This commit is contained in:
@@ -40,6 +40,7 @@
|
||||
#include <linux/proc_fs.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/mutex.h>
|
||||
|
||||
#include <asm/dma.h>
|
||||
#include <asm/ecard.h>
|
||||
@@ -206,7 +207,7 @@ static void ecard_task_readbytes(struct ecard_request *req)
|
||||
|
||||
static DECLARE_WAIT_QUEUE_HEAD(ecard_wait);
|
||||
static struct ecard_request *ecard_req;
|
||||
static DECLARE_MUTEX(ecard_sem);
|
||||
static DEFINE_MUTEX(ecard_mutex);
|
||||
|
||||
/*
|
||||
* Set up the expansion card daemon's page tables.
|
||||
@@ -299,7 +300,7 @@ static void ecard_call(struct ecard_request *req)
|
||||
|
||||
req->complete = &completion;
|
||||
|
||||
down(&ecard_sem);
|
||||
mutex_lock(&ecard_mutex);
|
||||
ecard_req = req;
|
||||
wake_up(&ecard_wait);
|
||||
|
||||
@@ -307,7 +308,7 @@ static void ecard_call(struct ecard_request *req)
|
||||
* Now wait for kecardd to run.
|
||||
*/
|
||||
wait_for_completion(&completion);
|
||||
up(&ecard_sem);
|
||||
mutex_unlock(&ecard_mutex);
|
||||
}
|
||||
|
||||
/* ======================= Mid-level card control ===================== */
|
||||
|
@@ -101,7 +101,7 @@ void __attribute__((naked)) set_fiq_regs(struct pt_regs *regs)
|
||||
ldmia %1, {r8 - r14}\n\
|
||||
msr cpsr_c, %0 @ return to SVC mode\n\
|
||||
mov r0, r0\n\
|
||||
ldmea fp, {fp, sp, pc}"
|
||||
ldmfd sp, {fp, sp, pc}"
|
||||
: "=&r" (tmp)
|
||||
: "r" (®s->ARM_r8), "I" (PSR_I_BIT | PSR_F_BIT | FIQ_MODE));
|
||||
}
|
||||
@@ -119,7 +119,7 @@ void __attribute__((naked)) get_fiq_regs(struct pt_regs *regs)
|
||||
stmia %1, {r8 - r14}\n\
|
||||
msr cpsr_c, %0 @ return to SVC mode\n\
|
||||
mov r0, r0\n\
|
||||
ldmea fp, {fp, sp, pc}"
|
||||
ldmfd sp, {fp, sp, pc}"
|
||||
: "=&r" (tmp)
|
||||
: "r" (®s->ARM_r8), "I" (PSR_I_BIT | PSR_F_BIT | FIQ_MODE));
|
||||
}
|
||||
|
@@ -205,7 +205,7 @@ static const char *proc_arch[] = {
|
||||
"5TE",
|
||||
"5TEJ",
|
||||
"6TEJ",
|
||||
"?(10)",
|
||||
"7",
|
||||
"?(11)",
|
||||
"?(12)",
|
||||
"?(13)",
|
||||
@@ -258,14 +258,17 @@ int cpu_architecture(void)
|
||||
{
|
||||
int cpu_arch;
|
||||
|
||||
if ((processor_id & 0x0000f000) == 0) {
|
||||
if ((processor_id & 0x0008f000) == 0) {
|
||||
cpu_arch = CPU_ARCH_UNKNOWN;
|
||||
} else if ((processor_id & 0x0000f000) == 0x00007000) {
|
||||
} else if ((processor_id & 0x0008f000) == 0x00007000) {
|
||||
cpu_arch = (processor_id & (1 << 23)) ? CPU_ARCH_ARMv4T : CPU_ARCH_ARMv3;
|
||||
} else {
|
||||
} else if ((processor_id & 0x00080000) == 0x00000000) {
|
||||
cpu_arch = (processor_id >> 16) & 7;
|
||||
if (cpu_arch)
|
||||
cpu_arch += CPU_ARCH_ARMv3;
|
||||
} else {
|
||||
/* the revised CPUID */
|
||||
cpu_arch = ((processor_id >> 12) & 0xf) - 0xb + CPU_ARCH_ARMv6;
|
||||
}
|
||||
|
||||
return cpu_arch;
|
||||
@@ -863,11 +866,11 @@ static int c_show(struct seq_file *m, void *v)
|
||||
seq_printf(m, "\nCPU implementer\t: 0x%02x\n", processor_id >> 24);
|
||||
seq_printf(m, "CPU architecture: %s\n", proc_arch[cpu_architecture()]);
|
||||
|
||||
if ((processor_id & 0x0000f000) == 0x00000000) {
|
||||
if ((processor_id & 0x0008f000) == 0x00000000) {
|
||||
/* pre-ARM7 */
|
||||
seq_printf(m, "CPU part\t\t: %07x\n", processor_id >> 4);
|
||||
} else {
|
||||
if ((processor_id & 0x0000f000) == 0x00007000) {
|
||||
if ((processor_id & 0x0008f000) == 0x00007000) {
|
||||
/* ARM7 */
|
||||
seq_printf(m, "CPU variant\t: 0x%02x\n",
|
||||
(processor_id >> 16) & 127);
|
||||
|
Reference in New Issue
Block a user