diff options
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.patch | 166 |
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 ea2e19f2ca..0000000000 --- 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: |