Commit 01de69c2 authored by Maxim Levitsky's avatar Maxim Levitsky Committed by David Woodhouse

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: default avatarMaxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
parent e5f710cf
...@@ -317,15 +317,6 @@ config SM_FTL ...@@ -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 @@ ...@@ -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, ...@@ -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) ...@@ -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 @@ static int sm_write_block(struct sm_ftl *ftl, uint8_t *buf, ...@@ -382,7 +378,6 @@ static int sm_write_block(struct sm_ftl *ftl, uint8_t *buf,
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 @@ static int sm_write_block(struct sm_ftl *ftl, uint8_t *buf, ...@@ -390,7 +385,6 @@ static int sm_write_block(struct sm_ftl *ftl, uint8_t *buf,
__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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment