summaryrefslogtreecommitdiff
path: root/mtac.c
diff options
context:
space:
mode:
Diffstat (limited to 'mtac.c')
-rw-r--r--mtac.c15
1 files changed, 12 insertions, 3 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);