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 | |
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)
-rw-r--r-- | mtac.c | 15 | ||||
-rw-r--r-- | mtac.h | 2 |
2 files changed, 13 insertions, 4 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); @@ -17,13 +17,13 @@ #define NUM_AP 0 #endif - #define PRODUCT_ID_MTAC_GPIOB "MTAC-GPIOB" #define PRODUCT_ID_MTAC_MFSER "MTAC-MFSER" #define PRODUCT_ID_MTAC_ETH "MTAC-ETH" #define PRODUCT_ID_MTAC_LORA "MTAC-LORA" #define PRODUCT_ID_MTAC_PULSE "MTAC-PULSE" #define PRODUCT_ID_MTAC_XDOT "MTAC-XDOT" +#define PRODUCT_ID_MTCDT3AC_DC "MTCDT3ACDC" /* Hardware version must be fewer characters than hw_version in struct mts_ap_eeprom_layout */ |