Lines Matching refs:pwrkey

60 	struct pm8941_pwrkey *pwrkey = container_of(nb, struct pm8941_pwrkey,  in pm8941_reboot_notify()  local
67 if (pwrkey->revision == 0) in pm8941_reboot_notify()
72 error = regmap_update_bits(pwrkey->regmap, in pm8941_reboot_notify()
73 pwrkey->baseaddr + enable_reg, in pm8941_reboot_notify()
77 dev_err(pwrkey->dev, in pm8941_reboot_notify()
98 error = regmap_update_bits(pwrkey->regmap, in pm8941_reboot_notify()
99 pwrkey->baseaddr + PON_PS_HOLD_RST_CTL, in pm8941_reboot_notify()
103 dev_err(pwrkey->dev, "unable to set ps hold reset type: %d\n", in pm8941_reboot_notify()
106 error = regmap_update_bits(pwrkey->regmap, in pm8941_reboot_notify()
107 pwrkey->baseaddr + enable_reg, in pm8941_reboot_notify()
111 dev_err(pwrkey->dev, "unable to re-set enable: %d\n", error); in pm8941_reboot_notify()
118 struct pm8941_pwrkey *pwrkey = _data; in pm8941_pwrkey_irq() local
122 error = regmap_read(pwrkey->regmap, in pm8941_pwrkey_irq()
123 pwrkey->baseaddr + PON_RT_STS, &sts); in pm8941_pwrkey_irq()
127 input_report_key(pwrkey->input, KEY_POWER, !!(sts & PON_KPDPWR_N_SET)); in pm8941_pwrkey_irq()
128 input_sync(pwrkey->input); in pm8941_pwrkey_irq()
135 struct pm8941_pwrkey *pwrkey = dev_get_drvdata(dev); in pm8941_pwrkey_suspend() local
138 enable_irq_wake(pwrkey->irq); in pm8941_pwrkey_suspend()
145 struct pm8941_pwrkey *pwrkey = dev_get_drvdata(dev); in pm8941_pwrkey_resume() local
148 disable_irq_wake(pwrkey->irq); in pm8941_pwrkey_resume()
158 struct pm8941_pwrkey *pwrkey; in pm8941_pwrkey_probe() local
173 pwrkey = devm_kzalloc(&pdev->dev, sizeof(*pwrkey), GFP_KERNEL); in pm8941_pwrkey_probe()
174 if (!pwrkey) in pm8941_pwrkey_probe()
177 pwrkey->dev = &pdev->dev; in pm8941_pwrkey_probe()
179 pwrkey->regmap = dev_get_regmap(pdev->dev.parent, NULL); in pm8941_pwrkey_probe()
180 if (!pwrkey->regmap) { in pm8941_pwrkey_probe()
185 pwrkey->irq = platform_get_irq(pdev, 0); in pm8941_pwrkey_probe()
186 if (pwrkey->irq < 0) { in pm8941_pwrkey_probe()
188 return pwrkey->irq; in pm8941_pwrkey_probe()
192 &pwrkey->baseaddr); in pm8941_pwrkey_probe()
196 error = regmap_read(pwrkey->regmap, pwrkey->baseaddr + PON_REV2, in pm8941_pwrkey_probe()
197 &pwrkey->revision); in pm8941_pwrkey_probe()
203 pwrkey->input = devm_input_allocate_device(&pdev->dev); in pm8941_pwrkey_probe()
204 if (!pwrkey->input) { in pm8941_pwrkey_probe()
209 input_set_capability(pwrkey->input, EV_KEY, KEY_POWER); in pm8941_pwrkey_probe()
211 pwrkey->input->name = "pm8941_pwrkey"; in pm8941_pwrkey_probe()
212 pwrkey->input->phys = "pm8941_pwrkey/input0"; in pm8941_pwrkey_probe()
217 error = regmap_update_bits(pwrkey->regmap, in pm8941_pwrkey_probe()
218 pwrkey->baseaddr + PON_DBC_CTL, in pm8941_pwrkey_probe()
226 error = regmap_update_bits(pwrkey->regmap, in pm8941_pwrkey_probe()
227 pwrkey->baseaddr + PON_PULL_CTL, in pm8941_pwrkey_probe()
235 error = devm_request_threaded_irq(&pdev->dev, pwrkey->irq, in pm8941_pwrkey_probe()
238 "pm8941_pwrkey", pwrkey); in pm8941_pwrkey_probe()
244 error = input_register_device(pwrkey->input); in pm8941_pwrkey_probe()
251 pwrkey->reboot_notifier.notifier_call = pm8941_reboot_notify, in pm8941_pwrkey_probe()
252 error = register_reboot_notifier(&pwrkey->reboot_notifier); in pm8941_pwrkey_probe()
259 platform_set_drvdata(pdev, pwrkey); in pm8941_pwrkey_probe()
267 struct pm8941_pwrkey *pwrkey = platform_get_drvdata(pdev); in pm8941_pwrkey_remove() local
270 unregister_reboot_notifier(&pwrkey->reboot_notifier); in pm8941_pwrkey_remove()