Now that the common spi_flash structure tracks all the info that these
drivers need, kill off their local state indirection and use just what
the common code provides.
Signed-off-by: Mike Frysinger vap...@gentoo.org
---
drivers/mtd/spi/eon.c | 36
drivers/mtd/spi/macronix.c | 36
drivers/mtd/spi/spansion.c | 36
drivers/mtd/spi/stmicro.c | 37 -
drivers/mtd/spi/winbond.c | 39 +--
5 files changed, 61 insertions(+), 123 deletions(-)
diff --git a/drivers/mtd/spi/eon.c b/drivers/mtd/spi/eon.c
index 036855b..5937b61 100644
--- a/drivers/mtd/spi/eon.c
+++ b/drivers/mtd/spi/eon.c
@@ -34,17 +34,6 @@ struct eon_spi_flash_params {
const char *name;
};
-/* spi_flash needs to be first so upper layers can free() it */
-struct eon_spi_flash {
- struct spi_flash flash;
- const struct eon_spi_flash_params *params;
-};
-
-static inline struct eon_spi_flash *to_eon_spi_flash(struct spi_flash *flash)
-{
- return container_of(flash, struct eon_spi_flash, flash);
-}
-
static const struct eon_spi_flash_params eon_spi_flash_table[] = {
{
.idcode1 = EON_ID_EN25Q128,
@@ -64,7 +53,7 @@ static int eon_erase(struct spi_flash *flash, u32 offset,
size_t len)
struct spi_flash *spi_flash_probe_eon(struct spi_slave *spi, u8 *idcode)
{
const struct eon_spi_flash_params *params;
- struct eon_spi_flash *eon;
+ struct spi_flash *flash;
unsigned int i;
for (i = 0; i ARRAY_SIZE(eon_spi_flash_table); ++i) {
@@ -78,24 +67,23 @@ struct spi_flash *spi_flash_probe_eon(struct spi_slave
*spi, u8 *idcode)
return NULL;
}
- eon = malloc(sizeof(*eon));
- if (!eon) {
+ flash = malloc(sizeof(*flash));
+ if (!flash) {
debug(SF: Failed to allocate memory\n);
return NULL;
}
- eon-params = params;
- eon-flash.spi = spi;
- eon-flash.name = params-name;
+ flash-spi = spi;
+ flash-name = params-name;
- eon-flash.write = spi_flash_cmd_write_multi;
- eon-flash.erase = eon_erase;
- eon-flash.read = spi_flash_cmd_read_fast;
- eon-flash.page_size = params-page_size;
- eon-flash.sector_size = params-page_size * params-pages_per_sector
+ flash-write = spi_flash_cmd_write_multi;
+ flash-erase = eon_erase;
+ flash-read = spi_flash_cmd_read_fast;
+ flash-page_size = params-page_size;
+ flash-sector_size = params-page_size * params-pages_per_sector
* params-sectors_per_block;
- eon-flash.size = params-page_size * params-pages_per_sector
+ flash-size = params-page_size * params-pages_per_sector
* params-nr_sectors;
- return eon-flash;
+ return flash;
}
diff --git a/drivers/mtd/spi/macronix.c b/drivers/mtd/spi/macronix.c
index cb06476..96fd5f0 100644
--- a/drivers/mtd/spi/macronix.c
+++ b/drivers/mtd/spi/macronix.c
@@ -58,17 +58,6 @@ struct macronix_spi_flash_params {
const char *name;
};
-struct macronix_spi_flash {
- struct spi_flash flash;
- const struct macronix_spi_flash_params *params;
-};
-
-static inline struct macronix_spi_flash *to_macronix_spi_flash(struct spi_flash
- *flash)
-{
- return container_of(flash, struct macronix_spi_flash, flash);
-}
-
static const struct macronix_spi_flash_params macronix_spi_flash_table[] = {
{
.idcode = 0x2013,
@@ -136,7 +125,7 @@ static int macronix_erase(struct spi_flash *flash, u32
offset, size_t len)
struct spi_flash *spi_flash_probe_macronix(struct spi_slave *spi, u8 *idcode)
{
const struct macronix_spi_flash_params *params;
- struct macronix_spi_flash *mcx;
+ struct spi_flash *flash;
unsigned int i;
u16 id = idcode[2] | idcode[1] 8;
@@ -151,23 +140,22 @@ struct spi_flash *spi_flash_probe_macronix(struct
spi_slave *spi, u8 *idcode)
return NULL;
}
- mcx = malloc(sizeof(*mcx));
- if (!mcx) {
+ flash = malloc(sizeof(*flash));
+ if (!flash) {
debug(SF: Failed to allocate memory\n);
return NULL;
}
- mcx-params = params;
- mcx-flash.spi = spi;
- mcx-flash.name = params-name;
+ flash-spi = spi;
+ flash-name = params-name;
- mcx-flash.write = spi_flash_cmd_write_multi;
- mcx-flash.erase = macronix_erase;
- mcx-flash.read = spi_flash_cmd_read_fast;
- mcx-flash.page_size = params-page_size;
- mcx-flash.sector_size = params-page_size * params-pages_per_sector
+ flash-write = spi_flash_cmd_write_multi;
+ flash-erase = macronix_erase;
+ flash-read = spi_flash_cmd_read_fast;
+