* [PATCH] PCI rom.c cleanups
@ 2005-01-09 23:30 Jesse Barnes
2005-01-10 3:28 ` Jon Smirl
2005-01-12 0:37 ` Greg KH
0 siblings, 2 replies; 5+ messages in thread
From: Jesse Barnes @ 2005-01-09 23:30 UTC (permalink / raw)
To: jonsmirl, greg, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 198 bytes --]
Greg, here's some whitespace and long line cleanup I wanted to do last time I
touched rom.c, but forgot. Does it look ok to you, Jon?
Signed-off-by: Jesse Barnes <jbarnes@sgi.com>
Thanks,
Jesse
[-- Attachment #2: rom-cleanup.patch --]
[-- Type: text/x-diff, Size: 5868 bytes --]
===== drivers/pci/rom.c 1.1 vs edited =====
--- 1.1/drivers/pci/rom.c 2004-10-07 19:11:55 -07:00
+++ edited/drivers/pci/rom.c 2005-01-09 15:26:30 -08:00
@@ -5,10 +5,7 @@
* (C) Copyright 2004 Silicon Graphics, Inc. Jesse Barnes <jbarnes@sgi.com>
*
* PCI ROM access routines
- *
*/
-
-
#include <linux/config.h>
#include <linux/kernel.h>
#include <linux/pci.h>
@@ -24,11 +21,10 @@
* between the ROM and other resources, so enabling it may disable access
* to MMIO registers or other card memory.
*/
-static void
-pci_enable_rom(struct pci_dev *pdev)
+static void pci_enable_rom(struct pci_dev *pdev)
{
u32 rom_addr;
-
+
pci_read_config_dword(pdev, pdev->rom_base_reg, &rom_addr);
rom_addr |= PCI_ROM_ADDRESS_ENABLE;
pci_write_config_dword(pdev, pdev->rom_base_reg, rom_addr);
@@ -41,8 +37,7 @@
* Disable ROM decoding on a PCI device by turning off the last bit in the
* ROM BAR.
*/
-static void
-pci_disable_rom(struct pci_dev *pdev)
+static void pci_disable_rom(struct pci_dev *pdev)
{
u32 rom_addr;
pci_read_config_dword(pdev, pdev->rom_base_reg, &rom_addr);
@@ -57,7 +52,7 @@
* @return: kernel virtual pointer to image of ROM
*
* Map a PCI ROM into kernel space. If ROM is boot video ROM,
- * the shadow BIOS copy will be returned instead of the
+ * the shadow BIOS copy will be returned instead of the
* actual ROM.
*/
void __iomem *pci_map_rom(struct pci_dev *pdev, size_t *size)
@@ -67,10 +62,12 @@
void __iomem *rom;
void __iomem *image;
int last_image;
-
- if (res->flags & IORESOURCE_ROM_SHADOW) { /* IORESOURCE_ROM_SHADOW only set on x86 */
- start = (loff_t)0xC0000; /* primary video rom always starts here */
- *size = 0x20000; /* cover C000:0 through E000:0 */
+
+ /* IORESOURCE_ROM_SHADOW only set on x86 */
+ if (res->flags & IORESOURCE_ROM_SHADOW) {
+ /* primary video rom always starts here */
+ start = (loff_t)0xC0000;
+ *size = 0x20000; /* cover C000:0 through E000:0 */
} else {
if (res->flags & IORESOURCE_ROM_COPY) {
*size = pci_resource_len(pdev, PCI_ROM_RESOURCE);
@@ -79,28 +76,32 @@
/* assign the ROM an address if it doesn't have one */
if (res->parent == NULL)
pci_assign_resource(pdev, PCI_ROM_RESOURCE);
-
+
start = pci_resource_start(pdev, PCI_ROM_RESOURCE);
*size = pci_resource_len(pdev, PCI_ROM_RESOURCE);
if (*size == 0)
return NULL;
-
+
/* Enable ROM space decodes */
pci_enable_rom(pdev);
}
}
-
+
rom = ioremap(start, *size);
if (!rom) {
/* restore enable if ioremap fails */
- if (!(res->flags & (IORESOURCE_ROM_ENABLE | IORESOURCE_ROM_SHADOW | IORESOURCE_ROM_COPY)))
+ if (!(res->flags & (IORESOURCE_ROM_ENABLE |
+ IORESOURCE_ROM_SHADOW |
+ IORESOURCE_ROM_COPY)))
pci_disable_rom(pdev);
return NULL;
- }
+ }
- /* Try to find the true size of the ROM since sometimes the PCI window */
- /* size is much larger than the actual size of the ROM. */
- /* True size is important if the ROM is going to be copied. */
+ /*
+ * Try to find the true size of the ROM since sometimes the PCI window
+ * size is much larger than the actual size of the ROM.
+ * True size is important if the ROM is going to be copied.
+ */
image = rom;
do {
void __iomem *pds;
@@ -136,30 +137,30 @@
* @return: kernel virtual pointer to image of ROM
*
* Map a PCI ROM into kernel space. If ROM is boot video ROM,
- * the shadow BIOS copy will be returned instead of the
+ * the shadow BIOS copy will be returned instead of the
* actual ROM.
*/
void __iomem *pci_map_rom_copy(struct pci_dev *pdev, size_t *size)
{
struct resource *res = &pdev->resource[PCI_ROM_RESOURCE];
void __iomem *rom;
-
+
rom = pci_map_rom(pdev, size);
if (!rom)
return NULL;
-
+
if (res->flags & (IORESOURCE_ROM_COPY | IORESOURCE_ROM_SHADOW))
return rom;
-
+
res->start = (unsigned long)kmalloc(*size, GFP_KERNEL);
- if (!res->start)
+ if (!res->start)
return rom;
- res->end = res->start + *size;
+ res->end = res->start + *size;
memcpy_fromio((void*)res->start, rom, *size);
pci_unmap_rom(pdev, rom);
res->flags |= IORESOURCE_ROM_COPY;
-
+
return (void __iomem *)res->start;
}
@@ -170,16 +171,15 @@
*
* Remove a mapping of a previously mapped ROM
*/
-void
-pci_unmap_rom(struct pci_dev *pdev, void __iomem *rom)
+void pci_unmap_rom(struct pci_dev *pdev, void __iomem *rom)
{
struct resource *res = &pdev->resource[PCI_ROM_RESOURCE];
if (res->flags & IORESOURCE_ROM_COPY)
return;
-
+
iounmap(rom);
-
+
/* Disable again before continuing, leave enabled if pci=rom */
if (!(res->flags & (IORESOURCE_ROM_ENABLE | IORESOURCE_ROM_SHADOW)))
pci_disable_rom(pdev);
@@ -189,26 +189,28 @@
* pci_remove_rom - disable the ROM and remove its sysfs attribute
* @dev: pointer to pci device struct
*
+ * Remove the rom file in sysfs and disable ROM decoding.
*/
-void
-pci_remove_rom(struct pci_dev *pdev)
+void pci_remove_rom(struct pci_dev *pdev)
{
struct resource *res = &pdev->resource[PCI_ROM_RESOURCE];
-
+
if (pci_resource_len(pdev, PCI_ROM_RESOURCE))
sysfs_remove_bin_file(&pdev->dev.kobj, pdev->rom_attr);
- if (!(res->flags & (IORESOURCE_ROM_ENABLE | IORESOURCE_ROM_SHADOW | IORESOURCE_ROM_COPY)))
+ if (!(res->flags & (IORESOURCE_ROM_ENABLE |
+ IORESOURCE_ROM_SHADOW |
+ IORESOURCE_ROM_COPY)))
pci_disable_rom(pdev);
}
/**
- * pci_cleanup_rom - internal routine for freeing the ROM copy created
+ * pci_cleanup_rom - internal routine for freeing the ROM copy created
* by pci_map_rom_copy called from remove.c
* @dev: pointer to pci device struct
*
+ * Free the copied ROM if we allocated one.
*/
-void
-pci_cleanup_rom(struct pci_dev *pdev)
+void pci_cleanup_rom(struct pci_dev *pdev)
{
struct resource *res = &pdev->resource[PCI_ROM_RESOURCE];
if (res->flags & IORESOURCE_ROM_COPY) {
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] PCI rom.c cleanups
2005-01-09 23:30 [PATCH] PCI rom.c cleanups Jesse Barnes
@ 2005-01-10 3:28 ` Jon Smirl
2005-01-10 18:06 ` Jesse Barnes
2005-01-12 0:37 ` Greg KH
1 sibling, 1 reply; 5+ messages in thread
From: Jon Smirl @ 2005-01-10 3:28 UTC (permalink / raw)
To: Jesse Barnes; +Cc: greg, linux-kernel
Looks fine to me.
I sent out another clean patch here:
http://lkml.org/lkml/2005/1/7/274
On Sun, 9 Jan 2005 15:30:46 -0800, Jesse Barnes <jbarnes@sgi.com> wrote:
> Greg, here's some whitespace and long line cleanup I wanted to do last time I
> touched rom.c, but forgot. Does it look ok to you, Jon?
>
> Signed-off-by: Jesse Barnes <jbarnes@sgi.com>
>
> Thanks,
> Jesse
>
>
>
--
Jon Smirl
jonsmirl@gmail.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] PCI rom.c cleanups
2005-01-09 23:30 [PATCH] PCI rom.c cleanups Jesse Barnes
2005-01-10 3:28 ` Jon Smirl
@ 2005-01-12 0:37 ` Greg KH
1 sibling, 0 replies; 5+ messages in thread
From: Greg KH @ 2005-01-12 0:37 UTC (permalink / raw)
To: Jesse Barnes; +Cc: jonsmirl, linux-kernel
On Sun, Jan 09, 2005 at 03:30:46PM -0800, Jesse Barnes wrote:
> Greg, here's some whitespace and long line cleanup I wanted to do last time I
> touched rom.c, but forgot. Does it look ok to you, Jon?
>
> Signed-off-by: Jesse Barnes <jbarnes@sgi.com>
Applied, thanks.
greg k-h
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] PCI: Clean up printks in msi.c
@ 2005-01-17 22:01 Greg KH
2005-01-17 22:01 ` [PATCH] PCI: rom.c cleanups Greg KH
0 siblings, 1 reply; 5+ messages in thread
From: Greg KH @ 2005-01-17 22:01 UTC (permalink / raw)
To: linux-kernel; +Cc: roland
ChangeSet 1.2329.2.4, 2005/01/14 15:57:49-08:00, roland@topspin.com
[PATCH] PCI: Clean up printks in msi.c
Add "PCI:" prefixes and fix up the formatting and grammar of printks
in drivers/pci/msi.c. The main motivation was to fix the shouting
"MSI INIT SUCCESS" message printed when an MSI-using driver is first
started, but while we're at it we might as well tidy up all the messages.
Signed-off-by: Roland Dreier <roland@topspin.com>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
drivers/pci/msi.c | 37 ++++++++++++++++++++-----------------
1 files changed, 20 insertions(+), 17 deletions(-)
diff -Nru a/drivers/pci/msi.c b/drivers/pci/msi.c
--- a/drivers/pci/msi.c 2005-01-17 13:56:08 -08:00
+++ b/drivers/pci/msi.c 2005-01-17 13:56:08 -08:00
@@ -374,19 +374,18 @@
if ((status = msi_cache_init()) < 0) {
pci_msi_enable = 0;
- printk(KERN_INFO "WARNING: MSI INIT FAILURE\n");
+ printk(KERN_WARNING "PCI: MSI cache init failed\n");
return status;
}
last_alloc_vector = assign_irq_vector(AUTO_ASSIGN);
if (last_alloc_vector < 0) {
pci_msi_enable = 0;
- printk(KERN_INFO "WARNING: ALL VECTORS ARE BUSY\n");
+ printk(KERN_WARNING "PCI: No interrupt vectors available for MSI\n");
status = -EBUSY;
return status;
}
vector_irq[last_alloc_vector] = 0;
nr_released_vectors++;
- printk(KERN_INFO "MSI INIT SUCCESS\n");
return status;
}
@@ -736,7 +735,9 @@
/* Check whether driver already requested for MSI-X vectors */
if ((pos = pci_find_capability(dev, PCI_CAP_ID_MSIX)) > 0 &&
!msi_lookup_vector(dev, PCI_CAP_ID_MSIX)) {
- printk(KERN_INFO "Can't enable MSI. Device already had MSI-X vectors assigned\n");
+ printk(KERN_INFO "PCI: %s: Can't enable MSI. "
+ "Device already has MSI-X vectors assigned\n",
+ pci_name(dev));
dev->irq = temp;
return -EINVAL;
}
@@ -774,9 +775,9 @@
}
if (entry->msi_attrib.state) {
spin_unlock_irqrestore(&msi_lock, flags);
- printk(KERN_DEBUG "Driver[%d:%d:%d] unloaded wo doing free_irq on vector->%d\n",
- dev->bus->number, PCI_SLOT(dev->devfn), PCI_FUNC(dev->devfn),
- dev->irq);
+ printk(KERN_WARNING "PCI: %s: pci_disable_msi() called without "
+ "free_irq() on MSI vector %d\n",
+ pci_name(dev), dev->irq);
BUG_ON(entry->msi_attrib.state > 0);
} else {
vector_irq[dev->irq] = 0; /* free it */
@@ -982,7 +983,9 @@
/* Check whether driver already requested for MSI vector */
if (pci_find_capability(dev, PCI_CAP_ID_MSI) > 0 &&
!msi_lookup_vector(dev, PCI_CAP_ID_MSI)) {
- printk(KERN_INFO "Can't enable MSI-X. Device already had MSI vector assigned\n");
+ printk(KERN_INFO "PCI: %s: Can't enable MSI-X. "
+ "Device already has an MSI vector assigned\n",
+ pci_name(dev));
dev->irq = temp;
return -EINVAL;
}
@@ -1050,9 +1053,9 @@
spin_unlock_irqrestore(&msi_lock, flags);
if (warning) {
dev->irq = temp;
- printk(KERN_DEBUG "Driver[%d:%d:%d] unloaded wo doing free_irq on all vectors\n",
- dev->bus->number, PCI_SLOT(dev->devfn),
- PCI_FUNC(dev->devfn));
+ printk(KERN_WARNING "PCI: %s: pci_disable_msix() called without "
+ "free_irq() on all MSI-X vectors\n",
+ pci_name(dev));
BUG_ON(warning > 0);
} else {
dev->irq = temp;
@@ -1088,9 +1091,9 @@
state = msi_desc[dev->irq]->msi_attrib.state;
spin_unlock_irqrestore(&msi_lock, flags);
if (state) {
- printk(KERN_DEBUG "Driver[%d:%d:%d] unloaded wo doing free_irq on vector->%d\n",
- dev->bus->number, PCI_SLOT(dev->devfn),
- PCI_FUNC(dev->devfn), dev->irq);
+ printk(KERN_WARNING "PCI: %s: msi_remove_pci_irq_vectors() "
+ "called without free_irq() on MSI vector %d\n",
+ pci_name(dev), dev->irq);
BUG_ON(state > 0);
} else /* Release MSI vector assigned to this device */
msi_free_vector(dev, dev->irq, 0);
@@ -1132,9 +1135,9 @@
iounmap(base);
release_mem_region(phys_addr, PCI_MSIX_ENTRY_SIZE *
multi_msix_capable(control));
- printk(KERN_DEBUG "Driver[%d:%d:%d] unloaded wo doing free_irq on all vectors\n",
- dev->bus->number, PCI_SLOT(dev->devfn),
- PCI_FUNC(dev->devfn));
+ printk(KERN_WARNING "PCI: %s: msi_remove_pci_irq_vectors() "
+ "called without free_irq() on all MSI-X vectors\n",
+ pci_name(dev));
BUG_ON(warning > 0);
}
dev->irq = temp; /* Restore IOAPIC IRQ */
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] PCI: rom.c cleanups
2005-01-17 22:01 [PATCH] PCI: Clean up printks in msi.c Greg KH
@ 2005-01-17 22:01 ` Greg KH
0 siblings, 0 replies; 5+ messages in thread
From: Greg KH @ 2005-01-17 22:01 UTC (permalink / raw)
To: linux-kernel; +Cc: jbarnes
ChangeSet 1.2329.2.5, 2005/01/14 15:58:13-08:00, jbarnes@sgi.com
[PATCH] PCI: rom.c cleanups
Greg, here's some whitespace and long line cleanup I wanted to do last time I
touched rom.c, but forgot. Does it look ok to you, Jon?
Signed-off-by: Jesse Barnes <jbarnes@sgi.com>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
drivers/pci/rom.c | 80 +++++++++++++++++++++++++++---------------------------
1 files changed, 41 insertions(+), 39 deletions(-)
diff -Nru a/drivers/pci/rom.c b/drivers/pci/rom.c
--- a/drivers/pci/rom.c 2005-01-17 13:55:59 -08:00
+++ b/drivers/pci/rom.c 2005-01-17 13:55:59 -08:00
@@ -5,10 +5,7 @@
* (C) Copyright 2004 Silicon Graphics, Inc. Jesse Barnes <jbarnes@sgi.com>
*
* PCI ROM access routines
- *
*/
-
-
#include <linux/config.h>
#include <linux/kernel.h>
#include <linux/pci.h>
@@ -24,11 +21,10 @@
* between the ROM and other resources, so enabling it may disable access
* to MMIO registers or other card memory.
*/
-static void
-pci_enable_rom(struct pci_dev *pdev)
+static void pci_enable_rom(struct pci_dev *pdev)
{
u32 rom_addr;
-
+
pci_read_config_dword(pdev, pdev->rom_base_reg, &rom_addr);
rom_addr |= PCI_ROM_ADDRESS_ENABLE;
pci_write_config_dword(pdev, pdev->rom_base_reg, rom_addr);
@@ -41,8 +37,7 @@
* Disable ROM decoding on a PCI device by turning off the last bit in the
* ROM BAR.
*/
-static void
-pci_disable_rom(struct pci_dev *pdev)
+static void pci_disable_rom(struct pci_dev *pdev)
{
u32 rom_addr;
pci_read_config_dword(pdev, pdev->rom_base_reg, &rom_addr);
@@ -57,7 +52,7 @@
* @return: kernel virtual pointer to image of ROM
*
* Map a PCI ROM into kernel space. If ROM is boot video ROM,
- * the shadow BIOS copy will be returned instead of the
+ * the shadow BIOS copy will be returned instead of the
* actual ROM.
*/
void __iomem *pci_map_rom(struct pci_dev *pdev, size_t *size)
@@ -67,10 +62,12 @@
void __iomem *rom;
void __iomem *image;
int last_image;
-
- if (res->flags & IORESOURCE_ROM_SHADOW) { /* IORESOURCE_ROM_SHADOW only set on x86 */
- start = (loff_t)0xC0000; /* primary video rom always starts here */
- *size = 0x20000; /* cover C000:0 through E000:0 */
+
+ /* IORESOURCE_ROM_SHADOW only set on x86 */
+ if (res->flags & IORESOURCE_ROM_SHADOW) {
+ /* primary video rom always starts here */
+ start = (loff_t)0xC0000;
+ *size = 0x20000; /* cover C000:0 through E000:0 */
} else {
if (res->flags & IORESOURCE_ROM_COPY) {
*size = pci_resource_len(pdev, PCI_ROM_RESOURCE);
@@ -79,28 +76,32 @@
/* assign the ROM an address if it doesn't have one */
if (res->parent == NULL)
pci_assign_resource(pdev, PCI_ROM_RESOURCE);
-
+
start = pci_resource_start(pdev, PCI_ROM_RESOURCE);
*size = pci_resource_len(pdev, PCI_ROM_RESOURCE);
if (*size == 0)
return NULL;
-
+
/* Enable ROM space decodes */
pci_enable_rom(pdev);
}
}
-
+
rom = ioremap(start, *size);
if (!rom) {
/* restore enable if ioremap fails */
- if (!(res->flags & (IORESOURCE_ROM_ENABLE | IORESOURCE_ROM_SHADOW | IORESOURCE_ROM_COPY)))
+ if (!(res->flags & (IORESOURCE_ROM_ENABLE |
+ IORESOURCE_ROM_SHADOW |
+ IORESOURCE_ROM_COPY)))
pci_disable_rom(pdev);
return NULL;
- }
+ }
- /* Try to find the true size of the ROM since sometimes the PCI window */
- /* size is much larger than the actual size of the ROM. */
- /* True size is important if the ROM is going to be copied. */
+ /*
+ * Try to find the true size of the ROM since sometimes the PCI window
+ * size is much larger than the actual size of the ROM.
+ * True size is important if the ROM is going to be copied.
+ */
image = rom;
do {
void __iomem *pds;
@@ -136,30 +137,30 @@
* @return: kernel virtual pointer to image of ROM
*
* Map a PCI ROM into kernel space. If ROM is boot video ROM,
- * the shadow BIOS copy will be returned instead of the
+ * the shadow BIOS copy will be returned instead of the
* actual ROM.
*/
void __iomem *pci_map_rom_copy(struct pci_dev *pdev, size_t *size)
{
struct resource *res = &pdev->resource[PCI_ROM_RESOURCE];
void __iomem *rom;
-
+
rom = pci_map_rom(pdev, size);
if (!rom)
return NULL;
-
+
if (res->flags & (IORESOURCE_ROM_COPY | IORESOURCE_ROM_SHADOW))
return rom;
-
+
res->start = (unsigned long)kmalloc(*size, GFP_KERNEL);
- if (!res->start)
+ if (!res->start)
return rom;
- res->end = res->start + *size;
+ res->end = res->start + *size;
memcpy_fromio((void*)res->start, rom, *size);
pci_unmap_rom(pdev, rom);
res->flags |= IORESOURCE_ROM_COPY;
-
+
return (void __iomem *)res->start;
}
@@ -170,16 +171,15 @@
*
* Remove a mapping of a previously mapped ROM
*/
-void
-pci_unmap_rom(struct pci_dev *pdev, void __iomem *rom)
+void pci_unmap_rom(struct pci_dev *pdev, void __iomem *rom)
{
struct resource *res = &pdev->resource[PCI_ROM_RESOURCE];
if (res->flags & IORESOURCE_ROM_COPY)
return;
-
+
iounmap(rom);
-
+
/* Disable again before continuing, leave enabled if pci=rom */
if (!(res->flags & (IORESOURCE_ROM_ENABLE | IORESOURCE_ROM_SHADOW)))
pci_disable_rom(pdev);
@@ -189,26 +189,28 @@
* pci_remove_rom - disable the ROM and remove its sysfs attribute
* @dev: pointer to pci device struct
*
+ * Remove the rom file in sysfs and disable ROM decoding.
*/
-void
-pci_remove_rom(struct pci_dev *pdev)
+void pci_remove_rom(struct pci_dev *pdev)
{
struct resource *res = &pdev->resource[PCI_ROM_RESOURCE];
-
+
if (pci_resource_len(pdev, PCI_ROM_RESOURCE))
sysfs_remove_bin_file(&pdev->dev.kobj, pdev->rom_attr);
- if (!(res->flags & (IORESOURCE_ROM_ENABLE | IORESOURCE_ROM_SHADOW | IORESOURCE_ROM_COPY)))
+ if (!(res->flags & (IORESOURCE_ROM_ENABLE |
+ IORESOURCE_ROM_SHADOW |
+ IORESOURCE_ROM_COPY)))
pci_disable_rom(pdev);
}
/**
- * pci_cleanup_rom - internal routine for freeing the ROM copy created
+ * pci_cleanup_rom - internal routine for freeing the ROM copy created
* by pci_map_rom_copy called from remove.c
* @dev: pointer to pci device struct
*
+ * Free the copied ROM if we allocated one.
*/
-void
-pci_cleanup_rom(struct pci_dev *pdev)
+void pci_cleanup_rom(struct pci_dev *pdev)
{
struct resource *res = &pdev->resource[PCI_ROM_RESOURCE];
if (res->flags & IORESOURCE_ROM_COPY) {
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2005-01-17 22:21 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-01-09 23:30 [PATCH] PCI rom.c cleanups Jesse Barnes
2005-01-10 3:28 ` Jon Smirl
2005-01-10 18:06 ` Jesse Barnes
2005-01-12 0:37 ` Greg KH
2005-01-17 22:01 [PATCH] PCI: Clean up printks in msi.c Greg KH
2005-01-17 22:01 ` [PATCH] PCI: rom.c cleanups Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).