static int __init ppi_adc_init(void) { int ret; ret = dma_init(); if(ret) { return ret; } ret = ppi_init(); if(ret) { dma_close(); return ret; } ret = device_init(); if(ret) { ppi_close(); dma_close(); return ret; } /* Disable everything */ disable_dma(CH_PPI); bfin_write_PPI_CONTROL(bfin_read_PPI_CONTROL() & (~PORT_EN)); SSYNC(); return 0; }
GERR GD_I2S_TX_Close(void) { GERR err = GD_OK; SUB_DEVICE_S *pDev = prxDev; if(pDev->subDevID != I2S_DEV_RX_ID) { return GD_ERR_NOT_ALLOWED; } err = dma_close(pDev); if(err != GD_OK) { return err; } GD_TIMER_Delay(5); GD_I2S_RX_Disable(); memset((void *)pDev, 0, sizeof(SUB_DEVICE_S)); return GD_OK; }
static void __exit ppi_adc_close(void) { device_close(); ppi_close(); dma_close(); }