1: int32_t AG903_GPIOMgrClearCallback(uint8_t portch, uint32_t target,
AG903_GPIOMgrClbk clbk)
2: {
3: int32_t retval =
AG903_ENONE;
4: uint32_t loop;
5:
6:
if( (
AG903_GPIO_CH_NUM <= portch) ||
7: (NULL == clbk) ){
8:
return -
AG903_EINVAL;
9: }
10:
11:
for(loop=0; loop<
AG903_GPIO_CALLBACK_NUM; loop++) {
12:
if(clbk == GpioChStat[portch].intr[loop].clbk) {
13: GpioChStat[portch].intr[loop].target &= ~target;
14:
if(0 == target) {
15: GPIOMgr_DeleteCallback(portch, loop);
16: }
17:
break;
18: }
19: }
20:
if(
AG903_GPIO_CALLBACK_NUM <= loop) {
21: retval = -
AG903_EINVAL;
22: }
23:
24:
return retval;
25: }