Lines Matching full:notifier

60 	struct mutex notifier_lock;	/* Guards notifier access for registration */
61 struct ssam_cdev_notifier *notifier[SSH_NUM_EVENTS]; member
91 /* -- Notifier handling. ---------------------------------------------------- */
144 /* Validate notifier target category. */ in ssam_cdev_notifier_register()
150 /* Check if the notifier has already been registered. */ in ssam_cdev_notifier_register()
151 if (client->notifier[event]) { in ssam_cdev_notifier_register()
156 /* Allocate new notifier. */ in ssam_cdev_notifier_register()
164 * Create a dummy notifier with the minimal required fields for in ssam_cdev_notifier_register()
176 /* Register notifier. */ in ssam_cdev_notifier_register()
181 client->notifier[event] = nf; in ssam_cdev_notifier_register()
195 /* Validate notifier target category. */ in ssam_cdev_notifier_unregister()
201 /* Check if the notifier is currently registered. */ in ssam_cdev_notifier_unregister()
202 if (!client->notifier[event]) { in ssam_cdev_notifier_unregister()
207 /* Unregister and free notifier. */ in ssam_cdev_notifier_unregister()
208 status = ssam_notifier_unregister(client->cdev->ctrl, &client->notifier[event]->nf); in ssam_cdev_notifier_unregister()
209 kfree(client->notifier[event]); in ssam_cdev_notifier_unregister()
210 client->notifier[event] = NULL; in ssam_cdev_notifier_unregister()
234 * Device has been shut down. Any notifier remaining is a bug, in ssam_cdev_notifier_unregister_all()
240 count += !!(client->notifier[i]); in ssam_cdev_notifier_unregister_all()
241 kfree(client->notifier[i]); in ssam_cdev_notifier_unregister_all()
242 client->notifier[i] = NULL; in ssam_cdev_notifier_unregister_all()