From: David Daney <ddaney@caviumnetworks.com>
To: Grant Likely <grant.likely@secretlab.ca>
Cc: linux-mips@linux-mips.org, ralf@linux-mips.org
Subject: Re: [PATCH] MIPS: Add some irq definitins required by OF
Date: Fri, 15 Oct 2010 12:50:08 -0700 [thread overview]
Message-ID: <4CB8B070.80903@caviumnetworks.com> (raw)
In-Reply-To: <AANLkTi=M0Fk5EGy+JB2CZcGxspv3hPde10A-R5sUs3Jq@mail.gmail.com>
On 10/14/2010 06:27 PM, Grant Likely wrote:
> On Thu, Oct 14, 2010 at 3:02 PM, David Daney<ddaney@caviumnetworks.com> wrote:
>> Using the forthcoming open firmware (OF) on mips patches, requires
>> that several interrupt related definitions be added.
>>
>> In the future we may want to allow some sort of override for
>> irq_create_mapping, but for now it is just supplies an identity
>> mapping.
>>
>> Signed-off-by: David Daney<ddaney@caviumnetworks.com>
>> Cc: Grant Likely<grant.likely@secretlab.ca>
>
> Hi David,
>
> If you try my current next-devicetree branch then this patch should
> not be necessary. I was able to build the mips patch before I posted it.
>
This is what I get building on your next-devicetree branch:
CC drivers/of/of_i2c.o
drivers/of/of_i2c.c: In function 'of_i2c_register_devices':
drivers/of/of_i2c.c:70: error: implicit declaration of function
'irq_dispose_mapping'
Hence the part of my patch where I added those irq_create_mapping() and
irq_dispose_mapping() functions.
David Daney
>> ---
>> arch/mips/include/asm/irq.h | 33 +++++++++++++++++++++++++++++++++
>> 1 files changed, 33 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/mips/include/asm/irq.h b/arch/mips/include/asm/irq.h
>> index dea4aed..f109e67 100644
>> --- a/arch/mips/include/asm/irq.h
>> +++ b/arch/mips/include/asm/irq.h
>> @@ -16,6 +16,39 @@
>>
>> #include<irq.h>
>>
>> +#define NO_IRQ UINT_MAX
>
> Really? The verdict came down a long time ago that 0 is to be the
> value that means no irq, and only a few architectures still define
> NO_IRQ as -1. It is assumed that the architectures which do not
> define NO_IRQ use 0 as the invalid value. Mostly notably x86 does not
> define NO_IRQ, and Linus nack'd the patch to add it.
>
> linux-2.6$ git grep '#define[ \t]*NO_IRQ[^_]'
> arch/arm/include/asm/irq.h:#define NO_IRQ ((unsigned int)(-1))
> arch/microblaze/include/asm/irq.h:#define NO_IRQ (-1)
> arch/mn10300/include/asm/irq.h:#define NO_IRQ INT_MAX
> arch/parisc/include/asm/irq.h:#define NO_IRQ (-1)
> arch/powerpc/include/asm/irq.h:#define NO_IRQ (0)
> arch/xtensa/variants/s6000/include/variant/irq.h:#define NO_IRQ (-1)
> drivers/input/touchscreen/ucb1400_ts.c:#define NO_IRQ 0
> drivers/of/irq.c:#define NO_IRQ 0
> drivers/pcmcia/pd6729.c:#define NO_IRQ ((unsigned int)(0))
> drivers/rtc/rtc-m48t59.c:#define NO_IRQ (-1)
> drivers/scsi/arm/fas216.h:#define NO_IRQ 255
>
> As far as I can tell, only arm, microblaze, mn10200, parisc, and
> xtensa define NO_IRQ to -1, and of those I've got a pending patch to
> change Microblaze to use 0. arm is the hard holdout because of all
> the legacy board ports.
>
>> +
>> +/*
>> + * This type is the placeholder for a hardware interrupt number. It
>> + * has to be big enough to enclose whatever representation is used by
>> + * a given platform.
>> + */
>> +typedef unsigned long irq_hw_number_t;
>> +
>> +static inline void irq_dispose_mapping(unsigned int virq)
>> +{
>> + return;
>> +}
>> +
>> +struct irq_host;
>> +
>> +/**
>> + * irq_create_mapping - Map a hardware interrupt into linux virq space
>> + * @host: host owning this hardware interrupt or NULL for default host
>> + * @hwirq: hardware irq number in that host space
>> + *
>> + * Only one mapping per hardware interrupt is permitted. Returns a linux
>> + * virq number.
>> + * If the sense/trigger is to be specified, set_irq_type() should be called
>> + * on the number returned from that call.
>> + */
>> +static inline unsigned int irq_create_mapping(struct irq_host *host,
>> + irq_hw_number_t hwirq)
>> +{
>> + /* For now, an identity mapping. */
>> + return (unsigned int)hwirq;
>> +}
>> +
>> #ifdef CONFIG_I8259
>> static inline int irq_canonicalize(int irq)
>> {
>> --
>> 1.7.2.3
>>
>>
>
>
>
next prev parent reply other threads:[~2010-10-15 19:50 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-14 21:02 [PATCH] MIPS: Add some irq definitins required by OF David Daney
2010-10-15 1:27 ` Grant Likely
2010-10-15 19:50 ` David Daney [this message]
2010-10-15 19:55 ` Grant Likely
2010-10-26 22:18 ` David Daney
2010-10-27 8:10 ` Grant Likely
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=4CB8B070.80903@caviumnetworks.com \
--to=ddaney@caviumnetworks.com \
--cc=grant.likely@secretlab.ca \
--cc=linux-mips@linux-mips.org \
--cc=ralf@linux-mips.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