summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Nicholson <mike.nicholson@multitech.com>2021-05-06 15:07:56 -0500
committerMike Nicholson <mike.nicholson@multitech.com>2021-05-06 15:07:56 -0500
commit086b95577ffa893125aa9f21c02b4dff9b712b5a (patch)
treebd63e3b246d91b42e994fe1a73d8e31a2cdc0bd4
parent08d9b83c08025b738c712ff6486e5aa245785091 (diff)
downloadmtac-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.c15
-rw-r--r--mtac.h2
2 files changed, 13 insertions, 4 deletions
diff --git a/mtac.c b/mtac.c
index cb31187..c2cad4e 100644
--- a/mtac.c
+++ b/mtac.c
@@ -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);
diff --git a/mtac.h b/mtac.h
index 8b5b09d..679a16c 100644
--- a/mtac.h
+++ b/mtac.h
@@ -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 */