summaryrefslogtreecommitdiff
path: root/target/linux/brcm47xx/patches-3.10/050-mtd_bcm47xxsflash_implement_ChipCommon_RW_ops.patch
diff options
context:
space:
mode:
authorhauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>2013-07-14 13:44:45 +0000
committerhauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>2013-07-14 13:44:45 +0000
commitd1fe9ae4b4d812824fd58bfb65ae8370a6222524 (patch)
treebae55f3e27f76f5ad1220579179cacfbfb41d373 /target/linux/brcm47xx/patches-3.10/050-mtd_bcm47xxsflash_implement_ChipCommon_RW_ops.patch
parent73ae2cd726a08be048725580c5abc492aa607aac (diff)
brcm47xx: add initial support for kernel 3.10
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37287 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm47xx/patches-3.10/050-mtd_bcm47xxsflash_implement_ChipCommon_RW_ops.patch')
-rw-r--r--target/linux/brcm47xx/patches-3.10/050-mtd_bcm47xxsflash_implement_ChipCommon_RW_ops.patch53
1 files changed, 53 insertions, 0 deletions
diff --git a/target/linux/brcm47xx/patches-3.10/050-mtd_bcm47xxsflash_implement_ChipCommon_RW_ops.patch b/target/linux/brcm47xx/patches-3.10/050-mtd_bcm47xxsflash_implement_ChipCommon_RW_ops.patch
new file mode 100644
index 0000000000..8f43ebb5d5
--- /dev/null
+++ b/target/linux/brcm47xx/patches-3.10/050-mtd_bcm47xxsflash_implement_ChipCommon_RW_ops.patch
@@ -0,0 +1,53 @@
+commit c8a1de474f49bd928f84e7a99b6f3d23a65b5637
+Author: Rafał Miłecki <zajec5@gmail.com>
+Date: Sun Mar 24 21:53:24 2013 +0100
+
+ mtd: bcm47xxsflash: implement ChipCommon R/W ops
+
+ They are needed for erasing/writing. Use a magic pointers and small
+ functions to preapre code for adding other buses support in the future
+ (like SSB).
+
+ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
+ Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
+
+--- a/drivers/mtd/devices/bcm47xxsflash.c
++++ b/drivers/mtd/devices/bcm47xxsflash.c
+@@ -48,6 +48,17 @@ static void bcm47xxsflash_fill_mtd(struc
+ * BCMA
+ **************************************************/
+
++static int bcm47xxsflash_bcma_cc_read(struct bcm47xxsflash *b47s, u16 offset)
++{
++ return bcma_cc_read32(b47s->bcma_cc, offset);
++}
++
++static void bcm47xxsflash_bcma_cc_write(struct bcm47xxsflash *b47s, u16 offset,
++ u32 value)
++{
++ bcma_cc_write32(b47s->bcma_cc, offset, value);
++}
++
+ static int bcm47xxsflash_bcma_probe(struct platform_device *pdev)
+ {
+ struct bcma_sflash *sflash = dev_get_platdata(&pdev->dev);
+@@ -62,6 +73,8 @@ static int bcm47xxsflash_bcma_probe(stru
+ sflash->priv = b47s;
+
+ b47s->bcma_cc = container_of(sflash, struct bcma_drv_cc, sflash);
++ b47s->cc_read = bcm47xxsflash_bcma_cc_read;
++ b47s->cc_write = bcm47xxsflash_bcma_cc_write;
+
+ switch (b47s->bcma_cc->capabilities & BCMA_CC_CAP_FLASHT) {
+ case BCMA_CC_FLASHT_STSER:
+--- a/drivers/mtd/devices/bcm47xxsflash.h
++++ b/drivers/mtd/devices/bcm47xxsflash.h
+@@ -60,6 +60,8 @@ enum bcm47xxsflash_type {
+
+ struct bcm47xxsflash {
+ struct bcma_drv_cc *bcma_cc;
++ int (*cc_read)(struct bcm47xxsflash *b47s, u16 offset);
++ void (*cc_write)(struct bcm47xxsflash *b47s, u16 offset, u32 value);
+
+ enum bcm47xxsflash_type type;
+