From 1f816bc729fd5dec7c3633b0a54b75dc7a1fea0f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Wed, 6 Mar 2013 12:34:19 +0100 Subject: [PATCH] mtd: bcm47xxsflash: store info about flash type MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit It's going to be needed for erase and write operations, they differ between Atmel and ST flashes. Signed-off-by: Rafał Miłecki Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse --- 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 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; -- 2.39.5