From da93c074328eba19f4a058fea7e37ae2bfa81fc9 Mon Sep 17 00:00:00 2001 From: mikeller Date: Sun, 14 Jul 2019 17:09:35 +1200 Subject: [PATCH] Refactored SD card initialisation to contain SD card detection initialisation. --- src/main/drivers/sdcard.c | 12 +++--------- src/main/drivers/sdcard.h | 3 --- src/main/drivers/sdcard_impl.h | 2 -- src/main/fc/init.c | 1 - 4 files changed, 3 insertions(+), 15 deletions(-) diff --git a/src/main/drivers/sdcard.c b/src/main/drivers/sdcard.c index da95d93b67..1cc4c7595a 100644 --- a/src/main/drivers/sdcard.c +++ b/src/main/drivers/sdcard.c @@ -67,15 +67,7 @@ sdcard_t sdcard; STATIC_ASSERT(sizeof(sdcardCSD_t) == 16, sdcard_csd_bitfields_didnt_pack_properly); -void sdcardInsertionDetectDeinit(void) -{ - if (sdcard.cardDetectPin) { - IOInit(sdcard.cardDetectPin, OWNER_FREE, 0); - IOConfigGPIO(sdcard.cardDetectPin, IOCFG_IN_FLOATING); - } -} - -void sdcardInsertionDetectInit(const sdcardConfig_t *config) +static void sdcardInsertionDetectInit(const sdcardConfig_t *config) { if (config->cardDetectTag) { sdcard.cardDetectPin = IOGetByTag(config->cardDetectTag); @@ -122,6 +114,8 @@ void sdcard_preInit(const sdcardConfig_t *config) void sdcard_init(const sdcardConfig_t *config) { + sdcardInsertionDetectInit(config); + switch (config->mode) { #ifdef USE_SDCARD_SPI case SDCARD_MODE_SPI: diff --git a/src/main/drivers/sdcard.h b/src/main/drivers/sdcard.h index f39cccc213..11c9fac4d3 100644 --- a/src/main/drivers/sdcard.h +++ b/src/main/drivers/sdcard.h @@ -65,9 +65,6 @@ bool sdcard_readBlock(uint32_t blockIndex, uint8_t *buffer, sdcard_operationComp sdcardOperationStatus_e sdcard_beginWriteBlocks(uint32_t blockIndex, uint32_t blockCount); sdcardOperationStatus_e sdcard_writeBlock(uint32_t blockIndex, uint8_t *buffer, sdcard_operationCompleteCallback_c callback, uint32_t callbackData); -void sdcardInsertionDetectDeinit(void); -void sdcardInsertionDetectInit(const sdcardConfig_t *config); - bool sdcard_isInserted(void); bool sdcard_isInitialized(void); bool sdcard_isFunctional(void); diff --git a/src/main/drivers/sdcard_impl.h b/src/main/drivers/sdcard_impl.h index ae7997b80e..244ddae163 100644 --- a/src/main/drivers/sdcard_impl.h +++ b/src/main/drivers/sdcard_impl.h @@ -107,8 +107,6 @@ extern sdcard_t sdcard; STATIC_ASSERT(sizeof(sdcardCSD_t) == 16, sdcard_csd_bitfields_didnt_pack_properly); -void sdcardInsertionDetectInit(const sdcardConfig_t *config); -void sdcardInsertionDetectDeinit(void); bool sdcard_isInserted(void); typedef struct sdcardVTable_s { diff --git a/src/main/fc/init.c b/src/main/fc/init.c index 1efb5a5688..16bfb68249 100644 --- a/src/main/fc/init.c +++ b/src/main/fc/init.c @@ -252,7 +252,6 @@ static void configureSPIAndQuadSPI(void) void sdCardAndFSInit() { - sdcardInsertionDetectInit(sdcardConfig()); sdcard_init(sdcardConfig()); afatfs_init(); }