forked from Minki/linux
s390: replace deprecated CPU-hotplug functions
The functions get_online_cpus() and put_online_cpus() have been deprecated during the CPU hotplug rework. They map directly to cpus_read_lock() and cpus_read_unlock(). Replace deprecated CPU-hotplug functions with the official version. The behavior remains unchanged. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Link: https://lore.kernel.org/r/20210803141621.780504-5-bigeasy@linutronix.de Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
This commit is contained in:
parent
de5012b41e
commit
a73de29320
@ -33,12 +33,12 @@ static void *diag0c_store(unsigned int *count)
|
||||
unsigned int cpu_count, cpu, i;
|
||||
void **cpu_vec;
|
||||
|
||||
get_online_cpus();
|
||||
cpus_read_lock();
|
||||
cpu_count = num_online_cpus();
|
||||
cpu_vec = kmalloc_array(num_possible_cpus(), sizeof(*cpu_vec),
|
||||
GFP_KERNEL);
|
||||
if (!cpu_vec)
|
||||
goto fail_put_online_cpus;
|
||||
goto fail_unlock_cpus;
|
||||
/* Note: Diag 0c needs 8 byte alignment and real storage */
|
||||
diag0c_data = kzalloc(struct_size(diag0c_data, entry, cpu_count),
|
||||
GFP_KERNEL | GFP_DMA);
|
||||
@ -54,13 +54,13 @@ static void *diag0c_store(unsigned int *count)
|
||||
on_each_cpu(diag0c_fn, cpu_vec, 1);
|
||||
*count = cpu_count;
|
||||
kfree(cpu_vec);
|
||||
put_online_cpus();
|
||||
cpus_read_unlock();
|
||||
return diag0c_data;
|
||||
|
||||
fail_kfree_cpu_vec:
|
||||
kfree(cpu_vec);
|
||||
fail_put_online_cpus:
|
||||
put_online_cpus();
|
||||
fail_unlock_cpus:
|
||||
cpus_read_unlock();
|
||||
return ERR_PTR(-ENOMEM);
|
||||
}
|
||||
|
||||
|
@ -68,7 +68,7 @@ static int show_diag_stat(struct seq_file *m, void *v)
|
||||
unsigned long n = (unsigned long) v - 1;
|
||||
int cpu, prec, tmp;
|
||||
|
||||
get_online_cpus();
|
||||
cpus_read_lock();
|
||||
if (n == 0) {
|
||||
seq_puts(m, " ");
|
||||
|
||||
@ -87,7 +87,7 @@ static int show_diag_stat(struct seq_file *m, void *v)
|
||||
}
|
||||
seq_printf(m, " %s\n", diag_map[n-1].name);
|
||||
}
|
||||
put_online_cpus();
|
||||
cpus_read_unlock();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -228,7 +228,7 @@ int show_interrupts(struct seq_file *p, void *v)
|
||||
int index = *(loff_t *) v;
|
||||
int cpu, irq;
|
||||
|
||||
get_online_cpus();
|
||||
cpus_read_lock();
|
||||
if (index == 0) {
|
||||
seq_puts(p, " ");
|
||||
for_each_online_cpu(cpu)
|
||||
@ -258,7 +258,7 @@ int show_interrupts(struct seq_file *p, void *v)
|
||||
seq_putc(p, '\n');
|
||||
}
|
||||
out:
|
||||
put_online_cpus();
|
||||
cpus_read_unlock();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1138,7 +1138,7 @@ static long cfset_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
||||
{
|
||||
int ret;
|
||||
|
||||
get_online_cpus();
|
||||
cpus_read_lock();
|
||||
mutex_lock(&cfset_ctrset_mutex);
|
||||
switch (cmd) {
|
||||
case S390_HWCTR_START:
|
||||
@ -1155,7 +1155,7 @@ static long cfset_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
||||
break;
|
||||
}
|
||||
mutex_unlock(&cfset_ctrset_mutex);
|
||||
put_online_cpus();
|
||||
cpus_read_unlock();
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -365,7 +365,7 @@ static inline void *c_update(loff_t *pos)
|
||||
|
||||
static void *c_start(struct seq_file *m, loff_t *pos)
|
||||
{
|
||||
get_online_cpus();
|
||||
cpus_read_lock();
|
||||
return c_update(pos);
|
||||
}
|
||||
|
||||
@ -377,7 +377,7 @@ static void *c_next(struct seq_file *m, void *v, loff_t *pos)
|
||||
|
||||
static void c_stop(struct seq_file *m, void *v)
|
||||
{
|
||||
put_online_cpus();
|
||||
cpus_read_unlock();
|
||||
}
|
||||
|
||||
const struct seq_operations cpuinfo_op = {
|
||||
|
@ -793,7 +793,7 @@ static int __smp_rescan_cpus(struct sclp_core_info *info, bool early)
|
||||
u16 core_id;
|
||||
int nr, i;
|
||||
|
||||
get_online_cpus();
|
||||
cpus_read_lock();
|
||||
mutex_lock(&smp_cpu_state_mutex);
|
||||
nr = 0;
|
||||
cpumask_xor(&avail, cpu_possible_mask, cpu_present_mask);
|
||||
@ -816,7 +816,7 @@ static int __smp_rescan_cpus(struct sclp_core_info *info, bool early)
|
||||
nr += smp_add_core(&info->core[i], &avail, configured, early);
|
||||
}
|
||||
mutex_unlock(&smp_cpu_state_mutex);
|
||||
put_online_cpus();
|
||||
cpus_read_unlock();
|
||||
return nr;
|
||||
}
|
||||
|
||||
@ -1055,7 +1055,7 @@ static ssize_t cpu_configure_store(struct device *dev,
|
||||
return -EINVAL;
|
||||
if (val != 0 && val != 1)
|
||||
return -EINVAL;
|
||||
get_online_cpus();
|
||||
cpus_read_lock();
|
||||
mutex_lock(&smp_cpu_state_mutex);
|
||||
rc = -EBUSY;
|
||||
/* disallow configuration changes of online cpus and cpu 0 */
|
||||
@ -1104,7 +1104,7 @@ static ssize_t cpu_configure_store(struct device *dev,
|
||||
}
|
||||
out:
|
||||
mutex_unlock(&smp_cpu_state_mutex);
|
||||
put_online_cpus();
|
||||
cpus_read_unlock();
|
||||
return rc ? rc : count;
|
||||
}
|
||||
static DEVICE_ATTR(configure, 0644, cpu_configure_show, cpu_configure_store);
|
||||
|
@ -406,7 +406,7 @@ static ssize_t dispatching_store(struct device *dev,
|
||||
if (val != 0 && val != 1)
|
||||
return -EINVAL;
|
||||
rc = 0;
|
||||
get_online_cpus();
|
||||
cpus_read_lock();
|
||||
mutex_lock(&smp_cpu_state_mutex);
|
||||
if (cpu_management == val)
|
||||
goto out;
|
||||
@ -417,7 +417,7 @@ static ssize_t dispatching_store(struct device *dev,
|
||||
topology_expect_change();
|
||||
out:
|
||||
mutex_unlock(&smp_cpu_state_mutex);
|
||||
put_online_cpus();
|
||||
cpus_read_unlock();
|
||||
return rc ? rc : count;
|
||||
}
|
||||
static DEVICE_ATTR_RW(dispatching);
|
||||
|
@ -228,7 +228,7 @@ void *xlate_dev_mem_ptr(phys_addr_t addr)
|
||||
void *bounce = (void *) addr;
|
||||
unsigned long size;
|
||||
|
||||
get_online_cpus();
|
||||
cpus_read_lock();
|
||||
preempt_disable();
|
||||
if (is_swapped(addr)) {
|
||||
size = PAGE_SIZE - (addr & ~PAGE_MASK);
|
||||
@ -237,7 +237,7 @@ void *xlate_dev_mem_ptr(phys_addr_t addr)
|
||||
memcpy_absolute(bounce, (void *) addr, size);
|
||||
}
|
||||
preempt_enable();
|
||||
put_online_cpus();
|
||||
cpus_read_unlock();
|
||||
return bounce;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user