diff options
Diffstat (limited to 'drivers/watchdog/da9055_wdt.c')
-rw-r--r-- | drivers/watchdog/da9055_wdt.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/drivers/watchdog/da9055_wdt.c b/drivers/watchdog/da9055_wdt.c index 709ea1aefebb..f5ad10546fc9 100644 --- a/drivers/watchdog/da9055_wdt.c +++ b/drivers/watchdog/da9055_wdt.c | |||
@@ -72,20 +72,21 @@ static int da9055_wdt_set_timeout(struct watchdog_device *wdt_dev, | |||
72 | DA9055_TWDSCALE_MASK, | 72 | DA9055_TWDSCALE_MASK, |
73 | da9055_wdt_maps[i].reg_val << | 73 | da9055_wdt_maps[i].reg_val << |
74 | DA9055_TWDSCALE_SHIFT); | 74 | DA9055_TWDSCALE_SHIFT); |
75 | if (ret < 0) | 75 | if (ret < 0) { |
76 | dev_err(da9055->dev, | 76 | dev_err(da9055->dev, |
77 | "Failed to update timescale bit, %d\n", ret); | 77 | "Failed to update timescale bit, %d\n", ret); |
78 | return ret; | ||
79 | } | ||
78 | 80 | ||
79 | wdt_dev->timeout = timeout; | 81 | wdt_dev->timeout = timeout; |
80 | 82 | ||
81 | return ret; | 83 | return 0; |
82 | } | 84 | } |
83 | 85 | ||
84 | static int da9055_wdt_ping(struct watchdog_device *wdt_dev) | 86 | static int da9055_wdt_ping(struct watchdog_device *wdt_dev) |
85 | { | 87 | { |
86 | struct da9055_wdt_data *driver_data = watchdog_get_drvdata(wdt_dev); | 88 | struct da9055_wdt_data *driver_data = watchdog_get_drvdata(wdt_dev); |
87 | struct da9055 *da9055 = driver_data->da9055; | 89 | struct da9055 *da9055 = driver_data->da9055; |
88 | int ret; | ||
89 | 90 | ||
90 | /* | 91 | /* |
91 | * We have a minimum time for watchdog window called TWDMIN. A write | 92 | * We have a minimum time for watchdog window called TWDMIN. A write |
@@ -94,18 +95,12 @@ static int da9055_wdt_ping(struct watchdog_device *wdt_dev) | |||
94 | mdelay(DA9055_TWDMIN); | 95 | mdelay(DA9055_TWDMIN); |
95 | 96 | ||
96 | /* Reset the watchdog timer */ | 97 | /* Reset the watchdog timer */ |
97 | ret = da9055_reg_update(da9055, DA9055_REG_CONTROL_E, | 98 | return da9055_reg_update(da9055, DA9055_REG_CONTROL_E, |
98 | DA9055_WATCHDOG_MASK, 1); | 99 | DA9055_WATCHDOG_MASK, 1); |
99 | |||
100 | return ret; | ||
101 | } | 100 | } |
102 | 101 | ||
103 | static void da9055_wdt_release_resources(struct kref *r) | 102 | static void da9055_wdt_release_resources(struct kref *r) |
104 | { | 103 | { |
105 | struct da9055_wdt_data *driver_data = | ||
106 | container_of(r, struct da9055_wdt_data, kref); | ||
107 | |||
108 | kfree(driver_data); | ||
109 | } | 104 | } |
110 | 105 | ||
111 | static void da9055_wdt_ref(struct watchdog_device *wdt_dev) | 106 | static void da9055_wdt_ref(struct watchdog_device *wdt_dev) |