lkml.org 
[lkml]   [2015]   [May]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC v1 14/25] genirq: Kill the first parameter 'irq' of irq_flow_handler_t


On Wed, 20 May 2015, Thomas Gleixner wrote:

> 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.

It's not impossible, but I may need to think a bit how best to do it.

julia


\
 
 \ /
  Last update: 2015-05-20 22:41    [W:0.076 / U:0.636 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site