ppc32: Fix warning on CONFIG_PPC32 && CONFIG_6xx
PATCH 1/1 ppc32: Fix warning on CONFIG_PPC32 && CONFIG_6xx
In the *ppos cleanups, proc_dol2crvec was updated, but the prototype found at the top of kernel/sysctl.h was not, generating warning. This corrects the prototype to match the code.
(I'm gonna take a stab at moving these into arch/ppc shortly)
Signed-off-by Tom Rini <[email protected]>
===== kernel/sysctl.c 1.82 vs edited =====
kernel/sysctl.c +1 -1
@@ -113,7 +113,7 @@#if defined(CONFIG_PPC32 ) && defined(CONFIG_6xx)extern unsigned long powersave_nap;int proc_dol2crvec (ctl_table *table,int write,struct file *filp, -void __user *buffer,size_t *lenp); +void __user *buffer,size_t *lenp,loff_t *ppos);#endif #ifdef CONFIG_BSD_PROCESS_ACCT
Signature · 2 lines
Tom Rini http://gate.crashing.org/~trini/
Quoted 5 lines · Tom Rini
In the *ppos cleanups,
proc_dol2crvecwas updated, but the prototype found at the top ofkernel/sysctl.hwas not, generating warning. This corrects the prototype to match the code.(I'm gonna take a stab at moving these into
arch/ppcshortly)
The alternative to this, which I can resend after 2.6.8 if you'd prefer, is to move both of these sysctls into arch/ppc where they belong.
Signed-off-by Tom Rini <[email protected]>
arch/ppc/kernel/ppc_htab.c +30 -3
@@ -20,6 +20,7 @@#include <linux/threads.h> #include <linux/smp_lock.h> #include <linux/seq_file.h> +#include <linux/init.h> #include <asm/uaccess.h> #include <asm/bitops.h>
@@ -34,9 +35,6 @@static int ppc_htab_show (struct seq_file *m,void *v);static ssize_t ppc_htab_write (struct file * file,const char __user * buffer,size_t count,loff_t *ppos); -int proc_dol2crvec (ctl_table *table,int write,struct file *filp, -void __user *buffer,size_t *lenp,loff_t *ppos); -extern PTE *Hash, *Hash_end;extern unsigned long Hash_size, Hash_mask;extern unsigned long _SDR1;
@@ -438,3 +436,32 @@ *ppos += *lenp;return 0 ; } + +#ifdef CONFIG_SYSCTL +/* +* Register our sysctl. +*/ +static ctl_table htab_ctl_table[]={ + { + .ctl_name =KERN_PPC_L2CR , + .procname ="l2cr" , + .mode =0644 , + .proc_handler = &proc_dol2crvec, + }, + {0 , }, +}; +static ctl_table htab_sysctl_root[] = { + {1 ,"kernel" ,NULL ,0 ,0755 , htab_ctl_table, }, + {0 ,}, +}; + +static int __init +register_ppc_htab_sysctl (void ) +{ +register_sysctl_table (htab_sysctl_root,0 ); + +return 0 ; +} + +__initcall (register_ppc_htab_sysctl); +#endif
arch/ppc/kernel/idle.c +34 -0
@@ -21,6 +21,7 @@#include <linux/unistd.h> #include <linux/ptrace.h> #include <linux/slab.h> +#include <linux/sysctl.h> #include <asm/pgtable.h> #include <asm/uaccess.h>
@@ -65,3 +66,36 @@default_idle ();return 0 ; } + +#if defined(CONFIG_SYSCTL ) && defined(CONFIG_6xx) +/* +* Register the sysctl to set/clear powersave_nap. +*/ +extern unsigned long powersave_nap; + +static ctl_table powersave_nap_ctl_table[]={ + { + .ctl_name =KERN_PPC_POWERSAVE_NAP , + .procname ="powersave-nap" , + .data = &powersave_nap, + .maxlen =sizeof (int ), + .mode =0644 , + .proc_handler = &proc_dointvec, + }, + {0 , }, +}; +static ctl_table powersave_nap_sysctl_root[] = { + {1 ,"kernel" ,NULL ,0 ,0755 , powersave_nap_ctl_table, }, + {0 ,}, +}; + +static int __init +register_powersave_nap_sysctl (void ) +{ +register_sysctl_table (powersave_nap_sysctl_root,0 ); + +return 0 ; +} + +__initcall (register_powersave_nap_sysctl); +#endif
kernel/sysctl.c +0 -22
@@ -110,12 +110,6 @@extern int sysctl_hz_timer; -#if defined(CONFIG_PPC32 ) && defined(CONFIG_6xx) -extern unsigned long powersave_nap; -int proc_dol2crvec (ctl_table *table,int write,struct file *filp, -void __user *buffer,size_t *lenp); -#endif -#ifdef CONFIG_BSD_PROCESS_ACCT extern int acct_parm[];#endif
@@ -353,22 +347,6 @@ .maxlen = sizeof (int), .mode = 0644, .proc_handler = &proc_dointvec, - }, -#endif -#if defined(CONFIG_PPC32) && defined(CONFIG_6xx) - { - .ctl_name = KERN_PPC_POWERSAVE_NAP, - .procname = "powersave-nap", - .data = &powersave_nap, - .maxlen = sizeof(int), - .mode = 0644, - .proc_handler = &proc_dointvec, - }, - { - .ctl_name = KERN_PPC_L2CR, - .procname = "l2cr", - .mode = 0644, - .proc_handler = &proc_dol2crvec, },#endif {
Signature · 2 lines
Tom Rini http://gate.crashing.org/~trini/