diff options
Diffstat (limited to 'drivers/acpi/ec.c')
-rw-r--r-- | drivers/acpi/ec.c | 17 |
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 | } |