diff options
Diffstat (limited to 'arch/mips/ath79')
-rw-r--r-- | arch/mips/ath79/dev-gpio-buttons.c | 4 | ||||
-rw-r--r-- | arch/mips/ath79/dev-leds-gpio.c | 4 |
2 files changed, 2 insertions, 6 deletions
diff --git a/arch/mips/ath79/dev-gpio-buttons.c b/arch/mips/ath79/dev-gpio-buttons.c index 4b0168a11c01..366b35fb164d 100644 --- a/arch/mips/ath79/dev-gpio-buttons.c +++ b/arch/mips/ath79/dev-gpio-buttons.c | |||
@@ -25,12 +25,10 @@ void __init ath79_register_gpio_keys_polled(int id, | |||
25 | struct gpio_keys_button *p; | 25 | struct gpio_keys_button *p; |
26 | int err; | 26 | int err; |
27 | 27 | ||
28 | p = kmalloc(nbuttons * sizeof(*p), GFP_KERNEL); | 28 | p = kmemdup(buttons, nbuttons * sizeof(*p), GFP_KERNEL); |
29 | if (!p) | 29 | if (!p) |
30 | return; | 30 | return; |
31 | 31 | ||
32 | memcpy(p, buttons, nbuttons * sizeof(*p)); | ||
33 | |||
34 | pdev = platform_device_alloc("gpio-keys-polled", id); | 32 | pdev = platform_device_alloc("gpio-keys-polled", id); |
35 | if (!pdev) | 33 | if (!pdev) |
36 | goto err_free_buttons; | 34 | goto err_free_buttons; |
diff --git a/arch/mips/ath79/dev-leds-gpio.c b/arch/mips/ath79/dev-leds-gpio.c index cdade68dcd17..dcb1debcefb8 100644 --- a/arch/mips/ath79/dev-leds-gpio.c +++ b/arch/mips/ath79/dev-leds-gpio.c | |||
@@ -24,12 +24,10 @@ void __init ath79_register_leds_gpio(int id, | |||
24 | struct gpio_led *p; | 24 | struct gpio_led *p; |
25 | int err; | 25 | int err; |
26 | 26 | ||
27 | p = kmalloc(num_leds * sizeof(*p), GFP_KERNEL); | 27 | p = kmemdup(leds, num_leds * sizeof(*p), GFP_KERNEL); |
28 | if (!p) | 28 | if (!p) |
29 | return; | 29 | return; |
30 | 30 | ||
31 | memcpy(p, leds, num_leds * sizeof(*p)); | ||
32 | |||
33 | pdev = platform_device_alloc("leds-gpio", id); | 31 | pdev = platform_device_alloc("leds-gpio", id); |
34 | if (!pdev) | 32 | if (!pdev) |
35 | goto err_free_leds; | 33 | goto err_free_leds; |