Re: [patch 12/13] sony_acpi: allow multiple sony_acpi_values for the same .name

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

 



NAK,
included in sony-laptop.c series

thanks,
-Len

On Monday 05 February 2007 19:09, akpm@xxxxxxxxxxxxxxxxxxxx wrote:
> From: Mattia Dongili <malattia@xxxxxxxx>
> 
> The acpi handles are kept _only_ if both the requested .acpiget and .acpiset
> are available in the DSDT.  Currently only the SCDP/CDPW dualism is known.
> 
> Signed-off-by: Mattia Dongili <malattia@xxxxxxxx>
> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> ---
> 
>  drivers/acpi/sony_acpi.c |   44 +++++++++++++++++++++----------------
>  1 file changed, 25 insertions(+), 19 deletions(-)
> 
> diff -puN drivers/acpi/sony_acpi.c~sony_acpi-allow-multiple-sony_acpi_values-for-the-same-name drivers/acpi/sony_acpi.c
> --- a/drivers/acpi/sony_acpi.c~sony_acpi-allow-multiple-sony_acpi_values-for-the-same-name
> +++ a/drivers/acpi/sony_acpi.c
> @@ -68,7 +68,7 @@ static struct backlight_properties sony_
>  
>  static struct sony_acpi_value {
>  	char			*name;	 /* name of the entry */
> -	struct proc_dir_entry 	*proc;	 /* /proc entry */
> +	struct proc_dir_entry	*proc;	 /* /proc entry */
>  	char			*acpiget;/* name of the ACPI get function */
>  	char			*acpiset;/* name of the ACPI get function */
>  	int 			min;	 /* minimum allowed value or -1 */
> @@ -78,6 +78,7 @@ static struct sony_acpi_value {
>  	int			debug;	 /* active only in debug mode ? */
>  } sony_acpi_values[] = {
>  	{
> +		/* for backward compatibility only */
>  		.name		= "brightness",
>  		.acpiget	= "GBRT",
>  		.acpiset	= "SBRT",
> @@ -107,6 +108,14 @@ static struct sony_acpi_value {
>  		.debug		= 0,
>  	},
>  	{
> +		.name		= "cdpower",
> +		.acpiget	= "GCDP",
> +		.acpiset	= "CDPW",
> +		.min		= 0,
> +		.max		= 1,
> +		.debug		= 0,
> +	},
> +	{
>  		.name           = "audiopower",
>  		.acpiget        = "GAZP",
>  		.acpiset        = "AZPW",
> @@ -356,27 +365,24 @@ static int sony_acpi_add(struct acpi_dev
>  		if (!debug && item->debug)
>  			continue;
>  
> -		if (item->acpiget &&
> -		    ACPI_SUCCESS(acpi_get_handle(sony_acpi_handle,
> -		    		 item->acpiget, &handle)))
> -			proc_file_mode = S_IRUSR;
> -		else
> -			printk(LOG_PFX "unable to get ACPI handle for %s (get)\n",
> -					item->name);
> -
> -		if (item->acpiset &&
> -		    ACPI_SUCCESS(acpi_get_handle(sony_acpi_handle,
> -		    		 item->acpiset, &handle)))
> -			proc_file_mode |= S_IWUSR;
> -		else
> -			printk(LOG_PFX "unable to get ACPI handle for %s (set)\n",
> -					item->name);
> +		if (item->acpiget) {
> +			if (ACPI_FAILURE(acpi_get_handle(sony_acpi_handle,
> +							item->acpiget, &handle)))
> +				continue;
>  
> -		if (proc_file_mode == 0)
> -			continue;
> +			proc_file_mode |= S_IRUSR;
> +		}
> +
> +		if (item->acpiset) {
> +			if (ACPI_FAILURE(acpi_get_handle(sony_acpi_handle,
> +							item->acpiset, &handle)))
> +				continue;
> +
> +			proc_file_mode |= S_IWUSR;
> +		}
>  
>  		item->proc = create_proc_entry(item->name, proc_file_mode,
> -					       acpi_device_dir(device));
> +				acpi_device_dir(device));
>  		if (!item->proc) {
>  			printk(LOG_PFX "unable to create proc entry\n");
>  			result = -EIO;
> _
> -
> 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