Re: [RFC v1 14/25] genirq: Kill the first parameter 'irq' of irq_flow_handler_t

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 20 May 2015, Julia Lawall wrote:
> On Wed, 20 May 2015, Thomas Gleixner wrote:
> > The purpose of the script is to:
> >
> >     1) Identify all handlers
> >
> >        This can be done by analyzing the arguments of
> >
> >        	    __irq_set_handler()
> > 	    irq_set_handler()
> > 	    irq_set_chained_handler()
> > 	    irq_alloc_generic_chip()
> > 	    irq_alloc_domain_generic_chips()
> > 	    irq_set_chip_and_handler_name()
> > 	    irq_set_chip_and_handler()
> > 	    __irq_set_handler_locked()
> > 	    __irq_set_chip_handler_name_locked()
> > 	    __irq_set_preflow_handler()
> >
> > 	If the argument is a function local to the file step 2 can
> > 	take place.
> >
> > 	If it's a extern function, then the script should at least
> > 	print out the function names. Those are in most of the cases
> > 	the generic flow handler functions.
> 
> Looks reasonable.

Good.
 
> >     2) Check the handlers whether they use the irq argument
> >
> >        For those which do:
> >
> >           Check whether they just use the argument instead of a local
> >        	  variable, i.e. the first usage is an assignment. In that
> >        	  case rename the argument to __irq and add a local variable
> >
> > 	      unsigned int irq;
> >
> > 	  If they use the irq argument for some computation or as
> >        	  argument to another function, then you need to rename the
> >        	  argument as well and add:
> >
> >        	      unsigned int irq = irq_get_desc_irq(desc);
> 
> Scripting this may be a little complex, because the variable can be used
> in one way in one execution path (eg if branch) and another way (or not at
> all) in another.  Let me know if help is needed.

I feared that, but at least identifying all functions, where the irq
argument is used inside the function itself is really key for such a
massive rework.

Thanks for responding so quick!

	tglx


--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux