Re: [Pcihpd-discuss] Re: [patch 2/3] acpiphp: add dock event handling

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

 



On Fri, 2006-02-24 at 15:12 +0900, MUNEDA Takahiro wrote:
> At Thu, 23 Feb 2006 11:56:17 -0800,
> Kristen Accardi <[email protected]> wrote:
> > 
> > @@ -828,11 +862,21 @@ static int acpiphp_bus_add(struct acpiph
> >  		dbg("no parent device, assuming NULL\n");
> >  		pdevice = NULL;
> >  	}
> > +	if (!acpi_bus_get_device(func->handle, &device)) {
> > +		dbg("bus exists... trim\n");
> > +		/* this shouldn't be in here, so remove
> > +		 * the bus then re-add it...
> > +		 */
> > +		ret_val = acpi_bus_trim(device, 1);
> > +		dbg("acpi_bus_trim return %x\n", ret_val);
> > +	}
> >  	ret_val = acpi_bus_add(&device, pdevice, func->handle,
> > -			ACPI_BUS_TYPE_DEVICE);
> > -	if (ret_val)
> > -		dbg("cannot add bridge to acpi list\n");
> > -
> > +		ACPI_BUS_TYPE_DEVICE);
> > +	if (ret_val) {
> > +		dbg("error adding bus, %x\n",
> > +			-ret_val);
> > +		goto acpiphp_bus_add_out;
> > +	}
> >  	/*
> >  	 * try to start anyway.  We could have failed to add
> >  	 * simply because this bus had previously been added
> 
> Hi Kristen,
> 
> Why don't you call acpi_bus_trim() when the device is
> removed. This time, eject_dock() or disable_device()?
> So you don't need to call acpi_bus_trim() as error case.
> 
> Thanks,
> MUNE
> 

MUNE,
I added this because I found that in some laptops the dsdt reported a
bus present that wasn't actually, so the bus would be added at boot
time, but the PRT not read if the laptop was booted undocked.  Initially
I tried to get a handle to the existing bus, and then if the bus already
was added, just call acpi_bus_start() - but this did not cause the PRT
to be read in this case - the only thing that worked for me was to
remove the bus and readd it.  If there's a better way to handle this,
I'd appreciate the suggestion.  

Kristen

-
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