some kmalloc/memset ->kzalloc (tree wide)
Transform some calls to kmalloc/memset to a single kzalloc (or kcalloc). Here is a short excerpt of the semantic patch performing this transformation: @@ type T2; expression x; identifier f,fld; expression E; expression E1,E2; expression e1,e2,e3,y; statement S; @@ x = - kmalloc + kzalloc (E1,E2) ... when != \(x->fld=E;\|y=f(...,x,...);\|f(...,x,...);\|x=E;\|while(...) S\|for(e1;e2;e3) S\) - memset((T2)x,0,E1); @@ expression E1,E2,E3; @@ - kzalloc(E1 * E2,E3) + kcalloc(E1,E2,E3) [akpm@linux-foundation.org: get kcalloc args the right way around] Signed-off-by: Yoann Padioleau <padator@wanadoo.fr> Cc: Richard Henderson <rth@twiddle.net> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Acked-by: Russell King <rmk@arm.linux.org.uk> Cc: Bryan Wu <bryan.wu@analog.com> Acked-by: Jiri Slaby <jirislaby@gmail.com> Cc: Dave Airlie <airlied@linux.ie> Acked-by: Roland Dreier <rolandd@cisco.com> Cc: Jiri Kosina <jkosina@suse.cz> Acked-by: Dmitry Torokhov <dtor@mail.ru> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: Mauro Carvalho Chehab <mchehab@infradead.org> Acked-by: Pierre Ossman <drzeus-list@drzeus.cx> Cc: Jeff Garzik <jeff@garzik.org> Cc: "David S. Miller" <davem@davemloft.net> Acked-by: Greg KH <greg@kroah.com> Cc: James Bottomley <James.Bottomley@steeleye.com> Cc: "Antonino A. Daplas" <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
3b5ad0797c
commit
dd00cc486a
@@ -2459,7 +2459,7 @@ static int __init espserial_init(void)
|
||||
return 1;
|
||||
}
|
||||
|
||||
info = kmalloc(sizeof(struct esp_struct), GFP_KERNEL);
|
||||
info = kzalloc(sizeof(struct esp_struct), GFP_KERNEL);
|
||||
|
||||
if (!info)
|
||||
{
|
||||
@@ -2469,7 +2469,6 @@ static int __init espserial_init(void)
|
||||
return 1;
|
||||
}
|
||||
|
||||
memset((void *)info, 0, sizeof(struct esp_struct));
|
||||
spin_lock_init(&info->lock);
|
||||
/* rx_trigger, tx_trigger are needed by autoconfig */
|
||||
info->config.rx_trigger = rx_trigger;
|
||||
@@ -2527,7 +2526,7 @@ static int __init espserial_init(void)
|
||||
if (!dma)
|
||||
info->stat_flags |= ESP_STAT_NEVER_DMA;
|
||||
|
||||
info = kmalloc(sizeof(struct esp_struct), GFP_KERNEL);
|
||||
info = kzalloc(sizeof(struct esp_struct), GFP_KERNEL);
|
||||
if (!info)
|
||||
{
|
||||
printk(KERN_ERR "Couldn't allocate memory for esp serial device information\n");
|
||||
@@ -2536,7 +2535,6 @@ static int __init espserial_init(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
memset((void *)info, 0, sizeof(struct esp_struct));
|
||||
/* rx_trigger, tx_trigger are needed by autoconfig */
|
||||
info->config.rx_trigger = rx_trigger;
|
||||
info->config.tx_trigger = tx_trigger;
|
||||
|
Reference in New Issue
Block a user