Re: [RFC PATCH v1] irqchip: add support for SMP irq router

From: Jason Cooper
Date: Tue Jul 05 2016 - 11:53:35 EST


Hey Sebastian,

On Tue, Jul 05, 2016 at 05:18:42PM +0200, Sebastian Frias wrote:
> On 07/05/2016 04:41 PM, Jason Cooper wrote:
> > On Tue, Jul 05, 2016 at 02:30:12PM +0200, Sebastian Frias wrote:
> >> On 07/04/2016 02:11 PM, Mason wrote:
> > ...
> >>>> .../sigma,smp87xx-irqrouter.txt | 69 +++
> >>>
> >>> In the *actual* submission, we can't use a wildcard like smp87xx
> >>> we'll have to use an actual part number.
> >>
> >> Are you sure?
> >> That would hinder genericity.
> >> Actually I wanted to call it "sigma,smp-irqrouter.txt" (or "sigma,smp,irqrouter.txt").
> >
> > sigma,smp-irqrouter.txt should be fine. The devicetree maintainers
> > should yelp if they want something different.
> >
> >> To me there's no need to link the compatible string of a given HW
> >> module with that of the chip name the module it is embedded into. For
> >> example, the generic USB3 driver is "generic-xhci". While this module
> >> is not generic to be embedded in chips from different manufacturers,
> >> it is supposed to be generic within Sigma, and multiple Sigma chips
> >> (with potentially different denominations) can use it.
> >>
> >>>
> >>>> drivers/irqchip/Makefile | 1 +
> >>>> drivers/irqchip/irq-tango_v2.c | 594 +++++++++++++++++++++
> >>>
> >>> Likewise, I don't like the "_v2" suffix, it's too generic.
> >>> Actual submission should use something more specific.
> >>
> >> Well, the other driver is irq-tango.c that is generic as well.
> >> I prefer versioning, as it is unrelated with the actual chip name.
> >
> > Is there a name, similar to 'tango', for this version of the IP?
> > Something that would spark recognition for someone looking for "the damn
> > driver for this XYZ irqchip I have". If not, irq-tango_v2.c is fine.
> >
>
> Thanks for your comments.
> So, aside from some naming issues, do you think the driver is ok?

Well, it's going to be few days before I can really dig in to this.
Until then, what I can say I see is that it looks like you're using
devicetree to tell Linux how to lay out the irq domains. That's not
right :(

The devicetree should *only* describe the hardware. Would *BSD be able
to use the description in the dtb effectively?

iiuc, I think irq-crossbar.c may be a similar enough in task to give you
an idea or two.

Beyond that, as you mention, there are a bunch of style issues,
unneeded macros, etc.

thx,

Jason.