Messages in this thread | | | Subject | Re: [Pcihpd-discuss] [patch 2/4] acpiphp: handle dock bridges | From | Kristen Accardi <> | Date | Fri, 20 Jan 2006 09:56:59 -0800 |
| |
On Fri, 2006-01-20 at 12:24 +0900, MUNEDA Takahiro wrote: > Hi, > > At Tue, 17 Jan 2006 16:56:59 -0800, > Kristen Accardi <kristen.c.accardi@intel.com> wrote: > > > > @@ -681,6 +713,88 @@ static int acpiphp_configure_ioapics(acp > (snip) > > +static int acpiphp_bus_add(struct acpiphp_func *func) > > +{ > > + acpi_handle phandle; > > + struct acpi_device *device, *pdevice; > > + int ret_val; > > + > > + acpi_get_parent(func->handle, &phandle); > > + if (acpi_bus_get_device(phandle, &pdevice)) { > > + dbg("no parent device, assuming NULL\n"); > > + pdevice = NULL; > > + } > > + ret_val = acpi_bus_add(&device, pdevice, func->handle, > > + ACPI_BUS_TYPE_DEVICE); > > + if (ret_val) > > + dbg("cannot add bridge to acpi list\n"); > > + > > + /* > > + * try to start anyway. We could have failed to add > > + * simply because this bus had previously been added > > + * on another dock. Don't bother with the return value > > + * we just keep going. > > + */ > > + ret_val = acpi_bus_start(device); > > + > > + return ret_val; > > +} > > + > > + > > + > > When the device is docked, acpi_bus_add() is called to register > the device into acpi list. But if the device is undocked, > acpi_bus_trim() doesn't called. > Can you hot-add/remove the dock station repeatedly? > > Thanks, > MUNE >
Yes you can. The reason for this is because even if we fail the call to acpi_bus_add(), we ignore the return value and call acpi_bus_start() anyway.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |