Lines Matching refs:cn
908 struct clk_notifier *cn; in __clk_notify() local
915 list_for_each_entry(cn, &clk_notifier_list, node) { in __clk_notify()
916 if (cn->clk->core == core) { in __clk_notify()
917 cnd.clk = cn->clk; in __clk_notify()
918 ret = srcu_notifier_call_chain(&cn->notifier_head, msg, in __clk_notify()
2821 struct clk_notifier *cn; in clk_notifier_register() local
2830 list_for_each_entry(cn, &clk_notifier_list, node) in clk_notifier_register()
2831 if (cn->clk == clk) in clk_notifier_register()
2835 if (cn->clk != clk) { in clk_notifier_register()
2836 cn = kzalloc(sizeof(struct clk_notifier), GFP_KERNEL); in clk_notifier_register()
2837 if (!cn) in clk_notifier_register()
2840 cn->clk = clk; in clk_notifier_register()
2841 srcu_init_notifier_head(&cn->notifier_head); in clk_notifier_register()
2843 list_add(&cn->node, &clk_notifier_list); in clk_notifier_register()
2846 ret = srcu_notifier_chain_register(&cn->notifier_head, nb); in clk_notifier_register()
2870 struct clk_notifier *cn = NULL; in clk_notifier_unregister() local
2878 list_for_each_entry(cn, &clk_notifier_list, node) in clk_notifier_unregister()
2879 if (cn->clk == clk) in clk_notifier_unregister()
2882 if (cn->clk == clk) { in clk_notifier_unregister()
2883 ret = srcu_notifier_chain_unregister(&cn->notifier_head, nb); in clk_notifier_unregister()
2888 if (!cn->notifier_head.head) { in clk_notifier_unregister()
2889 srcu_cleanup_notifier_head(&cn->notifier_head); in clk_notifier_unregister()
2890 list_del(&cn->node); in clk_notifier_unregister()
2891 kfree(cn); in clk_notifier_unregister()