07 Jan, 2009
1 commit
-
Signed-off-by: Kay Sievers
Signed-off-by: Greg Kroah-Hartman
17 Jul, 2008
1 commit
-
PNP used to have a fixed-size pnp_resource_table for tracking the
resources used by a device. This table often overflowed, so we've
had to increase the table size, which wastes memory because most
devices have very few resources.This patch replaces the table with a linked list of resources where
the entries are allocated on demand.This removes messages like these:
pnpacpi: exceeded the max number of IO resources
00:01: too many I/O port resourcesReferences:
http://bugzilla.kernel.org/show_bug.cgi?id=9535
http://bugzilla.kernel.org/show_bug.cgi?id=9740
http://lkml.org/lkml/2007/11/30/110This patch also changes the way PNP uses the IORESOURCE_UNSET,
IORESOURCE_AUTO, and IORESOURCE_DISABLED flags.Prior to this patch, the pnp_resource_table entries used the flags
like this:IORESOURCE_UNSET
This table entry is unused and available for use. When this flag
is set, we shouldn't look at anything else in the resource structure.
This flag is set when a resource table entry is initialized.IORESOURCE_AUTO
This resource was assigned automatically by pnp_assign_{io,mem,etc}().This flag is set when a resource table entry is initialized and
cleared whenever we discover a resource setting by reading an ISAPNP
config register, parsing a PNPBIOS resource data stream, parsing an
ACPI _CRS list, or interpreting a sysfs "set" command.Resources marked IORESOURCE_AUTO are reinitialized and marked as
IORESOURCE_UNSET by pnp_clean_resource_table() in these cases:- before we attempt to assign resources automatically,
- if we fail to assign resources automatically,
- after disabling a deviceIORESOURCE_DISABLED
Set by pnp_assign_{io,mem,etc}() when automatic assignment fails.
Also set by PNPBIOS and PNPACPI for:- invalid IRQs or GSI registration failures
- invalid DMA channels
- I/O ports above 0x10000
- mem ranges with negative lengthAfter this patch, there is no pnp_resource_table, and the resource list
entries use the flags like this:IORESOURCE_UNSET
This flag is no longer used in PNP. Instead of keeping
IORESOURCE_UNSET entries in the resource list, we remove
entries from the list and free them.IORESOURCE_AUTO
No change in meaning: it still means the resource was assigned
automatically by pnp_assign_{port,mem,etc}(), but these functions
now set the bit explicitly.We still "clean" a device's resource list in the same places,
but rather than reinitializing IORESOURCE_AUTO entries, we
just remove them from the list.Note that IORESOURCE_AUTO entries are always at the end of the
list, so removing them doesn't reorder other list entries.
This is because non-IORESOURCE_AUTO entries are added by the
ISAPNP, PNPBIOS, or PNPACPI "get resources" methods and by the
sysfs "set" command. In each of these cases, we completely free
the resource list first.IORESOURCE_DISABLED
In addition to the cases where we used to set this flag, ISAPNP now
adds an IORESOURCE_DISABLED resource when it reads a configuration
register with a "disabled" value.Signed-off-by: Bjorn Helgaas
Signed-off-by: Len Brown
Signed-off-by: Andi Kleen
06 Jun, 2008
1 commit
-
We don't need to reserve "unset" resources. Trying to reserve
them results in messages like this, which are ugly but harmless:system 00:08: iomem range 0x0-0x0 could not be reserved
Future PNP patches will remove use of IORESOURCE_UNSET, but
we still need it for now.Signed-off-by: Bjorn Helgaas
Signed-off-by: Linus Torvalds
03 Jun, 2008
1 commit
-
Both the PNP/PCI conflict detection quirk and the PNP system
driver must use the same mechanism to mark resources as disabled.I think it's best to keep the resource and to keep the type bit
(IORESOURCE_MEM, etc), so that we match the list from firmware
as closely as possible.Fixes this regression from 2.6.25: http://lkml.org/lkml/2008/6/1/82
Signed-off-by: Bjorn Helgaas
Tested-by: Avuton Olrich
Signed-off-by: Linus Torvalds
29 Apr, 2008
1 commit
-
Remove some PNP_MAX_* uses. The pnp_resource_table isn't
dynamic yet, but with pnp_get_resource(), we can start moving
away from the table size constants.Signed-off-by: Bjorn Helgaas
Signed-off-by: Len Brown
17 Oct, 2007
1 commit
-
Use dev_info() for a little consistency. Changes this:
pnp: 00:01: ioport range 0xf50-0xf58 has been reserved
pnp: 00:01: ioport range 0x408-0x40f has been reserved
pnp: 00:01: ioport range 0x900-0x903 has been reservedto this:
system 00:01: ioport range 0xf50-0xf58 has been reserved
system 00:01: ioport range 0x408-0x40f has been reserved
system 00:01: ioport range 0x900-0x903 has been reservedSigned-off-by: Bjorn Helgaas
Cc: Adam Belay
Cc: Len Brown
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
27 Jul, 2007
2 commits
-
These are manual fixups after running Lindent. No functional change.
Signed-off-by: Bjorn Helgaas
Cc: Len Brown
Cc: Adam Belay
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Run Lindent on all PNP source files.
Produced by:
$ quilt new pnp-lindent
$ find drivers/pnp -name \*.[ch] | xargs quilt add
$ quilt add include/linux/{pnp.h,pnpbios.h}
$ scripts/Lindent drivers/pnp/*.c drivers/pnp/*/*.c include/linux/pnp*.h
$ quilt refresh --sortSigned-off-by: Bjorn Helgaas
Cc: Len Brown
Cc: Adam Belay
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
03 Apr, 2007
1 commit
-
Change PnP resource handling code to use proper type for resource start and
length. Fixes bogus regions reported in /proc/iomem.I've also made some pointer constant, as they are constant...
Signed-off-by: Petr Vandrovec
Cc: Bjorn Helgaas
Cc: Adam Belay
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
26 Jan, 2007
2 commits
-
No functional change.
Signed-off-by: Bjorn Helgaas
Signed-off-by: Len Brown -
Most x86 boxes have no iomem system board resources, but some ia64
boxes do.Signed-off-by: Bjorn Helgaas
Signed-off-by: Len Brown
17 Apr, 2005
1 commit
-
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.Let it rip!