Commit 68dd9dd4 authored by Thomas Meyer's avatar Thomas Meyer Committed by Mauro Carvalho Chehab

[media] dw2102: Use kmemdup rather than duplicating its implementation

The semantic patch that makes this change is available
in scripts/coccinelle/api/memdup.cocci.
Signed-off-by: default avatarThomas Meyer <thomas@m3y3r.de>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 53090aad
...@@ -1859,12 +1859,11 @@ static struct dvb_usb_device_properties su3000_properties = { ...@@ -1859,12 +1859,11 @@ static struct dvb_usb_device_properties su3000_properties = {
static int dw2102_probe(struct usb_interface *intf, static int dw2102_probe(struct usb_interface *intf,
const struct usb_device_id *id) const struct usb_device_id *id)
{ {
p1100 = kzalloc(sizeof(struct dvb_usb_device_properties), GFP_KERNEL); p1100 = kmemdup(&s6x0_properties,
sizeof(struct dvb_usb_device_properties), GFP_KERNEL);
if (!p1100) if (!p1100)
return -ENOMEM; return -ENOMEM;
/* copy default structure */ /* copy default structure */
memcpy(p1100, &s6x0_properties,
sizeof(struct dvb_usb_device_properties));
/* fill only different fields */ /* fill only different fields */
p1100->firmware = "dvb-usb-p1100.fw"; p1100->firmware = "dvb-usb-p1100.fw";
p1100->devices[0] = d1100; p1100->devices[0] = d1100;
...@@ -1872,13 +1871,12 @@ static int dw2102_probe(struct usb_interface *intf, ...@@ -1872,13 +1871,12 @@ static int dw2102_probe(struct usb_interface *intf,
p1100->rc.legacy.rc_map_size = ARRAY_SIZE(rc_map_tbs_table); p1100->rc.legacy.rc_map_size = ARRAY_SIZE(rc_map_tbs_table);
p1100->adapter->fe[0].frontend_attach = stv0288_frontend_attach; p1100->adapter->fe[0].frontend_attach = stv0288_frontend_attach;
s660 = kzalloc(sizeof(struct dvb_usb_device_properties), GFP_KERNEL); s660 = kmemdup(&s6x0_properties,
sizeof(struct dvb_usb_device_properties), GFP_KERNEL);
if (!s660) { if (!s660) {
kfree(p1100); kfree(p1100);
return -ENOMEM; return -ENOMEM;
} }
memcpy(s660, &s6x0_properties,
sizeof(struct dvb_usb_device_properties));
s660->firmware = "dvb-usb-s660.fw"; s660->firmware = "dvb-usb-s660.fw";
s660->num_device_descs = 3; s660->num_device_descs = 3;
s660->devices[0] = d660; s660->devices[0] = d660;
...@@ -1886,14 +1884,13 @@ static int dw2102_probe(struct usb_interface *intf, ...@@ -1886,14 +1884,13 @@ static int dw2102_probe(struct usb_interface *intf,
s660->devices[2] = d480_2; s660->devices[2] = d480_2;
s660->adapter->fe[0].frontend_attach = ds3000_frontend_attach; s660->adapter->fe[0].frontend_attach = ds3000_frontend_attach;
p7500 = kzalloc(sizeof(struct dvb_usb_device_properties), GFP_KERNEL); p7500 = kmemdup(&s6x0_properties,
sizeof(struct dvb_usb_device_properties), GFP_KERNEL);
if (!p7500) { if (!p7500) {
kfree(p1100); kfree(p1100);
kfree(s660); kfree(s660);
return -ENOMEM; return -ENOMEM;
} }
memcpy(p7500, &s6x0_properties,
sizeof(struct dvb_usb_device_properties));
p7500->firmware = "dvb-usb-p7500.fw"; p7500->firmware = "dvb-usb-p7500.fw";
p7500->devices[0] = d7500; p7500->devices[0] = d7500;
p7500->rc.legacy.rc_map_table = rc_map_tbs_table; p7500->rc.legacy.rc_map_table = rc_map_tbs_table;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment