Skip to content

Commit

Permalink
toshiba_acpi: Fix regression caused by backlight extra check code
Browse files Browse the repository at this point in the history
Bug 86521 uncovered that some TOS6208 devices also return
non zero values on a write call to the backlight method,
thus getting caught and bailed out by the extra check code.

This patch changes the set_lcd_brightness function to its
"original" state by just adapting it to the new function
format.

Signed-off-by: Azael Avalos <coproscefalo@gmail.com>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
  • Loading branch information
Azael Avalos authored and Darren Hart committed Dec 3, 2014
1 parent 841e11c commit a39f46d
Showing 1 changed file with 4 additions and 17 deletions.
21 changes: 4 additions & 17 deletions drivers/platform/x86/toshiba_acpi.c
Original file line number Diff line number Diff line change
Expand Up @@ -928,9 +928,7 @@ static int lcd_proc_open(struct inode *inode, struct file *file)

static int set_lcd_brightness(struct toshiba_acpi_dev *dev, int value)
{
u32 in[TCI_WORDS] = { HCI_SET, HCI_LCD_BRIGHTNESS, 0, 0, 0, 0 };
u32 out[TCI_WORDS];
acpi_status status;
u32 hci_result;

if (dev->tr_backlight_supported) {
bool enable = !value;
Expand All @@ -941,20 +939,9 @@ static int set_lcd_brightness(struct toshiba_acpi_dev *dev, int value)
value--;
}

in[2] = value << HCI_LCD_BRIGHTNESS_SHIFT;
status = tci_raw(dev, in, out);
if (ACPI_FAILURE(status) || out[0] == TOS_FAILURE) {
pr_err("ACPI call to set brightness failed");
return -EIO;
}
/* Extra check for "incomplete" backlight method, where the AML code
* doesn't check for HCI_SET or HCI_GET and returns TOS_SUCCESS,
* the actual brightness, and in some cases the max brightness.
*/
if (out[2] > 0 || out[3] == 0xE000)
return -ENODEV;

return out[0] == TOS_SUCCESS ? 0 : -EIO;
value = value << HCI_LCD_BRIGHTNESS_SHIFT;
hci_result = hci_write1(dev, HCI_LCD_BRIGHTNESS, value);
return hci_result == TOS_SUCCESS ? 0 : -EIO;
}

static int set_lcd_status(struct backlight_device *bd)
Expand Down

0 comments on commit a39f46d

Please sign in to comment.