Re: [PATCH] ACPI: fix a regression of ACPI device driver autoloading

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

 



applied

thanks,
-Len

On Thursday 20 March 2008, Thomas Renninger wrote:
> On Thu, 2008-03-20 at 16:40 +0800, Zhang, Rui wrote:
> > From: Zhang Rui <rui.zhang@xxxxxxxxx>
> > 
> > Fix a regression of ACPI driver autoloading.
> Good catch.
> Patch looks correct.
> This should still be 2.6.25 material?
> 
> > commit 3620f2f2f39e7870cf1a4fb2e34063a142f28716 sets the cid of
> > ACPI video/dock/bay device and leaves the hid empty.
> > As a result, "modalias" should export the cid for
> > devices which don't have a hid.
> > 
> > ACPI Video driver is not autoloaded with
> > commit 3620f2f2f39e7870cf1a4fb2e34063a142f28716 applied.
> > "cat /sys/.../device:03(acpi video bus)/modalias" shows nothing.
> > 
> > ACPI Video driver is autoloaded after revert that commit.
> > "cat /sys/.../LNXVIDEO:0x/modalias" shows "acpi:LNXVIDEO:"
> > 
> > ACPI Video driver is autoloaded with commit
> > 3620f2f2f39e7870cf1a4fb2e34063a142f28716 and this patch applied.
> > "cat /sys/.../device:03(acpi video bus)/modalias"
> > shows "acpi:LNXVIDEO:"
> > 
> > CC: Thomas Renninger <trenn@xxxxxxxxxx>
> > CC: Kay Sievers <kasievers@xxxxxxxxxx>
> > CC: Frank Seidel <fseidel@xxxxxxx>
> > CC: Len Brown: <len.brown@xxxxxxxxx>
> > Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
> 
> Signed-off-by: Thomas Renninger <trenn@xxxxxxx>
> 
> Thanks,
> 
>     Thomas
> > 
> > ---
> >  drivers/acpi/scan.c |   18 ++++++++++++------
> >  1 file changed, 12 insertions(+), 6 deletions(-)
> > 
> > Index: linux-2.6/drivers/acpi/scan.c
> > ===================================================================
> > --- linux-2.6.orig/drivers/acpi/scan.c
> > +++ linux-2.6/drivers/acpi/scan.c
> > @@ -39,20 +39,26 @@ static int create_modalias(struct acpi_d
> >  			   int size)
> >  {
> >  	int len;
> > +	int count;
> >  
> > -	if (!acpi_dev->flags.hardware_id)
> > +	if (!acpi_dev->flags.hardware_id && !acpi_dev->flags.compatible_ids)
> >  		return -ENODEV;
> >  
> > -	len = snprintf(modalias, size, "acpi:%s:",
> > -		       acpi_dev->pnp.hardware_id);
> > -	if (len < 0 || len >= size)
> > -		return -EINVAL;
> > +	len = snprintf(modalias, size, "acpi:");
> >  	size -= len;
> >  
> > +	if (acpi_dev->flags.hardware_id) {
> > +		count = snprintf(&modalias[len], size, "%s:",
> > +				 acpi_dev->pnp.hardware_id);
> > +		if (count < 0 || count >= size)
> > +			return -EINVAL;
> > +		len += count;
> > +		size -= count;
> > +	}
> > +
> >  	if (acpi_dev->flags.compatible_ids) {
> >  		struct acpi_compatible_id_list *cid_list;
> >  		int i;
> > -		int count;
> >  
> >  		cid_list = acpi_dev->pnp.cid_list;
> >  		for (i = 0; i < cid_list->count; i++) {
> > 
> > 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 


--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux