RE: [RFC/Patch 0/12] ACPI based root bridge hot-add

From: Dely Sy
Date: Tue Mar 22 2005 - 20:51:52 EST


On Monday, March 21, 2005 5:07 PM, Dely Sy wrote:
> On Monday, March 21, 2005 10:05 AM, Rajesh Shah wrote:
> > On Fri, Mar 18, 2005 at 09:13:32PM -0800, Greg KH wrote:
> > > - Does this break the i386 acpiphp functionality?

> > Dely Sy had tested hotplug with an earlier version of my patches
> > (with minor differences from the current series) on i386 and it
> > worked fine. She probably hasn't tested the latest one. Dely,
> > could you check that please?

> I tested an earlier version of this patch on my i386 system with
> PCI Express hot-plug slots. The i386 acpiphp functionality worked
> fine - i.e. I was able to do hot-plug of single- & multi-function
> cards.

> I'll check this new patch on my system.

Earlier I reported that Matthew's acpiphp rewrite had problem in
powering down slot on my i386 system. The following patch is
needed to get the acpiphp rewrite properly powering down the slot.
A similar patch was sent out to Matthew for comment and Rajesh
had tested the patch on Tiger4.

I just did a test of Rajesh's latest patch on 2.6.11.5 with
Wilcox's acpiphp rewrite and the following patch. Hot-plug of
PCI Express card worked fine on my i386 system

Thanks,
Dely

Signed-off-by: Dely Sy <dely.l.sy@xxxxxxxxx>

diff -urpN linux-2.6.11.5rbha/drivers/pci/hotplug/acpiphp_glue.c linux-2.6.11.5rbhatst/drivers/pci/hotplug/acpiphp_glue.c
--- linux-2.6.11.5rbha/drivers/pci/hotplug/acpiphp_glue.c 2005-03-22 00:56:04.000000000 -0800
+++ linux-2.6.11.5rbhatst/drivers/pci/hotplug/acpiphp_glue.c 2005-03-22 23:21:23.000000000 -0800
@@ -586,7 +586,7 @@ static int power_off_slot(struct acpiphp
list_for_each (l, &slot->funcs) {
func = list_entry(l, struct acpiphp_func, sibling);

- if (func->pci_dev && (func->flags & FUNC_HAS_PS3)) {
+ if (func->flags & FUNC_HAS_PS3) {
status = acpi_evaluate_object(func->handle, "_PS3", NULL, NULL);
if (ACPI_FAILURE(status)) {
warn("%s: _PS3 failed\n", __FUNCTION__);
@@ -601,7 +601,7 @@ static int power_off_slot(struct acpiphp
func = list_entry(l, struct acpiphp_func, sibling);

/* We don't want to call _EJ0 on non-existing functions. */
- if (func->pci_dev && (func->flags & FUNC_HAS_EJ0)) {
+ if (func->flags & FUNC_HAS_EJ0) {
/* _EJ0 method take one argument */
arg_list.count = 1;
arg_list.pointer = &arg;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/