Merge pull request #13932 from akshaim/Kconfig_mtd_sdcard_1

drivers/mtd_sdcard : Expose Configurations to Kconfig
This commit is contained in:
Leandro Lanzieri 2020-05-04 21:14:59 +02:00 committed by GitHub
commit 1fe30c1aca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 43 additions and 13 deletions

View File

@ -12,6 +12,8 @@ endmenu # Actuator Device Drivers
rsource "Kconfig.net" rsource "Kconfig.net"
rsource "periph_common/Kconfig"
menu "Sensor Device Drivers" menu "Sensor Device Drivers"
rsource "ads101x/Kconfig" rsource "ads101x/Kconfig"
rsource "bmx055/Kconfig" rsource "bmx055/Kconfig"
@ -23,6 +25,8 @@ rsource "opt3001/Kconfig"
rsource "sps30/Kconfig" rsource "sps30/Kconfig"
endmenu # Sensor Device Drivers endmenu # Sensor Device Drivers
rsource "periph_common/Kconfig" menu "Storage Device Drivers"
rsource "mtd_sdcard/Kconfig"
endmenu # Storage Device Drivers
endmenu # Drivers endmenu # Drivers

View File

@ -49,15 +49,16 @@ typedef struct {
* @{ * @{
*/ */
/** /**
* @brief Enable Skip SDCard Erase * @brief Enable SDCard Erase
* @note SDCards handle sector erase internally so it's * @note SDCards handle sector erase internally so it's
* possible to directly write to the card without erasing * possible to directly write to the card without erasing
* the sector first. * the sector first.
* Attention: an erase call will therefore NOT touch the content, * Attention: an erase call will therefore NOT touch the content,
* so disable this feature to ensure overriding the data. * so enable this feature to ensure overriding the data.
* This feature is currently not supported.
*/ */
#ifndef MTD_SDCARD_SKIP_ERASE #ifdef DOXYGEN
#define MTD_SDCARD_SKIP_ERASE (1) #define CONFIG_MTD_SDCARD_ERASE
#endif #endif
/** @} */ /** @} */

View File

@ -0,0 +1,23 @@
# Copyright (c) 2020 Freie Universitaet Berlin
#
# This file is subject to the terms and conditions of the GNU Lesser
# General Public License v2.1. See the file LICENSE in the top level
# directory for more details.
#
menuconfig KCONFIG_MODULE_MTD_SDCARD
bool "Configure MTD_SDCARD driver"
depends on MODULE_MTD_SDCARD
help
Configure the MTD_SDCARD driver using Kconfig.
if KCONFIG_MODULE_MTD_SDCARD
config MTD_SDCARD_ERASE
bool "Enable SD card erase"
help
Enable this to erase sector before a data write operation.
SDCards handle sector erase internally so it's
possible to directly write to the card without erasing
the sector first hence this feature is disabled by default.
endif # KCONFIG_MODULE_MTD_SDCARD

View File

@ -24,6 +24,7 @@
#include "mtd_sdcard.h" #include "mtd_sdcard.h"
#include "sdcard_spi.h" #include "sdcard_spi.h"
#include "sdcard_spi_internal.h" #include "sdcard_spi_internal.h"
#include "kernel_defines.h"
#include <inttypes.h> #include <inttypes.h>
#include <errno.h> #include <errno.h>
@ -103,11 +104,12 @@ static int mtd_sdcard_erase(mtd_dev_t *dev,
(void)addr; (void)addr;
(void)size; (void)size;
#if MTD_SDCARD_SKIP_ERASE == 1 if (!IS_ACTIVE(CONFIG_MTD_SDCARD_ERASE)) {
return 0; return 0;
#else }
return -ENOTSUP; /* explicit erase currently not supported */ else {
#endif return -ENOTSUP; /* explicit erase currently not supported */
}
} }
static int mtd_sdcard_power(mtd_dev_t *dev, enum mtd_power_state power) static int mtd_sdcard_power(mtd_dev_t *dev, enum mtd_power_state power)