[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGdLNWFc5wwwcDzp+Htg4Uuqsp9GQvXuX2g-ZdqeZabw_2WyoQ@mail.gmail.com>
Date: Mon, 26 Jan 2015 19:52:43 -0700
From: Azael Avalos <coproscefalo@...il.com>
To: Darren Hart <dvhart@...radead.org>,
"platform-driver-x86@...r.kernel.org"
<platform-driver-x86@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Cc: Azael Avalos <coproscefalo@...il.com>
Subject: Re: [PATCH] toshiba_acpi: Add a check for TOS_NOT_SUPPORTED in the
sci_open function
Hi Darren,
Any input on this patch?
2015-01-18 19:17 GMT-07:00 Azael Avalos <coproscefalo@...il.com>:
> This was "toshiba_acpi: Change sci_open function return value"
>
> Some Toshiba laptops have "poorly implemented" SCI calls on their
> BIOSes and are not checking for sci_{open, close} calls, therefore,
> the sci_open function is failing and making some of the supported
> features unavailable (kbd backlight, touchpad, illumination, etc.).
>
> This patch checks wheter we receive TOS_NOT_SUPPORTED and returns
> 1, making the supported features work on such laptops.
>
> In the case that some laptops really do not support the SCI, all the
> SCI dependent functions check for TOS_NOT_SUPPORTED, and thus, not
> registering support for the queried feature.
>
> Signed-off-by: Azael Avalos <coproscefalo@...il.com>
> ---
> Darren,
>
> Hopefully this new patch eases some of the concerns of the previous
> patch, and this time I added a comment block explaining a bit, but of
> course, let me know if there is something else that needs change.
>
> Cheers
> Azael
>
> drivers/platform/x86/toshiba_acpi.c | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/drivers/platform/x86/toshiba_acpi.c b/drivers/platform/x86/toshiba_acpi.c
> index fc34a71..899ead6b 100644
> --- a/drivers/platform/x86/toshiba_acpi.c
> +++ b/drivers/platform/x86/toshiba_acpi.c
> @@ -389,6 +389,19 @@ static int sci_open(struct toshiba_acpi_dev *dev)
> } else if (out[0] == TOS_ALREADY_OPEN) {
> pr_info("Toshiba SCI already opened\n");
> return 1;
> + } else if (out[0] == TOS_NOT_SUPPORTED) {
> + /* Some BIOSes do not have the SCI open/close functions
> + * implemented and return 0x8000 (Not Supported), failing to
> + * register some supported features.
> + *
> + * Simply return 1 if we hit those affected laptops to make the
> + * supported features work.
> + *
> + * In the case that some laptops really do not support the SCI,
> + * all the SCI dependent functions check for TOS_NOT_SUPPORTED,
> + * and thus, not registering support for the queried feature.
> + */
> + return 1;
> } else if (out[0] == TOS_NOT_PRESENT) {
> pr_info("Toshiba SCI is not present\n");
> }
> --
> 2.2.1
>
--
-- El mundo apesta y vosotros apestais tambien --
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists