diff options
author | sharma-mts <86847754+sharma-mts@users.noreply.github.com> | 2022-01-25 10:50:42 -0600 |
---|---|---|
committer | John Klug <john.klug@multitech.com> | 2022-02-16 16:13:43 -0600 |
commit | 9934194837157908acdf39665a4730d46176eb83 (patch) | |
tree | 3419154bae8998d3579848779abd4a4832a1dec2 /io-module/gpio.c | |
parent | 25a9a0239427de73c777b827d922642e6f46b646 (diff) | |
download | mts-io-9934194837157908acdf39665a4730d46176eb83.tar.gz mts-io-9934194837157908acdf39665a4730d46176eb83.tar.bz2 mts-io-9934194837157908acdf39665a4730d46176eb83.zip |
GPIO descriptor feature, remove mts-io-0 platform device4.9.0
Diffstat (limited to 'io-module/gpio.c')
-rw-r--r-- | io-module/gpio.c | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/io-module/gpio.c b/io-module/gpio.c index e754ed6..10f076b 100644 --- a/io-module/gpio.c +++ b/io-module/gpio.c @@ -65,7 +65,11 @@ ssize_t mts_attr_show_gpio_pin(struct device *dev, mutex_lock(&mts_io_mutex); - value = gpio_get_value_cansleep(pin->pin.gpio); + if (pin->do_gpio_desc == 1) { + value = gpiod_get_value_cansleep(pin->desc); + } else { + value = gpio_get_value_cansleep(pin->pin.gpio); + } mutex_unlock(&mts_io_mutex); @@ -99,9 +103,11 @@ static ssize_t mts_attr_store_gpio_pin(struct device *dev, } mutex_lock(&mts_io_mutex); - - gpio_set_value_cansleep(pin->pin.gpio, value); - + if (pin->do_gpio_desc == 1) { + gpiod_set_value_cansleep(pin->desc, value); + } else { + gpio_set_value_cansleep(pin->pin.gpio, value); + } mutex_unlock(&mts_io_mutex); return count; @@ -112,12 +118,17 @@ static int reset_gpio_pin(struct gpio_pin *pin, unsigned int delay_ms, unsigned if (!pin) { return -ENODEV; } - - gpio_set_value_cansleep(pin->pin.gpio, value); - + if (pin->do_gpio_desc == 1) { + gpiod_set_value_cansleep(pin->desc, value); + } else { + gpio_set_value_cansleep(pin->pin.gpio, value); + } mdelay(delay_ms); - - gpio_set_value_cansleep(pin->pin.gpio, !value); + if (pin->do_gpio_desc == 1) { + gpiod_set_value_cansleep(pin->desc, !value); + } else { + gpio_set_value_cansleep(pin->pin.gpio, !value); + } return 0; } |