mtd: sm_ftl: remove CONFIG_SM_FTL_MUSEUM and make it always on
The sole purpose of this setting was to avoid a dependency on MTD_NAND. Now that we can depend on MTD_NAND_ECC without pulling in all the rest of the NAND code, we might as well do so unconditionally. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
This commit is contained in:
Родитель
e5f710cfc6
Коммит
01de69c2b0
|
@ -317,15 +317,6 @@ config SM_FTL
|
||||||
eat your card, so please don't use it together with valuable data.
|
eat your card, so please don't use it together with valuable data.
|
||||||
Use readonly driver (CONFIG_SSFDC) instead.
|
Use readonly driver (CONFIG_SSFDC) instead.
|
||||||
|
|
||||||
config SM_FTL_MUSEUM
|
|
||||||
boolean "Additional Support for 1MiB and 2MiB SmartMedia cards"
|
|
||||||
depends on SM_FTL
|
|
||||||
select MTD_NAND_ECC_SMC
|
|
||||||
help
|
|
||||||
Very old SmartMedia cards need ECC to be calculated in the FTL.
|
|
||||||
Such cards are very rare, thus enabling this option is mostly useless.
|
|
||||||
Also this support is completely UNTESTED.
|
|
||||||
|
|
||||||
config MTD_OOPS
|
config MTD_OOPS
|
||||||
tristate "Log panic/oops to an MTD buffer"
|
tristate "Log panic/oops to an MTD buffer"
|
||||||
depends on MTD
|
depends on MTD
|
||||||
|
|
|
@ -15,12 +15,10 @@
|
||||||
#include <linux/freezer.h>
|
#include <linux/freezer.h>
|
||||||
#include <linux/sysfs.h>
|
#include <linux/sysfs.h>
|
||||||
#include <linux/bitops.h>
|
#include <linux/bitops.h>
|
||||||
|
#include <linux/mtd/nand_ecc.h>
|
||||||
#include "nand/sm_common.h"
|
#include "nand/sm_common.h"
|
||||||
#include "sm_ftl.h"
|
#include "sm_ftl.h"
|
||||||
|
|
||||||
#ifdef CONFIG_SM_FTL_MUSEUM
|
|
||||||
#include <linux/mtd/nand_ecc.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
struct workqueue_struct *cache_flush_workqueue;
|
struct workqueue_struct *cache_flush_workqueue;
|
||||||
|
@ -206,7 +204,6 @@ static void sm_break_offset(struct sm_ftl *ftl, loff_t offset,
|
||||||
|
|
||||||
static int sm_correct_sector(uint8_t *buffer, struct sm_oob *oob)
|
static int sm_correct_sector(uint8_t *buffer, struct sm_oob *oob)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_SM_FTL_MUSEUM
|
|
||||||
uint8_t ecc[3];
|
uint8_t ecc[3];
|
||||||
|
|
||||||
__nand_calculate_ecc(buffer, SM_SMALL_PAGE, ecc);
|
__nand_calculate_ecc(buffer, SM_SMALL_PAGE, ecc);
|
||||||
|
@ -218,7 +215,6 @@ static int sm_correct_sector(uint8_t *buffer, struct sm_oob *oob)
|
||||||
__nand_calculate_ecc(buffer, SM_SMALL_PAGE, ecc);
|
__nand_calculate_ecc(buffer, SM_SMALL_PAGE, ecc);
|
||||||
if (__nand_correct_data(buffer, ecc, oob->ecc2, SM_SMALL_PAGE) < 0)
|
if (__nand_correct_data(buffer, ecc, oob->ecc2, SM_SMALL_PAGE) < 0)
|
||||||
return -EIO;
|
return -EIO;
|
||||||
#endif
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -382,7 +378,6 @@ restart:
|
||||||
oob.data_status = 0;
|
oob.data_status = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_SM_FTL_MUSEUM
|
|
||||||
if (ftl->smallpagenand) {
|
if (ftl->smallpagenand) {
|
||||||
__nand_calculate_ecc(buf + boffset,
|
__nand_calculate_ecc(buf + boffset,
|
||||||
SM_SMALL_PAGE, oob.ecc1);
|
SM_SMALL_PAGE, oob.ecc1);
|
||||||
|
@ -390,7 +385,6 @@ restart:
|
||||||
__nand_calculate_ecc(buf + boffset + SM_SMALL_PAGE,
|
__nand_calculate_ecc(buf + boffset + SM_SMALL_PAGE,
|
||||||
SM_SMALL_PAGE, oob.ecc2);
|
SM_SMALL_PAGE, oob.ecc2);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
if (!sm_write_sector(ftl, zone, block, boffset,
|
if (!sm_write_sector(ftl, zone, block, boffset,
|
||||||
buf + boffset, &oob))
|
buf + boffset, &oob))
|
||||||
continue;
|
continue;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче