Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cb547643 authored by Fabio Falzoi's avatar Fabio Falzoi Committed by Greg Kroah-Hartman
Browse files

Staging: rts5208: helper function to manage sd erase status



Use a helper function to manage SD erase status when SUPPORT_SD_LOCK is
defined

Signed-off-by: default avatarFabio Falzoi <fabio.falzoi84@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 1d1c5b24
Loading
Loading
Loading
Loading
+21 −17
Original line number Diff line number Diff line
@@ -1143,11 +1143,30 @@ static void rtsx_monitor_aspm_config(struct rtsx_chip *chip)
	}
}

void rtsx_polling_func(struct rtsx_chip *chip)
static void rtsx_manage_sd_lock(struct rtsx_chip *chip)
{
#ifdef SUPPORT_SD_LOCK
	struct sd_info *sd_card = &chip->sd_card;
	u8 val;

	if (!sd_card->sd_erase_status)
		return;

	if (chip->card_exist & SD_CARD) {
		rtsx_read_register(chip, 0xFD30, &val);
		if (val & 0x02) {
			sd_card->sd_erase_status = SD_NOT_ERASE;
			sd_card->sd_lock_notify = 1;
			chip->need_reinit |= SD_CARD;
		}
	} else {
		sd_card->sd_erase_status = SD_NOT_ERASE;
	}
#endif
}

void rtsx_polling_func(struct rtsx_chip *chip)
{
	bool ss_allowed;

	if (rtsx_chk_stat(chip, RTSX_STAT_SUSPEND))
@@ -1180,22 +1199,7 @@ void rtsx_polling_func(struct rtsx_chip *chip)
	}
#endif

#ifdef SUPPORT_SD_LOCK
	if (sd_card->sd_erase_status) {
		if (chip->card_exist & SD_CARD) {
			u8 val;

			rtsx_read_register(chip, 0xFD30, &val);
			if (val & 0x02) {
				sd_card->sd_erase_status = SD_NOT_ERASE;
				sd_card->sd_lock_notify = 1;
				chip->need_reinit |= SD_CARD;
			}
		} else {
			sd_card->sd_erase_status = SD_NOT_ERASE;
		}
	}
#endif
	rtsx_manage_sd_lock(chip);

	rtsx_init_cards(chip);