* RE: [PATCH 2.6.20-rc3] UCC Ether driver: kmalloc casting cleanups [not found] <20070106131832.GE19020@Ahmed> @ 2007-01-08 3:12 ` Li Yang-r58472 2007-01-08 4:26 ` Ahmed S. Darwish 2007-01-08 4:54 ` Ahmed S. Darwish 0 siblings, 2 replies; 4+ messages in thread From: Li Yang-r58472 @ 2007-01-08 3:12 UTC (permalink / raw) To: Ahmed S. Darwish; +Cc: linux-kernel, netdev > -----Original Message----- > From: Ahmed S. Darwish [mailto:darwish.07@gmail.com] > Sent: Saturday, January 06, 2007 9:19 PM > To: Li Yang-r58472 > Cc: linux-kernel@vger.kernel.org > Subject: [PATCH 2.6.20-rc3] UCC Ether driver: kmalloc casting cleanups > > [Please inform me if you are not the maintaner cause I'm not sure:)] > > Hi, > A kmalloc casting cleanup patch. > > I wasn't able to compile the file drivers/net/ucc_geth.c cause of > some not found headers (asm/of_platform.h, asm/qe.h, and others ) You need to use ARCH=powerpc to compile this driver. I don't know how you could select this driver without using powerpc arch. > > Signed-off-by: Ahmed Darwish <darwish.07@gmail.com> > > diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c > index 8243150..001109e 100644 > --- a/drivers/net/ucc_geth.c > +++ b/drivers/net/ucc_geth.c > @@ -2864,8 +2864,8 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) > if (UCC_GETH_TX_BD_RING_ALIGNMENT > 4) > align = UCC_GETH_TX_BD_RING_ALIGNMENT; > ugeth->tx_bd_ring_offset[j] = > - (u32) (kmalloc((u32) (length + align), > - GFP_KERNEL)); > + kmalloc((u32) (length + align), GFP_KERNEL); > + > if (ugeth->tx_bd_ring_offset[j] != 0) > ugeth->p_tx_bd_ring[j] = > (void*)((ugeth->tx_bd_ring_offset[j] + > @@ -2900,7 +2900,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) > if (UCC_GETH_RX_BD_RING_ALIGNMENT > 4) > align = UCC_GETH_RX_BD_RING_ALIGNMENT; > ugeth->rx_bd_ring_offset[j] = > - (u32) (kmalloc((u32) (length + align), GFP_KERNEL)); > + kmalloc((u32) (length + align), GFP_KERNEL); NACK about the 2 clean-ups above. Cast from pointer to integer is required here. > if (ugeth->rx_bd_ring_offset[j] != 0) > ugeth->p_rx_bd_ring[j] = > (void*)((ugeth->rx_bd_ring_offset[j] + > @@ -2926,10 +2926,9 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) > /* Init Tx bds */ > for (j = 0; j < ug_info->numQueuesTx; j++) { > /* Setup the skbuff rings */ > - ugeth->tx_skbuff[j] = > - (struct sk_buff **)kmalloc(sizeof(struct sk_buff *) * > - ugeth->ug_info->bdRingLenTx[j], > - GFP_KERNEL); > + ugeth->tx_skbuff[j] = kmalloc(sizeof(struct sk_buff *) * > + ugeth->ug_info->bdRingLenTx[j], > + GFP_KERNEL); > > if (ugeth->tx_skbuff[j] == NULL) { > ugeth_err("%s: Could not allocate tx_skbuff", > @@ -2958,10 +2957,9 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) > /* Init Rx bds */ > for (j = 0; j < ug_info->numQueuesRx; j++) { > /* Setup the skbuff rings */ > - ugeth->rx_skbuff[j] = > - (struct sk_buff **)kmalloc(sizeof(struct sk_buff *) * > - ugeth->ug_info->bdRingLenRx[j], > - GFP_KERNEL); > + ugeth->rx_skbuff[j] = kmalloc(sizeof(struct sk_buff *) * > + ugeth->ug_info->bdRingLenRx[j], > + GFP_KERNEL); > > if (ugeth->rx_skbuff[j] == NULL) { > ugeth_err("%s: Could not allocate rx_skbuff", > @@ -3452,8 +3450,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) > * allocated resources can be released when the channel is freed. > */ > if (!(ugeth->p_init_enet_param_shadow = > - (struct ucc_geth_init_pram *) kmalloc(sizeof(struct > ucc_geth_init_pram), > - GFP_KERNEL))) { > + kmalloc(sizeof(struct ucc_geth_init_pram), GFP_KERNEL))) { > ugeth_err > ("%s: Can not allocate memory for" > " p_UccInitEnetParamShadows.", __FUNCTION__); > > -- > Ahmed S. Darwish > http://darwish-07.blogspot.com - Leo ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 2.6.20-rc3] UCC Ether driver: kmalloc casting cleanups 2007-01-08 3:12 ` [PATCH 2.6.20-rc3] UCC Ether driver: kmalloc casting cleanups Li Yang-r58472 @ 2007-01-08 4:26 ` Ahmed S. Darwish 2007-01-08 7:28 ` Li Yang-r58472 2007-01-08 4:54 ` Ahmed S. Darwish 1 sibling, 1 reply; 4+ messages in thread From: Ahmed S. Darwish @ 2007-01-08 4:26 UTC (permalink / raw) To: Li Yang-r58472; +Cc: linux-kernel, netdev On Mon, Jan 08, 2007 at 11:12:28AM +0800, Li Yang-r58472 wrote: > > From: Ahmed S. Darwish [mailto:darwish.07@gmail.com] > > > > Hi, > > A kmalloc casting cleanup patch. > > Signed-off-by: Ahmed Darwish <darwish.07@gmail.com> [..] > > - (u32) (kmalloc((u32) (length + align), > > - GFP_KERNEL)); > > + kmalloc((u32) (length + align), GFP_KERNEL); > > + > > if (ugeth->tx_bd_ring_offset[j] != 0) > > ugeth->p_tx_bd_ring[j] = [..] > > - (u32) (kmalloc((u32) (length + align), GFP_KERNEL)); > > + kmalloc((u32) (length + align), GFP_KERNEL); > > NACK about the 2 clean-ups above. Cast from pointer to integer is > required here. Are the casts from pointer to integer just needed to suppress gcc warnings or there's something technically important about them ? I'll send the modified patch without the NACKed parts in minutes .. -- Ahmed S. Darwish http://darwish-07.blogspot.com ^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: [PATCH 2.6.20-rc3] UCC Ether driver: kmalloc casting cleanups 2007-01-08 4:26 ` Ahmed S. Darwish @ 2007-01-08 7:28 ` Li Yang-r58472 0 siblings, 0 replies; 4+ messages in thread From: Li Yang-r58472 @ 2007-01-08 7:28 UTC (permalink / raw) To: Ahmed S. Darwish; +Cc: linux-kernel, netdev > -----Original Message----- > From: Ahmed S. Darwish [mailto:darwish.07@gmail.com] > Sent: Monday, January 08, 2007 12:27 PM > To: Li Yang-r58472 > Cc: linux-kernel@vger.kernel.org; netdev@vger.kernel.org > Subject: Re: [PATCH 2.6.20-rc3] UCC Ether driver: kmalloc casting cleanups > > On Mon, Jan 08, 2007 at 11:12:28AM +0800, Li Yang-r58472 wrote: > > > From: Ahmed S. Darwish [mailto:darwish.07@gmail.com] > > > > > > Hi, > > > A kmalloc casting cleanup patch. > > > Signed-off-by: Ahmed Darwish <darwish.07@gmail.com> > > [..] > > > > - (u32) (kmalloc((u32) (length + align), > > > - GFP_KERNEL)); > > > + kmalloc((u32) (length + align), GFP_KERNEL); > > > + > > > if (ugeth->tx_bd_ring_offset[j] != 0) > > > ugeth->p_tx_bd_ring[j] = > > [..] > > > > - (u32) (kmalloc((u32) (length + align), GFP_KERNEL)); > > > + kmalloc((u32) (length + align), GFP_KERNEL); > > > > NACK about the 2 clean-ups above. Cast from pointer to integer is > > required here. > > Are the casts from pointer to integer just needed to suppress gcc > warnings or there's something technically important about them ? It is to suppress the warnings. IMHO, most type casts are not technically important but for sanity check. - Leo ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 2.6.20-rc3] UCC Ether driver: kmalloc casting cleanups 2007-01-08 3:12 ` [PATCH 2.6.20-rc3] UCC Ether driver: kmalloc casting cleanups Li Yang-r58472 2007-01-08 4:26 ` Ahmed S. Darwish @ 2007-01-08 4:54 ` Ahmed S. Darwish 1 sibling, 0 replies; 4+ messages in thread From: Ahmed S. Darwish @ 2007-01-08 4:54 UTC (permalink / raw) To: Li Yang-r58472; +Cc: linux-kernel, netdev On Mon, Jan 08, 2007 at 11:12:28AM +0800, Li Yang-r58472 wrote: > > NACK about the 2 clean-ups above. Cast from pointer to integer is > required here. > Hi, here's the modified patch. A patch to switch kmalloc to kzalloc and clean some redundant kmalloc casts. Signed-off-by: Ahmed S. Darwish <darwish.07@gmail.com> --- diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c index 8243150..0f58f5f 100644 --- a/drivers/net/ucc_geth.c +++ b/drivers/net/ucc_geth.c @@ -2926,10 +2926,9 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) /* Init Tx bds */ for (j = 0; j < ug_info->numQueuesTx; j++) { /* Setup the skbuff rings */ - ugeth->tx_skbuff[j] = - (struct sk_buff **)kmalloc(sizeof(struct sk_buff *) * - ugeth->ug_info->bdRingLenTx[j], - GFP_KERNEL); + ugeth->tx_skbuff[j] = kmalloc(sizeof(struct sk_buff *) * + ugeth->ug_info->bdRingLenTx[j], + GFP_KERNEL); if (ugeth->tx_skbuff[j] == NULL) { ugeth_err("%s: Could not allocate tx_skbuff", @@ -2958,10 +2957,9 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) /* Init Rx bds */ for (j = 0; j < ug_info->numQueuesRx; j++) { /* Setup the skbuff rings */ - ugeth->rx_skbuff[j] = - (struct sk_buff **)kmalloc(sizeof(struct sk_buff *) * - ugeth->ug_info->bdRingLenRx[j], - GFP_KERNEL); + ugeth->rx_skbuff[j] = kmalloc(sizeof(struct sk_buff *) * + ugeth->ug_info->bdRingLenRx[j], + GFP_KERNEL); if (ugeth->rx_skbuff[j] == NULL) { ugeth_err("%s: Could not allocate rx_skbuff", @@ -3450,19 +3448,16 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) * resource. * This shadow structure keeps a copy of what was done so that the * allocated resources can be released when the channel is freed. + * *p_init_enet_param_shadow is zeroed by kzalloc */ - if (!(ugeth->p_init_enet_param_shadow = - (struct ucc_geth_init_pram *) kmalloc(sizeof(struct ucc_geth_init_pram), - GFP_KERNEL))) { + if (!(ugeth->p_init_enet_param_shadow = + kzalloc(sizeof(struct ucc_geth_init_pram), GFP_KERNEL))) { ugeth_err ("%s: Can not allocate memory for" " p_UccInitEnetParamShadows.", __FUNCTION__); ucc_geth_memclean(ugeth); return -ENOMEM; } - /* Zero out *p_init_enet_param_shadow */ - memset((char *)ugeth->p_init_enet_param_shadow, - 0, sizeof(struct ucc_geth_init_pram)); /* Fill shadow InitEnet command parameter structure */ -- Ahmed S. Darwish http://darwish-07.blogspot.com ^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2007-01-09 3:37 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20070106131832.GE19020@Ahmed>
2007-01-08 3:12 ` [PATCH 2.6.20-rc3] UCC Ether driver: kmalloc casting cleanups Li Yang-r58472
2007-01-08 4:26 ` Ahmed S. Darwish
2007-01-08 7:28 ` Li Yang-r58472
2007-01-08 4:54 ` Ahmed S. Darwish
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).