aio: added context validity and replace function checks to aio_close()
Added standard context validity check, another check for a replace function and corrected a return statement to fit our standard code style. Signed-off-by: Alex Tereschenko <alext.mkrs@gmail.com> Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
This commit is contained in:
committed by
Brendan Le Foll
parent
e43459d031
commit
917a1bd371
@@ -78,6 +78,7 @@ typedef struct {
|
|||||||
mraa_result_t (*i2c_stop_replace) (mraa_i2c_context dev);
|
mraa_result_t (*i2c_stop_replace) (mraa_i2c_context dev);
|
||||||
|
|
||||||
mraa_result_t (*aio_init_internal_replace) (mraa_aio_context dev, int pin);
|
mraa_result_t (*aio_init_internal_replace) (mraa_aio_context dev, int pin);
|
||||||
|
mraa_result_t (*aio_close_replace) (mraa_aio_context dev);
|
||||||
int (*aio_read_replace) (mraa_aio_context dev);
|
int (*aio_read_replace) (mraa_aio_context dev);
|
||||||
mraa_result_t (*aio_get_valid_fp) (mraa_aio_context dev);
|
mraa_result_t (*aio_get_valid_fp) (mraa_aio_context dev);
|
||||||
mraa_result_t (*aio_init_pre) (unsigned int aio);
|
mraa_result_t (*aio_init_pre) (unsigned int aio);
|
||||||
|
|||||||
@@ -225,13 +225,22 @@ mraa_aio_read_float(mraa_aio_context dev)
|
|||||||
mraa_result_t
|
mraa_result_t
|
||||||
mraa_aio_close(mraa_aio_context dev)
|
mraa_aio_close(mraa_aio_context dev)
|
||||||
{
|
{
|
||||||
if (NULL != dev) {
|
if (dev == NULL) {
|
||||||
if (dev->adc_in_fp != -1)
|
syslog(LOG_ERR, "aio: close: context is invalid");
|
||||||
close(dev->adc_in_fp);
|
return MRAA_ERROR_INVALID_HANDLE;
|
||||||
free(dev);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return (MRAA_SUCCESS);
|
if (IS_FUNC_DEFINED(dev, aio_close_replace)) {
|
||||||
|
return dev->advance_func->aio_close_replace(dev);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dev->adc_in_fp != -1) {
|
||||||
|
close(dev->adc_in_fp);
|
||||||
|
}
|
||||||
|
|
||||||
|
free(dev);
|
||||||
|
|
||||||
|
return MRAA_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
mraa_result_t
|
mraa_result_t
|
||||||
|
|||||||
Reference in New Issue
Block a user