From: Greg KH <greg@kroah.com>
To: linux-kernel@vger.kernel.org
Cc: jbarnes@sgi.com
Subject: [PATCH] PCI: rom.c cleanups
Date: Mon, 17 Jan 2005 14:01:52 -0800 [thread overview]
Message-ID: <11059993121957@kroah.com> (raw)
In-Reply-To: <11059993122763@kroah.com>
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) {
next prev parent reply other threads:[~2005-01-17 22:21 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-17 22:01 [BK PATCH] PCI fixes and PCI Express drivers for 2.6.11-rc1 Greg KH
2005-01-17 22:01 ` [PATCH] PCI: add PCI Express Port Bus Driver subsystem Greg KH
2005-01-17 22:01 ` [PATCH] PCI: use modern format for PCI addresses Greg KH
2005-01-17 22:01 ` [PATCH] PCI: pci_ids.h correction for Intel ICH7 - 2.6.10-bk13 Greg KH
2005-01-17 22:01 ` [PATCH] PCI: Clean up printks in msi.c Greg KH
2005-01-17 22:01 ` Greg KH [this message]
2005-01-17 22:01 ` [PATCH] PCI: Downgrade printk that complains about unsupported PCI PM caps Greg KH
2005-01-17 22:01 ` [PATCH] PCI: Lock initializer cleanup - batch 4 Greg KH
2005-01-17 22:01 ` [PATCH] PCI: fix release_pcibus_dev() crash Greg KH
2005-01-17 22:01 ` PCI: move pcie build into the drivers/pci/ subdirectory Greg KH
2005-01-17 23:49 ` [PATCH] PCI: add PCI Express Port Bus Driver subsystem Greg KH
-- strict thread matches above, loose matches on Subject: below --
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
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=11059993121957@kroah.com \
--to=greg@kroah.com \
--cc=jbarnes@sgi.com \
--cc=linux-kernel@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.