diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2006-02-07 11:23:57 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-02-07 11:23:57 -0800 |
commit | 641e80f1e8bdbcc54e037795ab9bbfc072551500 (patch) | |
tree | 4379648342756c0a889b776c8156cd1a1099c4c7 /pci | |
parent | f9df0645ee17dd8e4c2f05b3802198779c0c66e2 (diff) | |
download | patches-641e80f1e8bdbcc54e037795ab9bbfc072551500.tar.gz |
removed pci patches already applied
Diffstat (limited to 'pci')
23 files changed, 0 insertions, 1928 deletions
diff --git a/pci/pci-cyblafb-remove-pci_module_init-return-really.patch b/pci/pci-cyblafb-remove-pci_module_init-return-really.patch deleted file mode 100644 index de82a5105b393..0000000000000 --- a/pci/pci-cyblafb-remove-pci_module_init-return-really.patch +++ /dev/null @@ -1,40 +0,0 @@ -From apgo@patchbomb.org Wed Jan 18 18:14:50 2006 -Date: Wed, 18 Jan 2006 21:12:57 -0500 -From: apgo@patchbomb.org (Arthur Othieno) -To: gregkh@suse.de -Cc: <ricknu-0@student.ltu.se>, <apgo@patchbomb.org> -Subject: PCI: cyblafb: remove pci_module_init() return, really. -Message-ID: <20060119021257.GB23678@krypton> -Content-Disposition: inline - -Richard Knutsson <ricknu-0@student.ltu.se> did the original pci_module_init() -cleanups: - - http://marc.theaimsgroup.com/?l=linux-kernel&m=113330872125068&w=2 - http://marc.theaimsgroup.com/?l=linux-kernel&m=113330888507321&w=2 - -Greg, on it's way upstream, pci_module_init() return sneaked back in for -cyblafb? - - http://marc.theaimsgroup.com/?l=linux-pci&m=113652969209562&w=2 - http://marc.theaimsgroup.com/?l=linux-pci&m=113683930220421&w=2 - -Remove for good. - -Signed-off-by: Arthur Othieno <apgo@patchbomb.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/video/cyblafb.c | 1 - - 1 file changed, 1 deletion(-) - ---- gregkh-2.6.orig/drivers/video/cyblafb.c -+++ gregkh-2.6/drivers/video/cyblafb.c -@@ -1665,7 +1665,6 @@ static int __devinit cyblafb_init(void) - } - #endif - output("CyblaFB version %s initializing\n", VERSION); -- return pci_module_init(&cyblafb_pci_driver); - return pci_register_driver(&cyblafb_pci_driver); - } - diff --git a/pci/pci-drivers-pci-pci.c-if-0-pci_find_ext_capability.patch b/pci/pci-drivers-pci-pci.c-if-0-pci_find_ext_capability.patch deleted file mode 100644 index 21b446124c4de..0000000000000 --- a/pci/pci-drivers-pci-pci.c-if-0-pci_find_ext_capability.patch +++ /dev/null @@ -1,55 +0,0 @@ -From owner-linux-pci@atrey.karlin.mff.cuni.cz Thu Jan 5 19:15:54 2006 -Date: Fri, 6 Jan 2006 03:25:37 +0100 -From: Adrian Bunk <bunk@stusta.de> -To: gregkh@suse.de -Subject: PCI: drivers/pci/pci.c: #if 0 pci_find_ext_capability() -Message-ID: <20060106022537.GU12313@stusta.de> -Content-Disposition: inline - -This patch #if 0's the unused global function pci_find_ext_capability(). - - -Signed-off-by: Adrian Bunk <bunk@stusta.de> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/pci/pci.c | 2 ++ - include/linux/pci.h | 2 -- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- gregkh-2.6.orig/include/linux/pci.h -+++ gregkh-2.6/include/linux/pci.h -@@ -406,7 +406,6 @@ struct pci_dev *pci_find_device_reverse - struct pci_dev *pci_find_slot (unsigned int bus, unsigned int devfn); - int pci_find_capability (struct pci_dev *dev, int cap); - int pci_find_next_capability (struct pci_dev *dev, u8 pos, int cap); --int pci_find_ext_capability (struct pci_dev *dev, int cap); - struct pci_bus * pci_find_next_bus(const struct pci_bus *from); - - struct pci_dev *pci_get_device (unsigned int vendor, unsigned int device, struct pci_dev *from); -@@ -626,7 +625,6 @@ static inline int pci_register_driver(st - static inline void pci_unregister_driver(struct pci_driver *drv) { } - static inline int pci_find_capability (struct pci_dev *dev, int cap) {return 0; } - static inline int pci_find_next_capability (struct pci_dev *dev, u8 post, int cap) { return 0; } --static inline int pci_find_ext_capability (struct pci_dev *dev, int cap) {return 0; } - static inline const struct pci_device_id *pci_match_device(const struct pci_device_id *ids, const struct pci_dev *dev) { return NULL; } - - /* Power management related routines */ ---- gregkh-2.6.orig/drivers/pci/pci.c -+++ gregkh-2.6/drivers/pci/pci.c -@@ -163,6 +163,7 @@ int pci_bus_find_capability(struct pci_b - return __pci_bus_find_cap(bus, devfn, hdr_type & 0x7f, cap); - } - -+#if 0 - /** - * pci_find_ext_capability - Find an extended capability - * @dev: PCI device to query -@@ -210,6 +211,7 @@ int pci_find_ext_capability(struct pci_d - - return 0; - } -+#endif /* 0 */ - - /** - * pci_find_parent_resource - return resource region of parent bus of given region diff --git a/pci/pci-handle-bogus-mcfg-entries.patch b/pci/pci-handle-bogus-mcfg-entries.patch deleted file mode 100644 index 2dae04837f6ac..0000000000000 --- a/pci/pci-handle-bogus-mcfg-entries.patch +++ /dev/null @@ -1,89 +0,0 @@ -From ak@suse.de Fri Jan 27 09:45:26 2006 -From: Andi Kleen <ak@suse.de> -To: Greg KH <greg@kroah.com> -Subject: PCI: handle bogus MCFG entries -Date: Fri, 27 Jan 2006 02:03:50 +0100 -Cc: Stephen Hemminger <shemminger@osdl.org>, Matthew Wilcox <matthew@wil.cx> -Message-Id: <200601270203.51244.ak@suse.de> - - -Handle more bogus MCFG entries - -Some Asus P4 boards seem to have broken MCFG tables with -only a single entry for busses 0-0. Special case these -and assume they mean all busses can be accessed. - -Signed-off-by: Andi Kleen <ak@suse.de> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - arch/i386/pci/mmconfig.c | 15 +++++++++++++-- - arch/x86_64/pci/mmconfig.c | 19 ++++++++++++++----- - 2 files changed, 27 insertions(+), 7 deletions(-) - ---- gregkh-2.6.orig/arch/i386/pci/mmconfig.c -+++ gregkh-2.6/arch/i386/pci/mmconfig.c -@@ -36,8 +36,7 @@ static u32 get_base_addr(unsigned int se - while (1) { - ++cfg_num; - if (cfg_num >= pci_mmcfg_config_num) { -- /* Not found - fallback to type 1 */ -- return 0; -+ break; - } - cfg = &pci_mmcfg_config[cfg_num]; - if (cfg->pci_segment_group_number != seg) -@@ -46,6 +45,18 @@ static u32 get_base_addr(unsigned int se - (cfg->end_bus_number >= bus)) - return cfg->base_address; - } -+ -+ /* Handle more broken MCFG tables on Asus etc. -+ They only contain a single entry for bus 0-0. Assume -+ this applies to all busses. */ -+ cfg = &pci_mmcfg_config[0]; -+ if (pci_mmcfg_config_num == 1 && -+ cfg->pci_segment_group_number == 0 && -+ (cfg->start_bus_number | cfg->end_bus_number) == 0) -+ return cfg->base_address; -+ -+ /* Fall back to type 0 */ -+ return 0; - } - - static inline void pci_exp_set_dev_base(unsigned int base, int bus, int devfn) ---- gregkh-2.6.orig/arch/x86_64/pci/mmconfig.c -+++ gregkh-2.6/arch/x86_64/pci/mmconfig.c -@@ -29,11 +29,8 @@ static char __iomem *get_virt(unsigned i - - while (1) { - ++cfg_num; -- if (cfg_num >= pci_mmcfg_config_num) { -- /* Not found - fall back to type 1. This happens -- e.g. on the internal devices of a K8 northbridge. */ -- return NULL; -- } -+ if (cfg_num >= pci_mmcfg_config_num) -+ break; - cfg = pci_mmcfg_virt[cfg_num].cfg; - if (cfg->pci_segment_group_number != seg) - continue; -@@ -41,6 +38,18 @@ static char __iomem *get_virt(unsigned i - (cfg->end_bus_number >= bus)) - return pci_mmcfg_virt[cfg_num].virt; - } -+ -+ /* Handle more broken MCFG tables on Asus etc. -+ They only contain a single entry for bus 0-0. Assume -+ this applies to all busses. */ -+ cfg = &pci_mmcfg_config[0]; -+ if (pci_mmcfg_config_num == 1 && -+ cfg->pci_segment_group_number == 0 && -+ (cfg->start_bus_number | cfg->end_bus_number) == 0) -+ return cfg->base_address; -+ -+ /* Fall back to type 0 */ -+ return 0; - } - - static char __iomem *pci_dev_base(unsigned int seg, unsigned int bus, unsigned int devfn) diff --git a/pci/pci-hotplug-fix-up-coding-style-issues.patch b/pci/pci-hotplug-fix-up-coding-style-issues.patch deleted file mode 100644 index f220855be9018..0000000000000 --- a/pci/pci-hotplug-fix-up-coding-style-issues.patch +++ /dev/null @@ -1,88 +0,0 @@ -From pavel@ucw.cz Sun Jan 8 11:14:18 2006 -Date: Sun, 8 Jan 2006 20:11:59 +0100 -From: Pavel Machek <pavel@ucw.cz> -Subject: PCI Hotplug: fix up coding style issues -Message-ID: <20060108191159.GA1880@elf.ucw.cz> -Content-Disposition: inline - -Signed-off-by: Pavel Machek <pavel@suse.cz> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/pci/hotplug/acpiphp_ibm.c | 21 +++++++++------------ - drivers/pci/hotplug/ibmphp_core.c | 4 ++-- - 2 files changed, 11 insertions(+), 14 deletions(-) - ---- gregkh-2.6.orig/drivers/pci/hotplug/acpiphp_ibm.c -+++ gregkh-2.6/drivers/pci/hotplug/acpiphp_ibm.c -@@ -302,7 +302,7 @@ static int ibm_get_table_from_acpi(char - } - - package = (union acpi_object *) buffer.pointer; -- if(!(package) || -+ if (!(package) || - (package->type != ACPI_TYPE_PACKAGE) || - !(package->package.elements)) { - err("%s: Invalid APCI object\n", __FUNCTION__); -@@ -405,7 +405,7 @@ static acpi_status __init ibm_find_acpi_ - } - info.hardware_id.value[sizeof(info.hardware_id.value) - 1] = '\0'; - -- if(info.current_status && (info.valid & ACPI_VALID_HID) && -+ if (info.current_status && (info.valid & ACPI_VALID_HID) && - (!strcmp(info.hardware_id.value, IBM_HARDWARE_ID1) || - !strcmp(info.hardware_id.value, IBM_HARDWARE_ID2))) { - dbg("found hardware: %s, handle: %p\n", info.hardware_id.value, -@@ -449,13 +449,11 @@ static int __init ibm_acpiphp_init(void) - } - - ibm_note.device = device; -- status = acpi_install_notify_handler( -- ibm_acpi_handle, -- ACPI_DEVICE_NOTIFY, -- ibm_handle_events, -+ status = acpi_install_notify_handler(ibm_acpi_handle, -+ ACPI_DEVICE_NOTIFY, ibm_handle_events, - &ibm_note); - if (ACPI_FAILURE(status)) { -- err("%s: Failed to register notification handler\n", -+ err("%s: Failed to register notification handler\n", - __FUNCTION__); - retval = -EBUSY; - goto init_cleanup; -@@ -482,14 +480,13 @@ static void __exit ibm_acpiphp_exit(void - if (acpiphp_unregister_attention(&ibm_attention_info)) - err("%s: attention info deregistration failed", __FUNCTION__); - -- status = acpi_remove_notify_handler( -+ status = acpi_remove_notify_handler( - ibm_acpi_handle, - ACPI_DEVICE_NOTIFY, - ibm_handle_events); -- if (ACPI_FAILURE(status)) -- err("%s: Notification handler removal failed\n", -- __FUNCTION__); -- // remove the /sys entries -+ if (ACPI_FAILURE(status)) -+ err("%s: Notification handler removal failed\n", __FUNCTION__); -+ /* remove the /sys entries */ - if (sysfs_remove_bin_file(sysdir, &ibm_apci_table_attr)) - err("%s: removal of sysfs file apci_table failed\n", - __FUNCTION__); ---- gregkh-2.6.orig/drivers/pci/hotplug/ibmphp_core.c -+++ gregkh-2.6/drivers/pci/hotplug/ibmphp_core.c -@@ -235,12 +235,12 @@ static int set_attention_status(struct h - { - int rc = 0; - struct slot *pslot; -- u8 cmd; -+ u8 cmd = 0x00; /* avoid compiler warning */ - - debug("set_attention_status - Entry hotplug_slot[%lx] value[%x]\n", - (ulong) hotplug_slot, value); - ibmphp_lock_operations(); -- cmd = 0x00; // avoid compiler warning -+ - - if (hotplug_slot) { - switch (value) { diff --git a/pci/pci-hotplug-fix-up-kconfig-help-text.patch b/pci/pci-hotplug-fix-up-kconfig-help-text.patch deleted file mode 100644 index 34e4b14a83503..0000000000000 --- a/pci/pci-hotplug-fix-up-kconfig-help-text.patch +++ /dev/null @@ -1,28 +0,0 @@ -From pavel@atrey.karlin.mff.cuni.cz Mon Jan 9 07:20:30 2006 -Date: Mon, 9 Jan 2006 16:16:00 +0100 -From: Pavel Machek <pavel@ucw.cz> -To: Greg KH <greg@kroah.com> -Subject: PCI Hotplug: fix up Kconfig help text -Message-ID: <20060109151600.GE717@atrey.karlin.mff.cuni.cz> -Content-Disposition: inline - -Remove reference to pcihpfs that no longer exists. - -Signed-off-by: Pavel Machek <pavel@suse.cz> - ---- - drivers/pci/hotplug/Kconfig | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - ---- gregkh-2.6.orig/drivers/pci/hotplug/Kconfig -+++ gregkh-2.6/drivers/pci/hotplug/Kconfig -@@ -11,8 +11,7 @@ config HOTPLUG_PCI - ---help--- - Say Y here if you have a motherboard with a PCI Hotplug controller. - This allows you to add and remove PCI cards while the machine is -- powered up and running. The file system pcihpfs must be mounted -- in order to interact with any PCI Hotplug controllers. -+ powered up and running. - - To compile this driver as a module, choose M here: the - module will be called pci_hotplug. diff --git a/pci/pci-hotplug-pci-panic-on-dlpar-add.patch b/pci/pci-hotplug-pci-panic-on-dlpar-add.patch deleted file mode 100644 index d202adfc54603..0000000000000 --- a/pci/pci-hotplug-pci-panic-on-dlpar-add.patch +++ /dev/null @@ -1,39 +0,0 @@ -From linas@austin.ibm.com Mon Jan 16 14:06:03 2006 -Date: Thu, 12 Jan 2006 14:36:25 -0600 -To: Greg KH <greg@kroah.com> -Cc: Paul Mackerras <paulus@samba.org>, johnrose@austin.ibm.com -Subject: PCI Hotplug: PCI panic on dlpar add (add pci slot to running partition) -Message-ID: <20060112203625.GU26221@austin.ibm.com> -Content-Disposition: inline -From: linas@austin.ibm.com (linas) - - -Removing and then adding a PCI slot to a running partition results in -a kernel panic. The current code attempts to add iospace for an entire -root bus, which is inappropriate, and silently fails. When a pci device -tries to use the iospace, a page fault is taken, as the iospace had not -been mapped, and of course the page fault cannot be resolved. - -This only occurs for PCI adapters using pio, which may be why it hadn't -been seen earlier (this seems to have been broken for a while). -This patch has survived testing of dozens of slot add and removes. - -Signed-off-by: Linas Vepstas <linas@austin.ibm.com> -Acked-by: John Rose <johnrose@austin.ibm.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/pci/hotplug/rpadlpar_core.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- gregkh-2.6.orig/drivers/pci/hotplug/rpadlpar_core.c -+++ gregkh-2.6/drivers/pci/hotplug/rpadlpar_core.c -@@ -152,7 +152,7 @@ static struct pci_dev *dlpar_pci_add_bus - pcibios_claim_one_bus(dev->bus); - - /* ioremap() for child bus, which may or may not succeed */ -- (void) remap_bus_range(dev->bus); -+ remap_bus_range(dev->subordinate); - - /* Add new devices to global lists. Register in proc, sysfs. */ - pci_bus_add_devices(phb->bus); diff --git a/pci/pci-hotplug-powerpc-module-build-break.patch b/pci/pci-hotplug-powerpc-module-build-break.patch deleted file mode 100644 index 24350b1d96a56..0000000000000 --- a/pci/pci-hotplug-powerpc-module-build-break.patch +++ /dev/null @@ -1,35 +0,0 @@ -From linas@austin.ibm.com Tue Jan 10 13:18:42 2006 -From: linas@austin.ibm.com (linas) -Date: Tue, 10 Jan 2006 15:15:47 -0600 -To: greg@kroah.com -Cc: <johnrose@us.ibm.com>, Olaf Hering <olh@suse.de> -Subject: [PATCH 1/2] PCI Hotplug/powerpc: module build break -Message-ID: <20060110211547.GM26221@austin.ibm.com> -Content-Disposition: inline - - -The RPAPHP hoplug driver will not build as a module, because it calls -on pci_claim_resource(), which is not exported. This exports the symbol. -Problem reported by Olaf Hering <olh@suse.de> - -A grep indicates that building drivers/parisc/lba_pci.c -would have trouble building as a module for the same reason. - -Signed-off-by: Linas Vepstas <linas@austin.ibm.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - - ---- - drivers/pci/setup-res.c | 1 + - 1 file changed, 1 insertion(+) - ---- gregkh-2.6.orig/drivers/pci/setup-res.c -+++ gregkh-2.6/drivers/pci/setup-res.c -@@ -112,6 +112,7 @@ pci_claim_resource(struct pci_dev *dev, - - return err; - } -+EXPORT_SYMBOL_GPL(pci_claim_resource); - - int pci_assign_resource(struct pci_dev *dev, int resno) - { diff --git a/pci/pci-hotplug-shpchp-amd-pogo-errata-fix.patch b/pci/pci-hotplug-shpchp-amd-pogo-errata-fix.patch deleted file mode 100644 index 6e10d29e294ac..0000000000000 --- a/pci/pci-hotplug-shpchp-amd-pogo-errata-fix.patch +++ /dev/null @@ -1,162 +0,0 @@ -From david.keck@amd.com Mon Jan 16 13:22:47 2006 -From: "Keck, David" <david.keck@amd.com> -Subject: PCI Hotplug: shpchp: AMD POGO errata fix -Date: Mon, 16 Jan 2006 15:22:36 -0600 -Message-ID: <C2BC72CDFC11A44083B660CAC2E9EA6703174A06@SAUSEXMB1.amd.com> -To: gregkh@suse.de -Cc: "Keck, David" <david.keck@amd.com> - -This patch fixes the AMD POGO errata on the hotplug controller where the -platform will lock up or reboot if PERR/SERR generation is enabled and a -slot is sent an enable command. This fix disables PERR/SERR generation -before a slot is sent the enable command by first saving related -registers, turning off SERR/PERR generation, enabling the slot, then -restoring the registers. - -Signed-off-by: David Keck <david.keck@amd.com> -Cc: Kristen Accardi <kristen.c.accardi@intel.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/pci/hotplug/shpchp.h | 94 ++++++++++++++++++++++++++++++++++++++ - drivers/pci/hotplug/shpchp_ctrl.c | 12 ++++ - 2 files changed, 105 insertions(+), 1 deletion(-) - ---- gregkh-2.6.orig/drivers/pci/hotplug/shpchp.h -+++ gregkh-2.6/drivers/pci/hotplug/shpchp.h -@@ -95,6 +95,7 @@ struct controller { - u8 function; - u8 slot_device_offset; - u8 add_support; -+ u32 pcix_misc2_reg; /* for amd pogo errata */ - enum pci_bus_speed speed; - u32 first_slot; /* First physical slot number */ - u8 slot_bus; /* Bus where the slots handled by this controller sit */ -@@ -113,6 +114,26 @@ struct hotplug_params { - - /* Define AMD SHPC ID */ - #define PCI_DEVICE_ID_AMD_GOLAM_7450 0x7450 -+#define PCI_DEVICE_ID_AMD_POGO_7458 0x7458 -+ -+/* AMD PCIX bridge registers */ -+ -+#define PCIX_MEM_BASE_LIMIT_OFFSET 0x1C -+#define PCIX_MISCII_OFFSET 0x48 -+#define PCIX_MISC_BRIDGE_ERRORS_OFFSET 0x80 -+ -+/* AMD PCIX_MISCII masks and offsets */ -+#define PERRNONFATALENABLE_MASK 0x00040000 -+#define PERRFATALENABLE_MASK 0x00080000 -+#define PERRFLOODENABLE_MASK 0x00100000 -+#define SERRNONFATALENABLE_MASK 0x00200000 -+#define SERRFATALENABLE_MASK 0x00400000 -+ -+/* AMD PCIX_MISC_BRIDGE_ERRORS masks and offsets */ -+#define PERR_OBSERVED_MASK 0x00000001 -+ -+/* AMD PCIX_MEM_BASE_LIMIT masks */ -+#define RSE_MASK 0x40000000 - - #define INT_BUTTON_IGNORE 0 - #define INT_PRESENCE_ON 1 -@@ -333,6 +354,79 @@ static inline int wait_for_ctrl_irq (str - return retval; - } - -+static inline void amd_pogo_errata_save_misc_reg(struct slot *p_slot) -+{ -+ u32 pcix_misc2_temp; -+ -+ /* save MiscII register */ -+ pci_read_config_dword(p_slot->ctrl->pci_dev, PCIX_MISCII_OFFSET, &pcix_misc2_temp); -+ -+ p_slot->ctrl->pcix_misc2_reg = pcix_misc2_temp; -+ -+ /* clear SERR/PERR enable bits */ -+ pcix_misc2_temp &= ~SERRFATALENABLE_MASK; -+ pcix_misc2_temp &= ~SERRNONFATALENABLE_MASK; -+ pcix_misc2_temp &= ~PERRFLOODENABLE_MASK; -+ pcix_misc2_temp &= ~PERRFATALENABLE_MASK; -+ pcix_misc2_temp &= ~PERRNONFATALENABLE_MASK; -+ pci_write_config_dword(p_slot->ctrl->pci_dev, PCIX_MISCII_OFFSET, pcix_misc2_temp); -+} -+ -+static inline void amd_pogo_errata_restore_misc_reg(struct slot *p_slot) -+{ -+ u32 pcix_misc2_temp; -+ u32 pcix_bridge_errors_reg; -+ u32 pcix_mem_base_reg; -+ u8 perr_set; -+ u8 rse_set; -+ -+ /* write-one-to-clear Bridge_Errors[ PERR_OBSERVED ] */ -+ pci_read_config_dword(p_slot->ctrl->pci_dev, PCIX_MISC_BRIDGE_ERRORS_OFFSET, &pcix_bridge_errors_reg); -+ perr_set = pcix_bridge_errors_reg & PERR_OBSERVED_MASK; -+ if (perr_set) { -+ dbg ("%s W1C: Bridge_Errors[ PERR_OBSERVED = %08X]\n",__FUNCTION__ , perr_set); -+ -+ pci_write_config_dword(p_slot->ctrl->pci_dev, PCIX_MISC_BRIDGE_ERRORS_OFFSET, perr_set); -+ } -+ -+ /* write-one-to-clear Memory_Base_Limit[ RSE ] */ -+ pci_read_config_dword(p_slot->ctrl->pci_dev, PCIX_MEM_BASE_LIMIT_OFFSET, &pcix_mem_base_reg); -+ rse_set = pcix_mem_base_reg & RSE_MASK; -+ if (rse_set) { -+ dbg ("%s W1C: Memory_Base_Limit[ RSE ]\n",__FUNCTION__ ); -+ -+ pci_write_config_dword(p_slot->ctrl->pci_dev, PCIX_MEM_BASE_LIMIT_OFFSET, rse_set); -+ } -+ /* restore MiscII register */ -+ pci_read_config_dword( p_slot->ctrl->pci_dev, PCIX_MISCII_OFFSET, &pcix_misc2_temp ); -+ -+ if (p_slot->ctrl->pcix_misc2_reg & SERRFATALENABLE_MASK) -+ pcix_misc2_temp |= SERRFATALENABLE_MASK; -+ else -+ pcix_misc2_temp &= ~SERRFATALENABLE_MASK; -+ -+ if (p_slot->ctrl->pcix_misc2_reg & SERRNONFATALENABLE_MASK) -+ pcix_misc2_temp |= SERRNONFATALENABLE_MASK; -+ else -+ pcix_misc2_temp &= ~SERRNONFATALENABLE_MASK; -+ -+ if (p_slot->ctrl->pcix_misc2_reg & PERRFLOODENABLE_MASK) -+ pcix_misc2_temp |= PERRFLOODENABLE_MASK; -+ else -+ pcix_misc2_temp &= ~PERRFLOODENABLE_MASK; -+ -+ if (p_slot->ctrl->pcix_misc2_reg & PERRFATALENABLE_MASK) -+ pcix_misc2_temp |= PERRFATALENABLE_MASK; -+ else -+ pcix_misc2_temp &= ~PERRFATALENABLE_MASK; -+ -+ if (p_slot->ctrl->pcix_misc2_reg & PERRNONFATALENABLE_MASK) -+ pcix_misc2_temp |= PERRNONFATALENABLE_MASK; -+ else -+ pcix_misc2_temp &= ~PERRNONFATALENABLE_MASK; -+ pci_write_config_dword(p_slot->ctrl->pci_dev, PCIX_MISCII_OFFSET, pcix_misc2_temp); -+} -+ - #define SLOT_NAME_SIZE 10 - - static inline void make_slot_name(char *buffer, int buffer_size, struct slot *slot) ---- gregkh-2.6.orig/drivers/pci/hotplug/shpchp_ctrl.c -+++ gregkh-2.6/drivers/pci/hotplug/shpchp_ctrl.c -@@ -894,7 +894,17 @@ int shpchp_enable_slot (struct slot *p_s - dbg("%s: p_slot->pwr_save %x\n", __FUNCTION__, p_slot->pwr_save); - p_slot->hpc_ops->get_latch_status(p_slot, &getstatus); - -- rc = board_added(p_slot); -+ if(((p_slot->ctrl->pci_dev->vendor == PCI_VENDOR_ID_AMD) || -+ (p_slot->ctrl->pci_dev->device == PCI_DEVICE_ID_AMD_POGO_7458)) -+ && p_slot->ctrl->num_slots == 1) { -+ /* handle amd pogo errata; this must be done before enable */ -+ amd_pogo_errata_save_misc_reg(p_slot); -+ rc = board_added(p_slot); -+ /* handle amd pogo errata; this must be done after enable */ -+ amd_pogo_errata_restore_misc_reg(p_slot); -+ } else -+ rc = board_added(p_slot); -+ - if (rc) { - p_slot->hpc_ops->get_adapter_status(p_slot, - &(p_slot->presence_save)); diff --git a/pci/pci-irq-and-pci_ids-patch-for-intel-ich8.patch b/pci/pci-irq-and-pci_ids-patch-for-intel-ich8.patch deleted file mode 100644 index ad80de7db03de..0000000000000 --- a/pci/pci-irq-and-pci_ids-patch-for-intel-ich8.patch +++ /dev/null @@ -1,49 +0,0 @@ -From linux-kernel-owner+greg=40kroah.com-S1750792AbWAIWG3@vger.kernel.org Mon Jan 9 14:10:41 2006 -From: Jason Gaston <jason.d.gaston@intel.com> -To: <mj@ucw.cz>, <akpm@osdl.org> -Subject: PCI: irq and pci_ids: patch for Intel ICH8 -Date: Mon, 9 Jan 2006 10:53:45 -0800 -Cc: <jason.d.gaston@intel.com> -Content-Disposition: inline -Message-Id: <200601091053.46191.jason.d.gaston@intel.com> - -This patch adds the Intel ICH8 DID's to the irq.c and pci_ids.h files. - -Signed-off-by: Jason Gaston <Jason.d.gaston@intel.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - arch/i386/pci/irq.c | 5 +++++ - include/linux/pci_ids.h | 7 +++++++ - 2 files changed, 12 insertions(+) - ---- gregkh-2.6.orig/arch/i386/pci/irq.c -+++ gregkh-2.6/arch/i386/pci/irq.c -@@ -539,6 +539,11 @@ static __init int intel_router_probe(str - case PCI_DEVICE_ID_INTEL_ICH7_30: - case PCI_DEVICE_ID_INTEL_ICH7_31: - case PCI_DEVICE_ID_INTEL_ESB2_0: -+ case PCI_DEVICE_ID_INTEL_ICH8_0: -+ case PCI_DEVICE_ID_INTEL_ICH8_1: -+ case PCI_DEVICE_ID_INTEL_ICH8_2: -+ case PCI_DEVICE_ID_INTEL_ICH8_3: -+ case PCI_DEVICE_ID_INTEL_ICH8_4: - r->name = "PIIX/ICH"; - r->get = pirq_piix_get; - r->set = pirq_piix_set; ---- gregkh-2.6.orig/include/linux/pci_ids.h -+++ gregkh-2.6/include/linux/pci_ids.h -@@ -2104,6 +2104,13 @@ - #define PCI_DEVICE_ID_INTEL_ICH7_19 0x27dd - #define PCI_DEVICE_ID_INTEL_ICH7_20 0x27de - #define PCI_DEVICE_ID_INTEL_ICH7_21 0x27df -+#define PCI_DEVICE_ID_INTEL_ICH8_0 0x2810 -+#define PCI_DEVICE_ID_INTEL_ICH8_1 0x2811 -+#define PCI_DEVICE_ID_INTEL_ICH8_2 0x2812 -+#define PCI_DEVICE_ID_INTEL_ICH8_3 0x2814 -+#define PCI_DEVICE_ID_INTEL_ICH8_4 0x2815 -+#define PCI_DEVICE_ID_INTEL_ICH8_5 0x283e -+#define PCI_DEVICE_ID_INTEL_ICH8_6 0x2850 - #define PCI_DEVICE_ID_INTEL_82855PM_HB 0x3340 - #define PCI_DEVICE_ID_INTEL_82830_HB 0x3575 - #define PCI_DEVICE_ID_INTEL_82830_CGC 0x3577 diff --git a/pci/pci-make-it-easier-to-see-that-set_msi_affinity-is-used.patch b/pci/pci-make-it-easier-to-see-that-set_msi_affinity-is-used.patch deleted file mode 100644 index 4fe97d58cd546..0000000000000 --- a/pci/pci-make-it-easier-to-see-that-set_msi_affinity-is-used.patch +++ /dev/null @@ -1,81 +0,0 @@ -From owner-linux-pci@atrey.karlin.mff.cuni.cz Tue Jan 3 18:55:39 2006 -Date: Tue, 3 Jan 2006 18:51:46 -0800 -From: Grant Grundler <iod00d@hp.com> -To: Rajesh Shah <rajesh.shah@intel.com> -Cc: Grant Grundler <iod00d@hp.com>, Greg KH <gregkh@suse.de> -Subject: PCI: make it easier to see that set_msi_affinity() is used -Message-ID: <20060104025146.GG13841@esmail.cup.hp.com> -Content-Disposition: inline - -I missed this usage in drivers/pci/msi.h: - -#ifdef CONFIG_SMP -#define set_msi_irq_affinity set_msi_affinity -#else -#define set_msi_irq_affinity NULL -#endif - -set_msi_affinity() is declared and exclusively used in msi.c. -Here's a better way so (hopefully) history doesn't repeat itself. - -Signed-off-by: Grant Grundler <iod00d@hp.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/pci/msi.c | 8 +++++--- - drivers/pci/msi.h | 6 ------ - 2 files changed, 5 insertions(+), 9 deletions(-) - ---- gregkh-2.6.orig/drivers/pci/msi.c -+++ gregkh-2.6/drivers/pci/msi.c -@@ -137,6 +137,8 @@ static void set_msi_affinity(unsigned in - break; - } - } -+#else -+#define set_msi_affinity NULL - #endif /* CONFIG_SMP */ - - static void mask_MSI_irq(unsigned int vector) -@@ -214,7 +216,7 @@ static struct hw_interrupt_type msix_irq - .disable = mask_MSI_irq, - .ack = mask_MSI_irq, - .end = end_msi_irq_w_maskbit, -- .set_affinity = set_msi_irq_affinity -+ .set_affinity = set_msi_affinity - }; - - /* -@@ -230,7 +232,7 @@ static struct hw_interrupt_type msi_irq_ - .disable = mask_MSI_irq, - .ack = mask_MSI_irq, - .end = end_msi_irq_w_maskbit, -- .set_affinity = set_msi_irq_affinity -+ .set_affinity = set_msi_affinity - }; - - /* -@@ -246,7 +248,7 @@ static struct hw_interrupt_type msi_irq_ - .disable = do_nothing, - .ack = do_nothing, - .end = end_msi_irq_wo_maskbit, -- .set_affinity = set_msi_irq_affinity -+ .set_affinity = set_msi_affinity - }; - - static void msi_data_init(struct msg_data *msi_data, ---- gregkh-2.6.orig/drivers/pci/msi.h -+++ gregkh-2.6/drivers/pci/msi.h -@@ -22,12 +22,6 @@ extern int vector_irq[NR_VECTORS]; - extern void (*interrupt[NR_IRQS])(void); - extern int pci_vector_resources(int last, int nr_released); - --#ifdef CONFIG_SMP --#define set_msi_irq_affinity set_msi_affinity --#else --#define set_msi_irq_affinity NULL --#endif -- - /* - * MSI-X Address Register - */ diff --git a/pci/pci-pci_ids-remove-duplicates-gathered-during-merge-period.patch b/pci/pci-pci_ids-remove-duplicates-gathered-during-merge-period.patch deleted file mode 100644 index 11528de51893f..0000000000000 --- a/pci/pci-pci_ids-remove-duplicates-gathered-during-merge-period.patch +++ /dev/null @@ -1,45 +0,0 @@ -From gcoady@gmail.com Tue Jan 17 16:40:05 2006 -From: Grant Coady <gcoady@gmail.com> -To: Greg KH <greg@kroah.com> -Subject: PCI: pci_ids: remove duplicates gathered during merge period -Date: Sun, 15 Jan 2006 16:21:27 +1100 -Message-ID: <7qmjs1pg0terg55gjicjiejsf490tkpk23@4ax.com> - - -From: Grant Coady <gcoady@gmail.com> - -pci_ids.h: remove duplicates. Compile tested allmodconfig. - -Signed-off-by: Grant Coady <gcoady@gmail.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - include/linux/pci_ids.h | 7 ------- - 1 file changed, 7 deletions(-) - ---- gregkh-2.6.orig/include/linux/pci_ids.h -+++ gregkh-2.6/include/linux/pci_ids.h -@@ -394,14 +394,9 @@ - #define PCI_DEVICE_ID_NS_SC1100_SMI 0x0511 - #define PCI_DEVICE_ID_NS_SC1100_XBUS 0x0515 - #define PCI_DEVICE_ID_NS_87410 0xd001 --#define PCI_DEVICE_ID_NS_CS5535_IDE 0x002d - - #define PCI_DEVICE_ID_NS_CS5535_HOST_BRIDGE 0x0028 - #define PCI_DEVICE_ID_NS_CS5535_ISA_BRIDGE 0x002b --#define PCI_DEVICE_ID_NS_CS5535_IDE 0x002d --#define PCI_DEVICE_ID_NS_CS5535_AUDIO 0x002e --#define PCI_DEVICE_ID_NS_CS5535_USB 0x002f --#define PCI_DEVICE_ID_NS_CS5535_VIDEO 0x0030 - - #define PCI_VENDOR_ID_TSENG 0x100c - #define PCI_DEVICE_ID_TSENG_W32P_2 0x3202 -@@ -511,8 +506,6 @@ - #define PCI_DEVICE_ID_AMD_CS5536_UOC 0x2097 - #define PCI_DEVICE_ID_AMD_CS5536_IDE 0x209A - --#define PCI_DEVICE_ID_AMD_CS5536_IDE 0x209A -- - #define PCI_DEVICE_ID_AMD_LX_VIDEO 0x2081 - #define PCI_DEVICE_ID_AMD_LX_AES 0x2082 - diff --git a/pci/pci-restore-2-missing-pci-ids.patch b/pci/pci-restore-2-missing-pci-ids.patch deleted file mode 100644 index f6193cfb8585f..0000000000000 --- a/pci/pci-restore-2-missing-pci-ids.patch +++ /dev/null @@ -1,40 +0,0 @@ -From akpm@osdl.org Thu Jan 5 22:49:02 2006 -From: Mark Rustad <MRustad@mac.com> -Message-Id: <200601060647.k066lfQU008736@shell0.pdx.osdl.net> -Subject: PCI: restore 2 missing pci ids -To: greg@kroah.com -Cc: akpm@osdl.org, MRustad@mac.com, mrustad@mac.com -Date: Thu, 05 Jan 2006 22:47:29 -0800 - - -From: Mark Rustad <MRustad@mac.com> - -Somewhere between 2.6.14 and 2.6.15-rc3, some PCI ids were apparently -removed. The ecc.c module, which is not a part of the kernel.org tree, but -included in some distributions, fails to compile. - -Signed-off-by: Mark Rustad <mrustad@mac.com> -Signed-off-by: Andrew Morton <akpm@osdl.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> ---- - include/linux/pci_ids.h | 2 ++ - 1 file changed, 2 insertions(+) - ---- gregkh-2.6.orig/include/linux/pci_ids.h -+++ gregkh-2.6/include/linux/pci_ids.h -@@ -2065,6 +2065,7 @@ - #define PCI_DEVICE_ID_INTEL_82801EB_5 0x24d5 - #define PCI_DEVICE_ID_INTEL_82801EB_6 0x24d6 - #define PCI_DEVICE_ID_INTEL_82801EB_11 0x24db -+#define PCI_DEVICE_ID_INTEL_82801EB_13 0x24dd - #define PCI_DEVICE_ID_INTEL_ESB_1 0x25a1 - #define PCI_DEVICE_ID_INTEL_ESB_2 0x25a2 - #define PCI_DEVICE_ID_INTEL_ESB_4 0x25a4 -@@ -2154,6 +2155,7 @@ - #define PCI_DEVICE_ID_INTEL_82443GX_2 0x71a2 - #define PCI_DEVICE_ID_INTEL_82372FB_1 0x7601 - #define PCI_DEVICE_ID_INTEL_82454GX 0x84c4 -+#define PCI_DEVICE_ID_INTEL_82450GX 0x84c5 - #define PCI_DEVICE_ID_INTEL_82451NX 0x84ca - #define PCI_DEVICE_ID_INTEL_82454NX 0x84cb - #define PCI_DEVICE_ID_INTEL_84460GX 0x84ea diff --git a/pci/pci-schedule-pci_legacy_proc-for-removal.patch b/pci/pci-schedule-pci_legacy_proc-for-removal.patch deleted file mode 100644 index 5c4fec72ca423..0000000000000 --- a/pci/pci-schedule-pci_legacy_proc-for-removal.patch +++ /dev/null @@ -1,31 +0,0 @@ -From bunk@stusta.de Thu Dec 29 11:07:28 2005 -Date: Thu, 29 Dec 2005 20:07:25 +0100 -From: Adrian Bunk <bunk@stusta.de> -To: gregkh@suse.de -Subject: PCI: schedule PCI_LEGACY_PROC for removal -Message-ID: <20051229190725.GO3811@stusta.de> -Content-Disposition: inline - -PCI_LEGACY_PROC is deprecated since 2.5.53 in favor of lspci(8). - - -Signed-off-by: Adrian Bunk <bunk@stusta.de> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - Documentation/feature-removal-schedule.txt | 7 +++++++ - 1 file changed, 7 insertions(+) - ---- gregkh-2.6.orig/Documentation/feature-removal-schedule.txt -+++ gregkh-2.6/Documentation/feature-removal-schedule.txt -@@ -171,3 +171,10 @@ Why: The ISA interface is faster and sho - probing is also known to cause trouble in at least one case (see - bug #5889.) - Who: Jean Delvare <khali@linux-fr.org> -+ -+--------------------------- -+ -+What: Legacy /proc/pci interface (PCI_LEGACY_PROC) -+When: March 2006 -+Why: deprecated since 2.5.53 in favor of lspci(8) -+Who: Adrian Bunk <bunk@stusta.de> diff --git a/pci/pci-schedule-removal-of-pci_module_init.patch b/pci/pci-schedule-removal-of-pci_module_init.patch deleted file mode 100644 index d911c57aa4092..0000000000000 --- a/pci/pci-schedule-removal-of-pci_module_init.patch +++ /dev/null @@ -1,31 +0,0 @@ -From ricknu-0@student.ltu.se Fri Dec 2 17:29:36 2005 -Message-ID: <4390F614.7060202@student.ltu.se> -Date: Sat, 03 Dec 2005 02:34:12 +0100 -From: Richard Knutsson <ricknu-0@student.ltu.se> -To: Andrew Morton <akpm@osdl.org> -CC: Greg KH <greg@kroah.com> -Subject: [PATCH] pci: Schedule removal of pci_module_init - -From: Richard Knutsson <ricknu-0@student.ltu.se> - -Scheduled the removal of pci_module_init. - -Signed-off-by: Richard Knutsson <ricknu-0@student.ltu.se> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> ---- - Documentation/feature-removal-schedule.txt | 7 +++++++ - 1 file changed, 7 insertions(+) - ---- gregkh-2.6.orig/Documentation/feature-removal-schedule.txt -+++ gregkh-2.6/Documentation/feature-removal-schedule.txt -@@ -178,3 +178,10 @@ What: Legacy /proc/pci interface (PCI_LE - When: March 2006 - Why: deprecated since 2.5.53 in favor of lspci(8) - Who: Adrian Bunk <bunk@stusta.de> -+ -+--------------------------- -+ -+What: pci_module_init(driver) -+When: January 2007 -+Why: Is replaced by pci_register_driver(pci_driver). -+Who: Richard Knutsson <ricknu-0@student.ltu.se> and Greg Kroah-Hartman <gregkh@suse.de> diff --git a/pci/powerpc-pci-hotplug-cleanup-add-prefix.patch b/pci/powerpc-pci-hotplug-cleanup-add-prefix.patch deleted file mode 100644 index 8cbee1fd11e63..0000000000000 --- a/pci/powerpc-pci-hotplug-cleanup-add-prefix.patch +++ /dev/null @@ -1,187 +0,0 @@ -From linas@austin.ibm.com Thu Jan 12 16:31:04 2006 -Date: Thu, 12 Jan 2006 18:31:01 -0600 -From: linas@austin.ibm.com -To: Greg KH <greg@kroah.com>, akpm@osdl.org -Cc: Paul Mackerras <paulus@samba.org> -Subject: [PATCH 7/9] powerpc/PCI hotplug: cleanup: add prefix -Message-ID: <20060113003101.GE26221@austin.ibm.com> -Content-Disposition: inline - - - -Minor cleanup. Add the prefix rpaphp_* to several generic-sounding routines. -Remove rpaphp_remove_slot(), which is a one-liner. - -Signed-off-by: Linas Vepstas <linas@austin.ibm.com> -Acked-by: John Rose <johnrose@austin.ibm.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/pci/hotplug/rpadlpar_core.c | 4 ++-- - drivers/pci/hotplug/rpaphp.h | 6 +++--- - drivers/pci/hotplug/rpaphp_core.c | 14 +++++--------- - drivers/pci/hotplug/rpaphp_pci.c | 4 ++-- - drivers/pci/hotplug/rpaphp_slot.c | 16 ++++++++-------- - 5 files changed, 20 insertions(+), 24 deletions(-) - ---- gregkh-2.6.orig/drivers/pci/hotplug/rpaphp_core.c -+++ gregkh-2.6/drivers/pci/hotplug/rpaphp_core.c -@@ -196,11 +196,6 @@ static int get_max_bus_speed(struct hotp - return 0; - } - --int rpaphp_remove_slot(struct slot *slot) --{ -- return deregister_slot(slot); --} -- - static int get_children_props(struct device_node *dn, int **drc_indexes, - int **drc_names, int **drc_types, int **drc_power_domains) - { -@@ -307,13 +302,15 @@ static int is_php_dn(struct device_node - return 0; - } - --/**************************************************************** -+/** -+ * rpaphp_add_slot -- add hotplug or dlpar slot -+ * - * rpaphp not only registers PCI hotplug slots(HOTPLUG), - * but also logical DR slots(EMBEDDED). - * HOTPLUG slot: An adapter can be physically added/removed. - * EMBEDDED slot: An adapter can be logically removed/added - * from/to a partition with the slot. -- ***************************************************************/ -+ */ - int rpaphp_add_slot(struct device_node *dn) - { - struct slot *slot; -@@ -344,7 +341,7 @@ int rpaphp_add_slot(struct device_node * - dbg("Found drc-index:0x%x drc-name:%s drc-type:%s\n", - indexes[i + 1], name, type); - -- retval = register_pci_slot(slot); -+ retval = rpaphp_register_pci_slot(slot); - } - } - exit: -@@ -462,6 +459,5 @@ module_init(rpaphp_init); - module_exit(rpaphp_exit); - - EXPORT_SYMBOL_GPL(rpaphp_add_slot); --EXPORT_SYMBOL_GPL(rpaphp_remove_slot); - EXPORT_SYMBOL_GPL(rpaphp_slot_head); - EXPORT_SYMBOL_GPL(rpaphp_get_drc_props); ---- gregkh-2.6.orig/drivers/pci/hotplug/rpaphp_pci.c -+++ gregkh-2.6/drivers/pci/hotplug/rpaphp_pci.c -@@ -199,7 +199,7 @@ exit_rc: - return -EINVAL; - } - --int register_pci_slot(struct slot *slot) -+int rpaphp_register_pci_slot(struct slot *slot) - { - int rc = -EINVAL; - -@@ -207,7 +207,7 @@ int register_pci_slot(struct slot *slot) - goto exit_rc; - if (setup_pci_slot(slot)) - goto exit_rc; -- rc = register_slot(slot); -+ rc = rpaphp_register_slot(slot); - exit_rc: - return rc; - } ---- gregkh-2.6.orig/drivers/pci/hotplug/rpadlpar_core.c -+++ gregkh-2.6/drivers/pci/hotplug/rpadlpar_core.c -@@ -227,7 +227,7 @@ static int dlpar_remove_phb(char *drc_na - slot = find_slot(dn); - if (slot) { - /* Remove hotplug slot */ -- if (rpaphp_remove_slot(slot)) { -+ if (rpaphp_deregister_slot(slot)) { - printk(KERN_ERR - "%s: unable to remove hotplug slot %s\n", - __FUNCTION__, drc_name); -@@ -373,7 +373,7 @@ int dlpar_remove_pci_slot(char *drc_name - slot = find_slot(dn); - if (slot) { - /* Remove hotplug slot */ -- if (rpaphp_remove_slot(slot)) { -+ if (rpaphp_deregister_slot(slot)) { - printk(KERN_ERR - "%s: unable to remove hotplug slot %s\n", - __FUNCTION__, drc_name); ---- gregkh-2.6.orig/drivers/pci/hotplug/rpaphp_slot.c -+++ gregkh-2.6/drivers/pci/hotplug/rpaphp_slot.c -@@ -35,16 +35,16 @@ - - static ssize_t location_read_file (struct hotplug_slot *php_slot, char *buf) - { -- char *value; -- int retval = -ENOENT; -+ char *value; -+ int retval = -ENOENT; - struct slot *slot = (struct slot *)php_slot->private; - - if (!slot) - return retval; - -- value = slot->location; -- retval = sprintf (buf, "%s\n", value); -- return retval; -+ value = slot->location; -+ retval = sprintf (buf, "%s\n", value); -+ return retval; - } - - static struct hotplug_slot_attribute hotplug_slot_attr_location = { -@@ -137,7 +137,7 @@ static int is_registered(struct slot *sl - return 0; - } - --int deregister_slot(struct slot *slot) -+int rpaphp_deregister_slot(struct slot *slot) - { - int retval = 0; - struct hotplug_slot *php_slot = slot->hotplug_slot; -@@ -160,7 +160,7 @@ int deregister_slot(struct slot *slot) - return retval; - } - --int register_slot(struct slot *slot) -+int rpaphp_register_slot(struct slot *slot) - { - int retval; - -@@ -169,7 +169,7 @@ int register_slot(struct slot *slot) - slot->power_domain, slot->type); - /* should not try to register the same slot twice */ - if (is_registered(slot)) { /* should't be here */ -- err("register_slot: slot[%s] is already registered\n", slot->name); -+ err("rpaphp_register_slot: slot[%s] is already registered\n", slot->name); - rpaphp_release_slot(slot->hotplug_slot); - return -EAGAIN; - } ---- gregkh-2.6.orig/drivers/pci/hotplug/rpaphp.h -+++ gregkh-2.6/drivers/pci/hotplug/rpaphp.h -@@ -89,7 +89,7 @@ extern int num_slots; - - /* rpaphp_pci.c */ - extern int rpaphp_enable_pci_slot(struct slot *slot); --extern int register_pci_slot(struct slot *slot); -+extern int rpaphp_register_pci_slot(struct slot *slot); - extern int rpaphp_get_pci_adapter_status(struct slot *slot, int is_init, u8 * value); - extern int rpaphp_get_sensor_state(struct slot *slot, int *state); - -@@ -102,8 +102,8 @@ extern int rpaphp_get_drc_props(struct d - /* rpaphp_slot.c */ - extern void dealloc_slot_struct(struct slot *slot); - extern struct slot *alloc_slot_struct(struct device_node *dn, int drc_index, char *drc_name, int power_domain); --extern int register_slot(struct slot *slot); --extern int deregister_slot(struct slot *slot); -+extern int rpaphp_register_slot(struct slot *slot); -+extern int rpaphp_deregister_slot(struct slot *slot); - extern int rpaphp_get_power_status(struct slot *slot, u8 * value); - extern int rpaphp_set_attention_status(struct slot *slot, u8 status); - diff --git a/pci/powerpc-pci-hotplug-de-convolute-rpaphp_unconfig_pci_adap.patch b/pci/powerpc-pci-hotplug-de-convolute-rpaphp_unconfig_pci_adap.patch deleted file mode 100644 index 06d7a49a7da46..0000000000000 --- a/pci/powerpc-pci-hotplug-de-convolute-rpaphp_unconfig_pci_adap.patch +++ /dev/null @@ -1,124 +0,0 @@ -From owner-linux-pci@atrey.karlin.mff.cuni.cz Thu Jan 12 16:26:37 2006 -Date: Thu, 12 Jan 2006 18:26:27 -0600 -From: linas@austin.ibm.com -To: Greg KH <greg@kroah.com>, akpm@osdl.org -Cc: Paul Mackerras <paulus@samba.org> -Subject: [PATCH 5/9] powerpc/PCI hotplug: de-convolute rpaphp_unconfig_pci_adap -Message-ID: <20060113002627.GC26221@austin.ibm.com> -Content-Disposition: inline - - - -Remove general baroqueness. The function rpaphp_unconfig_pci_adapter() -is really just three lines of code, once all the dbg printks are removed. -And its called in only one place. So replace the call by the thre lines. -Also, provide proper semaphore locking in the affected function -disable_slot() - -Signed-off-by: Linas Vepstas <linas@austin.ibm.com> -Acked-by: John Rose <johnrose@austin.ibm.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - - ---- - drivers/pci/hotplug/rpadlpar_core.c | 6 +++++- - drivers/pci/hotplug/rpaphp.h | 2 -- - drivers/pci/hotplug/rpaphp_core.c | 32 ++++++++++++++++++-------------- - drivers/pci/hotplug/rpaphp_pci.c | 12 ------------ - 4 files changed, 23 insertions(+), 29 deletions(-) - ---- gregkh-2.6.orig/drivers/pci/hotplug/rpadlpar_core.c -+++ gregkh-2.6/drivers/pci/hotplug/rpadlpar_core.c -@@ -380,7 +380,11 @@ int dlpar_remove_pci_slot(char *drc_name - return -EIO; - } - } else { -- rpaphp_unconfig_pci_adapter(bus); -+ struct pci_dev *dev, *tmp; -+ list_for_each_entry_safe(dev, tmp, &bus->devices, bus_list) { -+ eeh_remove_bus_device(dev); -+ pci_remove_bus_device(dev); -+ } - } - - if (unmap_bus_range(bus)) { ---- gregkh-2.6.orig/drivers/pci/hotplug/rpaphp_core.c -+++ gregkh-2.6/drivers/pci/hotplug/rpaphp_core.c -@@ -412,27 +412,31 @@ exit: - return retval; - } - --static int disable_slot(struct hotplug_slot *hotplug_slot) -+static int __disable_slot(struct slot *slot) - { -- int retval = -EINVAL; -- struct slot *slot = (struct slot *)hotplug_slot->private; -+ struct pci_dev *dev, *tmp; - -- dbg("%s - Entry: slot[%s]\n", __FUNCTION__, slot->name); -+ if (slot->state == NOT_CONFIGURED) -+ return -EINVAL; - -- if (slot->state == NOT_CONFIGURED) { -- dbg("%s: %s is already disabled\n", __FUNCTION__, slot->name); -- goto exit; -+ list_for_each_entry_safe(dev, tmp, &slot->bus->devices, bus_list) { -+ eeh_remove_bus_device(dev); -+ pci_remove_bus_device(dev); - } - -- dbg("DISABLING SLOT %s\n", slot->name); -+ slot->state = NOT_CONFIGURED; -+ return 0; -+} -+ -+static int disable_slot(struct hotplug_slot *hotplug_slot) -+{ -+ struct slot *slot = (struct slot *)hotplug_slot->private; -+ int retval; -+ - down(&rpaphp_sem); -- retval = rpaphp_unconfig_pci_adapter(slot->bus); -+ retval = __disable_slot (slot); - up(&rpaphp_sem); -- slot->state = NOT_CONFIGURED; -- info("%s: devices in slot[%s] unconfigured.\n", __FUNCTION__, -- slot->name); --exit: -- dbg("%s - Exit: rc[%d]\n", __FUNCTION__, retval); -+ - return retval; - } - ---- gregkh-2.6.orig/drivers/pci/hotplug/rpaphp_pci.c -+++ gregkh-2.6/drivers/pci/hotplug/rpaphp_pci.c -@@ -116,18 +116,6 @@ static void print_slot_pci_funcs(struct - return; - } - --int rpaphp_unconfig_pci_adapter(struct pci_bus *bus) --{ -- struct pci_dev *dev, *tmp; -- -- list_for_each_entry_safe(dev, tmp, &bus->devices, bus_list) { -- eeh_remove_bus_device(dev); -- pci_remove_bus_device(dev); -- } -- return 0; --} --EXPORT_SYMBOL_GPL(rpaphp_unconfig_pci_adapter); -- - static int setup_pci_hotplug_slot_info(struct slot *slot) - { - struct hotplug_slot_info *hotplug_slot_info = slot->hotplug_slot->info; ---- gregkh-2.6.orig/drivers/pci/hotplug/rpaphp.h -+++ gregkh-2.6/drivers/pci/hotplug/rpaphp.h -@@ -92,8 +92,6 @@ extern int rpaphp_enable_pci_slot(struct - extern int register_pci_slot(struct slot *slot); - extern int rpaphp_get_pci_adapter_status(struct slot *slot, int is_init, u8 * value); - --extern int rpaphp_unconfig_pci_adapter(struct pci_bus *bus); -- - /* rpaphp_core.c */ - extern int rpaphp_add_slot(struct device_node *dn); - extern int rpaphp_remove_slot(struct slot *slot); diff --git a/pci/powerpc-pci-hotplug-merge-config_pci_adapter.patch b/pci/powerpc-pci-hotplug-merge-config_pci_adapter.patch deleted file mode 100644 index 74501a768a12a..0000000000000 --- a/pci/powerpc-pci-hotplug-merge-config_pci_adapter.patch +++ /dev/null @@ -1,94 +0,0 @@ -From linas@austin.ibm.com Thu Jan 12 16:22:08 2006 -From: linas@austin.ibm.com -Date: Thu, 12 Jan 2006 18:22:07 -0600 -To: Greg KH <greg@kroah.com>, akpm@osdl.org -Cc: Paul Mackerras <paulus@samba.org> -Subject: [PATCH 3/9] powerpc/PCI hotplug: merge config_pci_adapter -Message-ID: <20060113002206.GA26221@austin.ibm.com> -Content-Disposition: inline - - - -Remove general baroqueness. The function rpaphp_config_pci_adapter() -is really just one line of code, once all the dbg printks are removed. -And its called in only one place. So replace the call by the one line. - -Signed-off-by: Linas Vepstas <linas@austin.ibm.com> -Acked-by: John Rose <johnrose@austin.ibm.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - - ---- - drivers/pci/hotplug/rpaphp.h | 1 - - drivers/pci/hotplug/rpaphp_pci.c | 35 ++++------------------------------- - 2 files changed, 4 insertions(+), 32 deletions(-) - ---- gregkh-2.6.orig/drivers/pci/hotplug/rpaphp_pci.c -+++ gregkh-2.6/drivers/pci/hotplug/rpaphp_pci.c -@@ -116,24 +116,6 @@ static void print_slot_pci_funcs(struct - return; - } - --int rpaphp_config_pci_adapter(struct pci_bus *bus) --{ -- struct device_node *dn = pci_bus_to_OF_node(bus); -- int rc = -ENODEV; -- -- dbg("Entry %s: slot[%s]\n", __FUNCTION__, dn->full_name); -- if (!dn) -- goto exit; -- -- pcibios_add_pci_devices(bus); -- print_slot_pci_funcs(bus); -- rc = 0; --exit: -- dbg("Exit %s: rc=%d\n", __FUNCTION__, rc); -- return rc; --} --EXPORT_SYMBOL_GPL(rpaphp_config_pci_adapter); -- - static void rpaphp_eeh_remove_bus_device(struct pci_dev *dev) - { - eeh_remove_device(dev); -@@ -225,10 +207,7 @@ static int setup_pci_slot(struct slot *s - if (slot->hotplug_slot->info->adapter_status == NOT_CONFIGURED) { - dbg("%s CONFIGURING pci adapter in slot[%s]\n", - __FUNCTION__, slot->name); -- if (rpaphp_config_pci_adapter(slot->bus)) { -- err("%s: CONFIG pci adapter failed\n", __FUNCTION__); -- goto exit_rc; -- } -+ pcibios_add_pci_devices(slot->bus); - - } else if (slot->hotplug_slot->info->adapter_status != CONFIGURED) { - err("%s: slot[%s]'s adapter_status is NOT_VALID.\n", -@@ -274,16 +253,10 @@ int rpaphp_enable_pci_slot(struct slot * - /* if slot is not empty, enable the adapter */ - if (state == PRESENT) { - dbg("%s : slot[%s] is occupied.\n", __FUNCTION__, slot->name); -- retval = rpaphp_config_pci_adapter(slot->bus); -- if (!retval) { -- slot->state = CONFIGURED; -- info("%s: devices in slot[%s] configured\n", -+ pcibios_add_pci_devices(slot->bus); -+ slot->state = CONFIGURED; -+ info("%s: devices in slot[%s] configured\n", - __FUNCTION__, slot->name); -- } else { -- slot->state = NOT_CONFIGURED; -- dbg("%s: no pci_dev struct for adapter in slot[%s]\n", -- __FUNCTION__, slot->name); -- } - } else if (state == EMPTY) { - dbg("%s : slot[%s] is empty\n", __FUNCTION__, slot->name); - slot->state = EMPTY; ---- gregkh-2.6.orig/drivers/pci/hotplug/rpaphp.h -+++ gregkh-2.6/drivers/pci/hotplug/rpaphp.h -@@ -92,7 +92,6 @@ extern int rpaphp_enable_pci_slot(struct - extern int register_pci_slot(struct slot *slot); - extern int rpaphp_get_pci_adapter_status(struct slot *slot, int is_init, u8 * value); - --extern int rpaphp_config_pci_adapter(struct pci_bus *bus); - extern int rpaphp_unconfig_pci_adapter(struct pci_bus *bus); - - /* rpaphp_core.c */ diff --git a/pci/powerpc-pci-hotplug-merge-rpaphp_enable_pci_slot.patch b/pci/powerpc-pci-hotplug-merge-rpaphp_enable_pci_slot.patch deleted file mode 100644 index 0e352cdcdf031..0000000000000 --- a/pci/powerpc-pci-hotplug-merge-rpaphp_enable_pci_slot.patch +++ /dev/null @@ -1,134 +0,0 @@ -From linas@austin.ibm.com Thu Jan 12 16:28:24 2006 -Date: Thu, 12 Jan 2006 18:28:22 -0600 -From: linas@austin.ibm.com -To: Greg KH <greg@kroah.com>, akpm@osdl.org -Cc: Paul Mackerras <paulus@samba.org> -Subject: [PATCH 6/9] powerpc/PCI hotplug: merge rpaphp_enable_pci_slot() -Message-ID: <20060113002822.GD26221@austin.ibm.com> -Content-Disposition: inline - - - -Remove general baroqueness. The function rpaphp_enable_pci_slot() -has a fairly simple logic structure, once all of the debug printk's -are removed. Its called from only one place, and that place also -has a very simple structure once he printk's are removed. Merge -the two together. - -Signed-off-by: Linas Vepstas <linas@austin.ibm.com> -Acked-by: John Rose <johnrose@austin.ibm.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - - ---- - drivers/pci/hotplug/rpaphp.h | 1 + - drivers/pci/hotplug/rpaphp_core.c | 38 ++++++++++++++++++++++++++++---------- - drivers/pci/hotplug/rpaphp_pci.c | 30 +----------------------------- - 3 files changed, 30 insertions(+), 39 deletions(-) - ---- gregkh-2.6.orig/drivers/pci/hotplug/rpaphp_core.c -+++ gregkh-2.6/drivers/pci/hotplug/rpaphp_core.c -@@ -393,22 +393,40 @@ static void __exit rpaphp_exit(void) - cleanup_slots(); - } - --static int enable_slot(struct hotplug_slot *hotplug_slot) -+static int __enable_slot(struct slot *slot) - { -- int retval = 0; -- struct slot *slot = (struct slot *)hotplug_slot->private; -+ int state; -+ int retval; -+ -+ if (slot->state == CONFIGURED) -+ return 0; - -- if (slot->state == CONFIGURED) { -- dbg("%s: %s is already enabled\n", __FUNCTION__, slot->name); -- goto exit; -+ retval = rpaphp_get_sensor_state(slot, &state); -+ if (retval) -+ return retval; -+ -+ if (state == PRESENT) { -+ pcibios_add_pci_devices(slot->bus); -+ slot->state = CONFIGURED; -+ } else if (state == EMPTY) { -+ slot->state = EMPTY; -+ } else { -+ err("%s: slot[%s] is in invalid state\n", __FUNCTION__, slot->name); -+ slot->state = NOT_VALID; -+ return -EINVAL; - } -+ return 0; -+} -+ -+static int enable_slot(struct hotplug_slot *hotplug_slot) -+{ -+ int retval; -+ struct slot *slot = (struct slot *)hotplug_slot->private; - -- dbg("ENABLING SLOT %s\n", slot->name); - down(&rpaphp_sem); -- retval = rpaphp_enable_pci_slot(slot); -+ retval = __enable_slot(slot); - up(&rpaphp_sem); --exit: -- dbg("%s - Exit: rc[%d]\n", __FUNCTION__, retval); -+ - return retval; - } - ---- gregkh-2.6.orig/drivers/pci/hotplug/rpaphp_pci.c -+++ gregkh-2.6/drivers/pci/hotplug/rpaphp_pci.c -@@ -32,7 +32,7 @@ - #include "../pci.h" /* for pci_add_new_bus */ - #include "rpaphp.h" - --static int rpaphp_get_sensor_state(struct slot *slot, int *state) -+int rpaphp_get_sensor_state(struct slot *slot, int *state) - { - int rc; - int setlevel; -@@ -212,31 +212,3 @@ exit_rc: - return rc; - } - --int rpaphp_enable_pci_slot(struct slot *slot) --{ -- int retval = 0, state; -- -- retval = rpaphp_get_sensor_state(slot, &state); -- if (retval) -- goto exit; -- dbg("%s: sensor state[%d]\n", __FUNCTION__, state); -- /* if slot is not empty, enable the adapter */ -- if (state == PRESENT) { -- dbg("%s : slot[%s] is occupied.\n", __FUNCTION__, slot->name); -- pcibios_add_pci_devices(slot->bus); -- slot->state = CONFIGURED; -- info("%s: devices in slot[%s] configured\n", -- __FUNCTION__, slot->name); -- } else if (state == EMPTY) { -- dbg("%s : slot[%s] is empty\n", __FUNCTION__, slot->name); -- slot->state = EMPTY; -- } else { -- err("%s: slot[%s] is in invalid state\n", __FUNCTION__, -- slot->name); -- slot->state = NOT_VALID; -- retval = -EINVAL; -- } --exit: -- dbg("%s - Exit: rc[%d]\n", __FUNCTION__, retval); -- return retval; --} ---- gregkh-2.6.orig/drivers/pci/hotplug/rpaphp.h -+++ gregkh-2.6/drivers/pci/hotplug/rpaphp.h -@@ -91,6 +91,7 @@ extern int num_slots; - extern int rpaphp_enable_pci_slot(struct slot *slot); - extern int register_pci_slot(struct slot *slot); - extern int rpaphp_get_pci_adapter_status(struct slot *slot, int is_init, u8 * value); -+extern int rpaphp_get_sensor_state(struct slot *slot, int *state); - - /* rpaphp_core.c */ - extern int rpaphp_add_slot(struct device_node *dn); diff --git a/pci/powerpc-pci-hotplug-minor-cleanup-forward-decls.patch b/pci/powerpc-pci-hotplug-minor-cleanup-forward-decls.patch deleted file mode 100644 index ef75108e00c30..0000000000000 --- a/pci/powerpc-pci-hotplug-minor-cleanup-forward-decls.patch +++ /dev/null @@ -1,68 +0,0 @@ -From linas@austin.ibm.com Thu Jan 12 16:33:01 2006 -Date: Thu, 12 Jan 2006 18:32:58 -0600 -From: linas@austin.ibm.com -To: Greg KH <greg@kroah.com>, akpm@osdl.org -Cc: Paul Mackerras <paulus@samba.org> -Subject: [PATCH 8/9] powerpc/PCI hotplug: minor cleanup forward decls -Message-ID: <20060113003258.GF26221@austin.ibm.com> -Content-Disposition: inline - - -Minor cleanup. Move structure initializer to bottom of file, -this allows elimination of eyeball-strain-inducing forward -declarations. - -Signed-off-by: Linas Vepstas <linas@austin.ibm.com> -Acked-by: John Rose <johnrose@austin.ibm.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/pci/hotplug/rpaphp_core.c | 30 +++++++++++------------------- - 1 file changed, 11 insertions(+), 19 deletions(-) - ---- gregkh-2.6.orig/drivers/pci/hotplug/rpaphp_core.c -+++ gregkh-2.6/drivers/pci/hotplug/rpaphp_core.c -@@ -56,25 +56,6 @@ MODULE_LICENSE("GPL"); - - module_param(debug, bool, 0644); - --static int enable_slot(struct hotplug_slot *slot); --static int disable_slot(struct hotplug_slot *slot); --static int set_attention_status(struct hotplug_slot *slot, u8 value); --static int get_power_status(struct hotplug_slot *slot, u8 * value); --static int get_attention_status(struct hotplug_slot *slot, u8 * value); --static int get_adapter_status(struct hotplug_slot *slot, u8 * value); --static int get_max_bus_speed(struct hotplug_slot *hotplug_slot, enum pci_bus_speed *value); -- --struct hotplug_slot_ops rpaphp_hotplug_slot_ops = { -- .owner = THIS_MODULE, -- .enable_slot = enable_slot, -- .disable_slot = disable_slot, -- .set_attention_status = set_attention_status, -- .get_power_status = get_power_status, -- .get_attention_status = get_attention_status, -- .get_adapter_status = get_adapter_status, -- .get_max_bus_speed = get_max_bus_speed, --}; -- - static int rpaphp_get_attention_status(struct slot *slot) - { - return slot->hotplug_slot->info->attention_status; -@@ -455,6 +436,17 @@ static int disable_slot(struct hotplug_s - return retval; - } - -+struct hotplug_slot_ops rpaphp_hotplug_slot_ops = { -+ .owner = THIS_MODULE, -+ .enable_slot = enable_slot, -+ .disable_slot = disable_slot, -+ .set_attention_status = set_attention_status, -+ .get_power_status = get_power_status, -+ .get_attention_status = get_attention_status, -+ .get_adapter_status = get_adapter_status, -+ .get_max_bus_speed = get_max_bus_speed, -+}; -+ - module_init(rpaphp_init); - module_exit(rpaphp_exit); - diff --git a/pci/powerpc-pci-hotplug-remove-remove_bus_device.patch b/pci/powerpc-pci-hotplug-remove-remove_bus_device.patch deleted file mode 100644 index 9f5ef60f8c3c3..0000000000000 --- a/pci/powerpc-pci-hotplug-remove-remove_bus_device.patch +++ /dev/null @@ -1,55 +0,0 @@ -From linas@austin.ibm.com Thu Jan 12 16:24:28 2006 -From: linas@austin.ibm.com -Date: Thu, 12 Jan 2006 18:24:27 -0600 -To: Greg KH <greg@kroah.com>, akpm@osdl.org -Cc: Paul Mackerras <paulus@samba.org> -Subject: [PATCH 4/9] powerpc/PCI hotplug: remove remove_bus_device() -Message-ID: <20060113002427.GB26221@austin.ibm.com> -Content-Disposition: inline - - -The function rpaphp_eeh_remove_bus_device() is a dupe of -eeh_remove_bus_device(). Remove it. - -Signed-off-by: Linas Vepstas <linas@austin.ibm.com> -Acked-by: John Rose <johnrose@austin.ibm.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/pci/hotplug/rpaphp_pci.c | 20 +------------------- - 1 file changed, 1 insertion(+), 19 deletions(-) - ---- gregkh-2.6.orig/drivers/pci/hotplug/rpaphp_pci.c -+++ gregkh-2.6/drivers/pci/hotplug/rpaphp_pci.c -@@ -116,30 +116,12 @@ static void print_slot_pci_funcs(struct - return; - } - --static void rpaphp_eeh_remove_bus_device(struct pci_dev *dev) --{ -- eeh_remove_device(dev); -- if (dev->hdr_type == PCI_HEADER_TYPE_BRIDGE) { -- struct pci_bus *bus = dev->subordinate; -- struct list_head *ln; -- if (!bus) -- return; -- for (ln = bus->devices.next; ln != &bus->devices; ln = ln->next) { -- struct pci_dev *pdev = pci_dev_b(ln); -- if (pdev) -- rpaphp_eeh_remove_bus_device(pdev); -- } -- -- } -- return; --} -- - int rpaphp_unconfig_pci_adapter(struct pci_bus *bus) - { - struct pci_dev *dev, *tmp; - - list_for_each_entry_safe(dev, tmp, &bus->devices, bus_list) { -- rpaphp_eeh_remove_bus_device(dev); -+ eeh_remove_bus_device(dev); - pci_remove_bus_device(dev); - } - return 0; diff --git a/pci/powerpc-pci-hotplug-remove-rpaphp_find_bus.patch b/pci/powerpc-pci-hotplug-remove-rpaphp_find_bus.patch deleted file mode 100644 index 23a2dc957abc7..0000000000000 --- a/pci/powerpc-pci-hotplug-remove-rpaphp_find_bus.patch +++ /dev/null @@ -1,126 +0,0 @@ -From linas@austin.ibm.com Thu Jan 12 16:18:26 2006 -Date: Thu, 12 Jan 2006 18:18:26 -0600 -From: linas@austin.ibm.com -To: Greg KH <greg@kroah.com> -Cc: Paul Mackerras <paulus@samba.org> -Subject: [PATCH 1/9] powerpc/PCI hotplug: remove rpaphp_find_bus() -Message-ID: <20060113001826.GY26221@austin.ibm.com> -Content-Disposition: inline - - -The function rpaphp_find_pci_bus() has been migrated to -pcibios_find_pci_bus() in arch/powerpc/platforms/pseries/pci_dlpar.c -This patch removes the old version. - -Signed-off-by: Linas Vepstas <linas@austin.ibm.com> -Acked-by: John Rose <johnrose@austin.ibm.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/pci/hotplug/rpadlpar_core.c | 6 +++--- - drivers/pci/hotplug/rpaphp.h | 3 --- - drivers/pci/hotplug/rpaphp_pci.c | 34 ++-------------------------------- - 3 files changed, 5 insertions(+), 38 deletions(-) - ---- gregkh-2.6.orig/drivers/pci/hotplug/rpaphp_pci.c -+++ gregkh-2.6/drivers/pci/hotplug/rpaphp_pci.c -@@ -32,36 +32,6 @@ - #include "../pci.h" /* for pci_add_new_bus */ - #include "rpaphp.h" - --static struct pci_bus *find_bus_among_children(struct pci_bus *bus, -- struct device_node *dn) --{ -- struct pci_bus *child = NULL; -- struct list_head *tmp; -- struct device_node *busdn; -- -- busdn = pci_bus_to_OF_node(bus); -- if (busdn == dn) -- return bus; -- -- list_for_each(tmp, &bus->children) { -- child = find_bus_among_children(pci_bus_b(tmp), dn); -- if (child) -- break; -- } -- return child; --} -- --struct pci_bus *rpaphp_find_pci_bus(struct device_node *dn) --{ -- struct pci_dn *pdn = dn->data; -- -- if (!pdn || !pdn->phb || !pdn->phb->bus) -- return NULL; -- -- return find_bus_among_children(pdn->phb->bus, dn); --} --EXPORT_SYMBOL_GPL(rpaphp_find_pci_bus); -- - static int rpaphp_get_sensor_state(struct slot *slot, int *state) - { - int rc; -@@ -120,7 +90,7 @@ int rpaphp_get_pci_adapter_status(struct - /* config/unconfig adapter */ - *value = slot->state; - } else { -- bus = rpaphp_find_pci_bus(slot->dn); -+ bus = pcibios_find_pci_bus(slot->dn); - if (bus && !list_empty(&bus->devices)) - *value = CONFIGURED; - else -@@ -370,7 +340,7 @@ static int setup_pci_slot(struct slot *s - struct pci_bus *bus; - - BUG_ON(!dn); -- bus = rpaphp_find_pci_bus(dn); -+ bus = pcibios_find_pci_bus(dn); - if (!bus) { - err("%s: no pci_bus for dn %s\n", __FUNCTION__, dn->full_name); - goto exit_rc; ---- gregkh-2.6.orig/drivers/pci/hotplug/rpadlpar_core.c -+++ gregkh-2.6/drivers/pci/hotplug/rpadlpar_core.c -@@ -174,7 +174,7 @@ static int dlpar_add_pci_slot(char *drc_ - { - struct pci_dev *dev; - -- if (rpaphp_find_pci_bus(dn)) -+ if (pcibios_find_pci_bus(dn)) - return -EINVAL; - - /* Add pci bus */ -@@ -221,7 +221,7 @@ static int dlpar_remove_phb(char *drc_na - struct pci_dn *pdn; - int rc = 0; - -- if (!rpaphp_find_pci_bus(dn)) -+ if (!pcibios_find_pci_bus(dn)) - return -EINVAL; - - slot = find_slot(dn); -@@ -366,7 +366,7 @@ int dlpar_remove_pci_slot(char *drc_name - struct pci_bus *bus; - struct slot *slot; - -- bus = rpaphp_find_pci_bus(dn); -+ bus = pcibios_find_pci_bus(dn); - if (!bus) - return -EINVAL; - ---- gregkh-2.6.orig/drivers/pci/hotplug/rpaphp.h -+++ gregkh-2.6/drivers/pci/hotplug/rpaphp.h -@@ -88,13 +88,10 @@ extern int num_slots; - /* function prototypes */ - - /* rpaphp_pci.c */ --extern struct pci_bus *rpaphp_find_pci_bus(struct device_node *dn); --extern int rpaphp_claim_resource(struct pci_dev *dev, int resource); - extern int rpaphp_enable_pci_slot(struct slot *slot); - extern int register_pci_slot(struct slot *slot); - extern int rpaphp_get_pci_adapter_status(struct slot *slot, int is_init, u8 * value); - extern void rpaphp_init_new_devs(struct pci_bus *bus); --extern void rpaphp_eeh_init_nodes(struct device_node *dn); - - extern int rpaphp_config_pci_adapter(struct pci_bus *bus); - extern int rpaphp_unconfig_pci_adapter(struct pci_bus *bus); diff --git a/pci/powerpc-pci-hotplug-remove-rpaphp_fixup_new_pci_devices.patch b/pci/powerpc-pci-hotplug-remove-rpaphp_fixup_new_pci_devices.patch deleted file mode 100644 index 0e10e7415e75e..0000000000000 --- a/pci/powerpc-pci-hotplug-remove-rpaphp_fixup_new_pci_devices.patch +++ /dev/null @@ -1,211 +0,0 @@ -From linas@austin.ibm.com Thu Jan 12 16:20:28 2006 -Date: Thu, 12 Jan 2006 18:20:26 -0600 -From: linas@austin.ibm.com -To: Greg KH <greg@kroah.com> -Cc: Paul Mackerras <paulus@samba.org> -Subject: [PATCH 2/9] powerpc/PCI hotplug: remove rpaphp_fixup_new_pci_devices() -Message-ID: <20060113002026.GZ26221@austin.ibm.com> -Content-Disposition: inline - - -The function rpaphp_fixup_new_pci_devices() has been migrated to -pcibios_fixup_new_pci_devices() in -arch/powerpc/platforms/pseries/pci_dlpar.c -This patch removes the old version. - -Signed-off-by: Linas Vepstas <linas@austin.ibm.com> -Acked-by: John Rose <johnrose@austin.ibm.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - - ---- - drivers/pci/hotplug/rpadlpar_core.c | 2 - drivers/pci/hotplug/rpaphp.h | 1 - drivers/pci/hotplug/rpaphp_pci.c | 142 ------------------------------------ - 3 files changed, 2 insertions(+), 143 deletions(-) - ---- gregkh-2.6.orig/drivers/pci/hotplug/rpaphp_pci.c -+++ gregkh-2.6/drivers/pci/hotplug/rpaphp_pci.c -@@ -101,140 +101,6 @@ exit: - return rc; - } - --/* Must be called before pci_bus_add_devices */ --void rpaphp_fixup_new_pci_devices(struct pci_bus *bus, int fix_bus) --{ -- struct pci_dev *dev; -- -- list_for_each_entry(dev, &bus->devices, bus_list) { -- /* -- * Skip already-present devices (which are on the -- * global device list.) -- */ -- if (list_empty(&dev->global_list)) { -- int i; -- -- /* Need to setup IOMMU tables */ -- ppc_md.iommu_dev_setup(dev); -- -- if(fix_bus) -- pcibios_fixup_device_resources(dev, bus); -- pci_read_irq_line(dev); -- for (i = 0; i < PCI_NUM_RESOURCES; i++) { -- struct resource *r = &dev->resource[i]; -- -- if (r->parent || !r->start || !r->flags) -- continue; -- pci_claim_resource(dev, i); -- } -- } -- } --} -- --static void rpaphp_eeh_add_bus_device(struct pci_bus *bus) --{ -- struct pci_dev *dev; -- -- list_for_each_entry(dev, &bus->devices, bus_list) { -- eeh_add_device_late(dev); -- if (dev->hdr_type == PCI_HEADER_TYPE_BRIDGE) { -- struct pci_bus *subbus = dev->subordinate; -- if (subbus) -- rpaphp_eeh_add_bus_device (subbus); -- } -- } --} -- --static int rpaphp_pci_config_bridge(struct pci_dev *dev) --{ -- u8 sec_busno; -- struct pci_bus *child_bus; -- struct pci_dev *child_dev; -- -- dbg("Enter %s: BRIDGE dev=%s\n", __FUNCTION__, pci_name(dev)); -- -- /* get busno of downstream bus */ -- pci_read_config_byte(dev, PCI_SECONDARY_BUS, &sec_busno); -- -- /* add to children of PCI bridge dev->bus */ -- child_bus = pci_add_new_bus(dev->bus, dev, sec_busno); -- if (!child_bus) { -- err("%s: could not add second bus\n", __FUNCTION__); -- return -EIO; -- } -- sprintf(child_bus->name, "PCI Bus #%02x", child_bus->number); -- /* do pci_scan_child_bus */ -- pci_scan_child_bus(child_bus); -- -- list_for_each_entry(child_dev, &child_bus->devices, bus_list) { -- eeh_add_device_late(child_dev); -- } -- -- /* fixup new pci devices without touching bus struct */ -- rpaphp_fixup_new_pci_devices(child_bus, 0); -- -- /* Make the discovered devices available */ -- pci_bus_add_devices(child_bus); -- return 0; --} -- --void rpaphp_init_new_devs(struct pci_bus *bus) --{ -- rpaphp_fixup_new_pci_devices(bus, 0); -- rpaphp_eeh_add_bus_device(bus); --} --EXPORT_SYMBOL_GPL(rpaphp_init_new_devs); -- --/***************************************************************************** -- rpaphp_pci_config_slot() will configure all devices under the -- given slot->dn and return the the first pci_dev. -- *****************************************************************************/ --static struct pci_dev * --rpaphp_pci_config_slot(struct pci_bus *bus) --{ -- struct device_node *dn = pci_bus_to_OF_node(bus); -- struct pci_dev *dev = NULL; -- int slotno; -- int num; -- -- dbg("Enter %s: dn=%s bus=%s\n", __FUNCTION__, dn->full_name, bus->name); -- if (!dn || !dn->child) -- return NULL; -- -- if (_machine == PLATFORM_PSERIES_LPAR) { -- of_scan_bus(dn, bus); -- if (list_empty(&bus->devices)) { -- err("%s: No new device found\n", __FUNCTION__); -- return NULL; -- } -- -- rpaphp_init_new_devs(bus); -- pci_bus_add_devices(bus); -- dev = list_entry(&bus->devices, struct pci_dev, bus_list); -- } else { -- slotno = PCI_SLOT(PCI_DN(dn->child)->devfn); -- -- /* pci_scan_slot should find all children */ -- num = pci_scan_slot(bus, PCI_DEVFN(slotno, 0)); -- if (num) { -- rpaphp_fixup_new_pci_devices(bus, 1); -- pci_bus_add_devices(bus); -- } -- if (list_empty(&bus->devices)) { -- err("%s: No new device found\n", __FUNCTION__); -- return NULL; -- } -- list_for_each_entry(dev, &bus->devices, bus_list) { -- if (dev->hdr_type == PCI_HEADER_TYPE_BRIDGE) -- rpaphp_pci_config_bridge(dev); -- -- rpaphp_eeh_add_bus_device(bus); -- } -- } -- -- return dev; --} -- - static void print_slot_pci_funcs(struct pci_bus *bus) - { - struct device_node *dn; -@@ -253,19 +119,13 @@ static void print_slot_pci_funcs(struct - int rpaphp_config_pci_adapter(struct pci_bus *bus) - { - struct device_node *dn = pci_bus_to_OF_node(bus); -- struct pci_dev *dev; - int rc = -ENODEV; - - dbg("Entry %s: slot[%s]\n", __FUNCTION__, dn->full_name); - if (!dn) - goto exit; - -- eeh_add_device_tree_early(dn); -- dev = rpaphp_pci_config_slot(bus); -- if (!dev) { -- err("%s: can't find any devices.\n", __FUNCTION__); -- goto exit; -- } -+ pcibios_add_pci_devices(bus); - print_slot_pci_funcs(bus); - rc = 0; - exit: ---- gregkh-2.6.orig/drivers/pci/hotplug/rpadlpar_core.c -+++ gregkh-2.6/drivers/pci/hotplug/rpadlpar_core.c -@@ -146,7 +146,7 @@ static struct pci_dev *dlpar_pci_add_bus - dev->hdr_type == PCI_HEADER_TYPE_CARDBUS) - of_scan_pci_bridge(dn, dev); - -- rpaphp_init_new_devs(dev->subordinate); -+ pcibios_fixup_new_pci_devices(dev->subordinate,0); - - /* Claim new bus resources */ - pcibios_claim_one_bus(dev->bus); ---- gregkh-2.6.orig/drivers/pci/hotplug/rpaphp.h -+++ gregkh-2.6/drivers/pci/hotplug/rpaphp.h -@@ -91,7 +91,6 @@ extern int num_slots; - extern int rpaphp_enable_pci_slot(struct slot *slot); - extern int register_pci_slot(struct slot *slot); - extern int rpaphp_get_pci_adapter_status(struct slot *slot, int is_init, u8 * value); --extern void rpaphp_init_new_devs(struct pci_bus *bus); - - extern int rpaphp_config_pci_adapter(struct pci_bus *bus); - extern int rpaphp_unconfig_pci_adapter(struct pci_bus *bus); diff --git a/pci/powerpc-pci-hotplug-shuffle-error-checking-to-better-location.patch b/pci/powerpc-pci-hotplug-shuffle-error-checking-to-better-location.patch deleted file mode 100644 index 6fb760df91f46..0000000000000 --- a/pci/powerpc-pci-hotplug-shuffle-error-checking-to-better-location.patch +++ /dev/null @@ -1,116 +0,0 @@ -From linas@austin.ibm.com Thu Jan 12 16:35:24 2006 -Date: Thu, 12 Jan 2006 18:35:23 -0600 -From: linas@austin.ibm.com -To: Greg KH <greg@kroah.com>, akpm@osdl.org -Cc: Paul Mackerras <paulus@samba.org> -Subject: [PATCH 9/9] powerpc/PCI hotplug: shuffle error checking to better location. -Message-ID: <20060113003523.GG26221@austin.ibm.com> -Content-Disposition: inline - - - -Error checking is scattered through various layers of the dlpar code, -leading to a somewhat opaque code structure. This patch consolidates -error checking in one routine, simplifying the code a tad. There's -also some whitespace cleanup here too. - -Signed-off-by: Linas Vepstas <linas@austin.ibm.com> -Acked-by: John Rose <johnrose@austin.ibm.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/pci/hotplug/rpadlpar_core.c | 44 ++++++++++++++++++------------------ - 1 file changed, 22 insertions(+), 22 deletions(-) - ---- gregkh-2.6.orig/drivers/pci/hotplug/rpadlpar_core.c -+++ gregkh-2.6/drivers/pci/hotplug/rpadlpar_core.c -@@ -103,13 +103,13 @@ static struct slot *find_slot(struct dev - struct list_head *tmp, *n; - struct slot *slot; - -- list_for_each_safe(tmp, n, &rpaphp_slot_head) { -- slot = list_entry(tmp, struct slot, rpaphp_slot_list); -- if (slot->dn == dn) -- return slot; -- } -+ list_for_each_safe(tmp, n, &rpaphp_slot_head) { -+ slot = list_entry(tmp, struct slot, rpaphp_slot_list); -+ if (slot->dn == dn) -+ return slot; -+ } - -- return NULL; -+ return NULL; - } - - static struct pci_dev *dlpar_find_new_dev(struct pci_bus *parent, -@@ -126,9 +126,9 @@ static struct pci_dev *dlpar_find_new_de - return NULL; - } - --static struct pci_dev *dlpar_pci_add_bus(struct device_node *dn) -+static void dlpar_pci_add_bus(struct device_node *dn) - { -- struct pci_dn *pdn = dn->data; -+ struct pci_dn *pdn = PCI_DN(dn); - struct pci_controller *phb = pdn->phb; - struct pci_dev *dev = NULL; - -@@ -139,7 +139,7 @@ static struct pci_dev *dlpar_pci_add_bus - if (!dev) { - printk(KERN_ERR "%s: failed to create pci dev for %s\n", - __FUNCTION__, dn->full_name); -- return NULL; -+ return; - } - - if (dev->hdr_type == PCI_HEADER_TYPE_BRIDGE || -@@ -156,35 +156,35 @@ static struct pci_dev *dlpar_pci_add_bus - - /* Add new devices to global lists. Register in proc, sysfs. */ - pci_bus_add_devices(phb->bus); -- -- /* Confirm new bridge dev was created */ -- dev = dlpar_find_new_dev(phb->bus, dn); -- if (dev) { -- if (dev->hdr_type != PCI_HEADER_TYPE_BRIDGE) { -- printk(KERN_ERR "%s: unexpected header type %d\n", -- __FUNCTION__, dev->hdr_type); -- return NULL; -- } -- } -- -- return dev; - } - - static int dlpar_add_pci_slot(char *drc_name, struct device_node *dn) - { - struct pci_dev *dev; -+ struct pci_controller *phb; - - if (pcibios_find_pci_bus(dn)) - return -EINVAL; - - /* Add pci bus */ -- dev = dlpar_pci_add_bus(dn); -+ dlpar_pci_add_bus(dn); -+ -+ /* Confirm new bridge dev was created */ -+ phb = PCI_DN(dn)->phb; -+ dev = dlpar_find_new_dev(phb->bus, dn); -+ - if (!dev) { - printk(KERN_ERR "%s: unable to add bus %s\n", __FUNCTION__, - drc_name); - return -EIO; - } - -+ if (dev->hdr_type != PCI_HEADER_TYPE_BRIDGE) { -+ printk(KERN_ERR "%s: unexpected header type %d, unable to add bus %s\n", -+ __FUNCTION__, dev->hdr_type, drc_name); -+ return -EIO; -+ } -+ - /* Add hotplug slot */ - if (rpaphp_add_slot(dn)) { - printk(KERN_ERR "%s: unable to add hotplug slot %s\n", |