s390: xpram module parameter parsing - take 2.
PATCH 2/6 s390: xpram module parameter parsing - take 2.
From: Heiko Carstens <[email protected]>
[S390] xpram module parameter parsing - take 2.
Don't use memparse since the default size modifier is 'k'.
Signed-off-by Heiko Carstens <[email protected]>
Signed-off-by Martin Schwidefsky <[email protected]>
---
drivers/s390/block/xpram.c | 17 ++++++++++++++--- 1 files changed, 14 insertions(+), 3 deletions(-)
drivers/s390/block/xpram.c +14 -3
@@ -304,6 +304,7 @@ static int __init xpram_setup_sizes(unsi {unsigned long mem_needed;unsigned long mem_auto; +unsigned long long size;int mem_auto_no;int i;
@@ -321,9 +322,19 @@ static int __init xpram_setup_sizes(unsi mem_needed =0 ; mem_auto_no =0 ;for (i =0 ; i < xpram_devs; i++) { -if (sizes[i]) - xpram_sizes[i] = - (memparse (sizes[i], &sizes[i]) +3 ) &-4UL ; +if (sizes[i]) { + size =simple_strtoull (sizes[i], &sizes[i],0 ); +switch (sizes[i][0 ]) { +case 'g' : +case 'G' : + size <<=20 ; +break ; +case 'm' : +case 'M' : + size <<=10 ; + } + xpram_sizes[i] = (size +3 ) &-4UL ; + }if (xpram_sizes[i]) mem_needed += xpram_sizes[i];else