Lines Matching refs:bringup
57 * @bringup: Single callback bringup or teardown selector
72 bool bringup;
94 static inline void cpuhp_lock_acquire(bool bringup)
96 lock_map_acquire(bringup ? &cpuhp_state_up_map : &cpuhp_state_down_map);
99 static inline void cpuhp_lock_release(bool bringup)
101 lock_map_release(bringup ? &cpuhp_state_up_map : &cpuhp_state_down_map);
105 static inline void cpuhp_lock_acquire(bool bringup)
108 static inline void cpuhp_lock_release(bool bringup)
148 * @bringup: True if the bringup callback should be invoked
154 static int cpuhp_invoke_callback(unsigned int cpu, enum cpuhp_state state, bool bringup, struct hlist_node *node,
166 if (!(bringup ? step->startup.single : step->teardown.single)) {
175 cb = bringup ? step->startup.single : step->teardown.single;
184 cbm = bringup ? step->startup.multi : step->teardown.multi;
225 cbm = !bringup ? step->startup.multi : step->teardown.multi;
257 static inline void wait_for_ap_thread(struct cpuhp_cpu_state *st, bool bringup)
259 struct completion *done = bringup ? &st->done_up : &st->done_down;
263 static inline void complete_ap_thread(struct cpuhp_cpu_state *st, bool bringup)
265 struct completion *done = bringup ? &st->done_up : &st->done_down;
489 st->bringup = st->state < target;
503 if (st->bringup) {
511 st->bringup = !st->bringup;
529 wait_for_ap_thread(st, st->bringup);
592 * Prevent irq alloc/free across the bringup.
667 * The cpu hotplug threads manage the bringup and teardown of the cpus
701 bool bringup = st->bringup;
720 cpuhp_lock_acquire(bringup);
726 if (bringup) {
743 st->result = cpuhp_invoke_callback(cpu, state, bringup, st->node, &st->last);
751 st->result = cpuhp_invoke_callback(cpu, state, bringup, st->node, &st->last);
764 cpuhp_lock_release(bringup);
768 complete_ap_thread(st, bringup);
773 static int cpuhp_invoke_ap_callback(int cpu, enum cpuhp_state state, bool bringup, struct hlist_node *node)
793 return cpuhp_invoke_callback(cpu, state, bringup, node, NULL);
800 st->bringup = bringup;
811 st->bringup = !bringup;
1277 * online bringup to the hotplug thread.
1702 .name = "cpu:bringup",
1909 static int cpuhp_issue_call(int cpu, enum cpuhp_state state, bool bringup, struct hlist_node *node)
1918 if ((bringup && !sp->startup.single) || (!bringup && !sp->teardown.single)) {
1922 * The non AP bound callbacks can fail on bringup. On teardown
1927 ret = cpuhp_invoke_ap_callback(cpu, state, bringup, node);
1929 ret = cpuhp_invoke_callback(cpu, state, bringup, node, NULL);
1932 ret = cpuhp_invoke_callback(cpu, state, bringup, node, NULL);
1934 BUG_ON(ret && !bringup);