static INT32 pan_direct_gpio_close(struct pan_device *dev) { /* Un-register an 1mS cycle interrupt ISR */ pan_set_gpio(POS_GPIO_POWER_LED, !POS_GPIO_POWER_LED_POLAR); //turn off power led osal_interrupt_unregister_lsr(7, pan_direct_gpio_interrupt); return SUCCESS; }
/********************************************************** * Name : hcdi_s3602_close * Description : close the usb host controller s3602 device * Parameter : hc_dev : usb host controller device pointer * Return : RET_SUCCESS: success * RET_FAILURE: error ***********************************************************/ RET_CODE hcdi_s3602_close_ex(struct usb_hc_device* hc_dev) { struct hc_s3602_private* p_priv = hc_dev->priv_ctrl; if (OSAL_E_OK != osal_interrupt_unregister_lsr(p_priv->int_id, (ISR_PROC) hcd_s3602_isr_ex)) { HCDI_CMD_PRINTF("Unregister interrupt of %s failed!\n", hc_dev->name); HCDI_CMD_ASSERT(0);//necessary, maybe os bug } hcd_software_rst_usbip(hc_dev->base_addr); return RET_SUCCESS; }
void SetLNBShortDetect(UINT32 flag) { #if(SYS_LNB_SHORT_DET == SYS_FUNC_ON) static UINT8 set = 0; if(!set && flag) { osal_interrupt_register_lsr(7, lnb_power_short_detect, 0); set = 1; } else if(set && !flag) { osal_interrupt_unregister_lsr(7, lnb_power_short_detect); lnb_power_short = SIGNAL_STATUS_LNBNORMAL; led_display_flag = 0; set = 0; } #endif }
void Set12VShortDetect(UINT32 flag) { #if(defined(SYS_12V_SWITCH) && defined(SYS_12V_SHORT_DET)) #if(SYS_12V_SWITCH==SYS_FUNC_ON && SYS_12V_SHORT_DET == SYS_FUNC_ON) UIChChgSet12VSetCB(v12_set_callback); static UINT8 set = 0; if(!set && flag) { osal_interrupt_register_lsr(7, v12_power_short_detect, 0); set = 1; } else if(set && !flag) { osal_interrupt_unregister_lsr(7, v12_power_short_detect); v12_power_short = SIGNAL_STATUS_LNBNORMAL; led_display_flag = 0; set = 0; } #endif #endif }