Exemple #1
0
/**
* omap_hsi_io_wakeup_check - Check if IO wakeup is from HSI and schedule HSI
*			     processing tasklet
*
* Return value : * 0 if HSI tasklet scheduled.
*		 * negative value else.
*/
int omap_hsi_io_wakeup_check(void)
{
	int hsi_port, ret = -1;

	/* Modem HSI wakeup */
	if (omap_hsi_is_io_wakeup_from_hsi(&hsi_port))
		ret = omap_hsi_wakeup(hsi_port);

	return ret;
}
Exemple #2
0
static void ifx_gpio_hsi_wakeup(struct hsi_dev *hsi_ctrl)
{
	int i;

	dev_info(hsi_ctrl->dev, "%s: start \n", __func__);

	for (i = 0; i < hsi_ctrl->max_p; i++) {
		dev_info(hsi_ctrl->dev, "%s: cawake_status %d for port_number %d \n", __func__,
			hsi_ctrl->hsi_port[i].cawake_status, hsi_ctrl->hsi_port[i].port_number);

#if 1
		omap_hsi_wakeup(hsi_ctrl->hsi_port[i].port_number);
#else
		if(hsi_ctrl->hsi_port[i].cawake_status == 0) {
			omap_hsi_wakeup(hsi_ctrl->hsi_port[i].port_number);
			dev_info(hsi_ctrl->dev, "%s: enter omap_hsi_wakeup \n", __func__);
		}
#endif
	}

	dev_info(hsi_ctrl->dev, "%s: end \n", __func__);
}