Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 45935
b: refs/heads/master
c: 7d2aae1
h: refs/heads/master
i:
  45933: 30e40af
  45931: 746d31c
  45927: a0d8ff1
  45919: ada8b72
v: v3
  • Loading branch information
Takashi Iwai authored and Greg Kroah-Hartman committed Jan 29, 2007
1 parent e3d69a7 commit 54c36d5
Show file tree
Hide file tree
Showing 70 changed files with 287 additions and 389 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 701dfbc1cbdd42b814dd76a885c4b73f97011d08
refs/heads/master: 7d2aae1e88660cf09be913e9754e45189dc33412
6 changes: 3 additions & 3 deletions trunk/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -1116,15 +1116,15 @@ help:
@echo ' cscope - Generate cscope index'
@echo ' kernelrelease - Output the release version string'
@echo ' kernelversion - Output the version stored in Makefile'
@if [ -r $(srctree)/include/asm-$(ARCH)/Kbuild ]; then \
@if [ -r include/asm-$(ARCH)/Kbuild ]; then \
echo ' headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH'; \
echo ' (default: $(INSTALL_HDR_PATH))'; \
fi
@echo ' (default: $(INSTALL_HDR_PATH))'
@echo ''
@echo 'Static analysers'
@echo ' checkstack - Generate a list of stack hogs'
@echo ' namespacecheck - Name space analysis on compiled kernel'
@if [ -r $(srctree)/include/asm-$(ARCH)/Kbuild ]; then \
@if [ -r include/asm-$(ARCH)/Kbuild ]; then \
echo ' headers_check - Sanity check on exported headers'; \
fi
@echo ''
Expand Down
1 change: 1 addition & 0 deletions trunk/arch/arm/configs/at91sam9260ek_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -923,6 +923,7 @@ CONFIG_FORCED_INLINING=y
# CONFIG_HEADERS_CHECK is not set
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_DEBUG_USER=y
# CONFIG_DEBUG_WAITQ is not set
# CONFIG_DEBUG_ERRORS is not set
CONFIG_DEBUG_LL=y
# CONFIG_DEBUG_ICEDCC is not set
Expand Down
1 change: 1 addition & 0 deletions trunk/arch/arm/configs/at91sam9261ek_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1079,6 +1079,7 @@ CONFIG_FORCED_INLINING=y
# CONFIG_HEADERS_CHECK is not set
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_DEBUG_USER=y
# CONFIG_DEBUG_WAITQ is not set
# CONFIG_DEBUG_ERRORS is not set
CONFIG_DEBUG_LL=y
# CONFIG_DEBUG_ICEDCC is not set
Expand Down
7 changes: 1 addition & 6 deletions trunk/arch/arm/kernel/head.S
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,6 @@
#include <asm/thread_info.h>
#include <asm/system.h>

#if (PHYS_OFFSET & 0x001fffff)
#error "PHYS_OFFSET must be at an even 2MiB boundary!"
#endif

#define KERNEL_RAM_VADDR (PAGE_OFFSET + TEXT_OFFSET)
#define KERNEL_RAM_PADDR (PHYS_OFFSET + TEXT_OFFSET)

Expand Down Expand Up @@ -255,8 +251,7 @@ __create_page_tables:
* Then map first 1MB of ram in case it contains our boot params.
*/
add r0, r4, #PAGE_OFFSET >> 18
orr r6, r7, #(PHYS_OFFSET & 0xff000000)
orr r6, r6, #(PHYS_OFFSET & 0x00e00000)
orr r6, r7, #PHYS_OFFSET
str r6, [r0]

#ifdef CONFIG_XIP_KERNEL
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/mach-at91rm9200/at91rm9200_devices.c
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@ void __init at91_add_device_cf(struct at91_cf_data *data)
at91_set_A_periph(AT91_PIN_PC12, 0); /* NCS6/CFCE2 */

/* nWAIT is _not_ a default setting */
at91_set_A_periph(AT91_PIN_PC6, 1); /* nWAIT */
at91_set_A_periph(AT91_PIN_PC6, 1); /* nWAIT */

cf_data = *data;
platform_device_register(&at91rm9200_cf_device);
Expand Down
3 changes: 1 addition & 2 deletions trunk/arch/arm/mach-at91rm9200/at91sam9260.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
#include <asm/mach/map.h>
#include <asm/arch/at91sam9260.h>
#include <asm/arch/at91_pmc.h>
#include <asm/arch/at91_rstc.h>

#include "generic.h"
#include "clock.h"
Expand Down Expand Up @@ -213,7 +212,7 @@ static struct at91_gpio_bank at91sam9260_gpio[] = {

static void at91sam9260_reset(void)
{
at91_sys_write(AT91_RSTC_CR, (0xA5 << 24) | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
#warning "Implement CPU reset"
}


Expand Down
3 changes: 1 addition & 2 deletions trunk/arch/arm/mach-at91rm9200/at91sam9261.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
#include <asm/mach/map.h>
#include <asm/arch/at91sam9261.h>
#include <asm/arch/at91_pmc.h>
#include <asm/arch/at91_rstc.h>

#include "generic.h"
#include "clock.h"
Expand Down Expand Up @@ -208,7 +207,7 @@ static struct at91_gpio_bank at91sam9261_gpio[] = {

static void at91sam9261_reset(void)
{
at91_sys_write(AT91_RSTC_CR, (0xA5 << 24) | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
#warning "Implement CPU reset"
}


Expand Down
39 changes: 26 additions & 13 deletions trunk/arch/arm/mach-at91rm9200/gpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#include <asm/io.h>
#include <asm/hardware.h>
#include <asm/arch/at91_pio.h>
#include <asm/arch/at91_pmc.h>
#include <asm/arch/gpio.h>

#include "generic.h"
Expand Down Expand Up @@ -223,17 +224,17 @@ static u32 backups[MAX_GPIO_BANKS];
static int gpio_irq_set_wake(unsigned pin, unsigned state)
{
unsigned mask = pin_to_mask(pin);
unsigned bank = (pin - PIN_BASE) / 32;

if (unlikely(bank >= MAX_GPIO_BANKS))
pin -= PIN_BASE;
pin /= 32;

if (unlikely(pin >= MAX_GPIO_BANKS))
return -EINVAL;

if (state)
wakeups[bank] |= mask;
wakeups[pin] |= mask;
else
wakeups[bank] &= ~mask;

set_irq_wake(gpio[bank].id, state);
wakeups[pin] &= ~mask;

return 0;
}
Expand All @@ -245,15 +246,29 @@ void at91_gpio_suspend(void)
for (i = 0; i < gpio_banks; i++) {
u32 pio = gpio[i].offset;

/*
* Note: drivers should have disabled GPIO interrupts that
* aren't supposed to be wakeup sources.
* But that is not much good on ARM..... disable_irq() does
* not update the hardware immediately, so the hardware mask
* (IMR) has the wrong value (not current, too much is
* permitted).
*
* Our workaround is to disable all non-wakeup IRQs ...
* which is exactly what correct drivers asked for in the
* first place!
*/
backups[i] = at91_sys_read(pio + PIO_IMR);
at91_sys_write(pio + PIO_IDR, backups[i]);
at91_sys_write(pio + PIO_IER, wakeups[i]);

if (!wakeups[i])
clk_disable(gpio[i].clock);
else {
if (!wakeups[i]) {
disable_irq_wake(gpio[i].id);
at91_sys_write(AT91_PMC_PCDR, 1 << gpio[i].id);
} else {
enable_irq_wake(gpio[i].id);
#ifdef CONFIG_PM_DEBUG
printk(KERN_DEBUG "GPIO-%c may wake for %08x\n", 'A'+i, wakeups[i]);
printk(KERN_DEBUG "GPIO-%c may wake for %08x\n", "ABCD"[i], wakeups[i]);
#endif
}
}
Expand All @@ -266,11 +281,9 @@ void at91_gpio_resume(void)
for (i = 0; i < gpio_banks; i++) {
u32 pio = gpio[i].offset;

if (!wakeups[i])
clk_enable(gpio[i].clock);

at91_sys_write(pio + PIO_IDR, wakeups[i]);
at91_sys_write(pio + PIO_IER, backups[i]);
at91_sys_write(AT91_PMC_PCER, 1 << gpio[i].id);
}
}

Expand Down
14 changes: 1 addition & 13 deletions trunk/arch/arm/mach-imx/cpufreq.c
Original file line number Diff line number Diff line change
Expand Up @@ -184,17 +184,6 @@ static int imx_set_target(struct cpufreq_policy *policy,
long sysclk;
unsigned int bclk_div = 1;

/*
* Some governors do not respects CPU and policy lower limits
* which leads to bad things (division by zero etc), ensure
* that such things do not happen.
*/
if(target_freq < policy->cpuinfo.min_freq)
target_freq = policy->cpuinfo.min_freq;

if(target_freq < policy->min)
target_freq = policy->min;

freq = target_freq * 1000;

pr_debug(KERN_DEBUG "imx: requested frequency %ld Hz, mpctl0 at boot 0x%08x\n",
Expand Down Expand Up @@ -269,8 +258,7 @@ static int __init imx_cpufreq_driver_init(struct cpufreq_policy *policy)
policy->governor = CPUFREQ_DEFAULT_GOVERNOR;
policy->cpuinfo.min_freq = 8000;
policy->cpuinfo.max_freq = 200000;
/* Manual states, that PLL stabilizes in two CLK32 periods */
policy->cpuinfo.transition_latency = 4 * 1000000000LL / CLK32;
policy->cpuinfo.transition_latency = CPUFREQ_ETERNAL;
return 0;
}

Expand Down
12 changes: 4 additions & 8 deletions trunk/arch/arm/mach-s3c2410/gpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ void s3c2410_gpio_cfgpin(unsigned int pin, unsigned int function)
case S3C2410_GPIO_SFN2:
case S3C2410_GPIO_SFN3:
if (pin < S3C2410_GPIO_BANKB) {
function -= 1;
function &= 1;
function <<= S3C2410_GPIO_OFFSET(pin);
} else {
Expand All @@ -84,18 +83,15 @@ EXPORT_SYMBOL(s3c2410_gpio_cfgpin);
unsigned int s3c2410_gpio_getcfg(unsigned int pin)
{
void __iomem *base = S3C24XX_GPIO_BASE(pin);
unsigned long val = __raw_readl(base);
unsigned long mask;

if (pin < S3C2410_GPIO_BANKB) {
val >>= S3C2410_GPIO_OFFSET(pin);
val &= 1;
val += 1;
mask = 1 << S3C2410_GPIO_OFFSET(pin);
} else {
val >>= S3C2410_GPIO_OFFSET(pin)*2;
val &= 3;
mask = 3 << S3C2410_GPIO_OFFSET(pin)*2;
}

return val | S3C2410_GPIO_INPUT;
return __raw_readl(base) & mask;
}

EXPORT_SYMBOL(s3c2410_gpio_getcfg);
Expand Down
7 changes: 4 additions & 3 deletions trunk/arch/arm/mach-s3c2410/pm.c
Original file line number Diff line number Diff line change
Expand Up @@ -451,14 +451,15 @@ static void s3c2410_pm_check_resume_pin(unsigned int pin, unsigned int irqoffs)
irqstate = s3c_irqwake_eintmask & (1L<<irqoffs);

pinstate = s3c2410_gpio_getcfg(pin);
pinstate >>= S3C2410_GPIO_OFFSET(pin)*2;

if (!irqstate) {
if (pinstate == S3C2410_GPIO_IRQ)
if (pinstate == 0x02)
DBG("Leaving IRQ %d (pin %d) enabled\n", irq, pin);
} else {
if (pinstate == S3C2410_GPIO_IRQ) {
if (pinstate == 0x02) {
DBG("Disabling IRQ %d (pin %d)\n", irq, pin);
s3c2410_gpio_cfgpin(pin, S3C2410_GPIO_INPUT);
s3c2410_gpio_cfgpin(pin, 0x00);
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/arm/mach-s3c2410/s3c2412-dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -133,8 +133,8 @@ static struct s3c24xx_dma_map __initdata s3c2412_dma_mappings[] = {
static void s3c2412_dma_select(struct s3c2410_dma_chan *chan,
struct s3c24xx_dma_map *map)
{
writel(map->channels[0] | S3C2412_DMAREQSEL_HW,
chan->regs + S3C2412_DMA_DMAREQSEL);
writel(chan->regs + S3C2412_DMA_DMAREQSEL,
map->channels[0] | S3C2412_DMAREQSEL_HW);
}

static struct s3c24xx_dma_selection __initdata s3c2412_dma_sel = {
Expand Down
11 changes: 4 additions & 7 deletions trunk/arch/arm/mm/init.c
Original file line number Diff line number Diff line change
Expand Up @@ -52,18 +52,15 @@ void show_mem(void)
printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10));

for_each_online_node(node) {
pg_data_t *n = NODE_DATA(node);
struct page *map = n->node_mem_map - n->node_start_pfn;

for_each_nodebank (i,mi,node) {
unsigned int pfn1, pfn2;
struct page *page, *end;

pfn1 = __phys_to_pfn(mi->bank[i].start);
pfn2 = __phys_to_pfn(mi->bank[i].size + mi->bank[i].start);
pfn1 = mi->bank[i].start >> PAGE_SHIFT;
pfn2 = (mi->bank[i].size + mi->bank[i].start) >> PAGE_SHIFT;

page = map + pfn1;
end = map + pfn2;
page = NODE_MEM_MAP(node) + pfn1;
end = NODE_MEM_MAP(node) + pfn2;

do {
total++;
Expand Down
3 changes: 1 addition & 2 deletions trunk/arch/arm/mm/ioremap.c
Original file line number Diff line number Diff line change
Expand Up @@ -300,8 +300,7 @@ __ioremap_pfn(unsigned long pfn, unsigned long offset, size_t size,
addr = (unsigned long)area->addr;

#ifndef CONFIG_SMP
if (DOMAIN_IO == 0 &&
(((cpu_architecture() >= CPU_ARCH_ARMv6) && (get_cr() & CR_XP)) ||
if ((((cpu_architecture() >= CPU_ARCH_ARMv6) && (get_cr() & CR_XP)) ||
cpu_is_xsc3()) &&
!((__pfn_to_phys(pfn) | size | addr) & ~SUPERSECTION_MASK)) {
area->flags |= VM_ARM_SECTION_MAPPING;
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/mm/proc-xscale.S
Original file line number Diff line number Diff line change
Expand Up @@ -708,7 +708,7 @@ __8032x_proc_info:
.type __8033x_proc_info,#object
__8033x_proc_info:
.long 0x69054010
.long 0xfffffd30
.long 0xffffff30
.long PMD_TYPE_SECT | \
PMD_SECT_BUFFERABLE | \
PMD_SECT_CACHEABLE | \
Expand Down
25 changes: 1 addition & 24 deletions trunk/arch/arm/tools/mach-types
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
#
# http://www.arm.linux.org.uk/developer/machines/?action=new
#
# Last update: Tue Jan 16 16:52:56 2007
# Last update: Thu Dec 7 17:19:20 2006
#
# machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number
#
Expand Down Expand Up @@ -1219,26 +1219,3 @@ zevio_1020 MACH_ZEVIO_1020 ZEVIO_1020 1207
hitrack MACH_HITRACK HITRACK 1208
syme1 MACH_SYME1 SYME1 1209
syhl1 MACH_SYHL1 SYHL1 1210
empca400 MACH_EMPCA400 EMPCA400 1211
em7210 MACH_EM7210 EM7210 1212
htchermes MACH_HTCHERMES HTCHERMES 1213
eti_c1 MACH_ETI_C1 ETI_C1 1214
mach_dep2410 MACH_MACH_DEP2410 MACH_DEP2410 1215
ac100 MACH_AC100 AC100 1216
sneetch MACH_SNEETCH SNEETCH 1217
studentmate MACH_STUDENTMATE STUDENTMATE 1218
zir2410 MACH_ZIR2410 ZIR2410 1219
zir2413 MACH_ZIR2413 ZIR2413 1220
dlonip3 MACH_DLONIP3 DLONIP3 1221
instream MACH_INSTREAM INSTREAM 1222
ambarella MACH_AMBARELLA AMBARELLA 1223
nevis MACH_NEVIS NEVIS 1224
htc_trinity MACH_HTC_TRINITY HTC_TRINITY 1225
ql202b MACH_QL202B QL202B 1226
vpac270 MACH_VPAC270 VPAC270 1227
rd129 MACH_RD129 RD129 1228
htcwizard MACH_HTCWIZARD HTCWIZARD 1229
xscale_treo680 MACH_XSCALE_TREO680 XSCALE_TREO680 1230
tecon_tmezon MACH_TECON_TMEZON TECON_TMEZON 1231
zylonite MACH_ZYLONITE ZYLONITE 1233
gene1270 MACH_GENE1270 GENE1270 1234
1 change: 0 additions & 1 deletion trunk/arch/arm/vfp/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
do_vfp:
enable_irq
ldr r4, .LCvfp
ldr r11, [r10, #TI_CPU] @ CPU number
add r10, r10, #TI_VFPSTATE @ r10 = workspace
ldr pc, [r4] @ call VFP entry point

Expand Down
4 changes: 0 additions & 4 deletions trunk/arch/arm/vfp/vfp.h
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,3 @@ struct op {
u32 (* const fn)(int dd, int dn, int dm, u32 fpscr);
u32 flags;
};

#ifdef CONFIG_SMP
extern void vfp_save_state(void *location, u32 fpexc);
#endif
Loading

0 comments on commit 54c36d5

Please sign in to comment.