aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/ec.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/acpi/ec.c')
-rw-r--r--drivers/acpi/ec.c17
1 files changed, 3 insertions, 14 deletions
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c
index 8e665f2e3138..fca4140a50a9 100644
--- a/drivers/acpi/ec.c
+++ b/drivers/acpi/ec.c
@@ -170,22 +170,19 @@ acpi_ec_enter_burst_mode (
170 status = acpi_ec_read_status(ec); 170 status = acpi_ec_read_status(ec);
171 if (status != -EINVAL && 171 if (status != -EINVAL &&
172 !(status & ACPI_EC_FLAG_BURST)){ 172 !(status & ACPI_EC_FLAG_BURST)){
173 ACPI_DEBUG_PRINT((ACPI_DB_INFO,"entering burst mode \n"));
174 acpi_hw_low_level_write(8, ACPI_EC_BURST_ENABLE, &ec->command_addr); 173 acpi_hw_low_level_write(8, ACPI_EC_BURST_ENABLE, &ec->command_addr);
175 status = acpi_ec_wait(ec, ACPI_EC_EVENT_OBF); 174 status = acpi_ec_wait(ec, ACPI_EC_EVENT_OBF);
176 if (status){ 175 if (status){
177 acpi_enable_gpe(NULL, ec->gpe_bit, ACPI_NOT_ISR); 176 acpi_enable_gpe(NULL, ec->gpe_bit, ACPI_NOT_ISR);
178 ACPI_DEBUG_PRINT((ACPI_DB_ERROR," status = %d\n", status));
179 return_VALUE(-EINVAL); 177 return_VALUE(-EINVAL);
180 } 178 }
181 acpi_hw_low_level_read(8, &tmp, &ec->data_addr); 179 acpi_hw_low_level_read(8, &tmp, &ec->data_addr);
182 acpi_enable_gpe(NULL, ec->gpe_bit, ACPI_NOT_ISR); 180 acpi_enable_gpe(NULL, ec->gpe_bit, ACPI_NOT_ISR);
183 if(tmp != 0x90 ) {/* Burst ACK byte*/ 181 if(tmp != 0x90 ) {/* Burst ACK byte*/
184 ACPI_DEBUG_PRINT((ACPI_DB_ERROR,"Ack failed \n"));
185 return_VALUE(-EINVAL); 182 return_VALUE(-EINVAL);
186 } 183 }
187 } else 184 }
188 ACPI_DEBUG_PRINT((ACPI_DB_INFO,"already be in burst mode \n")); 185
189 atomic_set(&ec->leaving_burst , 0); 186 atomic_set(&ec->leaving_burst , 0);
190 return_VALUE(0); 187 return_VALUE(0);
191} 188}
@@ -202,7 +199,6 @@ acpi_ec_leave_burst_mode (
202 status = acpi_ec_read_status(ec); 199 status = acpi_ec_read_status(ec);
203 if (status != -EINVAL && 200 if (status != -EINVAL &&
204 (status & ACPI_EC_FLAG_BURST)){ 201 (status & ACPI_EC_FLAG_BURST)){
205 ACPI_DEBUG_PRINT((ACPI_DB_INFO,"leaving burst mode\n"));
206 acpi_hw_low_level_write(8, ACPI_EC_BURST_DISABLE, &ec->command_addr); 202 acpi_hw_low_level_write(8, ACPI_EC_BURST_DISABLE, &ec->command_addr);
207 status = acpi_ec_wait(ec, ACPI_EC_FLAG_IBF); 203 status = acpi_ec_wait(ec, ACPI_EC_FLAG_IBF);
208 if (status){ 204 if (status){
@@ -212,14 +208,7 @@ acpi_ec_leave_burst_mode (
212 } 208 }
213 acpi_enable_gpe(NULL, ec->gpe_bit, ACPI_NOT_ISR); 209 acpi_enable_gpe(NULL, ec->gpe_bit, ACPI_NOT_ISR);
214 status = acpi_ec_read_status(ec); 210 status = acpi_ec_read_status(ec);
215 if (status != -EINVAL && 211 }
216 (status & ACPI_EC_FLAG_BURST)) {
217 ACPI_DEBUG_PRINT((ACPI_DB_ERROR,"------->status fail\n"));
218 return_VALUE(-EINVAL);
219 }
220 }else
221 ACPI_DEBUG_PRINT((ACPI_DB_INFO,"already be in Non-burst mode \n"));
222 ACPI_DEBUG_PRINT((ACPI_DB_INFO,"leaving burst mode\n"));
223 212
224 return_VALUE(0); 213 return_VALUE(0);
225} 214}