Beispiel #1
0
static int mxskbd_suspend(struct platform_device *pdev, pm_message_t state)
{
	struct mxskbd_data *d = platform_get_drvdata(pdev);

	hw_lradc_stop_ladder(d->chan, LRADC_DELAY_TRIGGER_BUTTON);
	hw_lradc_set_delay_trigger_kick(LRADC_DELAY_TRIGGER_BUTTON, 0);
	hw_lradc_unuse_channel(d->chan);
	__raw_writel(BM_LRADC_CTRL1_LRADC0_IRQ_EN << d->chan,
		     d->base + HW_LRADC_CTRL1_CLR);
	mxskbd_close(d->input);
	return 0;
}
Beispiel #2
0
static int mxskbd_suspend(struct platform_device *pdev, pm_message_t state)
{
	int i;
	struct mxskbd_data *d = platform_get_drvdata(pdev);

	for (i = 0; i < MAX_CH; i++) {
		hw_lradc_stop_ladder(d->chan[i], LRADC_DELAY_TRIGGER_BUTTON);
		hw_lradc_unuse_channel(d->chan[i]);
	}
	hw_lradc_set_delay_trigger_kick(LRADC_DELAY_TRIGGER_BUTTON, 0);
	__raw_writel(BM_LRADC_CTRL1_LRADC0_IRQ_EN << d->chan[0],
		     d->base + HW_LRADC_CTRL1_CLR);
	mxskbd_close(d->input);

#ifdef ENABLE_BACKLIGHT_GPIO_CONTROL
	_keypad_set_backlight(0);
#endif

	return 0;
}