mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Bjorn Helgaas <bjorn.helgaas@hp.com>
To: Rene Herman <rene.herman@keyaccess.nl>
Cc: Len Brown <lenb@kernel.org>,
	linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org,
	Adam Belay <ambx1@neo.rr.com>, Adam M Belay <abelay@mit.edu>,
	Li Shaohua <shaohua.li@intel.com>,
	Matthieu Castet <castet.matthieu@free.fr>,
	Thomas Renninger <trenn@suse.de>,
	Jaroslav Kysela <perex@perex.cz>,
	Andrew Morton <akpm@linux-foundation.org>,
	Takashi Iwai <tiwai@suse.de>
Subject: Re: [patch 15/18] PNP: support optional IRQ resources
Date: Mon, 16 Jun 2008 09:41:48 -0600	[thread overview]
Message-ID: <200806160941.49959.bjorn.helgaas@hp.com> (raw)
In-Reply-To: <4853814D.4010309@keyaccess.nl>

On Saturday 14 June 2008 02:29:01 am Rene Herman wrote:
> On 05-06-08 00:09, Bjorn Helgaas wrote:
> 
> > This patch adds an IORESOURCE_IRQ_OPTIONAL flag for use when
> > assigning resources to a device.  If the flag is set and we are
> > unable to assign an IRQ to the device, we can leave the IRQ
> > disabled but allow the overall resource allocation to succeed.
> > 
> > Some devices request an IRQ, but can run without an IRQ
> > (possibly with degraded performance).  This flag lets us run
> > the device without the IRQ instead of just leaving the
> > device disabled.
> > 
> > This is a reimplementation of this previous change by Rene
> > Herman <rene.herman@gmail.com>:
> >     http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3b73a223661ed137c5d3d2635f954382e94f5a43
> > 
> > I reimplemented this for two reasons:
> >     - to prepare for converting all resource options into a single linked
> >       list, as opposed to the per-resource-type lists we have now, and
> >     - to preserve the order and number of resource options.
> > 
> > In PNPBIOS and ACPI, we configure a device by giving firmware a
> > list of resource assignments.  It is important that this list
> > has exactly the same number of resources, in the same order,
> > as the "template" list we got from the firmware in the first
> > place.
> > 
> > The problem of a sound card MPU401 being left disabled for want of
> > an IRQ was reported by Uwe Bugla <uwe.bugla@gmx.de>.
> > 
> > Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
> 
> You rework this again in the later patch doing the final switch over 
> after which things end up right but also already at this point:
> 
> > @@ -176,33 +184,10 @@ static void quirk_ad1815_mpu_resources(s
> >  	if (!irq || irq->next)
> >  		return;
> >  
> > -	res = dev->dependent;
> > -	if (!res)
> > -		return;
> > -
> > -	while (1) {
> > -		struct pnp_irq *copy;
> > -
> > -		copy = pnp_alloc(sizeof *copy);
> > -		if (!copy)
> > -			break;
> > -
> > -		bitmap_copy(copy->map.bits, irq->map.bits, PNP_IRQ_NR);
> > -		copy->flags = irq->flags;
> > -
> > -		copy->next = res->irq; /* Yes, this is NULL */
> > -		res->irq = copy;
> > -
> > -		if (!res->next)
> > -			break;
> > -		res = res->next;
> > -	}
> > -	kfree(irq);
> > +	irq->flags |= IORESOURCE_IRQ_OPTIONAL;
> > +	dev_info(&dev->dev, "made independent IRQ optional\n");
> >  
> >  	res->next = quirk_isapnp_mpu_options(dev);
> 
> ... this line should just go.

You mean I should delete the "res->next = quirk_isapnp_mpu_options(dev)"
line?

> Previously "res" ended up as the last dependent set through the while 
> loop but now it's the independendent set which in this previous setup of 
> things shouldn't even have a ->next. Just deleting this line makes this 
> patch fine and
> 
> Acked-by: Rene Herman <rene.herman@gmail.com>

OK.  This will mean replacing patches 15 and 18 in this series.  If
I repost those two, is that easy for you to deal with, Andrew?

If I replace these, I'll also update patch 18 to fix the
pnp_independent_option() comment Rene made.

Bjorn

  reply	other threads:[~2008-06-16 15:42 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-04 22:09 [patch 00/18] PNP: convert resource options to unified dynamic list, v2 Bjorn Helgaas
2008-06-04 22:09 ` [patch 01/18] PNP: add pnp_possible_config() -- can a device could be configured this way? Bjorn Helgaas
2008-06-14  8:05   ` Rene Herman
2008-06-04 22:09 ` [patch 02/18] PNP: whitespace/coding style fixes Bjorn Helgaas
2008-06-04 22:09 ` [patch 03/18] PNP: IORESOURCE_* flags are PNP-specific, not ISA PNP-specific Bjorn Helgaas
2008-06-14  8:06   ` Rene Herman
2008-06-04 22:09 ` [patch 04/18] PNP: define PNP-specific IORESOURCE_IO_* flags alongside IRQ, DMA, MEM Bjorn Helgaas
2008-06-04 22:09 ` [patch 05/18] PNP: make resource option structures private to PNP subsystem Bjorn Helgaas
2008-06-14  8:07   ` Rene Herman
2008-06-04 22:09 ` [patch 06/18] PNP: introduce pnp_irq_mask_t typedef Bjorn Helgaas
2008-06-04 22:09 ` [patch 07/18] PNP: increase I/O port & memory option address sizes Bjorn Helgaas
2008-06-04 22:09 ` [patch 08/18] PNP: improve resource assignment debug Bjorn Helgaas
2008-06-04 22:09 ` [patch 09/18] PNP: in debug resource dump, make empty list obvious Bjorn Helgaas
2008-06-04 22:09 ` [patch 10/18] PNP: make resource assignment functions return 0 (success) or -EBUSY (failure) Bjorn Helgaas
2008-06-04 22:09 ` [patch 11/18] PNP: remove redundant pnp_can_configure() check Bjorn Helgaas
2008-06-04 22:09 ` [patch 12/18] PNP: centralize resource option allocations Bjorn Helgaas
2008-06-04 22:09 ` [patch 13/18] PNPACPI: ignore _PRS interrupt numbers larger than PNP_IRQ_NR Bjorn Helgaas
2008-06-04 22:09 ` [patch 14/18] PNP: rename pnp_register_*_resource() local variables Bjorn Helgaas
2008-06-04 22:09 ` [patch 15/18] PNP: support optional IRQ resources Bjorn Helgaas
2008-06-14  8:29   ` Rene Herman
2008-06-16 15:41     ` Bjorn Helgaas [this message]
2008-06-16 16:26       ` Rene Herman
2008-06-04 22:09 ` [patch 16/18] PNP: remove extra 0x100 bit from option priority Bjorn Helgaas
2008-06-14  8:35   ` Rene Herman
2008-06-04 22:09 ` [patch 17/18] ISAPNP: handle independent options following dependent ones Bjorn Helgaas
2008-06-14  8:39   ` Rene Herman
2008-06-04 22:09 ` [patch 18/18] PNP: convert resource options to single linked list Bjorn Helgaas
2008-06-14 10:31   ` Rene Herman
2008-06-16 15:44     ` Bjorn Helgaas
2008-06-10  3:00 ` [patch 00/18] PNP: convert resource options to unified dynamic list, v2 Rene Herman
2008-06-10 17:08   ` Bjorn Helgaas

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=200806160941.49959.bjorn.helgaas@hp.com \
    --to=bjorn.helgaas@hp.com \
    --cc=abelay@mit.edu \
    --cc=akpm@linux-foundation.org \
    --cc=ambx1@neo.rr.com \
    --cc=castet.matthieu@free.fr \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=perex@perex.cz \
    --cc=rene.herman@keyaccess.nl \
    --cc=shaohua.li@intel.com \
    --cc=tiwai@suse.de \
    --cc=trenn@suse.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

all inboxes | Powered by JetHome®