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(); }