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;
                        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)