Commit 325ce9e3 authored by Linus Torvalds's avatar Linus Torvalds

Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] pxa/colibri: fix missing #include <mach/mfp.h> in colibri.h
  [ARM] pxa/spitz: fix On/off key name to fix warning during boot
  [ARM] pxa: fix the incorrect cpu_is_pxa950()
  [ARM] pxa: update cpuid pattern for pxa9xx in head.S
  [ARM] pxa/viper: fix timeout usage for I2C
  [ARM] pxa/raumfeld: fix button name
  [ARM] pxa/imote2: Fix iMote2 defconfig
  [ARM] pxa: add missing new line to regs-u2d.h
  ARM: 6093/1: Fix kernel memory printing for sparsemem
  arch/arm/include/asm/elf.h: forward-declare the task-struct
  arch/arm/plat-pxa/dma.c: correct NULL test
  ARM: 6076/1: SA1100: add processor check to sa1110-cpufreq driver
  ARM: 6075/1: SA1100: fix wrong CPU type for h3100 and h3600
  ARM: Update mach-types
  ARM: 6066/1: Fix "BUG: scheduling while atomic: swapper/0/0x00000002
  ARM: 6068/1: Fix build break with KPROBES enabled
  mx5: Fix build error for mx51_defconfig
parents bbfdbe9d 257dab81
...@@ -685,8 +685,8 @@ proc_types: ...@@ -685,8 +685,8 @@ proc_types:
W(b) __armv4_mmu_cache_off W(b) __armv4_mmu_cache_off
W(b) __armv4_mmu_cache_flush W(b) __armv4_mmu_cache_flush
.word 0x56056930 .word 0x56056900
.word 0xff0ffff0 @ PXA935 .word 0xffffff00 @ PXA9xx
W(b) __armv4_mmu_cache_on W(b) __armv4_mmu_cache_on
W(b) __armv4_mmu_cache_off W(b) __armv4_mmu_cache_off
W(b) __armv4_mmu_cache_flush W(b) __armv4_mmu_cache_flush
...@@ -697,12 +697,6 @@ proc_types: ...@@ -697,12 +697,6 @@ proc_types:
W(b) __armv4_mmu_cache_off W(b) __armv4_mmu_cache_off
W(b) __armv5tej_mmu_cache_flush W(b) __armv5tej_mmu_cache_flush
.word 0x56056930
.word 0xff0ffff0 @ PXA935
W(b) __armv4_mmu_cache_on
W(b) __armv4_mmu_cache_off
W(b) __armv4_mmu_cache_flush
.word 0x56050000 @ Feroceon .word 0x56050000 @ Feroceon
.word 0xff0f0000 .word 0xff0f0000
W(b) __armv4_mmu_cache_on W(b) __armv4_mmu_cache_on
......
This diff is collapsed.
...@@ -9,6 +9,8 @@ ...@@ -9,6 +9,8 @@
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include <asm/user.h> #include <asm/user.h>
struct task_struct;
typedef unsigned long elf_greg_t; typedef unsigned long elf_greg_t;
typedef unsigned long elf_freg_t[3]; typedef unsigned long elf_freg_t[3];
......
...@@ -676,10 +676,10 @@ do_fpe: ...@@ -676,10 +676,10 @@ do_fpe:
* lr = unrecognised FP instruction return address * lr = unrecognised FP instruction return address
*/ */
.data .pushsection .data
ENTRY(fp_enter) ENTRY(fp_enter)
.word no_fp .word no_fp
.text .popsection
ENTRY(no_fp) ENTRY(no_fp)
mov pc, lr mov pc, lr
......
...@@ -86,6 +86,12 @@ int __cpuinit __cpu_up(unsigned int cpu) ...@@ -86,6 +86,12 @@ int __cpuinit __cpu_up(unsigned int cpu)
return PTR_ERR(idle); return PTR_ERR(idle);
} }
ci->idle = idle; ci->idle = idle;
} else {
/*
* Since this idle thread is being re-used, call
* init_idle() to reinitialize the thread structure.
*/
init_idle(idle, cpu);
} }
/* /*
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#include <linux/io.h> #include <linux/io.h>
#include <asm/clkdev.h> #include <asm/clkdev.h>
#include <asm/div64.h>
#include <mach/hardware.h> #include <mach/hardware.h>
#include <mach/common.h> #include <mach/common.h>
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
#define _COLIBRI_H_ #define _COLIBRI_H_
#include <net/ax88796.h> #include <net/ax88796.h>
#include <mach/mfp.h>
/* /*
* common settings for all modules * common settings for all modules
......
...@@ -202,7 +202,7 @@ ...@@ -202,7 +202,7 @@
#define __cpu_is_pxa950(id) \ #define __cpu_is_pxa950(id) \
({ \ ({ \
unsigned int _id = (id) >> 4 & 0xfff; \ unsigned int _id = (id) >> 4 & 0xfff; \
id == 0x697; \ _id == 0x697; \
}) })
#else #else
#define __cpu_is_pxa950(id) (0) #define __cpu_is_pxa950(id) (0)
......
...@@ -166,7 +166,8 @@ ...@@ -166,7 +166,8 @@
#define U2DMACSR_BUSERRTYPE (7 << 10) /* PX Bus Error Type */ #define U2DMACSR_BUSERRTYPE (7 << 10) /* PX Bus Error Type */
#define U2DMACSR_EORINTR (1 << 9) /* End Of Receive */ #define U2DMACSR_EORINTR (1 << 9) /* End Of Receive */
#define U2DMACSR_REQPEND (1 << 8) /* Request Pending */ #define U2DMACSR_REQPEND (1 << 8) /* Request Pending */
#define U2DMACSR_RASINTR (1 << 4) /* Request After Channel Stopped (read / write 1 clear) */#define U2DMACSR_STOPINTR (1 << 3) /* Stop Interrupt (read only) */ #define U2DMACSR_RASINTR (1 << 4) /* Request After Channel Stopped (read / write 1 clear) */
#define U2DMACSR_STOPINTR (1 << 3) /* Stop Interrupt (read only) */
#define U2DMACSR_ENDINTR (1 << 2) /* End Interrupt (read / write 1 clear) */ #define U2DMACSR_ENDINTR (1 << 2) /* End Interrupt (read / write 1 clear) */
#define U2DMACSR_STARTINTR (1 << 1) /* Start Interrupt (read / write 1 clear) */ #define U2DMACSR_STARTINTR (1 << 1) /* Start Interrupt (read / write 1 clear) */
#define U2DMACSR_BUSERRINTR (1 << 0) /* Bus Error Interrupt (read / write 1 clear) */ #define U2DMACSR_BUSERRINTR (1 << 0) /* Bus Error Interrupt (read / write 1 clear) */
......
...@@ -983,7 +983,7 @@ static void __init raumfeld_common_init(void) ...@@ -983,7 +983,7 @@ static void __init raumfeld_common_init(void)
int i; int i;
for (i = 0; i < ARRAY_SIZE(gpio_keys_button); i++) for (i = 0; i < ARRAY_SIZE(gpio_keys_button); i++)
if (!strcmp(gpio_keys_button[i].desc, "on/off button")) if (!strcmp(gpio_keys_button[i].desc, "on_off button"))
gpio_keys_button[i].active_low = 1; gpio_keys_button[i].active_low = 1;
} }
...@@ -1009,8 +1009,7 @@ static void __init raumfeld_common_init(void) ...@@ -1009,8 +1009,7 @@ static void __init raumfeld_common_init(void)
gpio_direction_output(GPIO_W2W_PDN, 0); gpio_direction_output(GPIO_W2W_PDN, 0);
/* this can be used to switch off the device */ /* this can be used to switch off the device */
ret = gpio_request(GPIO_SHUTDOWN_SUPPLY, ret = gpio_request(GPIO_SHUTDOWN_SUPPLY, "supply shutdown");
"supply shutdown");
if (ret < 0) if (ret < 0)
pr_warning("Unable to request GPIO_SHUTDOWN_SUPPLY\n"); pr_warning("Unable to request GPIO_SHUTDOWN_SUPPLY\n");
else else
......
...@@ -363,7 +363,7 @@ static struct gpio_keys_button spitz_gpio_keys[] = { ...@@ -363,7 +363,7 @@ static struct gpio_keys_button spitz_gpio_keys[] = {
.type = EV_PWR, .type = EV_PWR,
.code = KEY_SUSPEND, .code = KEY_SUSPEND,
.gpio = SPITZ_GPIO_ON_KEY, .gpio = SPITZ_GPIO_ON_KEY,
.desc = "On/Off", .desc = "On Off",
.wakeup = 1, .wakeup = 1,
}, },
/* Two buttons detecting the lid state */ /* Two buttons detecting the lid state */
......
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
#include <linux/pm.h> #include <linux/pm.h>
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/gpio.h> #include <linux/gpio.h>
#include <linux/jiffies.h>
#include <linux/i2c-gpio.h> #include <linux/i2c-gpio.h>
#include <linux/serial_8250.h> #include <linux/serial_8250.h>
#include <linux/smc91x.h> #include <linux/smc91x.h>
...@@ -454,7 +455,7 @@ static struct i2c_gpio_platform_data i2c_bus_data = { ...@@ -454,7 +455,7 @@ static struct i2c_gpio_platform_data i2c_bus_data = {
.sda_pin = VIPER_RTC_I2C_SDA_GPIO, .sda_pin = VIPER_RTC_I2C_SDA_GPIO,
.scl_pin = VIPER_RTC_I2C_SCL_GPIO, .scl_pin = VIPER_RTC_I2C_SCL_GPIO,
.udelay = 10, .udelay = 10,
.timeout = 100, .timeout = HZ,
}; };
static struct platform_device i2c_bus_device = { static struct platform_device i2c_bus_device = {
...@@ -779,7 +780,7 @@ static void __init viper_tpm_init(void) ...@@ -779,7 +780,7 @@ static void __init viper_tpm_init(void)
.sda_pin = VIPER_TPM_I2C_SDA_GPIO, .sda_pin = VIPER_TPM_I2C_SDA_GPIO,
.scl_pin = VIPER_TPM_I2C_SCL_GPIO, .scl_pin = VIPER_TPM_I2C_SCL_GPIO,
.udelay = 10, .udelay = 10,
.timeout = 100, .timeout = HZ,
}; };
char *errstr; char *errstr;
......
...@@ -57,7 +57,7 @@ config SA1100_COLLIE ...@@ -57,7 +57,7 @@ config SA1100_COLLIE
config SA1100_H3100 config SA1100_H3100
bool "Compaq iPAQ H3100" bool "Compaq iPAQ H3100"
select HTC_EGPIO select HTC_EGPIO
select CPU_FREQ_SA1100 select CPU_FREQ_SA1110
help help
Say Y here if you intend to run this kernel on the Compaq iPAQ Say Y here if you intend to run this kernel on the Compaq iPAQ
H3100 handheld computer. Information about this machine and the H3100 handheld computer. Information about this machine and the
...@@ -68,7 +68,7 @@ config SA1100_H3100 ...@@ -68,7 +68,7 @@ config SA1100_H3100
config SA1100_H3600 config SA1100_H3600
bool "Compaq iPAQ H3600/H3700" bool "Compaq iPAQ H3600/H3700"
select HTC_EGPIO select HTC_EGPIO
select CPU_FREQ_SA1100 select CPU_FREQ_SA1110
help help
Say Y here if you intend to run this kernel on the Compaq iPAQ Say Y here if you intend to run this kernel on the Compaq iPAQ
H3600 handheld computer. Information about this machine and the H3600 handheld computer. Information about this machine and the
......
...@@ -363,6 +363,9 @@ static int __init sa1110_clk_init(void) ...@@ -363,6 +363,9 @@ static int __init sa1110_clk_init(void)
struct sdram_params *sdram; struct sdram_params *sdram;
const char *name = sdram_name; const char *name = sdram_name;
if (!cpu_is_sa1110())
return -ENODEV;
if (!name[0]) { if (!name[0]) {
if (machine_is_assabet()) if (machine_is_assabet())
name = "TC59SM716-CL3"; name = "TC59SM716-CL3";
......
...@@ -86,9 +86,6 @@ void show_mem(void) ...@@ -86,9 +86,6 @@ void show_mem(void)
printk("Mem-info:\n"); printk("Mem-info:\n");
show_free_areas(); show_free_areas();
for_each_online_node(node) { for_each_online_node(node) {
pg_data_t *n = NODE_DATA(node);
struct page *map = pgdat_page_nr(n, 0) - n->node_start_pfn;
for_each_nodebank (i,mi,node) { for_each_nodebank (i,mi,node) {
struct membank *bank = &mi->bank[i]; struct membank *bank = &mi->bank[i];
unsigned int pfn1, pfn2; unsigned int pfn1, pfn2;
...@@ -97,8 +94,8 @@ void show_mem(void) ...@@ -97,8 +94,8 @@ void show_mem(void)
pfn1 = bank_pfn_start(bank); pfn1 = bank_pfn_start(bank);
pfn2 = bank_pfn_end(bank); pfn2 = bank_pfn_end(bank);
page = map + pfn1; page = pfn_to_page(pfn1);
end = map + pfn2; end = pfn_to_page(pfn2 - 1) + 1;
do { do {
total++; total++;
...@@ -603,9 +600,6 @@ void __init mem_init(void) ...@@ -603,9 +600,6 @@ void __init mem_init(void)
reserved_pages = free_pages = 0; reserved_pages = free_pages = 0;
for_each_online_node(node) { for_each_online_node(node) {
pg_data_t *n = NODE_DATA(node);
struct page *map = pgdat_page_nr(n, 0) - n->node_start_pfn;
for_each_nodebank(i, &meminfo, node) { for_each_nodebank(i, &meminfo, node) {
struct membank *bank = &meminfo.bank[i]; struct membank *bank = &meminfo.bank[i];
unsigned int pfn1, pfn2; unsigned int pfn1, pfn2;
...@@ -614,8 +608,8 @@ void __init mem_init(void) ...@@ -614,8 +608,8 @@ void __init mem_init(void)
pfn1 = bank_pfn_start(bank); pfn1 = bank_pfn_start(bank);
pfn2 = bank_pfn_end(bank); pfn2 = bank_pfn_end(bank);
page = map + pfn1; page = pfn_to_page(pfn1);
end = map + pfn2; end = pfn_to_page(pfn2 - 1) + 1;
do { do {
if (PageReserved(page)) if (PageReserved(page))
......
...@@ -245,7 +245,7 @@ static void pxa_dma_init_debugfs(void) ...@@ -245,7 +245,7 @@ static void pxa_dma_init_debugfs(void)
dbgfs_chan = kmalloc(sizeof(*dbgfs_state) * num_dma_channels, dbgfs_chan = kmalloc(sizeof(*dbgfs_state) * num_dma_channels,
GFP_KERNEL); GFP_KERNEL);
if (!dbgfs_state) if (!dbgfs_chan)
goto err_alloc; goto err_alloc;
chandir = debugfs_create_dir("channels", dbgfs_root); chandir = debugfs_create_dir("channels", dbgfs_root);
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
# #
# http://www.arm.linux.org.uk/developer/machines/?action=new # http://www.arm.linux.org.uk/developer/machines/?action=new
# #
# Last update: Sat Mar 20 15:35:41 2010 # Last update: Sat May 1 10:36:42 2010
# #
# machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number # machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number
# #
...@@ -2749,3 +2749,58 @@ stamp9g45 MACH_STAMP9G45 STAMP9G45 2761 ...@@ -2749,3 +2749,58 @@ stamp9g45 MACH_STAMP9G45 STAMP9G45 2761
h6053 MACH_H6053 H6053 2762 h6053 MACH_H6053 H6053 2762
smint01 MACH_SMINT01 SMINT01 2763 smint01 MACH_SMINT01 SMINT01 2763
prtlvt2 MACH_PRTLVT2 PRTLVT2 2764 prtlvt2 MACH_PRTLVT2 PRTLVT2 2764
ap420 MACH_AP420 AP420 2765
htcshift MACH_HTCSHIFT HTCSHIFT 2766
davinci_dm365_fc MACH_DAVINCI_DM365_FC DAVINCI_DM365_FC 2767
msm8x55_surf MACH_MSM8X55_SURF MSM8X55_SURF 2768
msm8x55_ffa MACH_MSM8X55_FFA MSM8X55_FFA 2769
esl_vamana MACH_ESL_VAMANA ESL_VAMANA 2770
sbc35 MACH_SBC35 SBC35 2771
mpx6446 MACH_MPX6446 MPX6446 2772
oreo_controller MACH_OREO_CONTROLLER OREO_CONTROLLER 2773
kopin_models MACH_KOPIN_MODELS KOPIN_MODELS 2774
ttc_vision2 MACH_TTC_VISION2 TTC_VISION2 2775
cns3420vb MACH_CNS3420VB CNS3420VB 2776
lpc2 MACH_LPC2 LPC2 2777
olympus MACH_OLYMPUS OLYMPUS 2778
vortex MACH_VORTEX VORTEX 2779
s5pc200 MACH_S5PC200 S5PC200 2780
ecucore_9263 MACH_ECUCORE_9263 ECUCORE_9263 2781
smdkc200 MACH_SMDKC200 SMDKC200 2782
emsiso_sx27 MACH_EMSISO_SX27 EMSISO_SX27 2783
apx_som9g45_ek MACH_APX_SOM9G45_EK APX_SOM9G45_EK 2784
songshan MACH_SONGSHAN SONGSHAN 2785
tianshan MACH_TIANSHAN TIANSHAN 2786
vpx500 MACH_VPX500 VPX500 2787
am3517sam MACH_AM3517SAM AM3517SAM 2788
skat91_sim508 MACH_SKAT91_SIM508 SKAT91_SIM508 2789
skat91_s3e MACH_SKAT91_S3E SKAT91_S3E 2790
omap4_panda MACH_OMAP4_PANDA OMAP4_PANDA 2791
df7220 MACH_DF7220 DF7220 2792
nemini MACH_NEMINI NEMINI 2793
t8200 MACH_T8200 T8200 2794
apf51 MACH_APF51 APF51 2795
dr_rc_unit MACH_DR_RC_UNIT DR_RC_UNIT 2796
bordeaux MACH_BORDEAUX BORDEAUX 2797
catania_b MACH_CATANIA_B CATANIA_B 2798
mx51_ocean MACH_MX51_OCEAN MX51_OCEAN 2799
ti8168evm MACH_TI8168EVM TI8168EVM 2800
neocoreomap MACH_NEOCOREOMAP NEOCOREOMAP 2801
withings_wbp MACH_WITHINGS_WBP WITHINGS_WBP 2802
dbps MACH_DBPS DBPS 2803
sbc9261 MACH_SBC9261 SBC9261 2804
pcbfp0001 MACH_PCBFP0001 PCBFP0001 2805
speedy MACH_SPEEDY SPEEDY 2806
chrysaor MACH_CHRYSAOR CHRYSAOR 2807
tango MACH_TANGO TANGO 2808
synology_dsx11 MACH_SYNOLOGY_DSX11 SYNOLOGY_DSX11 2809
hanlin_v3ext MACH_HANLIN_V3EXT HANLIN_V3EXT 2810
hanlin_v5 MACH_HANLIN_V5 HANLIN_V5 2811
hanlin_v3plus MACH_HANLIN_V3PLUS HANLIN_V3PLUS 2812
iriver_story MACH_IRIVER_STORY IRIVER_STORY 2813
irex_iliad MACH_IREX_ILIAD IREX_ILIAD 2814
irex_dr1000 MACH_IREX_DR1000 IREX_DR1000 2815
teton_bga MACH_TETON_BGA TETON_BGA 2816
snapper9g45 MACH_SNAPPER9G45 SNAPPER9G45 2817
tam3517 MACH_TAM3517 TAM3517 2818
pdc100 MACH_PDC100 PDC100 2819
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment