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; }
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; }