Patchwork [1/3] mtd: bcm47xxsflash: store info about flash type

login
register
mail settings
Submitter Rafał Miłecki
Date Feb. 20, 2013, 6:32 a.m.
Message ID <1361341929-11153-1-git-send-email-zajec5@gmail.com>
Download mbox | patch
Permalink /patch/221962/
State New
Headers show

Comments

Rafał Miłecki - Feb. 20, 2013, 6:32 a.m.
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>
---
 drivers/mtd/devices/bcm47xxsflash.c |    9 +++++++++
 drivers/mtd/devices/bcm47xxsflash.h |    7 +++++++
 2 files changed, 16 insertions(+)
Artem Bityutskiy - March 6, 2013, 9:23 a.m.
On Wed, 2013-02-20 at 07:32 +0100, Rafał Miłecki wrote:
> 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>

Aiaiai!

--------------------------------------------------------------------------------

Bisectability test results for configuration "mips-bcm47xx_defconfig,mips,mips-linux-"

Failed to build the following commit for configuration "mips-bcm47xx_defconfig"":

ab61426 mtd: bcm47xxsflash: store info about flash type


drivers/mtd/devices/bcm47xxsflash.c: In function 'bcm47xxsflash_bcma_probe':
drivers/mtd/devices/bcm47xxsflash.c:64:14: error: 'struct bcm47xxsflash' has no member named 'bcma_cc'
make[4]: *** [drivers/mtd/devices/bcm47xxsflash.o] Error 1

--------------------------------------------------------------------------------
Rafał Miłecki - March 6, 2013, 10:39 a.m.
2013/3/6 Artem Bityutskiy <dedekind1@gmail.com>:
> On Wed, 2013-02-20 at 07:32 +0100, Rafał Miłecki wrote:
>> 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>
>
> Aiaiai!
>
> --------------------------------------------------------------------------------
>
> Bisectability test results for configuration "mips-bcm47xx_defconfig,mips,mips-linux-"
>
> Failed to build the following commit for configuration "mips-bcm47xx_defconfig"":
>
> ab61426 mtd: bcm47xxsflash: store info about flash type
>
>
> drivers/mtd/devices/bcm47xxsflash.c: In function 'bcm47xxsflash_bcma_probe':
> drivers/mtd/devices/bcm47xxsflash.c:64:14: error: 'struct bcm47xxsflash' has no member named 'bcma_cc'
> make[4]: *** [drivers/mtd/devices/bcm47xxsflash.o] Error 1

For some unknown reason it seems I haven't noticed anything above
> Successfully built configuration "mips-bcm47xx_defconfig,mips,mips-linux-", no issues
:/ Sorry

Patch

diff --git a/drivers/mtd/devices/bcm47xxsflash.c b/drivers/mtd/devices/bcm47xxsflash.c
index 9526628..155a7ea 100644
--- a/drivers/mtd/devices/bcm47xxsflash.c
+++ b/drivers/mtd/devices/bcm47xxsflash.c
@@ -61,6 +61,15 @@  static int bcm47xxsflash_bcma_probe(struct platform_device *pdev)
 	}
 	sflash->priv = b47s;
 
+	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 ebf6f71..7d5654b 100644
--- a/drivers/mtd/devices/bcm47xxsflash.h
+++ b/drivers/mtd/devices/bcm47xxsflash.h
@@ -3,7 +3,14 @@ 
 
 #include <linux/mtd/mtd.h>
 
+enum bcm47xxsflash_type {
+	BCM47XXSFLASH_TYPE_ATMEL,
+	BCM47XXSFLASH_TYPE_ST,
+};
+
 struct bcm47xxsflash {
+	enum bcm47xxsflash_type type;
+
 	u32 window;
 	u32 blocksize;
 	u16 numblocks;