hp_cpu
static DEFINE_PER_CPU(struct hp_cpu, hp_cpus);
struct hp_cpu *hp_cpu = this_cpu_ptr(&hp_cpus);
hp_cpu->processor_id = smp_processor_id();
list_add_tail(&hp_cpu->node, &hp_cpu_list);
INIT_LIST_HEAD(&hp_cpu->handlers);
handler->processor_id = hp_cpu->processor_id;
list_add_tail(&handler->node, &hp_cpu->handlers);
struct hp_cpu *hp_cpu = this_cpu_ptr(&hp_cpus);
list_del(&hp_cpu->node);
list_for_each_safe(loop, tmp, &hp_cpu->handlers) {
struct hp_cpu *hp_cpu;
list_for_each_entry(hp_cpu, &hp_cpu_list, node) {
hp_cpu->iterator = list_first_entry(
&hp_cpu->handlers,
hp_cpu->iterator = list_entry(
hp_cpu->iterator->node.next,
hp_cpu->iterator->fqid_rx = fqid;
hp_cpu->iterator->fqid_tx = fqid;
hp_cpu->iterator->rx_mixer = lfsr;
hp_cpu->iterator->tx_mixer = lfsr;
hp_cpu = list_first_entry(&hp_cpu_list, struct hp_cpu, node);
handler = list_first_entry(&hp_cpu->handlers, struct hp_handler, node);
struct hp_cpu *hp_cpu;
list_for_each_entry(hp_cpu, &hp_cpu_list, node) {
hp_cpu->iterator = list_first_entry(
&hp_cpu->handlers,
hp_cpu->iterator = list_entry(
hp_cpu->iterator->node.next,
if (hp_cpu->processor_id == smp_processor_id()) {
err = init_handler(hp_cpu->iterator);
smp_call_function_single(hp_cpu->processor_id,
init_handler_cb, hp_cpu->iterator, 1);