X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Ffrv%2Fkernel%2Fpm.c;fp=arch%2Ffrv%2Fkernel%2Fpm.c;h=f0b8fff3e7336235f6b2a25b87324f98ae9b9445;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=c1d9fc8f1a859f8d365abbcfc6efc2949bf2e092;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/arch/frv/kernel/pm.c b/arch/frv/kernel/pm.c index c1d9fc8f1..f0b8fff3e 100644 --- a/arch/frv/kernel/pm.c +++ b/arch/frv/kernel/pm.c @@ -11,6 +11,7 @@ * */ +#include #include #include #include @@ -26,6 +27,11 @@ #include "local.h" +void (*pm_power_off)(void); +EXPORT_SYMBOL(pm_power_off); + +extern void frv_change_cmode(int); + /* * Debug macros */ @@ -131,7 +137,7 @@ unsigned long sleep_phys_sp(void *sp) #define CTL_PM_P0 4 #define CTL_PM_CM 5 -static int user_atoi(char __user *ubuf, size_t len) +static int user_atoi(char *ubuf, size_t len) { char buf[16]; unsigned long ret; @@ -153,7 +159,7 @@ static int user_atoi(char __user *ubuf, size_t len) * Send us to sleep. */ static int sysctl_pm_do_suspend(ctl_table *ctl, int write, struct file *filp, - void __user *buffer, size_t *lenp, loff_t *fpos) + void *buffer, size_t *lenp, loff_t *fpos) { int retval, mode; @@ -209,7 +215,7 @@ static int try_set_cmode(int new_cmode) static int cmode_procctl(ctl_table *ctl, int write, struct file *filp, - void __user *buffer, size_t *lenp, loff_t *fpos) + void *buffer, size_t *lenp, loff_t *fpos) { int new_cmode; @@ -221,9 +227,9 @@ static int cmode_procctl(ctl_table *ctl, int write, struct file *filp, return try_set_cmode(new_cmode)?:*lenp; } -static int cmode_sysctl(ctl_table *table, int __user *name, int nlen, - void __user *oldval, size_t __user *oldlenp, - void __user *newval, size_t newlen, void **context) +static int cmode_sysctl(ctl_table *table, int *name, int nlen, + void *oldval, size_t *oldlenp, + void *newval, size_t newlen, void **context) { if (oldval && oldlenp) { size_t oldlen; @@ -234,7 +240,7 @@ static int cmode_sysctl(ctl_table *table, int __user *name, int nlen, if (oldlen != sizeof(int)) return -EINVAL; - if (put_user(clock_cmode_current, (unsigned __user *)oldval) || + if (put_user(clock_cmode_current, (unsigned int *)oldval) || put_user(sizeof(int), oldlenp)) return -EFAULT; } @@ -244,7 +250,7 @@ static int cmode_sysctl(ctl_table *table, int __user *name, int nlen, if (newlen != sizeof(int)) return -EINVAL; - if (get_user(new_cmode, (int __user *)newval)) + if (get_user(new_cmode, (int *)newval)) return -EFAULT; return try_set_cmode(new_cmode)?:1; @@ -312,7 +318,7 @@ static int try_set_cm(int new_cm) } static int p0_procctl(ctl_table *ctl, int write, struct file *filp, - void __user *buffer, size_t *lenp, loff_t *fpos) + void *buffer, size_t *lenp, loff_t *fpos) { int new_p0; @@ -324,9 +330,9 @@ static int p0_procctl(ctl_table *ctl, int write, struct file *filp, return try_set_p0(new_p0)?:*lenp; } -static int p0_sysctl(ctl_table *table, int __user *name, int nlen, - void __user *oldval, size_t __user *oldlenp, - void __user *newval, size_t newlen, void **context) +static int p0_sysctl(ctl_table *table, int *name, int nlen, + void *oldval, size_t *oldlenp, + void *newval, size_t newlen, void **context) { if (oldval && oldlenp) { size_t oldlen; @@ -337,7 +343,7 @@ static int p0_sysctl(ctl_table *table, int __user *name, int nlen, if (oldlen != sizeof(int)) return -EINVAL; - if (put_user(clock_p0_current, (unsigned __user *)oldval) || + if (put_user(clock_p0_current, (unsigned int *)oldval) || put_user(sizeof(int), oldlenp)) return -EFAULT; } @@ -347,7 +353,7 @@ static int p0_sysctl(ctl_table *table, int __user *name, int nlen, if (newlen != sizeof(int)) return -EINVAL; - if (get_user(new_p0, (int __user *)newval)) + if (get_user(new_p0, (int *)newval)) return -EFAULT; return try_set_p0(new_p0)?:1; @@ -356,7 +362,7 @@ static int p0_sysctl(ctl_table *table, int __user *name, int nlen, } static int cm_procctl(ctl_table *ctl, int write, struct file *filp, - void __user *buffer, size_t *lenp, loff_t *fpos) + void *buffer, size_t *lenp, loff_t *fpos) { int new_cm; @@ -368,9 +374,9 @@ static int cm_procctl(ctl_table *ctl, int write, struct file *filp, return try_set_cm(new_cm)?:*lenp; } -static int cm_sysctl(ctl_table *table, int __user *name, int nlen, - void __user *oldval, size_t __user *oldlenp, - void __user *newval, size_t newlen, void **context) +static int cm_sysctl(ctl_table *table, int *name, int nlen, + void *oldval, size_t *oldlenp, + void *newval, size_t newlen, void **context) { if (oldval && oldlenp) { size_t oldlen; @@ -381,7 +387,7 @@ static int cm_sysctl(ctl_table *table, int __user *name, int nlen, if (oldlen != sizeof(int)) return -EINVAL; - if (put_user(clock_cm_current, (unsigned __user *)oldval) || + if (put_user(clock_cm_current, (unsigned int *)oldval) || put_user(sizeof(int), oldlenp)) return -EFAULT; } @@ -391,7 +397,7 @@ static int cm_sysctl(ctl_table *table, int __user *name, int nlen, if (newlen != sizeof(int)) return -EINVAL; - if (get_user(new_cm, (int __user *)newval)) + if (get_user(new_cm, (int *)newval)) return -EFAULT; return try_set_cm(new_cm)?:1;