linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [BK PATCH] PCI fixes and PCI Express drivers for 2.6.11-rc1
@ 2005-01-17 22:01 Greg KH
  2005-01-17 22:01 ` [PATCH] PCI: add PCI Express Port Bus Driver subsystem Greg KH
  0 siblings, 1 reply; 15+ messages in thread
From: Greg KH @ 2005-01-17 22:01 UTC (permalink / raw)
  To: torvalds, akpm; +Cc: linux-kernel

Hi,

Here are some small PCI patches for 2.6.11-rc1, and the addition of a
new PCI Express subsystem (it's self contained, if you don't have PCI
Express, or select it, the code never gets built.)  All of these patches
have been in the past few -mm releases.

Please pull from:
	bk://kernel.bkbits.net/gregkh/linux/pci-2.6

thanks,

greg k-h

p.s. I'll send these as patches in response to this email to lkml for
those who want to see them.


 Documentation/PCIEBUS-HOWTO.txt   |  217 ++++++++++++++++++
 arch/i386/Kconfig                 |    4 
 arch/i386/pci/pcbios.c            |    4 
 drivers/Makefile                  |    2 
 drivers/pci/Makefile              |    2 
 drivers/pci/access.c              |    2 
 drivers/pci/hotplug/Kconfig       |   21 -
 drivers/pci/hotplug/pciehp.h      |    3 
 drivers/pci/hotplug/pciehp_core.c |   83 ++++--
 drivers/pci/hotplug/pciehp_hpc.c  |   21 -
 drivers/pci/msi.c                 |   39 +--
 drivers/pci/pci.c                 |    2 
 drivers/pci/pci.h                 |    2 
 drivers/pci/pcie/Kconfig          |   38 +++
 drivers/pci/pcie/Makefile         |    7 
 drivers/pci/pcie/portdrv.h        |   42 +++
 drivers/pci/pcie/portdrv_bus.c    |   88 +++++++
 drivers/pci/pcie/portdrv_core.c   |  453 ++++++++++++++++++++++++++++++++++++++
 drivers/pci/pcie/portdrv_pci.c    |  138 +++++++++++
 drivers/pci/probe.c               |   10 
 drivers/pci/remove.c              |   13 -
 drivers/pci/rom.c                 |   80 +++---
 drivers/pci/search.c              |    2 
 include/linux/pci_ids.h           |    4 
 include/linux/pcieport_if.h       |   74 ++++++
 25 files changed, 1209 insertions(+), 142 deletions(-)
-----


<jason.d.gaston:intel.com>:
  o PCI: pci_ids.h correction for Intel ICH7 - 2.6.10-bk13

Bjorn Helgaas:
  o PCI: use modern format for PCI addresses

David Howells:
  o PCI: Downgrade printk that complains about unsupported PCI PM caps

Greg Kroah-Hartman:
  o PCI: move pcie build into the drivers/pci/ subdirectory

Jesse Barnes:
  o PCI: rom.c cleanups

John Rose:
  o PCI: fix release_pcibus_dev() crash

Roland Dreier:
  o PCI: Clean up printks in msi.c

Thomas Gleixner:
  o PCI: Lock initializer cleanup - batch 4

Tom L. Nguyen:
  o PCI: add PCI Express Port Bus Driver subsystem


^ permalink raw reply	[flat|nested] 15+ messages in thread
* [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; 15+ 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] 15+ messages in thread

end of thread, other threads:[~2005-01-17 23:53 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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         ` [PATCH] PCI: rom.c cleanups Greg KH
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

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).