mtd: bcm47xxsflash: store info about flash type

Linux-MTD Mailing List linux-mtd at lists.infradead.org
Fri Apr 5 08:59:08 EDT 2013


Gitweb:     http://git.infradead.org/?p=mtd-2.6.git;a=commit;h=1f816bc729fd5dec7c3633b0a54b75dc7a1fea0f
Commit:     1f816bc729fd5dec7c3633b0a54b75dc7a1fea0f
Parent:     41c81536ea25d17933b5b503053a5990ec05502a
Author:     Rafał Miłecki <zajec5 at gmail.com>
AuthorDate: Wed Mar 6 12:34:19 2013 +0100
Committer:  David Woodhouse <David.Woodhouse at intel.com>
CommitDate: Fri Apr 5 13:14:14 2013 +0100

    mtd: bcm47xxsflash: store info about flash type
    
    It's going to be needed for erase and write operations, they differ
    between Atmel and ST flashes.
    
    Signed-off-by: Rafał Miłecki <zajec5 at gmail.com>
    Signed-off-by: Artem Bityutskiy <artem.bityutskiy at linux.intel.com>
    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>
---
 drivers/mtd/devices/bcm47xxsflash.c | 9 +++++++++
 drivers/mtd/devices/bcm47xxsflash.h | 7 +++++++
 2 files changed, 16 insertions(+)

diff --git a/drivers/mtd/devices/bcm47xxsflash.c b/drivers/mtd/devices/bcm47xxsflash.c
index b070574..18e7761 100644
--- a/drivers/mtd/devices/bcm47xxsflash.c
+++ b/drivers/mtd/devices/bcm47xxsflash.c
@@ -63,6 +63,15 @@ static int bcm47xxsflash_bcma_probe(struct platform_device *pdev)
 
 	b47s->bcma_cc = container_of(sflash, struct bcma_drv_cc, sflash);
 
+	switch (b47s->bcma_cc->capabilities & BCMA_CC_CAP_FLASHT) {
+	case BCMA_CC_FLASHT_STSER:
+		b47s->type = BCM47XXSFLASH_TYPE_ST;
+		break;
+	case BCMA_CC_FLASHT_ATSER:
+		b47s->type = BCM47XXSFLASH_TYPE_ATMEL;
+		break;
+	}
+
 	b47s->window = sflash->window;
 	b47s->blocksize = sflash->blocksize;
 	b47s->numblocks = sflash->numblocks;
diff --git a/drivers/mtd/devices/bcm47xxsflash.h b/drivers/mtd/devices/bcm47xxsflash.h
index e37285e..4498529 100644
--- a/drivers/mtd/devices/bcm47xxsflash.h
+++ b/drivers/mtd/devices/bcm47xxsflash.h
@@ -5,9 +5,16 @@
 
 struct bcma_drv_cc;
 
+enum bcm47xxsflash_type {
+	BCM47XXSFLASH_TYPE_ATMEL,
+	BCM47XXSFLASH_TYPE_ST,
+};
+
 struct bcm47xxsflash {
 	struct bcma_drv_cc *bcma_cc;
 
+	enum bcm47xxsflash_type type;
+
 	u32 window;
 	u32 blocksize;
 	u16 numblocks;



More information about the linux-mtd-cvs mailing list