pwrcdrv 31 drivers/input/misc/sirfsoc-onkey.c static int sirfsoc_pwrc_is_on_key_down(struct sirfsoc_pwrc_drvdata *pwrcdrv) pwrcdrv 33 drivers/input/misc/sirfsoc-onkey.c u32 state = sirfsoc_rtc_iobrg_readl(pwrcdrv->pwrc_base + pwrcdrv 40 drivers/input/misc/sirfsoc-onkey.c struct sirfsoc_pwrc_drvdata *pwrcdrv = pwrcdrv 43 drivers/input/misc/sirfsoc-onkey.c if (sirfsoc_pwrc_is_on_key_down(pwrcdrv)) { pwrcdrv 44 drivers/input/misc/sirfsoc-onkey.c schedule_delayed_work(&pwrcdrv->work, pwrcdrv 47 drivers/input/misc/sirfsoc-onkey.c input_event(pwrcdrv->input, EV_KEY, KEY_POWER, 0); pwrcdrv 48 drivers/input/misc/sirfsoc-onkey.c input_sync(pwrcdrv->input); pwrcdrv 54 drivers/input/misc/sirfsoc-onkey.c struct sirfsoc_pwrc_drvdata *pwrcdrv = dev_id; pwrcdrv 57 drivers/input/misc/sirfsoc-onkey.c int_status = sirfsoc_rtc_iobrg_readl(pwrcdrv->pwrc_base + pwrcdrv 60 drivers/input/misc/sirfsoc-onkey.c pwrcdrv->pwrc_base + PWRC_INT_STATUS); pwrcdrv 62 drivers/input/misc/sirfsoc-onkey.c input_event(pwrcdrv->input, EV_KEY, KEY_POWER, 1); pwrcdrv 63 drivers/input/misc/sirfsoc-onkey.c input_sync(pwrcdrv->input); pwrcdrv 64 drivers/input/misc/sirfsoc-onkey.c schedule_delayed_work(&pwrcdrv->work, pwrcdrv 70 drivers/input/misc/sirfsoc-onkey.c static void sirfsoc_pwrc_toggle_interrupts(struct sirfsoc_pwrc_drvdata *pwrcdrv, pwrcdrv 75 drivers/input/misc/sirfsoc-onkey.c int_mask = sirfsoc_rtc_iobrg_readl(pwrcdrv->pwrc_base + PWRC_INT_MASK); pwrcdrv 80 drivers/input/misc/sirfsoc-onkey.c sirfsoc_rtc_iobrg_writel(int_mask, pwrcdrv->pwrc_base + PWRC_INT_MASK); pwrcdrv 85 drivers/input/misc/sirfsoc-onkey.c struct sirfsoc_pwrc_drvdata *pwrcdrv = input_get_drvdata(input); pwrcdrv 87 drivers/input/misc/sirfsoc-onkey.c sirfsoc_pwrc_toggle_interrupts(pwrcdrv, true); pwrcdrv 94 drivers/input/misc/sirfsoc-onkey.c struct sirfsoc_pwrc_drvdata *pwrcdrv = input_get_drvdata(input); pwrcdrv 96 drivers/input/misc/sirfsoc-onkey.c sirfsoc_pwrc_toggle_interrupts(pwrcdrv, false); pwrcdrv 97 drivers/input/misc/sirfsoc-onkey.c cancel_delayed_work_sync(&pwrcdrv->work); pwrcdrv 109 drivers/input/misc/sirfsoc-onkey.c struct sirfsoc_pwrc_drvdata *pwrcdrv; pwrcdrv 113 drivers/input/misc/sirfsoc-onkey.c pwrcdrv = devm_kzalloc(&pdev->dev, sizeof(struct sirfsoc_pwrc_drvdata), pwrcdrv 115 drivers/input/misc/sirfsoc-onkey.c if (!pwrcdrv) { pwrcdrv 124 drivers/input/misc/sirfsoc-onkey.c error = of_property_read_u32(np, "reg", &pwrcdrv->pwrc_base); pwrcdrv 131 drivers/input/misc/sirfsoc-onkey.c pwrcdrv->input = devm_input_allocate_device(&pdev->dev); pwrcdrv 132 drivers/input/misc/sirfsoc-onkey.c if (!pwrcdrv->input) pwrcdrv 135 drivers/input/misc/sirfsoc-onkey.c pwrcdrv->input->name = "sirfsoc pwrckey"; pwrcdrv 136 drivers/input/misc/sirfsoc-onkey.c pwrcdrv->input->phys = "pwrc/input0"; pwrcdrv 137 drivers/input/misc/sirfsoc-onkey.c pwrcdrv->input->evbit[0] = BIT_MASK(EV_KEY); pwrcdrv 138 drivers/input/misc/sirfsoc-onkey.c input_set_capability(pwrcdrv->input, EV_KEY, KEY_POWER); pwrcdrv 140 drivers/input/misc/sirfsoc-onkey.c INIT_DELAYED_WORK(&pwrcdrv->work, sirfsoc_pwrc_report_event); pwrcdrv 142 drivers/input/misc/sirfsoc-onkey.c pwrcdrv->input->open = sirfsoc_pwrc_open; pwrcdrv 143 drivers/input/misc/sirfsoc-onkey.c pwrcdrv->input->close = sirfsoc_pwrc_close; pwrcdrv 145 drivers/input/misc/sirfsoc-onkey.c input_set_drvdata(pwrcdrv->input, pwrcdrv); pwrcdrv 148 drivers/input/misc/sirfsoc-onkey.c sirfsoc_pwrc_toggle_interrupts(pwrcdrv, false); pwrcdrv 153 drivers/input/misc/sirfsoc-onkey.c "sirfsoc_pwrc_int", pwrcdrv); pwrcdrv 160 drivers/input/misc/sirfsoc-onkey.c error = input_register_device(pwrcdrv->input); pwrcdrv 168 drivers/input/misc/sirfsoc-onkey.c dev_set_drvdata(&pdev->dev, pwrcdrv); pwrcdrv 176 drivers/input/misc/sirfsoc-onkey.c struct sirfsoc_pwrc_drvdata *pwrcdrv = dev_get_drvdata(dev); pwrcdrv 177 drivers/input/misc/sirfsoc-onkey.c struct input_dev *input = pwrcdrv->input; pwrcdrv 185 drivers/input/misc/sirfsoc-onkey.c sirfsoc_pwrc_toggle_interrupts(pwrcdrv, true);