diff options
author | wwang <wei_wang@realsil.com.cn> | 2011-03-15 04:22:16 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-04-05 00:33:27 -0400 |
commit | ea4fca42b9ba61c68f77a783fcae13368a71b6bc (patch) | |
tree | 43d1609adb69bb41b0e7ab04002451530ba6d8df | |
parent | e0007c0c87f02b357a4f97f792c96f1264d09ea9 (diff) |
staging: rts_pstor: set lun_mode in a different place
In sony notebook, card reader will be configured as two-lun mode
through EFUSE. In this situation, MS card can't be recognized
properly because driver does only support single-lun mode in default.
In this patch, lun_mode is set in a different place, so driver can
detect the EFUSE configuation automatically.
Signed-off-by: wwang <wei_wang@realsil.com.cn>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | drivers/staging/rts_pstor/rtsx_chip.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/staging/rts_pstor/rtsx_chip.c b/drivers/staging/rts_pstor/rtsx_chip.c index f443d97a56f8..d2f1c715a684 100644 --- a/drivers/staging/rts_pstor/rtsx_chip.c +++ b/drivers/staging/rts_pstor/rtsx_chip.c | |||
@@ -684,6 +684,11 @@ static int rts5209_init(struct rtsx_chip *chip) | |||
684 | RTSX_DEBUGP("dw in 0x724: 0x%x\n", lval); | 684 | RTSX_DEBUGP("dw in 0x724: 0x%x\n", lval); |
685 | val = (u8)lval; | 685 | val = (u8)lval; |
686 | if (!(val & 0x80)) { | 686 | if (!(val & 0x80)) { |
687 | if (val & 0x08) | ||
688 | chip->lun_mode = DEFAULT_SINGLE; | ||
689 | else | ||
690 | chip->lun_mode = SD_MS_2LUN; | ||
691 | |||
687 | if (val & 0x04) { | 692 | if (val & 0x04) { |
688 | SET_SDIO_EXIST(chip); | 693 | SET_SDIO_EXIST(chip); |
689 | } else { | 694 | } else { |
@@ -705,12 +710,6 @@ static int rts5209_init(struct rtsx_chip *chip) | |||
705 | 710 | ||
706 | chip->aspm_l0s_l1_en = (val >> 5) & 0x03; | 711 | chip->aspm_l0s_l1_en = (val >> 5) & 0x03; |
707 | 712 | ||
708 | if (val & 0x08) { | ||
709 | chip->lun_mode = DEFAULT_SINGLE; | ||
710 | } else { | ||
711 | chip->lun_mode = SD_MS_2LUN; | ||
712 | } | ||
713 | |||
714 | val = (u8)(lval >> 8); | 713 | val = (u8)(lval >> 8); |
715 | 714 | ||
716 | clk = (val >> 5) & 0x07; | 715 | clk = (val >> 5) & 0x07; |