diff options
Diffstat (limited to 'include/linux/regmap.h')
-rw-r--r-- | include/linux/regmap.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/include/linux/regmap.h b/include/linux/regmap.h index 9adc7b21903d..f6673132431d 100644 --- a/include/linux/regmap.h +++ b/include/linux/regmap.h | |||
@@ -15,6 +15,7 @@ | |||
15 | 15 | ||
16 | #include <linux/list.h> | 16 | #include <linux/list.h> |
17 | #include <linux/rbtree.h> | 17 | #include <linux/rbtree.h> |
18 | #include <linux/delay.h> | ||
18 | #include <linux/err.h> | 19 | #include <linux/err.h> |
19 | #include <linux/bug.h> | 20 | #include <linux/bug.h> |
20 | #include <linux/lockdep.h> | 21 | #include <linux/lockdep.h> |
@@ -116,22 +117,22 @@ struct reg_sequence { | |||
116 | #define regmap_read_poll_timeout(map, addr, val, cond, sleep_us, timeout_us) \ | 117 | #define regmap_read_poll_timeout(map, addr, val, cond, sleep_us, timeout_us) \ |
117 | ({ \ | 118 | ({ \ |
118 | ktime_t timeout = ktime_add_us(ktime_get(), timeout_us); \ | 119 | ktime_t timeout = ktime_add_us(ktime_get(), timeout_us); \ |
119 | int ret; \ | 120 | int pollret; \ |
120 | might_sleep_if(sleep_us); \ | 121 | might_sleep_if(sleep_us); \ |
121 | for (;;) { \ | 122 | for (;;) { \ |
122 | ret = regmap_read((map), (addr), &(val)); \ | 123 | pollret = regmap_read((map), (addr), &(val)); \ |
123 | if (ret) \ | 124 | if (pollret) \ |
124 | break; \ | 125 | break; \ |
125 | if (cond) \ | 126 | if (cond) \ |
126 | break; \ | 127 | break; \ |
127 | if (timeout_us && ktime_compare(ktime_get(), timeout) > 0) { \ | 128 | if (timeout_us && ktime_compare(ktime_get(), timeout) > 0) { \ |
128 | ret = regmap_read((map), (addr), &(val)); \ | 129 | pollret = regmap_read((map), (addr), &(val)); \ |
129 | break; \ | 130 | break; \ |
130 | } \ | 131 | } \ |
131 | if (sleep_us) \ | 132 | if (sleep_us) \ |
132 | usleep_range((sleep_us >> 2) + 1, sleep_us); \ | 133 | usleep_range((sleep_us >> 2) + 1, sleep_us); \ |
133 | } \ | 134 | } \ |
134 | ret ?: ((cond) ? 0 : -ETIMEDOUT); \ | 135 | pollret ?: ((cond) ? 0 : -ETIMEDOUT); \ |
135 | }) | 136 | }) |
136 | 137 | ||
137 | #ifdef CONFIG_REGMAP | 138 | #ifdef CONFIG_REGMAP |