diff options
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-.patch | 123 |
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 - |