summaryrefslogtreecommitdiff
path: root/chip/mec1322/gpio.c
diff options
context:
space:
mode:
authorShawn Nematbakhsh <shawnn@chromium.org>2015-07-17 10:57:54 -0700
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2015-07-19 20:38:37 +0000
commit1f7ab338b10d65ddaf05d1b4650270d10580a932 (patch)
treef17c9418004809a96996f12d9c66a378299d631f /chip/mec1322/gpio.c
parent86192137049c269838241acc5dd5a2a41e5b71af (diff)
downloadchrome-ec-1f7ab338b10d65ddaf05d1b4650270d10580a932.tar.gz
cleanup: GPIO: Use common macro for converting mask to GPIO
The same calculation is used across the code, so move it to a common macro. BUG=chrome-os-partner:42104 TEST=Verify Glados still boots AP. BRANCH=None Change-Id: I90da348f37fc670971737cfc5ddcfb9c34096c4b Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/286169 Reviewed-by: Alec Berg <alecaberg@chromium.org>
Diffstat (limited to 'chip/mec1322/gpio.c')
-rw-r--r--chip/mec1322/gpio.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/chip/mec1322/gpio.c b/chip/mec1322/gpio.c
index 256e674ca2..dd52fb809a 100644
--- a/chip/mec1322/gpio.c
+++ b/chip/mec1322/gpio.c
@@ -54,7 +54,7 @@ test_mockable int gpio_get_level(enum gpio_signal signal)
if (mask == 0)
return 0;
- i = 31 - __builtin_clz(mask);
+ i = GPIO_MASK_TO_NUM(mask);
val = MEC1322_GPIO_CTL(gpio_list[signal].port, i);
return (val & (1 << 24)) ? 1 : 0;
@@ -67,7 +67,7 @@ void gpio_set_level(enum gpio_signal signal, int value)
if (mask == 0)
return;
- i = 31 - __builtin_clz(mask);
+ i = GPIO_MASK_TO_NUM(mask);
if (value)
MEC1322_GPIO_CTL(gpio_list[signal].port, i) |= (1 << 16);
@@ -80,7 +80,7 @@ void gpio_set_flags_by_mask(uint32_t port, uint32_t mask, uint32_t flags)
int i;
uint32_t val;
while (mask) {
- i = 31 - __builtin_clz(mask);
+ i = GPIO_MASK_TO_NUM(mask);
mask &= ~(1 << i);
val = MEC1322_GPIO_CTL(port, i);
@@ -147,7 +147,7 @@ int gpio_enable_interrupt(enum gpio_signal signal)
if (gpio_list[signal].mask == 0)
return EC_SUCCESS;
- i = 31 - __builtin_clz(gpio_list[signal].mask);
+ i = GPIO_MASK_TO_NUM(gpio_list[signal].mask);
port = gpio_list[signal].port;
girq_id = int_map[port].girq_id;
bit_id = (port - int_map[port].port_offset) * 8 + i;
@@ -165,7 +165,7 @@ int gpio_disable_interrupt(enum gpio_signal signal)
if (gpio_list[signal].mask == 0)
return EC_SUCCESS;
- i = 31 - __builtin_clz(gpio_list[signal].mask);
+ i = GPIO_MASK_TO_NUM(gpio_list[signal].mask);
port = gpio_list[signal].port;
girq_id = int_map[port].girq_id;
bit_id = (port - int_map[port].port_offset) * 8 + i;