summaryrefslogtreecommitdiffstats
path: root/target/linux/adm5120/patches-3.3/a13-adm5120_flash-3.3-fixes.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/adm5120/patches-3.3/a13-adm5120_flash-3.3-fixes.patch')
-rw-r--r--target/linux/adm5120/patches-3.3/a13-adm5120_flash-3.3-fixes.patch166
1 files changed, 0 insertions, 166 deletions
diff --git a/target/linux/adm5120/patches-3.3/a13-adm5120_flash-3.3-fixes.patch b/target/linux/adm5120/patches-3.3/a13-adm5120_flash-3.3-fixes.patch
deleted file mode 100644
index ea2e19f2c..000000000
--- a/target/linux/adm5120/patches-3.3/a13-adm5120_flash-3.3-fixes.patch
+++ /dev/null
@@ -1,166 +0,0 @@
---- a/drivers/mtd/maps/adm5120-flash.c
-+++ b/drivers/mtd/maps/adm5120-flash.c
-@@ -54,10 +54,6 @@ struct adm5120_flash_info {
- struct resource *res;
- struct platform_device *dev;
- struct adm5120_map_info amap;
--#ifdef CONFIG_MTD_PARTITIONS
-- int nr_parts;
-- struct mtd_partition *parts[MAX_PARSED_PARTS];
--#endif
- };
-
- struct flash_desc {
-@@ -96,7 +92,6 @@ static const char const *probe_types[] =
- NULL
- };
-
--#ifdef CONFIG_MTD_PARTITIONS
- static const char const *parse_types[] = {
- "cmdlinepart",
- #ifdef CONFIG_MTD_REDBOOT_PARTS
-@@ -106,7 +101,6 @@ static const char const *parse_types[] =
- "MyLoader",
- #endif
- };
--#endif
-
- #define BANK_SIZE (2<<20)
- #define BANK_SIZE_MAX (4<<20)
-@@ -318,89 +312,6 @@ static void adm5120_flash_initbanks(stru
- info->mtd->size = info->amap.window_size;
- }
-
--#ifdef CONFIG_MTD_PARTITIONS
--static int adm5120_flash_initparts(struct adm5120_flash_info *info)
--{
-- struct adm5120_flash_platform_data *pdata;
-- struct map_info *map = &info->amap.map;
-- int num_parsers;
-- const char *parser[2];
-- int err = 0;
-- int nr_parts;
-- int i;
--
-- info->nr_parts = 0;
--
-- pdata = info->dev->dev.platform_data;
-- if (pdata == NULL)
-- goto out;
--
-- if (pdata->nr_parts) {
-- MAP_INFO(map, "adding static partitions\n");
-- err = add_mtd_partitions(info->mtd, pdata->parts,
-- pdata->nr_parts);
-- if (err == 0) {
-- info->nr_parts += pdata->nr_parts;
-- goto out;
-- }
-- }
--
-- num_parsers = ARRAY_SIZE(parse_types);
-- if (num_parsers > MAX_PARSED_PARTS)
-- num_parsers = MAX_PARSED_PARTS;
--
-- parser[1] = NULL;
-- for (i = 0; i < num_parsers; i++) {
-- parser[0] = parse_types[i];
--
-- MAP_INFO(map, "parsing \"%s\" partitions\n",
-- parser[0]);
-- nr_parts = parse_mtd_partitions(info->mtd, parser,
-- &info->parts[i], 0);
--
-- if (nr_parts <= 0)
-- continue;
--
-- MAP_INFO(map, "adding \"%s\" partitions\n",
-- parser[0]);
--
-- err = add_mtd_partitions(info->mtd, info->parts[i], nr_parts);
-- if (err)
-- break;
--
-- info->nr_parts += nr_parts;
-- }
--out:
-- return err;
--}
--#else
--static int adm5120_flash_initparts(struct adm5120_flash_info *info)
--{
-- return 0;
--}
--#endif /* CONFIG_MTD_PARTITIONS */
--
--#ifdef CONFIG_MTD_PARTITIONS
--static void adm5120_flash_remove_mtd(struct adm5120_flash_info *info)
--{
-- int i;
--
-- if (info->nr_parts) {
-- del_mtd_partitions(info->mtd);
-- for (i = 0; i < MAX_PARSED_PARTS; i++)
-- if (info->parts[i] != NULL)
-- kfree(info->parts[i]);
-- } else {
-- del_mtd_device(info->mtd);
-- }
--}
--#else
--static void adm5120_flash_remove_mtd(struct adm5120_flash_info *info)
--{
-- del_mtd_device(info->mtd);
--}
--#endif
--
- static int adm5120_flash_remove(struct platform_device *dev)
- {
- struct adm5120_flash_info *info;
-@@ -412,7 +323,7 @@ static int adm5120_flash_remove(struct p
- platform_set_drvdata(dev, NULL);
-
- if (info->mtd != NULL) {
-- adm5120_flash_remove_mtd(info);
-+ mtd_device_unregister(info->mtd);
- map_destroy(info->mtd);
- }
-
-@@ -429,11 +340,18 @@ static int adm5120_flash_remove(struct p
-
- static int adm5120_flash_probe(struct platform_device *dev)
- {
-+ struct adm5120_flash_platform_data *pdata;
- struct adm5120_flash_info *info;
- struct map_info *map;
- const char **probe_type;
- int err;
-
-+ pdata = dev->dev.platform_data;
-+ if (!pdata) {
-+ dev_err(&dev->dev, "no platform data\n");
-+ return -EINVAL;
-+ }
-+
- info = kzalloc(sizeof(*info), GFP_KERNEL);
- if (info == NULL) {
- err = -ENOMEM;
-@@ -484,16 +402,11 @@ static int adm5120_flash_probe(struct pl
-
- info->mtd->owner = THIS_MODULE;
-
-- err = adm5120_flash_initparts(info);
-+ err = mtd_device_parse_register(info->mtd, parse_types, 0,
-+ pdata->parts, pdata->nr_parts);
- if (err)
- goto err_out;
-
-- if (info->nr_parts == 0) {
-- MAP_INFO(map, "no partitions available, registering "
-- "whole flash\n");
-- add_mtd_device(info->mtd);
-- }
--
- return 0;
-
- err_out: