mraa_adv_func: Updated signature of gpio_init_internal_replace()
mraa_adv_func_t->gpio_init_internal_replace() now has mraa_gpio_context parameter so that override function can access both physical and logical pin numbers. Signed-off-by: Henry Bruce <henry.bruce@intel.com> Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
This commit is contained in:
committed by
Brendan Le Foll
parent
86a0e10c03
commit
ed0124cc70
@@ -32,7 +32,7 @@
|
||||
#define IS_FUNC_DEFINED(dev, func) (dev != NULL && dev->advance_func != NULL && dev->advance_func->func != NULL)
|
||||
|
||||
typedef struct {
|
||||
mraa_result_t (*gpio_init_internal_replace) (int pin);
|
||||
mraa_result_t (*gpio_init_internal_replace) (mraa_gpio_context dev, int pin);
|
||||
mraa_result_t (*gpio_init_pre) (int pin);
|
||||
mraa_result_t (*gpio_init_post) (mraa_gpio_context dev);
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ mraa_gpio_init_internal(mraa_adv_func_t* func_table, int pin)
|
||||
dev->pin = pin;
|
||||
|
||||
if (IS_FUNC_DEFINED(dev, gpio_init_internal_replace)) {
|
||||
status = dev->advance_func->gpio_init_internal_replace(pin);
|
||||
status = dev->advance_func->gpio_init_internal_replace(dev, pin);
|
||||
if (status == MRAA_SUCCESS)
|
||||
return dev;
|
||||
else
|
||||
@@ -165,7 +165,8 @@ mraa_gpio_init(int pin)
|
||||
syslog(LOG_CRIT, "gpio: mraa_gpio_init_raw(%d) returned error", pin);
|
||||
return NULL;
|
||||
}
|
||||
r->phy_pin = pin;
|
||||
if (r->phy_pin == -1)
|
||||
r->phy_pin = pin;
|
||||
|
||||
if (IS_FUNC_DEFINED(r, gpio_init_post)) {
|
||||
mraa_result_t ret = r->advance_func->gpio_init_post(r);
|
||||
|
||||
@@ -400,7 +400,7 @@ mraa_ftdi_ft4222_i2c_stop(mraa_i2c_context dev)
|
||||
/******************* GPIO functions *******************/
|
||||
|
||||
static mraa_result_t
|
||||
mraa_ftdi_ft4222_gpio_init_internal_replace(int pin)
|
||||
mraa_ftdi_ft4222_gpio_init_internal_replace(mraa_gpio_context dev, int pin)
|
||||
{
|
||||
if ((pin - numI2cGpioExpanderPins) == 0 || (pin - numI2cGpioExpanderPins) == 1) {
|
||||
syslog(LOG_NOTICE, "Closing I2C interface to enable GPIO%d\n", pin);
|
||||
|
||||
Reference in New Issue
Block a user