linux-sh.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rob Herring <robherring2@gmail.com>
To: linux-arm-kernel@lists.infradead.org
Subject: Re: [RFC PATCH 05/10] sh: intc: remove dependency on NR_IRQS
Date: Tue, 17 Jan 2012 02:37:39 +0000	[thread overview]
Message-ID: <4F14DEF3.5020907@gmail.com> (raw)
In-Reply-To: <CABMQnVKfitZu01_sKeVoC94y3GjbfTHqFEZ8ANWF4PCqA6F-Ug@mail.gmail.com>

On 01/16/2012 07:54 PM, Nobuhiro Iwamatsu wrote:
> Hi,
> 
> 2012/1/14 Rob Herring <robherring2@gmail.com>:
>> From: Rob Herring <rob.herring@calxeda.com>
>>
>> SH intc has a compile time dependency on NR_IRQS. Make this dependency a
>> local define so that shmobile (and ARM in general) can have run-time
>> NR_IRQS setting. SH has NR_IRQS set to 512 and shmobile has NR_IRQS set to
>> 1024, so we are using the maximum.
>>
>> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
>> ---
>>  drivers/sh/intc/balancing.c |    2 +-
>>  drivers/sh/intc/core.c      |    2 +-
>>  drivers/sh/intc/handle.c    |    2 +-
>>  drivers/sh/intc/internals.h |    9 +++++++++
>>  drivers/sh/intc/virq.c      |    2 +-
>>  5 files changed, 13 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/sh/intc/balancing.c b/drivers/sh/intc/balancing.c
>> index cec7a96..bc78080 100644
>> --- a/drivers/sh/intc/balancing.c
>> +++ b/drivers/sh/intc/balancing.c
>> @@ -9,7 +9,7 @@
>>  */
>>  #include "internals.h"
>>
>> -static unsigned long dist_handle[NR_IRQS];
>> +static unsigned long dist_handle[INTC_NR_IRQS];
>>
>>  void intc_balancing_enable(unsigned int irq)
>>  {
>> diff --git a/drivers/sh/intc/core.c b/drivers/sh/intc/core.c
>> index e53e449..2fde897 100644
>> --- a/drivers/sh/intc/core.c
>> +++ b/drivers/sh/intc/core.c
>> @@ -42,7 +42,7 @@ unsigned int nr_intc_controllers;
>>  * - this needs to be at least 2 for 5-bit priorities on 7780
>>  */
>>  static unsigned int default_prio_level = 2;    /* 2 - 16 */
>> -static unsigned int intc_prio_level[NR_IRQS];  /* for now */
>> +static unsigned int intc_prio_level[INTC_NR_IRQS];     /* for now */
>>
>>  unsigned int intc_get_dfl_prio_level(void)
>>  {
>> diff --git a/drivers/sh/intc/handle.c b/drivers/sh/intc/handle.c
>> index 057ce56..f461d53 100644
>> --- a/drivers/sh/intc/handle.c
>> +++ b/drivers/sh/intc/handle.c
>> @@ -13,7 +13,7 @@
>>  #include <linux/spinlock.h>
>>  #include "internals.h"
>>
>> -static unsigned long ack_handle[NR_IRQS];
>> +static unsigned long ack_handle[INTC_NR_IRQS];
>>
>>  static intc_enum __init intc_grp_id(struct intc_desc *desc,
>>                                    intc_enum enum_id)
>> diff --git a/drivers/sh/intc/internals.h b/drivers/sh/intc/internals.h
>> index b0e9155..469f092 100644
>> --- a/drivers/sh/intc/internals.h
>> +++ b/drivers/sh/intc/internals.h
>> @@ -6,6 +6,15 @@
>>  #include <linux/radix-tree.h>
>>  #include <linux/device.h>
>>
>> +#define INTC_NR_IRQS   1024
> 
> On SH, INTC_NR_IRQS ( NR_IRQS )  is using to by arch/sh/kernel/machvec.c.
> And, this is defined by arch/sh/include/asm/irq.h.
> You need to remove or rename from these.
> 

machvec.c will still pickup NR_IRQS from arch/sh/include/asm/irq.h, so
there is no change there. The value here is increased from 512 for SH to
1024, but that should not have any functional impact only array storage
space. Where it is used is a bit of a hack as the comment indicates. The
only other easy way to fix it I see is with an #ifdef CONFIG_SH or
CONFIG_ARM here. I welcome patches if you've got better ideas.

>> +
>> +#ifndef evt2irq
>> +#define evt2irq(evt)            (((evt) >> 5) - 16)
>> +#endif
>> +#ifndef irq2evt
>> +#define irq2evt(irq)            (((irq) + 16) << 5)
>> +#endif
>> +
> 
> These are defined in arch/arm/mach-shmobile/include/mach/irqs.h and
> arch/sh/include/asm/irq.h.
> 
> I propose that linux/sh_intc.h defines these.
> 

Agreed. I will combine both versions there.

Rob

> Best regards,
>   Nobuhiro
> 


  reply	other threads:[~2012-01-17  2:37 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-13 16:34 [RFC PATCH 00/10] Make mach/irqs.h optional Rob Herring
2012-01-13 16:34 ` [RFC PATCH 01/10] rtc: sa1100: include mach/irqs.h instead of asm/irq.h Rob Herring
2012-01-13 16:43   ` Russell King - ARM Linux
2012-01-13 16:58     ` Rob Herring
2012-01-13 20:46       ` Nicolas Pitre
2012-01-13 21:45         ` Russell King - ARM Linux
2012-01-13 22:26           ` Nicolas Pitre
2012-01-13 23:21         ` Rob Herring
2012-01-13 23:51           ` Nicolas Pitre
2012-01-13 16:34 ` [RFC PATCH 02/10] sound: pxa2xx-ac97: include mach/irqs.h directly Rob Herring
2012-01-13 16:34 ` [RFC PATCH 03/10] ARM: mc146818rtc: remove unnecessary include of mach/irqs.h Rob Herring
2012-01-13 16:52   ` Russell King - ARM Linux
2012-01-13 16:34 ` [RFC PATCH 04/10] ARM: it8152: explicitly include mach/irqs.h Rob Herring
2012-01-13 22:02   ` Rob Herring
2012-01-13 22:36     ` Nicolas Pitre
2012-01-13 16:34 ` [RFC PATCH 05/10] sh: intc: remove dependency on NR_IRQS Rob Herring
2012-01-17  1:54   ` Nobuhiro Iwamatsu
2012-01-17  2:37     ` Rob Herring [this message]
2012-01-17  5:09       ` Nobuhiro Iwamatsu
2012-01-17 16:24         ` Rob Herring
2012-01-19  3:44           ` Nobuhiro Iwamatsu
2012-01-13 16:34 ` [RFC PATCH 06/10] ARM: mmp: remove NR_IRQS Rob Herring
2012-01-13 20:30   ` Nicolas Pitre
2012-01-13 16:34 ` [RFC PATCH 07/10] ARM: pxa: " Rob Herring
2012-01-13 16:34 ` [RFC PATCH 08/10] ARM: shmobile: " Rob Herring
2012-01-13 16:34 ` [RFC PATCH 09/10] ARM: only include mach/irqs.h for !SPARSE_IRQ Rob Herring
2012-01-13 16:34 ` [RFC PATCH 10/10] ARM: highbank: select SPARSE_IRQ and remove irqs.h Rob Herring
2012-01-13 17:42 ` [RFC PATCH 00/10] Make mach/irqs.h optional Jamie Iles

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=4F14DEF3.5020907@gmail.com \
    --to=robherring2@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.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).