| 82 | } |
| 83 | |
| 84 | ft_error_t FSdCtrl_SetHandler(FT_INOUT FtsdCtrl_t *pFtsdCtrl, FT_IN FSdCtrl_IrqCallbackSelect_t selectIndex, |
| 85 | void *FuncPtr, void *Args) |
| 86 | { |
| 87 | Ft_assertNonvoid(pFtsdCtrl != NULL); |
| 88 | Ft_assertNonvoid(FuncPtr != NULL); |
| 89 | Ft_assertNonvoid(pFtsdCtrl->isReady == FT_COMPONENT_IS_READLY); |
| 90 | |
| 91 | switch (selectIndex) |
| 92 | { |
| 93 | case FTSDCTRL_DMADATAIRQID: |
| 94 | pFtsdCtrl->irqConfig.pDmaDataCallback = FuncPtr; |
| 95 | pFtsdCtrl->irqConfig.pDmaDataArgs = Args; |
| 96 | break; |
| 97 | case FTSDCTRL_CMDIRQID: |
| 98 | pFtsdCtrl->irqConfig.pCmdCallback = FuncPtr; |
| 99 | pFtsdCtrl->irqConfig.pCmdArgs = Args; |
| 100 | break; |
| 101 | case FTSDCTRL_ERRORIRQID: |
| 102 | pFtsdCtrl->irqConfig.pErrorCallback = FuncPtr; |
| 103 | pFtsdCtrl->irqConfig.pErrorArgs = Args; |
| 104 | break; |
| 105 | default: |
| 106 | return FTSDC_FAILURE; |
| 107 | } |
| 108 | |
| 109 | return FTSDC_SUCCESS; |
| 110 | } |