static int h4_close(void){
    // first remove run loop handler
	btstack_run_loop_remove_data_source(&hci_transport_h4_dma_ds);
    
    // close device 
    // ...
    return 0;
}
Exemple #2
0
void uhid_unregister(bthid_dev_t *dev) {
    if (!dev->ds)
        return;
    btstack_run_loop_remove_data_source(dev->ds);
    // auto-destroy
    close(dev->ds->fd);
    free(dev->ds);
}
/**
 * @brief Deinitialize SPI
 */
static int btstack_em9304_spi_embedded_close(void){
    // remove data source
    btstack_run_loop_disable_data_source_callbacks(&btstack_em9304_spi_embedded_data_source, DATA_SOURCE_CALLBACK_POLL);
    btstack_run_loop_remove_data_source(&btstack_em9304_spi_embedded_data_source);

    // stop lower layer
    hal_em9304_spi_deinit();
    return 0;
}
static int h4_close(void){

    // remove data source
    btstack_run_loop_disable_data_source_callbacks(&hci_transport_h4_dma_ds, DATA_SOURCE_CALLBACK_POLL);
	btstack_run_loop_remove_data_source(&hci_transport_h4_dma_ds);
    
    // close device 
    // ...
    return 0;
}
static int h4_close(void){

    mtk_bt_disable(hci_transport_h4->ds->fd);

    // first remove run loop handler
	btstack_run_loop_remove_data_source(hci_transport_h4->ds);
    
    // free struct
    free(hci_transport_h4->ds);
    hci_transport_h4->ds = NULL;
    return 0;
}