static int zswap_cpu_init(void) { unsigned long cpu; get_online_cpus(); for_each_online_cpu(cpu) if (__zswap_cpu_notifier(CPU_UP_PREPARE, cpu) != NOTIFY_OK) goto cleanup; register_cpu_notifier(&zswap_cpu_notifier_block); put_online_cpus(); return 0; cleanup: for_each_online_cpu(cpu) __zswap_cpu_notifier(CPU_UP_CANCELED, cpu); put_online_cpus(); return -ENOMEM; }
static int zswap_cpu_notifier(struct notifier_block *nb, unsigned long action, void *pcpu) { unsigned long cpu = (unsigned long)pcpu; return __zswap_cpu_notifier(action, cpu); }