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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.