From: Mark Brown <broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
To: David Gibson <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org>
Cc: Devicetree Discuss
	<devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org>
Subject: Re: Configurable interrupt sources, and DT bindings
Date: Thu, 1 Dec 2011 11:07:39 +0000	[thread overview]
Message-ID: <20111201110738.GA2915@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <20111130133140.GL5435-MK4v0fQdeXQXU02nzanrWNbf9cGiqdzd@public.gmane.org>
On Thu, Dec 01, 2011 at 12:31:40AM +1100, David Gibson wrote:
> On Wed, Nov 30, 2011 at 09:33:06AM +0000, Mark Brown wrote:
> > I'm sorry, I'm not following you.  In what way is this duplicating
> > information that's already there,
> Each interrupt source device has an 'interrupts' property which is an
> array of irq specifiers.  Each irq specifier contains enough
> information for the irq controller driver to handle it - that is, both
> the irq number and the type (if applicable for this irq controller).
> The irq controller driver must already know how to interpret these irq
> specifiers, or nothing would work.
So when you say the information is already there you mean that
controllers can define something in the type field but there's no
defined meaning for that.
> > and for what reason is it not possible
> > to specify different information per IRQ?
> IIUC, the binding you proposed had individual boolean properties for
> the trigger types / polarities.  Those properties would have to be on
> or off for the whole node, but that node might have multiple irqs.
Right, but you could stuff those in an enormous array or whatever - the
point was to describe the per interrupt information.
> > (and all the
> > more reason to come up with a standard binding so they don't have to
> > think)
> Well, we kind of have one already.  I believe the binding for several
> recently defined PICs is source # in the first cell, trigger/polarity
> in the second, encoded using the same values as the corresponding
> Linux constants.
Well, then it'd be good if we could get that written up as a spec and
factor out the parsing code then start pushing back very strongly on any
new bindings that don't follow the spec.  
> > but this all seems so far off base that I fear there must be some
> > fundamental misunderstaniding here.
> I tend to agree.
I don't think so really - it seems like what you're saying is "there's a
place where people could put this information in a device specific
fashion" and I'm looking for something that's not device specific as
this is a general need and we shouldn't have to be doing device specific 
things here.
> I really don't see what problem you're trying to solve.
There's two issues.  One was putting this information in the device tree
at all (which is probably going to be OK already).  The other is that
we've got a lot of devices with interrupt controllers that are going to
be converting to device tree and it'd be bad for usability if they all
had different bindings for what should be pretty basic functionality.  
For system integration it's a bit of a step backwards to have to write
these things as numeric constants (though that should be something that
can be dealt with in the device tree compiler), it'd be a further step
backwards if those constants were to change depending on which chip is
being configured.  It'd be much better if we can do basic interrupt
configuration without having to look up the individual chip bindings.
next prev parent reply	other threads:[~2011-12-01 11:07 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-28 22:29 Configurable interrupt sources, and DT bindings Stephen Warren
     [not found] ` <4ED40B5F.6030603-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-11-28 22:47   ` Mark Brown
2011-11-28 23:23   ` Rob Herring
     [not found]     ` <4ED417F2.1030900-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-11-29 11:20       ` Mark Brown
2011-11-30  2:24       ` Stephen Warren
     [not found]         ` <74CDBE0F657A3D45AFBB94109FB122FF174FDAFD60-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2011-11-30  5:31           ` David Gibson
2011-11-30 13:41           ` Rob Herring
2011-11-29  1:30   ` David Gibson
     [not found]     ` <20111129013055.GH3508-MK4v0fQdeXQXU02nzanrWNbf9cGiqdzd@public.gmane.org>
2011-11-29 10:55       ` Mark Brown
     [not found]         ` <20111129105538.GC2851-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2011-11-30  5:13           ` David Gibson
     [not found]             ` <20111130051349.GG5435-MK4v0fQdeXQXU02nzanrWNbf9cGiqdzd@public.gmane.org>
2011-11-30  9:33               ` Mark Brown
     [not found]                 ` <20111130093305.GB2791-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2011-11-30 13:31                   ` David Gibson
     [not found]                     ` <20111130133140.GL5435-MK4v0fQdeXQXU02nzanrWNbf9cGiqdzd@public.gmane.org>
2011-12-01 11:07                       ` Mark Brown [this message]
     [not found]                         ` <20111201110738.GA2915-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2011-12-02  5:38                           ` David Gibson
     [not found]                             ` <20111202053814.GH5427-MK4v0fQdeXQXU02nzanrWNbf9cGiqdzd@public.gmane.org>
2011-12-02 11:27                               ` Mark Brown
     [not found]                                 ` <20111202112722.GG8245-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2011-12-02 12:24                                   ` David Gibson
     [not found]                                     ` <20111202122418.GI5427-MK4v0fQdeXQXU02nzanrWNbf9cGiqdzd@public.gmane.org>
2011-12-02 13:34                                       ` Mark Brown
     [not found]                                         ` <20111202133413.GR8245-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2011-12-02 14:31                                           ` David Gibson
     [not found]                                             ` <20111202143107.GJ5427-MK4v0fQdeXQXU02nzanrWNbf9cGiqdzd@public.gmane.org>
2011-12-02 14:55                                               ` Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox
  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):
  git send-email \
    --in-reply-to=20111201110738.GA2915@opensource.wolfsonmicro.com \
    --to=broonie-yzvpicuk2aatku/dhu1wvuem+bqzidxxqq4iyu8u01e@public.gmane.org \
    --cc=david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org \
    --cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
    /path/to/YOUR_REPLY
  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
  Be sure your reply has a Subject: header at the top and a blank line
  before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).