diff options
author | Mike Nicholson <mike.nicholson@multitech.com> | 2021-05-06 15:07:56 -0500 |
---|---|---|
committer | Mike Nicholson <mike.nicholson@multitech.com> | 2021-05-06 15:07:56 -0500 |
commit | 086b95577ffa893125aa9f21c02b4dff9b712b5a (patch) | |
tree | bd63e3b246d91b42e994fe1a73d8e31a2cdc0bd4 /mtac.c | |
parent | 08d9b83c08025b738c712ff6486e5aa245785091 (diff) | |
download | mtac-086b95577ffa893125aa9f21c02b4dff9b712b5a.tar.gz mtac-086b95577ffa893125aa9f21c02b4dff9b712b5a.tar.bz2 mtac-086b95577ffa893125aa9f21c02b4dff9b712b5a.zip |
Add support for sub-board EEPROM, fix calls to i2c gpio extender (check4.0.8
cansleep)
Diffstat (limited to 'mtac.c')
-rw-r--r-- | mtac.c | 15 |
1 files changed, 12 insertions, 3 deletions
@@ -27,7 +27,7 @@ static const char* eeprom_file_name[NUM_AP] = { #endif #ifdef mtcpmhs /*2nd */ - "2-0050/eeprom", "2-0052/eeprom", "2-0050/eeprom" + "2-0050/eeprom", "2-0052/eeprom", "1-0052/eeprom" #endif #endif // NUM_AP > 0 }; @@ -250,9 +250,14 @@ ssize_t mtac_attr_show_ap_gpio_pin(struct kobject *kobj, log_debug("mtac_attr_show_ap_gpio_pin: State of mtac mutex is %s", mutex_is_locked(&mtac_mutex) ? "locked" : "unlocked"); + mutex_lock(&mtac_mutex); - value = gpio_get_value(pin->pin.gpio); + if(gpiod_cansleep(gpio_to_desc(pin->pin.gpio))) { + value = gpio_get_value_cansleep(pin->pin.gpio); + } else { + value = gpio_get_value(pin->pin.gpio); + } mutex_unlock(&mtac_mutex); @@ -299,7 +304,11 @@ ssize_t mtac_attr_store_ap_gpio_pin(struct kobject *kobj, mutex_is_locked(&mtac_mutex) ? "locked" : "unlocked"); mutex_lock(&mtac_mutex); - gpio_set_value(pin->pin.gpio, value); + if(gpiod_cansleep(gpio_to_desc(pin->pin.gpio))) { + gpio_set_value_cansleep(pin->pin.gpio, value); + } else { + gpio_set_value(pin->pin.gpio, value); + } mutex_unlock(&mtac_mutex); |