public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Yinghai Lu <yinghai@kernel.org>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>, "H. Peter Anvin" <hpa@zytor.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Suresh Siddha <suresh.b.siddha@intel.com>,
	Eric Biederman <ebiederm@xmission.com>,
	LKML <linux-kernel@vger.kernel.org>, Julia Lawall <julia@diku.dk>
Subject: Re: [PATCH 06/12] genericirq: make irq_chip related function to take desc
Date: Thu, 04 Mar 2010 11:18:52 -0800	[thread overview]
Message-ID: <4B90079C.7080404@kernel.org> (raw)
In-Reply-To: <alpine.LFD.2.00.1003041142460.2014@localhost.localdomain>

On 03/04/2010 06:31 AM, Thomas Gleixner wrote:
> On Thu, 4 Mar 2010, Yinghai Lu wrote:
> 
>>  /*
>>   * Fixup enable/disable function pointers
>>   */
>>  void irq_chip_set_defaults(struct irq_chip *chip)
>>  {
>> +	if (!chip->desc_enable)
>> +		chip->desc_enable = default_enable_desc;
>> +	if (!chip->desc_disable)
>> +		chip->desc_disable = default_disable_desc;
>> +	if (!chip->desc_startup)
>> +		chip->desc_startup = default_startup_desc;
> 
>   This will break all irq_chips which implement enable, disable or
>   startup. so the check needs to be:
> 
>   	   if (!chip->enable && !chip->desc_enable) 
> 
>> +	/*
>> +	 * We use chip->disable, when the user provided its own. When
>> +	 * we have default_disable set for chip->disable, then we need
>> +	 * to use default_shutdown, otherwise the irq line is not
>> +	 * disabled on free_irq():
>> +	 */
>> +	if (!chip->desc_shutdown)
>> +		chip->desc_shutdown = chip->desc_disable != default_disable_desc ?
>> +			chip->desc_disable : default_shutdown_desc;
>> +	if (!chip->desc_end)
>> +		chip->desc_end = dummy_irq_chip.desc_end;
> 
>   Same  here.

should be:

/*
 * Fixup enable/disable function pointers
 */
static void irq_chip_set_defaults_desc(struct irq_chip *chip)
{
        if (!chip->desc_enable && !chip->enable)
                chip->desc_enable = default_enable_desc;
        if (!chip->desc_disable)
                chip->desc_disable = default_disable_desc;
        if (!chip->desc_startup)
                chip->desc_startup = default_startup_desc;
        /*
         * We use chip->disable, when the user provided its own. When
         * we have default_disable set for chip->disable, then we need
         * to use default_shutdown, otherwise the irq line is not
         * disabled on free_irq():
         */
        if (!chip->desc_shutdown)
                chip->desc_shutdown = chip->desc_disable != default_disable_desc ?
                        chip->desc_disable : default_shutdown_desc;
        if (!chip->desc_end)
                chip->desc_end = dummy_irq_chip.desc_end;
}
static void irq_chip_set_defaults_irq(struct irq_chip *chip)
{
        if (!chip->enable)
                chip->enable = default_enable;
        if (!chip->disable)
                chip->disable = default_disable;
        if (!chip->startup)
                chip->startup = default_startup;
        /*
         * We use chip->disable, when the user provided its own. When
         * we have default_disable set for chip->disable, then we need
         * to use default_shutdown, otherwise the irq line is not
         * disabled on free_irq():
         */
        if (!chip->shutdown)
                chip->shutdown = chip->disable != default_disable ?
                        chip->disable : default_shutdown;
        if (!chip->end)
                chip->end = dummy_irq_chip.end;
}
void irq_chip_set_defaults(struct irq_chip *chip)
{
        if (chip->desc_mask && chip->desc_unmask)
                irq_chip_set_defaults_desc(chip);
        else
                irq_chip_set_defaults_irq(chip);

        if (!chip->name)
                chip->name = chip->typename;
}

  parent reply	other threads:[~2010-03-04 19:20 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-04 10:08 [PATCH 0/12] irq related: make function to take irq_desc pointer instead of irq Yinghai Lu
2010-03-04 10:08 ` [PATCH 01/12] x86: fix out of order of gsi - full Yinghai Lu
2010-03-04 10:08 ` [PATCH 02/12] x86: set nr_irqs_gsi only in probe_nr_irqs_gsi Yinghai Lu
2010-03-04 10:08 ` [PATCH 03/12] x86: kill smpboot_hooks.h Yinghai Lu
2010-03-04 10:08 ` [PATCH 04/12] x86: use vector_desc instead of vector_irq Yinghai Lu
2010-03-04 10:08 ` [PATCH 05/12] genericirq: make irq_chip to have member with irq_desc pointer Yinghai Lu
2010-03-04 10:08 ` [PATCH 06/12] genericirq: make irq_chip related function to take desc Yinghai Lu
2010-03-04 14:31   ` Thomas Gleixner
2010-03-04 18:56     ` Yinghai Lu
2010-03-04 19:08       ` Thomas Gleixner
2010-03-04 19:20         ` Yinghai Lu
2010-03-05  7:47       ` Julia Lawall
2010-03-21  4:18         ` Eric W. Biederman
2010-03-21 11:03           ` Julia Lawall
2010-03-21 13:11             ` [PATCH] irq: Start the transition of irq_chip methods taking a desc Eric W. Biederman
2010-03-21 14:43               ` Thomas Gleixner
2010-03-21 18:50                 ` Yinghai Lu
2010-03-22  0:32                 ` Eric W. Biederman
2010-03-21 13:49             ` [PATCH 06/12] genericirq: make irq_chip related function to take desc Eric W. Biederman
2010-03-21 14:19               ` Julia Lawall
2010-03-21 16:29               ` Julia Lawall
2010-03-21 11:08           ` Julia Lawall
2010-03-21 11:43             ` Eric W. Biederman
2010-03-21 19:16           ` Julia Lawall
2010-03-21 19:35           ` Julia Lawall
2010-03-21 19:36           ` Julia Lawall
2010-03-22  0:36             ` Eric W. Biederman
2010-03-04 19:18     ` Yinghai Lu [this message]
2010-03-04 10:08 ` [PATCH 07/12] genericirq: make hpet_msi/ht/msi/dmar_msi " Yinghai Lu
2010-03-04 10:08 ` [PATCH 08/12] x86: make irq_chip to use desc_mask instead of mask Yinghai Lu
2010-03-04 15:10   ` [PATCH 08/12] x86: make irq_chip to use desc_mask instead of maskn Thomas Gleixner
2010-03-04 10:08 ` [PATCH 09/12] x86: irq_chip to use desc_mask instead of mask part 2 Yinghai Lu
2010-03-04 10:08 ` [PATCH 10/12] genericirq: add set_irq_desc_chip/data Yinghai Lu
2010-03-04 10:08 ` [PATCH 11/12] x86/iommu/dmar: update iommu/inter_remapping to use desc Yinghai Lu
2010-03-04 10:08 ` [PATCH 12/12] x86: remove arch_probe_nr_irqs Yinghai Lu

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=4B90079C.7080404@kernel.org \
    --to=yinghai@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=ebiederm@xmission.com \
    --cc=hpa@zytor.com \
    --cc=julia@diku.dk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=suresh.b.siddha@intel.com \
    --cc=tglx@linutronix.de \
    /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