Commit abf91420 authored by Linus Torvalds's avatar Linus Torvalds

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

parents 0aaaa028 daad5666
...@@ -53,7 +53,7 @@ config DEBUG_LL ...@@ -53,7 +53,7 @@ config DEBUG_LL
bool "Kernel low-level debugging functions" bool "Kernel low-level debugging functions"
depends on DEBUG_KERNEL depends on DEBUG_KERNEL
help help
Say Y here to include definitions of printascii, printchar, printhex Say Y here to include definitions of printascii, printch, printhex
in the kernel. This is helpful if you are debugging code that in the kernel. This is helpful if you are debugging code that
executes before the console is initialized. executes before the console is initialized.
......
...@@ -91,7 +91,7 @@ EXPORT_SYMBOL(read_scoop_reg); ...@@ -91,7 +91,7 @@ EXPORT_SYMBOL(read_scoop_reg);
EXPORT_SYMBOL(write_scoop_reg); EXPORT_SYMBOL(write_scoop_reg);
#ifdef CONFIG_PM #ifdef CONFIG_PM
static int scoop_suspend(struct device *dev, uint32_t state, uint32_t level) static int scoop_suspend(struct device *dev, pm_message_t state, uint32_t level)
{ {
if (level == SUSPEND_POWER_DOWN) { if (level == SUSPEND_POWER_DOWN) {
struct scoop_dev *sdev = dev_get_drvdata(dev); struct scoop_dev *sdev = dev_get_drvdata(dev);
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
* This file is included twice in entry-common.S * This file is included twice in entry-common.S
*/ */
#ifndef NR_syscalls #ifndef NR_syscalls
#define NR_syscalls 320 #define NR_syscalls 328
#else #else
__syscall_start: __syscall_start:
...@@ -333,6 +333,9 @@ __syscall_start: ...@@ -333,6 +333,9 @@ __syscall_start:
.long sys_inotify_init .long sys_inotify_init
.long sys_inotify_add_watch .long sys_inotify_add_watch
.long sys_inotify_rm_watch .long sys_inotify_rm_watch
.long sys_mbind_wrapper
/* 320 */ .long sys_get_mempolicy
.long sys_set_mempolicy
__syscall_end: __syscall_end:
.rept NR_syscalls - (__syscall_end - __syscall_start) / 4 .rept NR_syscalls - (__syscall_end - __syscall_start) / 4
......
...@@ -269,6 +269,10 @@ sys_arm_fadvise64_64_wrapper: ...@@ -269,6 +269,10 @@ sys_arm_fadvise64_64_wrapper:
str r5, [sp, #4] @ push r5 to stack str r5, [sp, #4] @ push r5 to stack
b sys_arm_fadvise64_64 b sys_arm_fadvise64_64
sys_mbind_wrapper:
str r5, [sp, #4]
b sys_mbind
/* /*
* Note: off_4k (r5) is always units of 4K. If we can't do the requested * Note: off_4k (r5) is always units of 4K. If we can't do the requested
* offset, we return EINVAL. * offset, we return EINVAL.
......
...@@ -131,27 +131,12 @@ static struct platform_device corgits_device = { ...@@ -131,27 +131,12 @@ static struct platform_device corgits_device = {
/* /*
* MMC/SD Device * MMC/SD Device
* *
* The card detect interrupt isn't debounced so we delay it by HZ/4 * The card detect interrupt isn't debounced so we delay it by 250ms
* to give the card a chance to fully insert/eject. * to give the card a chance to fully insert/eject.
*/ */
static struct mmc_detect { static struct pxamci_platform_data corgi_mci_platform_data;
struct timer_list detect_timer;
void *devid;
} mmc_detect;
static void mmc_detect_callback(unsigned long data) static int corgi_mci_init(struct device *dev, irqreturn_t (*corgi_detect_int)(int, void *, struct pt_regs *), void *data)
{
mmc_detect_change(mmc_detect.devid);
}
static irqreturn_t corgi_mmc_detect_int(int irq, void *devid, struct pt_regs *regs)
{
mmc_detect.devid=devid;
mod_timer(&mmc_detect.detect_timer, jiffies + HZ/4);
return IRQ_HANDLED;
}
static int corgi_mci_init(struct device *dev, irqreturn_t (*unused_detect_int)(int, void *, struct pt_regs *), void *data)
{ {
int err; int err;
...@@ -161,11 +146,9 @@ static int corgi_mci_init(struct device *dev, irqreturn_t (*unused_detect_int)(i ...@@ -161,11 +146,9 @@ static int corgi_mci_init(struct device *dev, irqreturn_t (*unused_detect_int)(i
pxa_gpio_mode(CORGI_GPIO_nSD_DETECT | GPIO_IN); pxa_gpio_mode(CORGI_GPIO_nSD_DETECT | GPIO_IN);
pxa_gpio_mode(CORGI_GPIO_SD_PWR | GPIO_OUT); pxa_gpio_mode(CORGI_GPIO_SD_PWR | GPIO_OUT);
init_timer(&mmc_detect.detect_timer); corgi_mci_platform_data.detect_delay = msecs_to_jiffies(250);
mmc_detect.detect_timer.function = mmc_detect_callback;
mmc_detect.detect_timer.data = (unsigned long) &mmc_detect;
err = request_irq(CORGI_IRQ_GPIO_nSD_DETECT, corgi_mmc_detect_int, SA_INTERRUPT, err = request_irq(CORGI_IRQ_GPIO_nSD_DETECT, corgi_detect_int, SA_INTERRUPT,
"MMC card detect", data); "MMC card detect", data);
if (err) { if (err) {
printk(KERN_ERR "corgi_mci_init: MMC/SD: can't request MMC card detect IRQ\n"); printk(KERN_ERR "corgi_mci_init: MMC/SD: can't request MMC card detect IRQ\n");
...@@ -198,7 +181,6 @@ static int corgi_mci_get_ro(struct device *dev) ...@@ -198,7 +181,6 @@ static int corgi_mci_get_ro(struct device *dev)
static void corgi_mci_exit(struct device *dev, void *data) static void corgi_mci_exit(struct device *dev, void *data)
{ {
free_irq(CORGI_IRQ_GPIO_nSD_DETECT, data); free_irq(CORGI_IRQ_GPIO_nSD_DETECT, data);
del_timer(&mmc_detect.detect_timer);
} }
static struct pxamci_platform_data corgi_mci_platform_data = { static struct pxamci_platform_data corgi_mci_platform_data = {
......
...@@ -355,6 +355,9 @@ ...@@ -355,6 +355,9 @@
#define __NR_inotify_init (__NR_SYSCALL_BASE+316) #define __NR_inotify_init (__NR_SYSCALL_BASE+316)
#define __NR_inotify_add_watch (__NR_SYSCALL_BASE+317) #define __NR_inotify_add_watch (__NR_SYSCALL_BASE+317)
#define __NR_inotify_rm_watch (__NR_SYSCALL_BASE+318) #define __NR_inotify_rm_watch (__NR_SYSCALL_BASE+318)
#define __NR_mbind (__NR_SYSCALL_BASE+319)
#define __NR_get_mempolicy (__NR_SYSCALL_BASE+320)
#define __NR_set_mempolicy (__NR_SYSCALL_BASE+321)
/* /*
* The following SWIs are ARM private. * The following SWIs are ARM private.
......
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