static irqreturn_t sirf_wakeup_handler()

in sirf.c [188:203]


static irqreturn_t sirf_wakeup_handler(int irq, void *dev_id)
{
	struct sirf_data *data = dev_id;
	struct device *dev = &data->serdev->dev;
	int ret;

	ret = gpiod_get_value_cansleep(data->wakeup);
	dev_dbg(dev, "%s - wakeup = %d\n", __func__, ret);
	if (ret < 0)
		goto out;

	data->active = ret;
	wake_up_interruptible(&data->power_wait);
out:
	return IRQ_HANDLED;
}