[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200712171014.44360.bjorn.helgaas@hp.com>
Date: Mon, 17 Dec 2007 10:14:43 -0700
From: Bjorn Helgaas <bjorn.helgaas@...com>
To: Shaohua Li <shaohua.li@...el.com>
Cc: Mike Houston <mikeserv@...s.com>, Adrian Bunk <bunk@...sta.de>,
Elvis Pranskevichus <el@...ns.net>,
Jean Delvare <khali@...ux-fr.org>, mhoffman@...htlink.com,
linux-kernel@...r.kernel.org, lm-sensors@...sensors.org,
Adam Belay <ambx1@....rr.com>,
Zhao Yakui <yakui.zhao@...el.com>,
Thomas Renninger <trenn@...e.de>, lenb@...nel.org,
linux-acpi@...r.kernel.org
Subject: Re: [lm-sensors] 2.6.24-rc4 hwmon it87 probe fails
On Sunday 16 December 2007 06:59:39 pm Shaohua Li wrote:
> On Sun, 2007-12-09 at 23:02 -0500, Mike Houston wrote:
> > On Mon, 10 Dec 2007 10:31:27 +0800
> > Shaohua Li <shaohua.li@...el.com> wrote:
> > > This should exist in previous kernel (before we remove acpi
> > > motherboard driver) too. Basically it's a broken BIOS. Could below
> > > patch work around it?
> > >
> > > Thanks,
> > > Shaohua
> > >
> > > Index: linux/drivers/pnp/system.c
> > > ===================================================================
> > > --- linux.orig/drivers/pnp/system.c 2007-12-10
> > > 10:17:46.000000000 +0800 +++ linux/drivers/pnp/system.c
> >
> > Thanks Shaohua, I tested this as well and it appears to have worked
> > around the issue for me.
> >
> > Now, in dmesg, I get:
> >
> > system 00:01: ioport range 0x290-0x29f has been reserved
> > (...)
> > system 00:01: ioport range 0x290-0x294 could not be reserved
> >
> > In /proc/ioports I see:
> >
> > 0290-029f : pnp 00:01
> > 0290-0297 : it87
> > 0290-0297 : it87
> Unfortunately this can't solve all such issues.
>
> Adam & Bjorn,
> Could we just reserve IO ports >= 0x1000 in pnp system driver? The
> purpose of the driver is to avoid resource conflict with PCI device, and
> PCI device can't user io port < 0x1000.
The purpose of the PNP system driver is to avoid conflicts with
*all* devices. And if the PNP core were a little smarter, we
wouldn't need the system driver at all. We don't have one for
PCI -- the PCI core manages resources for all PCI devices, even
ones that have no driver.
Why is 0x1000 a magic number? drivers/acpi/motherboard.c used to
ignore IO port ranges that ended below PCIBIOS_MIN_IO (== 0x1000 for
most architectures). I don't think Linux will assign IO ports below
PCIBIOS_MIN_IO to a PCI device, but the BIOS could, and I've seen
CardBus devices below PCIBIOS_MIN_IO.
I think having drivers/pnp/system.c ignore resources below
PCIBIOS_MIN_IO would be a hack that happens to cover up problems
like this without understanding the real cause.
Bjorn
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists