Skip to content

Commit

Permalink
ACPI: ec: Drop udelay() from poll mode. Loop by reading status field …
Browse files Browse the repository at this point in the history
…instead.

Signed-off-by: Len Brown <len.brown@intel.com>
  • Loading branch information
Alexey Starikovskiy authored and Len Brown committed Dec 8, 2006
1 parent a86e277 commit 50c1e11
Showing 1 changed file with 2 additions and 5 deletions.
7 changes: 2 additions & 5 deletions drivers/acpi/ec.c
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,6 @@ enum {

#define ACPI_EC_DELAY 500 /* Wait 500ms max. during EC ops */
#define ACPI_EC_UDELAY_GLK 1000 /* Wait 1ms max. to get global lock */
#define ACPI_EC_UDELAY 100 /* Poll @ 100us increments */
#define ACPI_EC_UDELAY_COUNT 1000 /* Wait 100ms max. during EC ops */

enum {
EC_INTR = 1, /* Output buffer full */
Expand Down Expand Up @@ -159,11 +157,10 @@ static int acpi_ec_check_status(struct acpi_ec *ec, u8 event)
static int acpi_ec_wait(struct acpi_ec *ec, u8 event)
{
if (acpi_ec_mode == EC_POLL) {
int i;
for (i = 0; i < ACPI_EC_UDELAY_COUNT; ++i) {
unsigned long delay = jiffies + msecs_to_jiffies(ACPI_EC_DELAY);
while (time_before(jiffies, delay)) {
if (acpi_ec_check_status(ec, event))
return 0;
udelay(ACPI_EC_UDELAY);
}
} else {
if (wait_event_timeout(ec->wait,
Expand Down

0 comments on commit 50c1e11

Please sign in to comment.