diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2013-03-06 15:34:19 +0400 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2013-04-05 16:14:14 +0400 |
commit | 1f816bc729fd5dec7c3633b0a54b75dc7a1fea0f (patch) | |
tree | ab58e0d4000de16f5a778e70e755e9d5c6716784 /drivers | |
parent | 41c81536ea25d17933b5b503053a5990ec05502a (diff) | |
download | linux-1f816bc729fd5dec7c3633b0a54b75dc7a1fea0f.tar.xz |
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@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mtd/devices/bcm47xxsflash.c | 9 | ||||
-rw-r--r-- | drivers/mtd/devices/bcm47xxsflash.h | 7 |
2 files changed, 16 insertions, 0 deletions
diff --git a/drivers/mtd/devices/bcm47xxsflash.c b/drivers/mtd/devices/bcm47xxsflash.c index b0705741fd93..18e7761137a3 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 e37285e6fad9..44985294ed8f 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; |