From a7eaf12ead9c6be5f9e856e4da633b83f8ee8cce Mon Sep 17 00:00:00 2001 From: juhosg Date: Sat, 28 Apr 2012 10:41:43 +0000 Subject: adm8668: merge 3.3 fixes git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31497 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../linux/adm8668/files/drivers/mtd/maps/adm8668.c | 28 ++++++++-------------- 1 file changed, 10 insertions(+), 18 deletions(-) (limited to 'target/linux/adm8668/files/drivers/mtd') diff --git a/target/linux/adm8668/files/drivers/mtd/maps/adm8668.c b/target/linux/adm8668/files/drivers/mtd/maps/adm8668.c index 8d0ab690f..e360a0d78 100644 --- a/target/linux/adm8668/files/drivers/mtd/maps/adm8668.c +++ b/target/linux/adm8668/files/drivers/mtd/maps/adm8668.c @@ -47,9 +47,7 @@ #include #include #include -#ifdef CONFIG_MTD_PARTITIONS #include -#endif #include #include #include @@ -94,8 +92,6 @@ struct map_info adm8668_map = { bankwidth: BANKWIDTH, }; -#ifdef CONFIG_MTD_PARTITIONS - /* * Copied from mtdblock.c * @@ -238,7 +234,12 @@ init_mtd_partitions(struct mtd_info *mtd, size_t size) return NR_PARTS; if (be32_to_cpu(uhdr.ih_size) != (linux_len - sizeof(uhdr))) { - unsigned char *block, *data = (unsigned char *)(WINDOW_ADDR | (adm8668_parts[PART_LINUX].offset + sizeof(struct uboot_header)) | 0xA0000000); + unsigned char *block, *data; + unsigned int offset; + + offset = adm8668_parts[PART_LINUX].offset + + sizeof(struct uboot_header); + data = (unsigned char *)(WINDOW_ADDR | 0xA0000000 | offset); printk(KERN_NOTICE "Updating U-boot image:\n"); printk(KERN_NOTICE " old: [size: %8d crc32: 0x%08x]\n", @@ -279,16 +280,11 @@ init_mtd_partitions(struct mtd_info *mtd, size_t size) return NR_PARTS; } -#endif - - int __init init_adm8668_map(void) { -#ifdef CONFIG_MTD_PARTITIONS int nr_parts, ret; -#endif - adm8668_map.virt = (unsigned long)ioremap(WINDOW_ADDR, WINDOW_SIZE); + adm8668_map.virt = ioremap(WINDOW_ADDR, WINDOW_SIZE); if (!adm8668_map.virt) { printk(KERN_ERR "Failed to ioremap\n"); @@ -304,14 +300,12 @@ int __init init_adm8668_map(void) adm8668_mtd->owner = THIS_MODULE; -#ifdef CONFIG_MTD_PARTITIONS nr_parts = init_mtd_partitions(adm8668_mtd, adm8668_mtd->size); - ret = add_mtd_partitions(adm8668_mtd, adm8668_parts, nr_parts); + ret = mtd_device_register(adm8668_mtd, adm8668_parts, nr_parts); if (ret) { - printk(KERN_ERR "Flash: add_mtd_partitions failed\n"); + printk(KERN_ERR "Flash: mtd_device_register failed\n"); goto fail; } -#endif return 0; @@ -326,9 +320,7 @@ int __init init_adm8668_map(void) void __exit cleanup_adm8668_map(void) { -#ifdef CONFIG_MTD_PARTITIONS - del_mtd_partitions(adm8668_mtd); -#endif + mtd_device_unregister(adm8668_mtd); map_destroy(adm8668_mtd); iounmap((void *) adm8668_map.virt); adm8668_map.virt = 0; -- cgit v1.2.3