Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 309394
b: refs/heads/master
c: 85a2e40
h: refs/heads/master
v: v3
  • Loading branch information
Hans de Goede authored and Wim Van Sebroeck committed May 30, 2012
1 parent 4d0af99 commit 3e44b13
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 26 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: fb551405c0f8e15d6fc7ae6e16a5e15382f8b8ac
refs/heads/master: 85a2e40cb5053574cd3b1f33c00194309ce3704c
41 changes: 16 additions & 25 deletions trunk/drivers/hwmon/sch56xx-common.c
Original file line number Diff line number Diff line change
Expand Up @@ -334,18 +334,14 @@ static int watchdog_start(struct watchdog_device *wddev)
if (ret)
goto leave;

/* 2. Enable output (if not already enabled) */
if (!(data->watchdog_output_enable & SCH56XX_WDOG_OUTPUT_ENABLE)) {
val = data->watchdog_output_enable |
SCH56XX_WDOG_OUTPUT_ENABLE;
ret = sch56xx_write_virtual_reg(data->addr,
SCH56XX_REG_WDOG_OUTPUT_ENABLE,
val);
if (ret)
goto leave;
/* 2. Enable output */
val = data->watchdog_output_enable | SCH56XX_WDOG_OUTPUT_ENABLE;
ret = sch56xx_write_virtual_reg(data->addr,
SCH56XX_REG_WDOG_OUTPUT_ENABLE, val);
if (ret)
goto leave;

data->watchdog_output_enable = val;
}
data->watchdog_output_enable = val;

/* 3. Clear the watchdog event bit if set */
val = inb(data->addr + 9);
Expand Down Expand Up @@ -377,21 +373,16 @@ static int watchdog_stop(struct watchdog_device *wddev)
int ret = 0;
u8 val;

if (data->watchdog_output_enable & SCH56XX_WDOG_OUTPUT_ENABLE) {
val = data->watchdog_output_enable &
~SCH56XX_WDOG_OUTPUT_ENABLE;
mutex_lock(data->io_lock);
ret = sch56xx_write_virtual_reg(data->addr,
SCH56XX_REG_WDOG_OUTPUT_ENABLE,
val);
mutex_unlock(data->io_lock);
if (ret)
return ret;

data->watchdog_output_enable = val;
}
val = data->watchdog_output_enable & ~SCH56XX_WDOG_OUTPUT_ENABLE;
mutex_lock(data->io_lock);
ret = sch56xx_write_virtual_reg(data->addr,
SCH56XX_REG_WDOG_OUTPUT_ENABLE, val);
mutex_unlock(data->io_lock);
if (ret)
return ret;

return ret;
data->watchdog_output_enable = val;
return 0;
}

static const struct watchdog_ops watchdog_ops = {
Expand Down

0 comments on commit 3e44b13

Please sign in to comment.