From 867d87dac9f8a6c536b815805c209a2aa5602e7a Mon Sep 17 00:00:00 2001 From: SPRESENSE <41312067+SPRESENSE@users.noreply.github.com> Date: Tue, 22 Nov 2022 11:55:56 +0900 Subject: [PATCH] arch: cxd56xx: Fix eMMC uninitialize function - Fix prototype function with prefix of cxd56. - Add logic to unregister blockdriver. - Minor fix nxstyle. --- arch/arm/src/cxd56xx/cxd56_emmc.c | 24 ++++++++++++++++-------- arch/arm/src/cxd56xx/cxd56_emmc.h | 2 +- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/arch/arm/src/cxd56xx/cxd56_emmc.c b/arch/arm/src/cxd56xx/cxd56_emmc.c index 39555781188e7..17223d0536523 100644 --- a/arch/arm/src/cxd56xx/cxd56_emmc.c +++ b/arch/arm/src/cxd56xx/cxd56_emmc.c @@ -942,6 +942,10 @@ static int cxd56_emmc_geometry(struct inode *inode, return OK; } +/**************************************************************************** + * Public Functions + ****************************************************************************/ + int cxd56_emmcinitialize(void) { struct cxd56_emmc_state_s *priv; @@ -984,21 +988,25 @@ int cxd56_emmcinitialize(void) } ret = register_blockdriver("/dev/emmc0", &g_bops, 0, priv); - if (ret) + if (ret < 0) { ferr("register_blockdriver failed: %d\n", -ret); - return ret; } - return OK; + return ret; } -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -int emmc_uninitialize(void) +int cxd56_emmcuninitialize(void) { + int ret; + + ret = unregister_blockdriver("/dev/emmc0"); + if (ret < 0) + { + ferr("unregister_blockdriver failed: %d\n", -ret); + return ret; + } + /* Send power off command */ emmc_switchcmd(EXTCSD_PON, EXTCSD_PON_POWERED_OFF_LONG); diff --git a/arch/arm/src/cxd56xx/cxd56_emmc.h b/arch/arm/src/cxd56xx/cxd56_emmc.h index 91f3211e43944..5dcd35cee2675 100644 --- a/arch/arm/src/cxd56xx/cxd56_emmc.h +++ b/arch/arm/src/cxd56xx/cxd56_emmc.h @@ -43,7 +43,7 @@ extern "C" ****************************************************************************/ int cxd56_emmcinitialize(void); -void cxd56_emmcuninitialize(void); +int cxd56_emmcuninitialize(void); #undef EXTERN #ifdef __cplusplus