]> git.karo-electronics.de Git - linux-beck.git/commitdiff
MIPS: Alchemy: Use kmemdup rather than duplicating its implementation
authorThomas Meyer <thomas@m3y3r.de>
Thu, 17 Nov 2011 22:43:40 +0000 (23:43 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Mon, 23 Jul 2012 12:55:55 +0000 (13:55 +0100)
The semantic patch that makes this change is available
in scripts/coccinelle/api/memdup.cocci.

Signed-off-by: Thomas Meyer <thomas@m3y3r.de>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/3058/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/alchemy/common/platform.c

index 95cb9113b12c8302ee9ea60e56e86af8c36da067..c0f3ce6dcb56d448bcb2184c5fdc2c61498a8d7c 100644 (file)
@@ -334,13 +334,12 @@ static void __init alchemy_setup_macs(int ctype)
        if (alchemy_get_macs(ctype) < 1)
                return;
 
-       macres = kmalloc(sizeof(struct resource) * MAC_RES_COUNT, GFP_KERNEL);
+       macres = kmemdup(au1xxx_eth0_resources[ctype],
+                        sizeof(struct resource) * MAC_RES_COUNT, GFP_KERNEL);
        if (!macres) {
                printk(KERN_INFO "Alchemy: no memory for MAC0 resources\n");
                return;
        }
-       memcpy(macres, au1xxx_eth0_resources[ctype],
-              sizeof(struct resource) * MAC_RES_COUNT);
        au1xxx_eth0_device.resource = macres;
 
        i = prom_get_ethernet_addr(ethaddr);
@@ -356,13 +355,12 @@ static void __init alchemy_setup_macs(int ctype)
        if (alchemy_get_macs(ctype) < 2)
                return;
 
-       macres = kmalloc(sizeof(struct resource) * MAC_RES_COUNT, GFP_KERNEL);
+       macres = kmemdup(au1xxx_eth1_resources[ctype],
+                        sizeof(struct resource) * MAC_RES_COUNT, GFP_KERNEL);
        if (!macres) {
                printk(KERN_INFO "Alchemy: no memory for MAC1 resources\n");
                return;
        }
-       memcpy(macres, au1xxx_eth1_resources[ctype],
-              sizeof(struct resource) * MAC_RES_COUNT);
        au1xxx_eth1_device.resource = macres;
 
        ethaddr[5] += 1;        /* next addr for 2nd MAC */