aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorEzequiel Garcia <elezegarcia@gmail.com>2012-10-23 14:57:19 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-12-27 16:01:51 -0500
commitb52377475ae9dca21bcb1ae8ec0936fbae8595b2 (patch)
treed6f950c5723d779ab3cdc7444739115de7233ebf /drivers/media
parent01a5cbebce7bca910f50dff19b05177c2c8a8a76 (diff)
[media] cx88: Replace memcpy with struct assignment
This kind of memcpy() is error-prone. Its replacement with a struct assignment is prefered because it's type-safe and much easier to read. Found by coccinelle. Hand patched and reviewed. Tested by compilation only. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier struct_name; struct struct_name to; struct struct_name from; expression E; @@ -memcpy(&(to), &(from), E); +to = from; // </smpl> Signed-off-by: Peter Senna Tschudin <peter.senna@gmail.com> Signed-off-by: Ezequiel Garcia <elezegarcia@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/pci/cx88/cx88-cards.c2
-rw-r--r--drivers/media/pci/cx88/cx88-i2c.c3
-rw-r--r--drivers/media/pci/cx88/cx88-vp3054-i2c.c3
3 files changed, 3 insertions, 5 deletions
diff --git a/drivers/media/pci/cx88/cx88-cards.c b/drivers/media/pci/cx88/cx88-cards.c
index 0c255248cbcd..e2e0b8faf7a4 100644
--- a/drivers/media/pci/cx88/cx88-cards.c
+++ b/drivers/media/pci/cx88/cx88-cards.c
@@ -3743,7 +3743,7 @@ struct cx88_core *cx88_core_create(struct pci_dev *pci, int nr)
3743 cx88_card_list(core, pci); 3743 cx88_card_list(core, pci);
3744 } 3744 }
3745 3745
3746 memcpy(&core->board, &cx88_boards[core->boardnr], sizeof(core->board)); 3746 core->board = cx88_boards[core->boardnr];
3747 3747
3748 if (!core->board.num_frontends && (core->board.mpeg & CX88_MPEG_DVB)) 3748 if (!core->board.num_frontends && (core->board.mpeg & CX88_MPEG_DVB))
3749 core->board.num_frontends = 1; 3749 core->board.num_frontends = 1;
diff --git a/drivers/media/pci/cx88/cx88-i2c.c b/drivers/media/pci/cx88/cx88-i2c.c
index de0f1af74e41..cf2d69615838 100644
--- a/drivers/media/pci/cx88/cx88-i2c.c
+++ b/drivers/media/pci/cx88/cx88-i2c.c
@@ -139,8 +139,7 @@ int cx88_i2c_init(struct cx88_core *core, struct pci_dev *pci)
139 if (i2c_udelay<5) 139 if (i2c_udelay<5)
140 i2c_udelay=5; 140 i2c_udelay=5;
141 141
142 memcpy(&core->i2c_algo, &cx8800_i2c_algo_template, 142 core->i2c_algo = cx8800_i2c_algo_template;
143 sizeof(core->i2c_algo));
144 143
145 144
146 core->i2c_adap.dev.parent = &pci->dev; 145 core->i2c_adap.dev.parent = &pci->dev;
diff --git a/drivers/media/pci/cx88/cx88-vp3054-i2c.c b/drivers/media/pci/cx88/cx88-vp3054-i2c.c
index d77f8ecab9d7..deede6e25d94 100644
--- a/drivers/media/pci/cx88/cx88-vp3054-i2c.c
+++ b/drivers/media/pci/cx88/cx88-vp3054-i2c.c
@@ -118,8 +118,7 @@ int vp3054_i2c_probe(struct cx8802_dev *dev)
118 return -ENOMEM; 118 return -ENOMEM;
119 dev->vp3054 = vp3054_i2c; 119 dev->vp3054 = vp3054_i2c;
120 120
121 memcpy(&vp3054_i2c->algo, &vp3054_i2c_algo_template, 121 vp3054_i2c->algo = vp3054_i2c_algo_template;
122 sizeof(vp3054_i2c->algo));
123 122
124 vp3054_i2c->adap.dev.parent = &dev->pci->dev; 123 vp3054_i2c->adap.dev.parent = &dev->pci->dev;
125 strlcpy(vp3054_i2c->adap.name, core->name, 124 strlcpy(vp3054_i2c->adap.name, core->name,