mraa: Remove global advance_func struct and place it in platform configuration
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
This commit is contained in:
@@ -57,6 +57,12 @@ mraa_intel_de3815()
|
||||
goto error;
|
||||
}
|
||||
|
||||
b->adv_func = (mraa_adv_func_t*) calloc(1, sizeof(mraa_adv_func_t));
|
||||
if (b->adv_func == NULL) {
|
||||
free(b->pins);
|
||||
goto error;
|
||||
}
|
||||
|
||||
strncpy(b->pins[0].name, "1.8v", 8);
|
||||
b->pins[0].capabilites = (mraa_pincapabilities_t){ 1, 0, 0, 0, 0, 0, 0, 0 };
|
||||
|
||||
|
||||
@@ -760,19 +760,19 @@ mraa_intel_edison_miniboard(mraa_board_t* b)
|
||||
return MRAA_ERROR_UNSPECIFIED;
|
||||
}
|
||||
|
||||
mraa_adv_func_t* adv_func = (mraa_adv_func_t*) calloc(1, sizeof(mraa_adv_func_t));
|
||||
if (adv_func == NULL) {
|
||||
b->adv_func = (mraa_adv_func_t*) calloc(1, sizeof(mraa_adv_func_t));
|
||||
if (b->adv_func == NULL) {
|
||||
free(b->pins);
|
||||
return MRAA_ERROR_UNSPECIFIED;
|
||||
}
|
||||
adv_func->gpio_init_post = &mraa_intel_edison_gpio_init_post;
|
||||
adv_func->pwm_init_pre = &mraa_intel_edison_pwm_init_pre;
|
||||
adv_func->i2c_init_pre = &mraa_intel_edison_i2c_init_pre;
|
||||
adv_func->i2c_set_frequency_replace = &mraa_intel_edison_i2c_freq;
|
||||
adv_func->spi_init_pre = &mraa_intel_edison_spi_init_pre;
|
||||
adv_func->gpio_mode_replace = &mraa_intel_edsion_mb_gpio_mode;
|
||||
adv_func->uart_init_pre = &mraa_intel_edison_uart_init_pre;
|
||||
adv_func->gpio_mmap_setup = &mraa_intel_edison_mmap_setup;
|
||||
b->adv_func = adv_func;
|
||||
b->adv_func->gpio_init_post = &mraa_intel_edison_gpio_init_post;
|
||||
b->adv_func->pwm_init_pre = &mraa_intel_edison_pwm_init_pre;
|
||||
b->adv_func->i2c_init_pre = &mraa_intel_edison_i2c_init_pre;
|
||||
b->adv_func->i2c_set_frequency_replace = &mraa_intel_edison_i2c_freq;
|
||||
b->adv_func->spi_init_pre = &mraa_intel_edison_spi_init_pre;
|
||||
b->adv_func->gpio_mode_replace = &mraa_intel_edsion_mb_gpio_mode;
|
||||
b->adv_func->uart_init_pre = &mraa_intel_edison_uart_init_pre;
|
||||
b->adv_func->gpio_mmap_setup = &mraa_intel_edison_mmap_setup;
|
||||
|
||||
int pos = 0;
|
||||
strncpy(b->pins[pos].name, "J17-1", 8);
|
||||
@@ -1141,32 +1141,32 @@ mraa_intel_edison_fab_c()
|
||||
b->gpio_count = 14;
|
||||
b->aio_count = 6;
|
||||
|
||||
mraa_adv_func_t* adv_func = (mraa_adv_func_t*) calloc(1, sizeof(mraa_adv_func_t));
|
||||
if (adv_func == NULL) {
|
||||
return NULL;
|
||||
b->adv_func = (mraa_adv_func_t*) calloc(1, sizeof(mraa_adv_func_t));
|
||||
if (b->adv_func == NULL) {
|
||||
goto error;
|
||||
}
|
||||
adv_func->gpio_dir_pre = &mraa_intel_edison_gpio_dir_pre;
|
||||
adv_func->gpio_init_post = &mraa_intel_edison_gpio_init_post;
|
||||
adv_func->gpio_close_pre = &mraa_intel_edison_gpio_close_pre;
|
||||
adv_func->gpio_dir_post = &mraa_intel_edison_gpio_dir_post;
|
||||
adv_func->i2c_init_pre = &mraa_intel_edison_i2c_init_pre;
|
||||
adv_func->i2c_set_frequency_replace = &mraa_intel_edison_i2c_freq;
|
||||
adv_func->aio_get_valid_fp = &mraa_intel_edison_aio_get_fp;
|
||||
adv_func->aio_init_pre = &mraa_intel_edison_aio_init_pre;
|
||||
adv_func->aio_init_post = &mraa_intel_edison_aio_init_post;
|
||||
adv_func->pwm_init_pre = &mraa_intel_edison_pwm_init_pre;
|
||||
adv_func->pwm_init_post = &mraa_intel_edison_pwm_init_post;
|
||||
adv_func->spi_init_pre = &mraa_intel_edison_spi_init_pre;
|
||||
adv_func->spi_init_post = &mraa_intel_edison_spi_init_post;
|
||||
adv_func->gpio_mode_replace = &mraa_intel_edison_gpio_mode_replace;
|
||||
adv_func->uart_init_pre = &mraa_intel_edison_uart_init_pre;
|
||||
adv_func->uart_init_post = &mraa_intel_edison_uart_init_post;
|
||||
adv_func->gpio_mmap_setup = &mraa_intel_edison_mmap_setup;
|
||||
adv_func->spi_lsbmode_replace = &mraa_intel_edison_spi_lsbmode_replace;
|
||||
b->adv_func = adv_func;
|
||||
b->adv_func->gpio_dir_pre = &mraa_intel_edison_gpio_dir_pre;
|
||||
b->adv_func->gpio_init_post = &mraa_intel_edison_gpio_init_post;
|
||||
b->adv_func->gpio_close_pre = &mraa_intel_edison_gpio_close_pre;
|
||||
b->adv_func->gpio_dir_post = &mraa_intel_edison_gpio_dir_post;
|
||||
b->adv_func->i2c_init_pre = &mraa_intel_edison_i2c_init_pre;
|
||||
b->adv_func->i2c_set_frequency_replace = &mraa_intel_edison_i2c_freq;
|
||||
b->adv_func->aio_get_valid_fp = &mraa_intel_edison_aio_get_fp;
|
||||
b->adv_func->aio_init_pre = &mraa_intel_edison_aio_init_pre;
|
||||
b->adv_func->aio_init_post = &mraa_intel_edison_aio_init_post;
|
||||
b->adv_func->pwm_init_pre = &mraa_intel_edison_pwm_init_pre;
|
||||
b->adv_func->pwm_init_post = &mraa_intel_edison_pwm_init_post;
|
||||
b->adv_func->spi_init_pre = &mraa_intel_edison_spi_init_pre;
|
||||
b->adv_func->spi_init_post = &mraa_intel_edison_spi_init_post;
|
||||
b->adv_func->gpio_mode_replace = &mraa_intel_edison_gpio_mode_replace;
|
||||
b->adv_func->uart_init_pre = &mraa_intel_edison_uart_init_pre;
|
||||
b->adv_func->uart_init_post = &mraa_intel_edison_uart_init_post;
|
||||
b->adv_func->gpio_mmap_setup = &mraa_intel_edison_mmap_setup;
|
||||
b->adv_func->spi_lsbmode_replace = &mraa_intel_edison_spi_lsbmode_replace;
|
||||
|
||||
b->pins = (mraa_pininfo_t*) malloc(sizeof(mraa_pininfo_t) * MRAA_INTEL_EDISON_PINCOUNT);
|
||||
if (b->pins == NULL) {
|
||||
free(b->adv_func);
|
||||
goto error;
|
||||
}
|
||||
|
||||
|
||||
@@ -160,16 +160,16 @@ mraa_intel_galileo_rev_d()
|
||||
b->pwm_max_period = 7968;
|
||||
b->pwm_min_period = 1;
|
||||
|
||||
mraa_adv_func_t* advance_func = (mraa_adv_func_t*) calloc(1, sizeof(mraa_adv_func_t));
|
||||
if (advance_func == NULL) {
|
||||
b->adv_func = (mraa_adv_func_t*) calloc(1, sizeof(mraa_adv_func_t));
|
||||
if (b->adv_func == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
advance_func->gpio_mmap_setup = &mraa_intel_galileo_g1_mmap_setup;
|
||||
advance_func->spi_lsbmode_replace = &mraa_intel_galileo_g1_spi_lsbmode_replace;
|
||||
b->adv_func = advance_func;
|
||||
b->adv_func->gpio_mmap_setup = &mraa_intel_galileo_g1_mmap_setup;
|
||||
b->adv_func->spi_lsbmode_replace = &mraa_intel_galileo_g1_spi_lsbmode_replace;
|
||||
|
||||
b->pins = (mraa_pininfo_t*) malloc(sizeof(mraa_pininfo_t) * MRAA_INTEL_GALILEO_REV_D_PINCOUNT);
|
||||
if (b->pins == NULL) {
|
||||
free(b->adv_func);
|
||||
goto error;
|
||||
}
|
||||
|
||||
|
||||
@@ -335,21 +335,21 @@ mraa_intel_galileo_gen2()
|
||||
b->pwm_max_period = 41666;
|
||||
b->pwm_min_period = 666;
|
||||
|
||||
mraa_adv_func_t* advance_func = (mraa_adv_func_t*) calloc(1, sizeof(mraa_adv_func_t));
|
||||
if (advance_func == NULL) {
|
||||
return NULL;
|
||||
b->adv_func = (mraa_adv_func_t*) calloc(1, sizeof(mraa_adv_func_t));
|
||||
if (b->adv_func == NULL) {
|
||||
goto error;
|
||||
}
|
||||
advance_func->gpio_close_pre = &mraa_intel_galileo_gen2_gpio_close_pre;
|
||||
advance_func->gpio_dir_pre = &mraa_intel_galileo_gen2_dir_pre;
|
||||
advance_func->i2c_init_pre = &mraa_intel_galileo_gen2_i2c_init_pre;
|
||||
advance_func->pwm_period_replace = &mraa_intel_galileo_gen2_pwm_period_replace;
|
||||
advance_func->gpio_mode_replace = &mraa_intel_galileo_gen2_gpio_mode_replace;
|
||||
advance_func->uart_init_pre = &mraa_intel_galileo_gen2_uart_init_pre;
|
||||
advance_func->gpio_mmap_setup = &mraa_intel_galileo_g2_mmap_setup;
|
||||
b->adv_func = advance_func;
|
||||
b->adv_func->gpio_close_pre = &mraa_intel_galileo_gen2_gpio_close_pre;
|
||||
b->adv_func->gpio_dir_pre = &mraa_intel_galileo_gen2_dir_pre;
|
||||
b->adv_func->i2c_init_pre = &mraa_intel_galileo_gen2_i2c_init_pre;
|
||||
b->adv_func->pwm_period_replace = &mraa_intel_galileo_gen2_pwm_period_replace;
|
||||
b->adv_func->gpio_mode_replace = &mraa_intel_galileo_gen2_gpio_mode_replace;
|
||||
b->adv_func->uart_init_pre = &mraa_intel_galileo_gen2_uart_init_pre;
|
||||
b->adv_func->gpio_mmap_setup = &mraa_intel_galileo_g2_mmap_setup;
|
||||
|
||||
b->pins = (mraa_pininfo_t*) malloc(sizeof(mraa_pininfo_t) * MRAA_INTEL_GALILEO_GEN_2_PINCOUNT);
|
||||
if (b->pins == NULL) {
|
||||
free(b->adv_func);
|
||||
goto error;
|
||||
}
|
||||
|
||||
|
||||
@@ -97,9 +97,6 @@ mraa_intel_minnow_max()
|
||||
b->platform_name = PLATFORM_NAME;
|
||||
b->phy_pin_count = MRAA_INTEL_MINNOW_MAX_PINCOUNT;
|
||||
b->gpio_count = MRAA_INTEL_MINNOW_MAX_PINCOUNT;
|
||||
b->aio_count = 0;
|
||||
b->adc_raw = 0;
|
||||
b->adc_supported = 0;
|
||||
b->adv_func = (mraa_adv_func_t*) calloc(1, sizeof(mraa_adv_func_t));
|
||||
|
||||
b->pins = (mraa_pininfo_t*) malloc(sizeof(mraa_pininfo_t) * MRAA_INTEL_MINNOW_MAX_PINCOUNT);
|
||||
@@ -107,7 +104,15 @@ mraa_intel_minnow_max()
|
||||
goto error;
|
||||
}
|
||||
|
||||
b->adv_func = (mraa_adv_func_t*) calloc(1, sizeof(mraa_adv_func_t));
|
||||
if (b->adv_func == NULL) {
|
||||
free(b->pins);
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (uname(&running_uname) != 0) {
|
||||
free(b->pins);
|
||||
free(b->adv_func);
|
||||
goto error;
|
||||
}
|
||||
|
||||
|
||||
@@ -38,22 +38,22 @@
|
||||
mraa_board_t*
|
||||
mraa_intel_nuc5()
|
||||
{
|
||||
mraa_board_t* b = (mraa_board_t*) malloc(sizeof(mraa_board_t));
|
||||
mraa_board_t* b = (mraa_board_t*) calloc(1, sizeof(mraa_board_t));
|
||||
if (b == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
b->platform_name = PLATFORM_NAME;
|
||||
b->phy_pin_count = MRAA_INTEL_NUC5_PINCOUNT;
|
||||
b->aio_count = 0;
|
||||
b->adc_raw = 0;
|
||||
b->adc_supported = 0;
|
||||
b->pwm_default_period = 0;
|
||||
b->pwm_max_period = 0;
|
||||
b->pwm_min_period = 0;
|
||||
|
||||
b->adv_func = (mraa_adv_func_t*) calloc(1, sizeof(mraa_adv_func_t));
|
||||
if (b->adv_func == NULL) {
|
||||
goto error;
|
||||
}
|
||||
|
||||
b->pins = (mraa_pininfo_t*) malloc(sizeof(mraa_pininfo_t) * MRAA_INTEL_NUC5_PINCOUNT);
|
||||
if (b->pins == NULL) {
|
||||
free(b->adv_func);
|
||||
goto error;
|
||||
}
|
||||
|
||||
@@ -134,11 +134,6 @@ mraa_intel_nuc5()
|
||||
b->def_i2c_bus = b->i2c_bus[0].bus_id;
|
||||
}
|
||||
|
||||
|
||||
b->spi_bus_count = 0;
|
||||
b->def_spi_bus = 0;
|
||||
b->uart_dev_count = 0;
|
||||
|
||||
return b;
|
||||
error:
|
||||
syslog(LOG_CRIT, "nuc5: Platform failed to initialise");
|
||||
|
||||
Reference in New Issue
Block a user