[PATCH] ucc_geth: add support for netpoll

Li Yang-r58472 LeoLi at freescale.com
Mon Oct 29 17:12:07 EST 2007


> -----Original Message-----
> From: Anton Vorontsov [mailto:cbou at mail.ru] 
> Sent: Saturday, October 27, 2007 10:38 PM
> To: Sergei Shtylyov
> Cc: Anton Vorontsov; netdev at vger.kernel.org; Li Yang-r58472; 
> linux-kernel at vger.kernel.org; linuxppc-dev at ozlabs.org
> Subject: Re: [PATCH] ucc_geth: add support for netpoll
> 
> On Sat, Oct 27, 2007 at 05:09:51PM +0400, Sergei Shtylyov wrote:
> > Hello.
> > 
> > Anton Vorontsov wrote:
> > 
> > > This patch adds netpoll support for the QE UCC Gigabit Ethernet 
> > > driver. The approach is very similar to the gianfar driver.
> > 
> >     It's rather contrarywise -- this is standard approach 
> and gianfar 
> > with its
> > 3 TSEC IRQs has a quite non-standard poll_controller() 
> implementation.
> 
> Oh.. well, right -- gianfar a bit more comlex in that regard.
> 
> > 
> > > Tested using netconsole.
> > 
> >     KGDBoE is considered a better test (I hope you've also 
> tested with it).
> 
> At the time of posting it was tested using netconsole only, a 
> few days later it's was tested using KGDBoE also. So, it works indeed.
> 
> > > Signed-off-by: Anton Vorontsov <avorontsov at ru.mvista.com> 
> diff --git 
> > > a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c index 
> > > 18a6f48..06807ce 100644
> > > --- a/drivers/net/ucc_geth.c
> > > +++ b/drivers/net/ucc_geth.c
> > > @@ -3691,6 +3691,22 @@ static irqreturn_t 
> ucc_geth_irq_handler(int irq, void *info)
> > >  	return IRQ_HANDLED;
> > >  }
> > >  
> > > +#ifdef CONFIG_NET_POLL_CONTROLLER
> > > +/*
> > > + * Polling 'interrupt' - used by things like netconsole to send 
> > > +skbs
> > > + * without having to re-enable interrupts. It's not called while
> > > + * the interrupt routine is executing.
> > > + */
> > > +static void ucc_netpoll(struct net_device *dev) {
> > > +	struct ucc_geth_private *ugeth = netdev_priv(dev);
> > > +
> > > +	disable_irq(ugeth->ug_info->uf_info.irq);
> > > +	ucc_geth_irq_handler(ugeth->ug_info->uf_info.irq, dev);
> > > +	enable_irq(ugeth->ug_info->uf_info.irq);
> > 
> >     Why not make it less complex (for a reader and gcc too :-) ?
> 
> Yup, I'm agree here but it's too late. Again. ;-)
> 
> This patch already accepted into the -mm (a week or so after 
> the silence), so.. now I'd rather not bother Andrew with such 
> really cosmetic changes. But if Jeff would directly apply 
> modfied patch, I'll send it. ;-)

Oops.  The original patch happened to hit the Junk mail box. :(  I think
the patch is good to merge after the cosmetic change.  I can do it in
next pull request to Jeff.

Thanks
- Leo



More information about the Linuxppc-dev mailing list