Lines Matching full:pi

90 static void pvpanic_synchronize_sys_off_handler(struct device *dev, struct pvpanic_instance *pi)  in pvpanic_synchronize_sys_off_handler()  argument
100 if (!(pi->events & PVPANIC_SHUTDOWN) == !pi->sys_off) in pvpanic_synchronize_sys_off_handler()
103 if (!pi->sys_off) { in pvpanic_synchronize_sys_off_handler()
109 pi->sys_off = sys_off; in pvpanic_synchronize_sys_off_handler()
111 unregister_sys_off_handler(pi->sys_off); in pvpanic_synchronize_sys_off_handler()
112 pi->sys_off = NULL; in pvpanic_synchronize_sys_off_handler()
119 struct pvpanic_instance *pi = param; in pvpanic_remove() local
123 if (pi_cur == pi) { in pvpanic_remove()
130 unregister_sys_off_handler(pi->sys_off); in pvpanic_remove()
135 struct pvpanic_instance *pi = dev_get_drvdata(dev); in capability_show() local
137 return sysfs_emit(buf, "%x\n", pi->capability); in capability_show()
143 struct pvpanic_instance *pi = dev_get_drvdata(dev); in events_show() local
145 return sysfs_emit(buf, "%x\n", pi->events); in events_show()
151 struct pvpanic_instance *pi = dev_get_drvdata(dev); in events_store() local
159 if ((tmp & pi->capability) != tmp) in events_store()
162 pi->events = tmp; in events_store()
163 pvpanic_synchronize_sys_off_handler(dev, pi); in events_store()
187 struct pvpanic_instance *pi; in devm_pvpanic_probe() local
192 pi = devm_kmalloc(dev, sizeof(*pi), GFP_KERNEL); in devm_pvpanic_probe()
193 if (!pi) in devm_pvpanic_probe()
196 pi->base = base; in devm_pvpanic_probe()
197 pi->capability = PVPANIC_PANICKED | PVPANIC_CRASH_LOADED | PVPANIC_SHUTDOWN; in devm_pvpanic_probe()
200 pi->capability &= ioread8(base); in devm_pvpanic_probe()
201 pi->events = pi->capability; in devm_pvpanic_probe()
203 pi->sys_off = NULL; in devm_pvpanic_probe()
204 pvpanic_synchronize_sys_off_handler(dev, pi); in devm_pvpanic_probe()
207 list_add(&pi->list, &pvpanic_list); in devm_pvpanic_probe()
210 dev_set_drvdata(dev, pi); in devm_pvpanic_probe()
212 return devm_add_action_or_reset(dev, pvpanic_remove, pi); in devm_pvpanic_probe()