[PATCH 0/7] arch/powerpc: convert single variable sscanf to kstrto<type>
STALE4421d
8 messages,
1 author,
2014-07-12 · open the first message on its own page
Here is a small untested patchset to use the current string manipulation kstrto<type> functions
instead of sscanf like specified in checkpatch: "Prefer kstrto<type> to single variable sscanf"
autodetect base 0 has been used for both %d, %i, %ld, %lu, %u
and base 16 for %lx
Fabian Frederick (7):
powerpc: fadump: replace sscanf by kstrtoint
powerpc/mv64x60_pci: replace sscanf by kstrtou32
powerpc/powernv: replace sscanf %lx by kstrtoul 16
powerpc/sysfs: replace sscanf by kstrtol
hugetlb: replace sscanf by kstrtoul
powerpc/cell: replace sscanf by kstrtouint
powerpc/pseries: replace sscanf by kstrtoul
arch/powerpc/kernel/fadump.c | 5 +++--
arch/powerpc/kernel/sysfs.c | 7 +++----
arch/powerpc/mm/hugetlbpage.c | 2 +-
arch/powerpc/platforms/cell/cbe_thermal.c | 4 ++--
arch/powerpc/platforms/powernv/subcore.c | 6 +++---
arch/powerpc/platforms/pseries/power.c | 5 ++---
arch/powerpc/sysdev/mv64x60_pci.c | 7 +++++--
7 files changed, 19 insertions(+), 17 deletions(-)
--
1.9.1
See checkpatch warning
"Prefer kstrto<type> to single variable sscanf"
Signed-off-by: Fabian Frederick <redacted>
---
arch/powerpc/kernel/fadump.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c
index 742694c..3c40b5f 100644
--- a/arch/powerpc/kernel/fadump.c
+++ b/arch/powerpc/kernel/fadump.c @@ -426,6 +426,7 @@ static inline int fadump_gpr_index(u64 id)
{
int i = -1 ;
char str [ 3 ];
+ int rc ;
if (( id & GPR_MASK ) == REG_ID ( "GPR" )) {
/* get the digits at the end */ @@ -434,8 +435,8 @@ static inline int fadump_gpr_index(u64 id)
str [ 2 ] = '\0' ;
str [ 1 ] = id & 0xff ;
str [ 0 ] = ( id >> 8 ) & 0xff ;
- sscanf ( str , "%d" , & i );
- if ( i > 31 )
+ rc = kstrtoint ( str , 0 , & i );
+ if ( rc || i > 31 )
i = -1 ;
}
return i ; --
1.9.1
See checkpatch warning
"Prefer kstrto<type> to single variable sscanf"
Signed-off-by: Fabian Frederick <redacted>
---
arch/powerpc/mm/hugetlbpage.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c
index 7e70ae9..9118313 100644
--- a/arch/powerpc/mm/hugetlbpage.c
+++ b/arch/powerpc/mm/hugetlbpage.c @@ -350,7 +350,7 @@ static int __init do_gpage_early_setup(char *param, char *val,
size = memparse ( val , NULL );
} else if ( strcmp ( param , "hugepages" ) == 0 ) {
if ( size != 0 ) {
- if ( sscanf ( val , "%lu" , & npages ) <= 0 )
+ if ( kstrtoul ( val , 0 , & npages ))
npages = 0 ;
gpage_npages [ shift_to_mmu_psize ( __ffs ( size ))] = npages ;
size = 0 ; --
1.9.1
See checkpatch warning
"Prefer kstrto<type> to single variable sscanf"
Signed-off-by: Fabian Frederick <redacted>
---
arch/powerpc/platforms/pseries/power.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/arch/powerpc/platforms/pseries/power.c b/arch/powerpc/platforms/pseries/power.c
index 6d62662..27a3e9c 100644
--- a/arch/powerpc/platforms/pseries/power.c
+++ b/arch/powerpc/platforms/pseries/power.c @@ -38,11 +38,10 @@ static ssize_t auto_poweron_store(struct kobject *kobj,
struct kobj_attribute * attr ,
const char * buf , size_t n )
{
- int ret ;
unsigned long ups_restart ;
- ret = sscanf ( buf , "%lu" , & ups_restart );
+ int ret = kstrtoul ( buf , 0 , & ups_restart );
- if (( ret == 1 ) && (( ups_restart == 1 ) || ( ups_restart == 0 ))){
+ if (( ! ret ) && (( ups_restart == 1 ) || ( ups_restart == 0 ))) {
rtas_poweron_auto = ups_restart ;
return n ;
} --
1.9.1
See checkpatch warning
"Prefer kstrto<type> to single variable sscanf"
Signed-off-by: Fabian Frederick <redacted>
---
arch/powerpc/platforms/cell/cbe_thermal.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/platforms/cell/cbe_thermal.c b/arch/powerpc/platforms/cell/cbe_thermal.c
index 2c15ff0..d71c3c4 100644
--- a/arch/powerpc/platforms/cell/cbe_thermal.c
+++ b/arch/powerpc/platforms/cell/cbe_thermal.c @@ -129,9 +129,9 @@ static ssize_t store_throttle(struct cbe_pmd_regs __iomem *pmd_regs, const char
u64 new_value ;
int ret ;
- ret = sscanf ( buf , "%u" , & temp );
+ ret = kstrtouint ( buf , 0 , & temp );
- if ( ret != 1 || temp < TEMP_MIN || temp > TEMP_MAX )
+ if ( ret || temp < TEMP_MIN || temp > TEMP_MAX )
return - EINVAL ;
new_value = temp_to_reg ( temp ); --
1.9.1
See checkpatch warning
"Prefer kstrto<type> to single variable sscanf"
Signed-off-by: Fabian Frederick <redacted>
---
arch/powerpc/kernel/sysfs.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/kernel/sysfs.c b/arch/powerpc/kernel/sysfs.c
index 67fd2fd..4293e4f 100644
--- a/arch/powerpc/kernel/sysfs.c
+++ b/arch/powerpc/kernel/sysfs.c @@ -43,12 +43,11 @@ static ssize_t store_smt_snooze_delay(struct device *dev,
size_t count )
{
struct cpu * cpu = container_of ( dev , struct cpu , dev );
- ssize_t ret ;
long snooze ;
+ int rc = kstrtol ( buf , 0 , & snooze );
- ret = sscanf ( buf , "%ld" , & snooze );
- if ( ret != 1 )
- return - EINVAL ;
+ if ( rc )
+ return rc ;
per_cpu ( smt_snooze_delay , cpu -> dev . id ) = snooze ;
return count ; --
1.9.1
See checkpatch warning
"Prefer kstrto<type> to single variable sscanf"
Signed-off-by: Fabian Frederick <redacted>
---
arch/powerpc/sysdev/mv64x60_pci.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/sysdev/mv64x60_pci.c b/arch/powerpc/sysdev/mv64x60_pci.c
index 330d566..ca0b29c 100644
--- a/arch/powerpc/sysdev/mv64x60_pci.c
+++ b/arch/powerpc/sysdev/mv64x60_pci.c @@ -52,14 +52,17 @@ static ssize_t mv64x60_hs_reg_write(struct file *filp, struct kobject *kobj,
{
struct pci_dev * phb ;
u32 v ;
+ int rc ;
if ( off > 0 )
return 0 ;
if ( count <= 0 )
return - EINVAL ;
- if ( sscanf ( buf , "%i" , & v ) != 1 )
- return - EINVAL ;
+ rc = kstrtou32 ( buf , 0 , & v );
+
+ if ( rc )
+ return rc ;
phb = pci_get_bus_and_slot ( 0 , PCI_DEVFN ( 0 , 0 ));
if ( ! phb ) --
1.9.1
See checkpatch warning
"Prefer kstrto<type> to single variable sscanf"
Signed-off-by: Fabian Frederick <redacted>
---
arch/powerpc/platforms/powernv/subcore.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/subcore.c b/arch/powerpc/platforms/powernv/subcore.c
index 894ecb3..79721b2 100644
--- a/arch/powerpc/platforms/powernv/subcore.c
+++ b/arch/powerpc/platforms/powernv/subcore.c @@ -337,9 +337,9 @@ static ssize_t __used store_subcores_per_core(struct device *dev,
/* We are serialised by the attribute lock */
- rc = sscanf ( buf , "%lx" , & val );
- if ( rc != 1 )
- return - EINVAL ;
+ rc = kstrtoul ( buf , 16 , & val );
+ if ( rc )
+ return rc ;
switch ( val ) {
case 1 : --
1.9.1