aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm47xx/patches-3.8/030-mtd-bcm47xxsflash-add-own-struct-for-abstrating-bus-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm47xx/patches-3.8/030-mtd-bcm47xxsflash-add-own-struct-for-abstrating-bus-.patch')
-rw-r--r--target/linux/brcm47xx/patches-3.8/030-mtd-bcm47xxsflash-add-own-struct-for-abstrating-bus-.patch123
1 files changed, 0 insertions, 123 deletions
diff --git a/target/linux/brcm47xx/patches-3.8/030-mtd-bcm47xxsflash-add-own-struct-for-abstrating-bus-.patch b/target/linux/brcm47xx/patches-3.8/030-mtd-bcm47xxsflash-add-own-struct-for-abstrating-bus-.patch
deleted file mode 100644
index a1d9b37011..0000000000
--- a/target/linux/brcm47xx/patches-3.8/030-mtd-bcm47xxsflash-add-own-struct-for-abstrating-bus-.patch
+++ /dev/null
@@ -1,123 +0,0 @@
---- a/drivers/mtd/devices/bcm47xxsflash.c
-+++ b/drivers/mtd/devices/bcm47xxsflash.c
-@@ -5,6 +5,8 @@
- #include <linux/platform_device.h>
- #include <linux/bcma/bcma.h>
-
-+#include "bcm47xxsflash.h"
-+
- MODULE_LICENSE("GPL");
- MODULE_DESCRIPTION("Serial flash driver for BCMA bus");
-
-@@ -13,26 +15,27 @@ static const char *probes[] = { "bcm47xx
- static int bcm47xxsflash_read(struct mtd_info *mtd, loff_t from, size_t len,
- size_t *retlen, u_char *buf)
- {
-- struct bcma_sflash *sflash = mtd->priv;
-+ struct bcm47xxsflash *b47s = mtd->priv;
-
- /* Check address range */
- if ((from + len) > mtd->size)
- return -EINVAL;
-
-- memcpy_fromio(buf, (void __iomem *)KSEG0ADDR(sflash->window + from),
-+ memcpy_fromio(buf, (void __iomem *)KSEG0ADDR(b47s->window + from),
- len);
-
- return len;
- }
-
--static void bcm47xxsflash_fill_mtd(struct bcma_sflash *sflash,
-- struct mtd_info *mtd)
-+static void bcm47xxsflash_fill_mtd(struct bcm47xxsflash *b47s)
- {
-- mtd->priv = sflash;
-+ struct mtd_info *mtd = &b47s->mtd;
-+
-+ mtd->priv = b47s;
- mtd->name = "bcm47xxsflash";
- mtd->owner = THIS_MODULE;
- mtd->type = MTD_ROM;
-- mtd->size = sflash->size;
-+ mtd->size = b47s->size;
- mtd->_read = bcm47xxsflash_read;
-
- /* TODO: implement writing support and verify/change following code */
-@@ -43,16 +46,23 @@ static void bcm47xxsflash_fill_mtd(struc
- static int bcm47xxsflash_probe(struct platform_device *pdev)
- {
- struct bcma_sflash *sflash = dev_get_platdata(&pdev->dev);
-+ struct bcm47xxsflash *b47s;
- int err;
-
-- sflash->mtd = kzalloc(sizeof(struct mtd_info), GFP_KERNEL);
-- if (!sflash->mtd) {
-+ b47s = kzalloc(sizeof(*b47s), GFP_KERNEL);
-+ if (!b47s) {
- err = -ENOMEM;
- goto out;
- }
-- bcm47xxsflash_fill_mtd(sflash, sflash->mtd);
-+ sflash->priv = b47s;
-+
-+ b47s->window = sflash->window;
-+ b47s->blocksize = sflash->blocksize;
-+ b47s->numblocks = sflash->numblocks;
-+ b47s->size = sflash->size;
-+ bcm47xxsflash_fill_mtd(b47s);
-
-- err = mtd_device_parse_register(sflash->mtd, probes, NULL, NULL, 0);
-+ err = mtd_device_parse_register(&b47s->mtd, probes, NULL, NULL, 0);
- if (err) {
- pr_err("Failed to register MTD device: %d\n", err);
- goto err_dev_reg;
-@@ -61,7 +71,7 @@ static int bcm47xxsflash_probe(struct pl
- return 0;
-
- err_dev_reg:
-- kfree(sflash->mtd);
-+ kfree(&b47s->mtd);
- out:
- return err;
- }
-@@ -69,9 +79,10 @@ out:
- static int bcm47xxsflash_remove(struct platform_device *pdev)
- {
- struct bcma_sflash *sflash = dev_get_platdata(&pdev->dev);
-+ struct bcm47xxsflash *b47s = sflash->priv;
-
-- mtd_device_unregister(sflash->mtd);
-- kfree(sflash->mtd);
-+ mtd_device_unregister(&b47s->mtd);
-+ kfree(b47s);
-
- return 0;
- }
---- /dev/null
-+++ b/drivers/mtd/devices/bcm47xxsflash.h
-@@ -0,0 +1,15 @@
-+#ifndef __BCM47XXSFLASH_H
-+#define __BCM47XXSFLASH_H
-+
-+#include <linux/mtd/mtd.h>
-+
-+struct bcm47xxsflash {
-+ u32 window;
-+ u32 blocksize;
-+ u16 numblocks;
-+ u32 size;
-+
-+ struct mtd_info mtd;
-+};
-+
-+#endif /* BCM47XXSFLASH */
---- a/include/linux/bcma/bcma_driver_chipcommon.h
-+++ b/include/linux/bcma/bcma_driver_chipcommon.h
-@@ -599,6 +599,7 @@ struct bcma_nflash {
- bool boot; /* This is the flash the SoC boots from */
-
- struct mtd_info *mtd;
-+ void *priv;
- };
- #endif
-