]> Pileus Git - ~andy/linux/commitdiff
mtd: bcm47xxsflash: store info about flash type
authorRafał Miłecki <zajec5@gmail.com>
Wed, 6 Mar 2013 11:34:19 +0000 (12:34 +0100)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Fri, 5 Apr 2013 12:14:14 +0000 (13:14 +0100)
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@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/mtd/devices/bcm47xxsflash.c
drivers/mtd/devices/bcm47xxsflash.h

index b0705741fd937edcb26a66db184644f9f5ef9a39..18e7761137a33037a21aa61585e20d98f47b172e 100644 (file)
@@ -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;
index e37285e6fad930fcf9a6d015aa133f7656b2e683..44985294ed8f93431a27ac7b9c979da6b69eadd3 100644 (file)
@@ -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;