Re: [Pcihpd-discuss] [patch 2/4] acpiphp: handle dock bridges

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2006-01-20 at 12:24 +0900, MUNEDA Takahiro wrote:
> Hi,
> 
> At Tue, 17 Jan 2006 16:56:59 -0800,
> Kristen Accardi <[email protected]> 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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux