From 4e6a515899290635bfd7fe3aef8c4d4d9e88fced Mon Sep 17 00:00:00 2001 From: Richard Retanubun Date: Wed, 16 Feb 2011 16:37:22 -0500 Subject: sf: add struct spi_flash.sector_size parameter This patch adds a new member to struct spi_flash (u16 sector_size) and updates the spi flash drivers to start populating it. This parameter can be used by spi flash commands that need to round up units of operation to the flash's sector_size. Having this number in one place also allows duplicated code to be further collapsed into one common location (such as erase parameter and the detected message). Signed-off-by: Richard Retanubun Signed-off-by: Mike Frysinger --- drivers/mtd/spi/macronix.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) (limited to 'drivers/mtd/spi/macronix.c') diff --git a/drivers/mtd/spi/macronix.c b/drivers/mtd/spi/macronix.c index 4155d4d9a4..a0512d1e3a 100644 --- a/drivers/mtd/spi/macronix.c +++ b/drivers/mtd/spi/macronix.c @@ -177,11 +177,7 @@ static int macronix_write(struct spi_flash *flash, int macronix_erase(struct spi_flash *flash, u32 offset, size_t len) { - struct macronix_spi_flash *mcx = to_macronix_spi_flash(flash); - return spi_flash_cmd_erase(flash, CMD_MX25XX_BE, - mcx->params->page_size * mcx->params->pages_per_sector * - mcx->params->sectors_per_block, - offset, len); + return spi_flash_cmd_erase(flash, CMD_MX25XX_BE, offset, len); } struct spi_flash *spi_flash_probe_macronix(struct spi_slave *spi, u8 *idcode) @@ -215,12 +211,9 @@ struct spi_flash *spi_flash_probe_macronix(struct spi_slave *spi, u8 *idcode) mcx->flash.write = macronix_write; mcx->flash.erase = macronix_erase; mcx->flash.read = spi_flash_cmd_read_fast; - mcx->flash.size = params->page_size * params->pages_per_sector - * params->sectors_per_block * params->nr_blocks; - - printf("SF: Detected %s with page size %u, total ", - params->name, params->page_size); - print_size(mcx->flash.size, "\n"); + mcx->flash.sector_size = params->page_size * params->pages_per_sector + * params->sectors_per_block; + mcx->flash.size = mcx->flash.sector_size * params->nr_blocks; return &mcx->flash; } -- cgit v1.2.3 From f8f0757dcb117664a712650f000433e765acffbd Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Tue, 12 Apr 2011 01:51:29 -0400 Subject: sf: localize erase funcs No need for these to be exported as they are only accessed indirectly via function pointers. Signed-off-by: Mike Frysinger --- drivers/mtd/spi/atmel.c | 4 ++-- drivers/mtd/spi/eon.c | 2 +- drivers/mtd/spi/macronix.c | 2 +- drivers/mtd/spi/ramtron.c | 2 +- drivers/mtd/spi/spansion.c | 2 +- drivers/mtd/spi/sst.c | 2 +- drivers/mtd/spi/stmicro.c | 2 +- drivers/mtd/spi/winbond.c | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) (limited to 'drivers/mtd/spi/macronix.c') diff --git a/drivers/mtd/spi/atmel.c b/drivers/mtd/spi/atmel.c index d17ebf616d..1ecece0d78 100644 --- a/drivers/mtd/spi/atmel.c +++ b/drivers/mtd/spi/atmel.c @@ -328,7 +328,7 @@ out: /* * TODO: the two erase funcs (_p2/_at45) should get unified ... */ -int dataflash_erase_p2(struct spi_flash *flash, u32 offset, size_t len) +static int dataflash_erase_p2(struct spi_flash *flash, u32 offset, size_t len) { struct atmel_spi_flash *asf = to_atmel_spi_flash(flash); unsigned long page_size; @@ -387,7 +387,7 @@ out: return ret; } -int dataflash_erase_at45(struct spi_flash *flash, u32 offset, size_t len) +static int dataflash_erase_at45(struct spi_flash *flash, u32 offset, size_t len) { struct atmel_spi_flash *asf = to_atmel_spi_flash(flash); unsigned long page_addr; diff --git a/drivers/mtd/spi/eon.c b/drivers/mtd/spi/eon.c index a3640f416f..e3de3aabbd 100644 --- a/drivers/mtd/spi/eon.c +++ b/drivers/mtd/spi/eon.c @@ -119,7 +119,7 @@ static int eon_write(struct spi_flash *flash, return ret; } -int eon_erase(struct spi_flash *flash, u32 offset, size_t len) +static int eon_erase(struct spi_flash *flash, u32 offset, size_t len) { return spi_flash_cmd_erase(flash, CMD_EN25Q128_BE, offset, len); } diff --git a/drivers/mtd/spi/macronix.c b/drivers/mtd/spi/macronix.c index a0512d1e3a..ff66f2aa35 100644 --- a/drivers/mtd/spi/macronix.c +++ b/drivers/mtd/spi/macronix.c @@ -175,7 +175,7 @@ static int macronix_write(struct spi_flash *flash, return ret; } -int macronix_erase(struct spi_flash *flash, u32 offset, size_t len) +static int macronix_erase(struct spi_flash *flash, u32 offset, size_t len) { return spi_flash_cmd_erase(flash, CMD_MX25XX_BE, offset, len); } diff --git a/drivers/mtd/spi/ramtron.c b/drivers/mtd/spi/ramtron.c index 453dd3f44e..078d16ce1b 100644 --- a/drivers/mtd/spi/ramtron.c +++ b/drivers/mtd/spi/ramtron.c @@ -233,7 +233,7 @@ static int ramtron_write(struct spi_flash *flash, CMD_RAMTRON_WRITE); } -int ramtron_erase(struct spi_flash *flash, u32 offset, size_t len) +static int ramtron_erase(struct spi_flash *flash, u32 offset, size_t len) { debug("SF: Erase of RAMTRON FRAMs is pointless\n"); return -1; diff --git a/drivers/mtd/spi/spansion.c b/drivers/mtd/spi/spansion.c index f138d7344e..a3401b32e1 100644 --- a/drivers/mtd/spi/spansion.c +++ b/drivers/mtd/spi/spansion.c @@ -196,7 +196,7 @@ static int spansion_write(struct spi_flash *flash, return ret; } -int spansion_erase(struct spi_flash *flash, u32 offset, size_t len) +static int spansion_erase(struct spi_flash *flash, u32 offset, size_t len) { return spi_flash_cmd_erase(flash, CMD_S25FLXX_SE, offset, len); } diff --git a/drivers/mtd/spi/sst.c b/drivers/mtd/spi/sst.c index 38983bd203..0733debc60 100644 --- a/drivers/mtd/spi/sst.c +++ b/drivers/mtd/spi/sst.c @@ -199,7 +199,7 @@ sst_write(struct spi_flash *flash, u32 offset, size_t len, const void *buf) return ret; } -int sst_erase(struct spi_flash *flash, u32 offset, size_t len) +static int sst_erase(struct spi_flash *flash, u32 offset, size_t len) { return spi_flash_cmd_erase(flash, CMD_SST_SE, offset, len); } diff --git a/drivers/mtd/spi/stmicro.c b/drivers/mtd/spi/stmicro.c index a1980b1ed7..a1959ca984 100644 --- a/drivers/mtd/spi/stmicro.c +++ b/drivers/mtd/spi/stmicro.c @@ -197,7 +197,7 @@ static int stmicro_write(struct spi_flash *flash, return ret; } -int stmicro_erase(struct spi_flash *flash, u32 offset, size_t len) +static int stmicro_erase(struct spi_flash *flash, u32 offset, size_t len) { return spi_flash_cmd_erase(flash, CMD_M25PXX_SE, offset, len); } diff --git a/drivers/mtd/spi/winbond.c b/drivers/mtd/spi/winbond.c index 72d94ad216..e8d30ae2b9 100644 --- a/drivers/mtd/spi/winbond.c +++ b/drivers/mtd/spi/winbond.c @@ -170,7 +170,7 @@ out: return ret; } -int winbond_erase(struct spi_flash *flash, u32 offset, size_t len) +static int winbond_erase(struct spi_flash *flash, u32 offset, size_t len) { return spi_flash_cmd_erase(flash, CMD_W25_SE, offset, len); } -- cgit v1.2.3