diff options
| author | Simon Glass <sjg@chromium.org> | 2013-03-11 06:08:03 +0000 | 
|---|---|---|
| committer | Simon Glass <sjg@chromium.org> | 2013-03-19 08:45:36 -0700 | 
| commit | c0f87dd4ffa0c012d1dc8f737412c58200a93c93 (patch) | |
| tree | ad8bc5cfdeac09a81bde0f16626b0625d7bcc836 | |
| parent | b5aec1424d191c51f694ba85d5577e7a635363d9 (diff) | |
| download | olio-uboot-2014.01-c0f87dd4ffa0c012d1dc8f737412c58200a93c93.tar.xz olio-uboot-2014.01-c0f87dd4ffa0c012d1dc8f737412c58200a93c93.zip | |
sf: Use spi_flash_alloc() in each SPI flash driver
Rather than each device having its own way to allocate a SPI flash
structure, use the new allocation function everywhere. This will make it
easier to extend the interface without breaking devices.
Signed-off-by: Simon Glass <sjg@chromium.org>
| -rw-r--r-- | drivers/mtd/spi/atmel.c | 8 | ||||
| -rw-r--r-- | drivers/mtd/spi/eon.c | 8 | ||||
| -rw-r--r-- | drivers/mtd/spi/macronix.c | 8 | ||||
| -rw-r--r-- | drivers/mtd/spi/ramtron.c | 4 | ||||
| -rw-r--r-- | drivers/mtd/spi/spansion.c | 8 | ||||
| -rw-r--r-- | drivers/mtd/spi/sst.c | 8 | ||||
| -rw-r--r-- | drivers/mtd/spi/stmicro.c | 8 | ||||
| -rw-r--r-- | drivers/mtd/spi/winbond.c | 8 | 
8 files changed, 8 insertions, 52 deletions
| diff --git a/drivers/mtd/spi/atmel.c b/drivers/mtd/spi/atmel.c index 006f6d5d0..6a92c4b77 100644 --- a/drivers/mtd/spi/atmel.c +++ b/drivers/mtd/spi/atmel.c @@ -480,15 +480,13 @@ struct spi_flash *spi_flash_probe_atmel(struct spi_slave *spi, u8 *idcode)  		return NULL;  	} -	asf = malloc(sizeof(struct atmel_spi_flash)); +	asf = spi_flash_alloc(struct atmel_spi_flash, spi, params->name);  	if (!asf) {  		debug("SF: Failed to allocate memory\n");  		return NULL;  	}  	asf->params = params; -	asf->flash.spi = spi; -	asf->flash.name = params->name;  	/* Assuming power-of-two page size initially. */  	page_size = 1 << params->l2_page_size; @@ -513,7 +511,6 @@ struct spi_flash *spi_flash_probe_atmel(struct spi_slave *spi, u8 *idcode)  			asf->flash.erase = dataflash_erase_at45;  			page_size += 1 << (params->l2_page_size - 5);  		} else { -			asf->flash.read = spi_flash_cmd_read_fast;  			asf->flash.write = dataflash_write_p2;  			asf->flash.erase = dataflash_erase_p2;  		} @@ -524,9 +521,6 @@ struct spi_flash *spi_flash_probe_atmel(struct spi_slave *spi, u8 *idcode)  	case DF_FAMILY_AT26F:  	case DF_FAMILY_AT26DF: -		asf->flash.read = spi_flash_cmd_read_fast; -		asf->flash.write = spi_flash_cmd_write_multi; -		asf->flash.erase = spi_flash_cmd_erase;  		asf->flash.page_size = page_size;  		asf->flash.sector_size = 4096;  		/* clear SPRL# bit for locked flash */ diff --git a/drivers/mtd/spi/eon.c b/drivers/mtd/spi/eon.c index 691ed4efc..b16e7ab09 100644 --- a/drivers/mtd/spi/eon.c +++ b/drivers/mtd/spi/eon.c @@ -46,18 +46,12 @@ struct spi_flash *spi_flash_probe_eon(struct spi_slave *spi, u8 *idcode)  		return NULL;  	} -	flash = malloc(sizeof(*flash)); +	flash = spi_flash_alloc_base(spi, params->name);  	if (!flash) {  		debug("SF: Failed to allocate memory\n");  		return NULL;  	} -	flash->spi = spi; -	flash->name = params->name; - -	flash->write = spi_flash_cmd_write_multi; -	flash->erase = spi_flash_cmd_erase; -	flash->read = spi_flash_cmd_read_fast;  	flash->page_size = 256;  	flash->sector_size = 256 * 16 * 16;  	flash->size = 256 * 16 diff --git a/drivers/mtd/spi/macronix.c b/drivers/mtd/spi/macronix.c index c97a39d49..036c30d3b 100644 --- a/drivers/mtd/spi/macronix.c +++ b/drivers/mtd/spi/macronix.c @@ -97,18 +97,12 @@ struct spi_flash *spi_flash_probe_macronix(struct spi_slave *spi, u8 *idcode)  		return NULL;  	} -	flash = malloc(sizeof(*flash)); +	flash = spi_flash_alloc_base(spi, params->name);  	if (!flash) {  		debug("SF: Failed to allocate memory\n");  		return NULL;  	} -	flash->spi = spi; -	flash->name = params->name; - -	flash->write = spi_flash_cmd_write_multi; -	flash->erase = spi_flash_cmd_erase; -	flash->read = spi_flash_cmd_read_fast;  	flash->page_size = 256;  	flash->sector_size = 256 * 16 * 16;  	flash->size = flash->sector_size * params->nr_blocks; diff --git a/drivers/mtd/spi/ramtron.c b/drivers/mtd/spi/ramtron.c index 099978149..5299a6dbd 100644 --- a/drivers/mtd/spi/ramtron.c +++ b/drivers/mtd/spi/ramtron.c @@ -284,15 +284,13 @@ struct spi_flash *spi_fram_probe_ramtron(struct spi_slave *spi, u8 *idcode)  	return NULL;  found: -	sn = malloc(sizeof(*sn)); +	sn = spi_flash_alloc(struct ramtron_spi_fram, spi, params->name);  	if (!sn) {  		debug("SF: Failed to allocate memory\n");  		return NULL;  	}  	sn->params = params; -	sn->flash.spi = spi; -	sn->flash.name = params->name;  	sn->flash.write = ramtron_write;  	sn->flash.read = ramtron_read; diff --git a/drivers/mtd/spi/spansion.c b/drivers/mtd/spi/spansion.c index 9288672c8..bc558c4c9 100644 --- a/drivers/mtd/spi/spansion.c +++ b/drivers/mtd/spi/spansion.c @@ -128,18 +128,12 @@ struct spi_flash *spi_flash_probe_spansion(struct spi_slave *spi, u8 *idcode)  		return NULL;  	} -	flash = malloc(sizeof(*flash)); +	flash = spi_flash_alloc_base(spi, params->name);  	if (!flash) {  		debug("SF: Failed to allocate memory\n");  		return NULL;  	} -	flash->spi = spi; -	flash->name = params->name; - -	flash->write = spi_flash_cmd_write_multi; -	flash->erase = spi_flash_cmd_erase; -	flash->read = spi_flash_cmd_read_fast;  	flash->page_size = 256;  	flash->sector_size = 256 * params->pages_per_sector;  	flash->size = flash->sector_size * params->nr_sectors; diff --git a/drivers/mtd/spi/sst.c b/drivers/mtd/spi/sst.c index ced4f2473..95f5490c3 100644 --- a/drivers/mtd/spi/sst.c +++ b/drivers/mtd/spi/sst.c @@ -203,22 +203,16 @@ spi_flash_probe_sst(struct spi_slave *spi, u8 *idcode)  		return NULL;  	} -	stm = malloc(sizeof(*stm)); +	stm = spi_flash_alloc(struct sst_spi_flash, spi, params->name);  	if (!stm) {  		debug("SF: Failed to allocate memory\n");  		return NULL;  	}  	stm->params = params; -	stm->flash.spi = spi; -	stm->flash.name = params->name;  	if (stm->params->flags & SST_FEAT_WP)  		stm->flash.write = sst_write_wp; -	else -		stm->flash.write = spi_flash_cmd_write_multi; -	stm->flash.erase = spi_flash_cmd_erase; -	stm->flash.read = spi_flash_cmd_read_fast;  	stm->flash.page_size = 256;  	stm->flash.sector_size = 4096;  	stm->flash.size = stm->flash.sector_size * params->nr_sectors; diff --git a/drivers/mtd/spi/stmicro.c b/drivers/mtd/spi/stmicro.c index 8a193449d..2a9972bd4 100644 --- a/drivers/mtd/spi/stmicro.c +++ b/drivers/mtd/spi/stmicro.c @@ -176,18 +176,12 @@ struct spi_flash *spi_flash_probe_stmicro(struct spi_slave *spi, u8 * idcode)  		return NULL;  	} -	flash = malloc(sizeof(*flash)); +	flash = spi_flash_alloc_base(spi, params->name);  	if (!flash) {  		debug("SF: Failed to allocate memory\n");  		return NULL;  	} -	flash->spi = spi; -	flash->name = params->name; - -	flash->write = spi_flash_cmd_write_multi; -	flash->erase = spi_flash_cmd_erase; -	flash->read = spi_flash_cmd_read_fast;  	flash->page_size = 256;  	flash->sector_size = 256 * params->pages_per_sector;  	flash->size = flash->sector_size * params->nr_sectors; diff --git a/drivers/mtd/spi/winbond.c b/drivers/mtd/spi/winbond.c index 441830216..05dc64492 100644 --- a/drivers/mtd/spi/winbond.c +++ b/drivers/mtd/spi/winbond.c @@ -92,18 +92,12 @@ struct spi_flash *spi_flash_probe_winbond(struct spi_slave *spi, u8 *idcode)  		return NULL;  	} -	flash = malloc(sizeof(*flash)); +	flash = spi_flash_alloc_base(spi, params->name);  	if (!flash) {  		debug("SF: Failed to allocate memory\n");  		return NULL;  	} -	flash->spi = spi; -	flash->name = params->name; - -	flash->write = spi_flash_cmd_write_multi; -	flash->erase = spi_flash_cmd_erase; -	flash->read = spi_flash_cmd_read_fast;  	flash->page_size = 256;  	flash->sector_size = 4096;  	flash->size = 4096 * 16 * params->nr_blocks; |