lkml.org 
[lkml]   [2019]   [Jul]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 2/4] gpio: allow customizing hierarchical IRQ chips
On Mon, Jul 29, 2019 at 12:49:55AM +0200, Linus Walleij wrote:
> On Mon, Jul 8, 2019 at 1:01 PM Brian Masney <masneyb@onstation.org> wrote:
> > +static void gpiochip_add_default_irq_domain_ops(struct irq_domain_ops *ops)
> > +{
> > + if (!ops->activate)
> > + ops->activate = gpiochip_irq_domain_activate;
> > +
> > + if (!ops->deactivate)
> > + ops->deactivate = gpiochip_irq_domain_deactivate;
> > +
> > + if (!ops->translate)
> > + ops->translate = gpiochip_hierarchy_irq_domain_translate;
> > +
> > + if (!ops->alloc)
> > + ops->alloc = gpiochip_hierarchy_irq_domain_alloc;
> > +
> > + if (!ops->free)
> > + ops->free = irq_domain_free_irqs_common;
> > +}
>
> I'm fine with translate(), this seems to be what Lina needs too.
>
> But do we really need to make them all optional? activate() and
> deactivate() will require the driver to lock the irq etc which is hairy.

I can't think of a reason right now that we'd need to override the
others. Since the structure was there, I made all of them optional to
try to future proof this a little bit.

It probably would be better to only make translate optional at this
point. If needed, someone can submit a patch for one or more of the
others with their use case.

Brian

\
 
 \ /
  Last update: 2019-07-29 02:12    [W:0.043 / U:0.216 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site