diff options
| -rw-r--r-- | drivers/acpi/ec.c | 8 | ||||
| -rw-r--r-- | drivers/platform/x86/compal-laptop.c | 14 | ||||
| -rw-r--r-- | drivers/platform/x86/msi-laptop.c | 12 | ||||
| -rw-r--r-- | include/linux/acpi.h | 3 |
4 files changed, 15 insertions, 22 deletions
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c index 0b954c6702be..b19a18dd994f 100644 --- a/drivers/acpi/ec.c +++ b/drivers/acpi/ec.c | |||
| @@ -69,7 +69,6 @@ enum ec_command { | |||
| 69 | 69 | ||
| 70 | #define ACPI_EC_DELAY 500 /* Wait 500ms max. during EC ops */ | 70 | #define ACPI_EC_DELAY 500 /* Wait 500ms max. during EC ops */ |
| 71 | #define ACPI_EC_UDELAY_GLK 1000 /* Wait 1ms max. to get global lock */ | 71 | #define ACPI_EC_UDELAY_GLK 1000 /* Wait 1ms max. to get global lock */ |
| 72 | #define ACPI_EC_CDELAY 10 /* Wait 10us before polling EC */ | ||
| 73 | #define ACPI_EC_MSI_UDELAY 550 /* Wait 550us for MSI EC */ | 72 | #define ACPI_EC_MSI_UDELAY 550 /* Wait 550us for MSI EC */ |
| 74 | 73 | ||
| 75 | #define ACPI_EC_STORM_THRESHOLD 8 /* number of false interrupts | 74 | #define ACPI_EC_STORM_THRESHOLD 8 /* number of false interrupts |
| @@ -433,8 +432,7 @@ EXPORT_SYMBOL(ec_write); | |||
| 433 | 432 | ||
| 434 | int ec_transaction(u8 command, | 433 | int ec_transaction(u8 command, |
| 435 | const u8 * wdata, unsigned wdata_len, | 434 | const u8 * wdata, unsigned wdata_len, |
| 436 | u8 * rdata, unsigned rdata_len, | 435 | u8 * rdata, unsigned rdata_len) |
| 437 | int force_poll) | ||
| 438 | { | 436 | { |
| 439 | struct transaction t = {.command = command, | 437 | struct transaction t = {.command = command, |
| 440 | .wdata = wdata, .rdata = rdata, | 438 | .wdata = wdata, .rdata = rdata, |
| @@ -592,8 +590,6 @@ static void acpi_ec_gpe_query(void *ec_cxt) | |||
| 592 | mutex_unlock(&ec->lock); | 590 | mutex_unlock(&ec->lock); |
| 593 | } | 591 | } |
| 594 | 592 | ||
| 595 | static void acpi_ec_gpe_query(void *ec_cxt); | ||
| 596 | |||
| 597 | static int ec_check_sci(struct acpi_ec *ec, u8 state) | 593 | static int ec_check_sci(struct acpi_ec *ec, u8 state) |
| 598 | { | 594 | { |
| 599 | if (state & ACPI_EC_FLAG_SCI) { | 595 | if (state & ACPI_EC_FLAG_SCI) { |
| @@ -808,8 +804,6 @@ static int acpi_ec_add(struct acpi_device *device) | |||
| 808 | return -EINVAL; | 804 | return -EINVAL; |
| 809 | } | 805 | } |
| 810 | 806 | ||
| 811 | ec->handle = device->handle; | ||
| 812 | |||
| 813 | /* Find and register all query methods */ | 807 | /* Find and register all query methods */ |
| 814 | acpi_walk_namespace(ACPI_TYPE_METHOD, ec->handle, 1, | 808 | acpi_walk_namespace(ACPI_TYPE_METHOD, ec->handle, 1, |
| 815 | acpi_ec_register_query_methods, NULL, ec, NULL); | 809 | acpi_ec_register_query_methods, NULL, ec, NULL); |
diff --git a/drivers/platform/x86/compal-laptop.c b/drivers/platform/x86/compal-laptop.c index c16a27641ced..9b3afb6f0b13 100644 --- a/drivers/platform/x86/compal-laptop.c +++ b/drivers/platform/x86/compal-laptop.c | |||
| @@ -200,8 +200,8 @@ static bool extra_features; | |||
| 200 | * watching the output of address 0x4F (do an ec_transaction writing 0x33 | 200 | * watching the output of address 0x4F (do an ec_transaction writing 0x33 |
| 201 | * into 0x4F and read a few bytes from the output, like so: | 201 | * into 0x4F and read a few bytes from the output, like so: |
| 202 | * u8 writeData = 0x33; | 202 | * u8 writeData = 0x33; |
| 203 | * ec_transaction(0x4F, &writeData, 1, buffer, 32, 0); | 203 | * ec_transaction(0x4F, &writeData, 1, buffer, 32); |
| 204 | * That address is labelled "fan1 table information" in the service manual. | 204 | * That address is labeled "fan1 table information" in the service manual. |
| 205 | * It should be clear which value in 'buffer' changes). This seems to be | 205 | * It should be clear which value in 'buffer' changes). This seems to be |
| 206 | * related to fan speed. It isn't a proper 'realtime' fan speed value | 206 | * related to fan speed. It isn't a proper 'realtime' fan speed value |
| 207 | * though, because physically stopping or speeding up the fan doesn't | 207 | * though, because physically stopping or speeding up the fan doesn't |
| @@ -286,7 +286,7 @@ static int get_backlight_level(void) | |||
| 286 | static void set_backlight_state(bool on) | 286 | static void set_backlight_state(bool on) |
| 287 | { | 287 | { |
| 288 | u8 data = on ? BACKLIGHT_STATE_ON_DATA : BACKLIGHT_STATE_OFF_DATA; | 288 | u8 data = on ? BACKLIGHT_STATE_ON_DATA : BACKLIGHT_STATE_OFF_DATA; |
| 289 | ec_transaction(BACKLIGHT_STATE_ADDR, &data, 1, NULL, 0, 0); | 289 | ec_transaction(BACKLIGHT_STATE_ADDR, &data, 1, NULL, 0); |
| 290 | } | 290 | } |
| 291 | 291 | ||
| 292 | 292 | ||
| @@ -294,24 +294,24 @@ static void set_backlight_state(bool on) | |||
| 294 | static void pwm_enable_control(void) | 294 | static void pwm_enable_control(void) |
| 295 | { | 295 | { |
| 296 | unsigned char writeData = PWM_ENABLE_DATA; | 296 | unsigned char writeData = PWM_ENABLE_DATA; |
| 297 | ec_transaction(PWM_ENABLE_ADDR, &writeData, 1, NULL, 0, 0); | 297 | ec_transaction(PWM_ENABLE_ADDR, &writeData, 1, NULL, 0); |
| 298 | } | 298 | } |
| 299 | 299 | ||
| 300 | static void pwm_disable_control(void) | 300 | static void pwm_disable_control(void) |
| 301 | { | 301 | { |
| 302 | unsigned char writeData = PWM_DISABLE_DATA; | 302 | unsigned char writeData = PWM_DISABLE_DATA; |
| 303 | ec_transaction(PWM_DISABLE_ADDR, &writeData, 1, NULL, 0, 0); | 303 | ec_transaction(PWM_DISABLE_ADDR, &writeData, 1, NULL, 0); |
| 304 | } | 304 | } |
| 305 | 305 | ||
| 306 | static void set_pwm(int pwm) | 306 | static void set_pwm(int pwm) |
| 307 | { | 307 | { |
| 308 | ec_transaction(PWM_ADDRESS, &pwm_lookup_table[pwm], 1, NULL, 0, 0); | 308 | ec_transaction(PWM_ADDRESS, &pwm_lookup_table[pwm], 1, NULL, 0); |
| 309 | } | 309 | } |
| 310 | 310 | ||
| 311 | static int get_fan_rpm(void) | 311 | static int get_fan_rpm(void) |
| 312 | { | 312 | { |
| 313 | u8 value, data = FAN_DATA; | 313 | u8 value, data = FAN_DATA; |
| 314 | ec_transaction(FAN_ADDRESS, &data, 1, &value, 1, 0); | 314 | ec_transaction(FAN_ADDRESS, &data, 1, &value, 1); |
| 315 | return 100 * (int)value; | 315 | return 100 * (int)value; |
| 316 | } | 316 | } |
| 317 | 317 | ||
diff --git a/drivers/platform/x86/msi-laptop.c b/drivers/platform/x86/msi-laptop.c index 23fb2afda00b..821ad7bc1e26 100644 --- a/drivers/platform/x86/msi-laptop.c +++ b/drivers/platform/x86/msi-laptop.c | |||
| @@ -135,7 +135,7 @@ static int set_lcd_level(int level) | |||
| 135 | buf[1] = (u8) (level*31); | 135 | buf[1] = (u8) (level*31); |
| 136 | 136 | ||
| 137 | return ec_transaction(MSI_EC_COMMAND_LCD_LEVEL, buf, sizeof(buf), | 137 | return ec_transaction(MSI_EC_COMMAND_LCD_LEVEL, buf, sizeof(buf), |
| 138 | NULL, 0, 1); | 138 | NULL, 0); |
| 139 | } | 139 | } |
| 140 | 140 | ||
| 141 | static int get_lcd_level(void) | 141 | static int get_lcd_level(void) |
| @@ -144,7 +144,7 @@ static int get_lcd_level(void) | |||
| 144 | int result; | 144 | int result; |
| 145 | 145 | ||
| 146 | result = ec_transaction(MSI_EC_COMMAND_LCD_LEVEL, &wdata, 1, | 146 | result = ec_transaction(MSI_EC_COMMAND_LCD_LEVEL, &wdata, 1, |
| 147 | &rdata, 1, 1); | 147 | &rdata, 1); |
| 148 | if (result < 0) | 148 | if (result < 0) |
| 149 | return result; | 149 | return result; |
| 150 | 150 | ||
| @@ -157,7 +157,7 @@ static int get_auto_brightness(void) | |||
| 157 | int result; | 157 | int result; |
| 158 | 158 | ||
| 159 | result = ec_transaction(MSI_EC_COMMAND_LCD_LEVEL, &wdata, 1, | 159 | result = ec_transaction(MSI_EC_COMMAND_LCD_LEVEL, &wdata, 1, |
| 160 | &rdata, 1, 1); | 160 | &rdata, 1); |
| 161 | if (result < 0) | 161 | if (result < 0) |
| 162 | return result; | 162 | return result; |
| 163 | 163 | ||
| @@ -172,7 +172,7 @@ static int set_auto_brightness(int enable) | |||
| 172 | wdata[0] = 4; | 172 | wdata[0] = 4; |
| 173 | 173 | ||
| 174 | result = ec_transaction(MSI_EC_COMMAND_LCD_LEVEL, wdata, 1, | 174 | result = ec_transaction(MSI_EC_COMMAND_LCD_LEVEL, wdata, 1, |
| 175 | &rdata, 1, 1); | 175 | &rdata, 1); |
| 176 | if (result < 0) | 176 | if (result < 0) |
| 177 | return result; | 177 | return result; |
| 178 | 178 | ||
| @@ -180,7 +180,7 @@ static int set_auto_brightness(int enable) | |||
| 180 | wdata[1] = (rdata & 0xF7) | (enable ? 8 : 0); | 180 | wdata[1] = (rdata & 0xF7) | (enable ? 8 : 0); |
| 181 | 181 | ||
| 182 | return ec_transaction(MSI_EC_COMMAND_LCD_LEVEL, wdata, 2, | 182 | return ec_transaction(MSI_EC_COMMAND_LCD_LEVEL, wdata, 2, |
| 183 | NULL, 0, 1); | 183 | NULL, 0); |
| 184 | } | 184 | } |
| 185 | 185 | ||
| 186 | static ssize_t set_device_state(const char *buf, size_t count, u8 mask) | 186 | static ssize_t set_device_state(const char *buf, size_t count, u8 mask) |
| @@ -217,7 +217,7 @@ static int get_wireless_state(int *wlan, int *bluetooth) | |||
| 217 | u8 wdata = 0, rdata; | 217 | u8 wdata = 0, rdata; |
| 218 | int result; | 218 | int result; |
| 219 | 219 | ||
| 220 | result = ec_transaction(MSI_EC_COMMAND_WIRELESS, &wdata, 1, &rdata, 1, 1); | 220 | result = ec_transaction(MSI_EC_COMMAND_WIRELESS, &wdata, 1, &rdata, 1); |
| 221 | if (result < 0) | 221 | if (result < 0) |
| 222 | return -1; | 222 | return -1; |
| 223 | 223 | ||
diff --git a/include/linux/acpi.h b/include/linux/acpi.h index a2e910e01293..1deb2a73c2da 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h | |||
| @@ -150,8 +150,7 @@ extern int ec_read(u8 addr, u8 *val); | |||
| 150 | extern int ec_write(u8 addr, u8 val); | 150 | extern int ec_write(u8 addr, u8 val); |
| 151 | extern int ec_transaction(u8 command, | 151 | extern int ec_transaction(u8 command, |
| 152 | const u8 *wdata, unsigned wdata_len, | 152 | const u8 *wdata, unsigned wdata_len, |
| 153 | u8 *rdata, unsigned rdata_len, | 153 | u8 *rdata, unsigned rdata_len); |
| 154 | int force_poll); | ||
| 155 | 154 | ||
| 156 | #if defined(CONFIG_ACPI_WMI) || defined(CONFIG_ACPI_WMI_MODULE) | 155 | #if defined(CONFIG_ACPI_WMI) || defined(CONFIG_ACPI_WMI_MODULE) |
| 157 | 156 | ||
