mmc: Clean up mmc_decode_scr() implementation
PATCH 2/3 mmc: Clean up mmc_decode_scr() implementation
In mmc_decode_scr(), back out coercion of 128-bit-oriented UNSTUFF_BITS() macro to work on 64-bit raw_scr field; invoke UNSTUFF_BITS_ARRAY() instead.
Tested by verifying that /sys output for scr register is unchanged.
Signed-off-by [email protected]
--- drivers/mmc/core/sd.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-)
drivers/mmc/core/sd.c +3 -7
@@ -163,20 +163,16 @@ static int mmc_decode_scr(struct mmc_car {struct sd_scr *scr = &card->scr;unsigned int scr_struct; -u32 resp[4 ]; - resp[3 ] = card->raw_scr[1 ]; - resp[2 ] = card->raw_scr[0 ]; - - scr_struct =UNSTUFF_BITS (resp,60 ,4 ); + scr_struct =UNSTUFF_BITS_ARRAY (card->raw_scr,60 ,4 );if (scr_struct !=0 ) {printk (KERN_ERR "%s: unrecognised SCR structure version %d\n" ,mmc_hostname (card->host), scr_struct);return -EINVAL ; } - scr->sda_vsn =UNSTUFF_BITS (resp,56 ,4 ); - scr->bus_widths =UNSTUFF_BITS (resp,48 ,4 ); + scr->sda_vsn =UNSTUFF_BITS_ARRAY (card->raw_scr,56 ,4 ); + scr->bus_widths =UNSTUFF_BITS_ARRAY (card->raw_scr,48 ,4 );return 0 ; }