All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Hilman <khilman@deeprootsystems.com>
To: "Shilimkar, Santosh" <santosh.shilimkar@ti.com>
Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>,
	"linux-arm-kernel@lists.arm.linux.org.uk"
	<linux-arm-kernel@lists.arm.linux.org.uk>,
	"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>
Subject: Re: [ARM][OMAP] TWL4030 IRQ
Date: Mon, 29 Jun 2009 10:51:09 -0700	[thread overview]
Message-ID: <87prcn7wtu.fsf@deeprootsystems.com> (raw)
In-Reply-To: <EAF47CD23C76F840A9E7FCE10091EFAB02B53AC23F@dbde02.ent.ti.com> (Santosh Shilimkar's message of "Mon\, 29 Jun 2009 21\:04\:53 +0530")

"Shilimkar, Santosh" <santosh.shilimkar@ti.com> writes:

>> And here it is - I've only build-tested it so far.
>> 
>>  drivers/mfd/twl4030-irq.c |   55 
>> ++++++++++++++++++--------------------------
>>  1 files changed, 23 insertions(+), 32 deletions(-)
>> 
>> diff --git a/drivers/mfd/twl4030-irq.c b/drivers/mfd/twl4030-irq.c
>> index bae61b2..4bb1ea7 100644
>> --- a/drivers/mfd/twl4030-irq.c
>> +++ b/drivers/mfd/twl4030-irq.c
>> @@ -180,15 +180,9 @@ static struct completion irq_event;
>>  static int twl4030_irq_thread(void *data)
>>  {
>>  	long irq = (long)data;
>> -	struct irq_desc *desc = irq_to_desc(irq);
>>  	static unsigned i2c_errors;
>>  	static const unsigned max_i2c_errors = 100;
>>  
>> -	if (!desc) {
>> -		pr_err("twl4030: Invalid IRQ: %ld\n", irq);
>> -		return -EINVAL;
>> -	}
>> -
>>  	current->flags |= PF_NOFREEZE;
>>  
>>  	while (!kthread_should_stop()) {
>> @@ -240,38 +234,25 @@ static int twl4030_irq_thread(void *data)
>>  		}
>>  		local_irq_enable();
>>  
>> -		desc->chip->unmask(irq);
>> +		enable_irq(irq);
>>  	}
>>  
>>  	return 0;
>>  }
> Russell,
> Just a question here.
>
> In the enable_irq(irq) and disable_irq(irq) call tree, internally there are calls to 
> the interrupt controller chip.
>
> In disable_irq() path:
> 	desc->chip->disable(irq);
> And in emable_irq() path:
> 	desc->chip->enable(irq);

> But the in gic gic_chip, enable/disable fn are not populated.

And if you look at the OMAP's MPU irq_chip implementation, these are 
not populated either.  We rely on the default lazy enable via unmask
and the lazy disable.

Kevin

  parent reply	other threads:[~2009-06-29 17:51 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-24  7:46 [ARM][OMAP] TWL4030 IRQ Shilimkar, Santosh
2009-06-24  7:57 ` Russell King - ARM Linux
2009-06-29  9:30   ` Russell King - ARM Linux
2009-06-29 15:34     ` Shilimkar, Santosh
2009-06-29 15:43       ` Russell King - ARM Linux
2009-06-29 17:51       ` Kevin Hilman [this message]
2009-06-29 17:52         ` Russell King - ARM Linux
2009-06-29 17:58           ` Kevin Hilman
2009-06-30  6:31     ` Shilimkar, Santosh
2009-06-30 23:05       ` Kevin Hilman
2009-07-01  5:03         ` Shilimkar, Santosh
2009-07-01 13:51           ` Kevin Hilman
  -- strict thread matches above, loose matches on Subject: below --
2009-06-24  5:07 Shilimkar, Santosh
2009-06-24  7:31 ` Russell King - ARM Linux
2009-06-20 15:24 Shilimkar, Santosh

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=87prcn7wtu.fsf@deeprootsystems.com \
    --to=khilman@deeprootsystems.com \
    --cc=linux-arm-kernel@lists.arm.linux.org.uk \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=santosh.shilimkar@ti.com \
    /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.