Re: [PATCH v2] thinkpad_acpi: support new BIOS version string pattern

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

 



On Wed, Feb 11, 2015 at 01:43:10PM +0800, Adam Lee wrote:
> Latest ThinkPad models use a new string pattern of BIOS version,
> thinkpad_acpi won't be loaded automatically without this fix.
> 
> Signed-off-by: Adam Lee <adam.lee@xxxxxxxxxxxxx>
> ---

When sending updated versions of a patch or series, please include a changelog
after the ---, see Documentation/SubmittingPatches.

>  drivers/platform/x86/thinkpad_acpi.c | 26 ++++++++++++++++++++------
>  1 file changed, 20 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
> index c3d11fa..18b7594 100644
> --- a/drivers/platform/x86/thinkpad_acpi.c
> +++ b/drivers/platform/x86/thinkpad_acpi.c
> @@ -8883,17 +8883,31 @@ static bool __pure __init tpacpi_is_fw_digit(const char c)
>  	return (c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z');
>  }
>  
> -/* Most models: xxyTkkWW (#.##c); Ancient 570/600 and -SL lacks (#.##c) */
>  static bool __pure __init tpacpi_is_valid_fw_id(const char * const s,
>  						const char t)
>  {
> -	return s && strlen(s) >= 8 &&
> +	/*
> +	 * Most models: xxyTkkWW (#.##c)
> +	 * Ancient 570/600 and -SL lacks (#.##c)
> +	 */
> +	if (s && strlen(s) >= 8 &&
> +			tpacpi_is_fw_digit(s[0]) &&
> +			tpacpi_is_fw_digit(s[1]) &&
> +			s[2] == t &&
> +			(s[3] == 'T' || s[3] == 'N') &&
> +			tpacpi_is_fw_digit(s[4]) &&
> +			tpacpi_is_fw_digit(s[5]))

I'm not wild about these big boolean statements, but I also don't see something
that is obviously better. Typically we want to see indentation with tabs and
alignment with the initial line's arguments with spaces... but here that just
looks ugly as the too seemingly similar blocks end up with different
indentations due to the if and return... anyway, subjective and all that. So I'm
leaving it mostly alone, but I dropped one set of tabs from the above lines and
queued it.

Thanks Adam.

> +		return true;
> +
> +	/* New models: xxxyTkkW (#.##c); T550 and some others */
> +	return  s && strlen(s) >= 8 &&
>  		tpacpi_is_fw_digit(s[0]) &&
>  		tpacpi_is_fw_digit(s[1]) &&
> -		s[2] == t &&
> -		(s[3] == 'T' || s[3] == 'N') &&
> -		tpacpi_is_fw_digit(s[4]) &&
> -		tpacpi_is_fw_digit(s[5]);
> +		tpacpi_is_fw_digit(s[2]) &&
> +		s[3] == t &&
> +		(s[4] == 'T' || s[4] == 'N') &&
> +		tpacpi_is_fw_digit(s[5]) &&
> +		tpacpi_is_fw_digit(s[6]);



>  }
>  
>  /* returns 0 - probe ok, or < 0 - probe error.
> -- 
> 2.1.4
> 
> 

-- 
Darren Hart
Intel Open Source Technology Center

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
_______________________________________________
ibm-acpi-devel mailing list
ibm-acpi-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/ibm-acpi-devel




[Index of Archives]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Photo]     [Yosemite Photos]     [Yosemite Advice]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux