padata: Remove padata_get_cpumask
authorSteffen Klassert <steffen.klassert@secunet.com>
Tue, 27 Jul 2010 05:19:27 +0000 (07:19 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sat, 31 Jul 2010 11:53:06 +0000 (19:53 +0800)
A function that copies the padata cpumasks to a user buffer
is a bit error prone. The cpumask can change any time so we
can't be sure to have the right cpumask when using this function.
A user who is interested in the padata cpumasks should register
to the padata cpumask notifier chain instead. Users of
padata_get_cpumask are already updated, so we can remove it.

Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
include/linux/padata.h
kernel/padata.c

index 43db792f44ddfc9b0341212844a80c8e717c3431..bdcd1e9eaceac3938ff886fef3448907440141c9 100644 (file)
@@ -176,8 +176,6 @@ extern void padata_free(struct padata_instance *pinst);
 extern int padata_do_parallel(struct padata_instance *pinst,
                              struct padata_priv *padata, int cb_cpu);
 extern void padata_do_serial(struct padata_priv *padata);
-extern int padata_get_cpumask(struct padata_instance *pinst,
-                             int cpumask_type, struct cpumask *out_mask);
 extern int padata_set_cpumask(struct padata_instance *pinst, int cpumask_type,
                              cpumask_var_t cpumask);
 extern int padata_set_cpumasks(struct padata_instance *pinst,
index 1c8c1d1d301d09f1907926a50d7c455e2486568a..fd4679266ede7b8d4fd5ca03e9530fdcb3088ab1 100644 (file)
@@ -589,41 +589,6 @@ static bool padata_validate_cpumask(struct padata_instance *pinst,
        return true;
 }
 
-/**
- * padata_get_cpumask: Fetch serial or parallel cpumask from the
- *                     given padata instance and copy it to @out_mask
- *
- * @pinst: A pointer to padata instance
- * @cpumask_type: Specifies which cpumask will be copied.
- *                Possible values are PADATA_CPU_SERIAL *or* PADATA_CPU_PARALLEL
- *                corresponding to serial and parallel cpumask respectively.
- * @out_mask: A pointer to cpumask structure where selected
- *            cpumask will be copied.
- */
-int padata_get_cpumask(struct padata_instance *pinst,
-                      int cpumask_type, struct cpumask *out_mask)
-{
-       struct parallel_data *pd;
-       int ret = 0;
-
-       rcu_read_lock_bh();
-       pd = rcu_dereference(pinst->pd);
-       switch (cpumask_type) {
-       case PADATA_CPU_SERIAL:
-               cpumask_copy(out_mask, pd->cpumask.cbcpu);
-               break;
-       case PADATA_CPU_PARALLEL:
-               cpumask_copy(out_mask, pd->cpumask.pcpu);
-               break;
-       default:
-               ret = -EINVAL;
-       }
-
-       rcu_read_unlock_bh();
-       return ret;
-}
-EXPORT_SYMBOL(padata_get_cpumask);
-
 static int __padata_set_cpumasks(struct padata_instance *pinst,
                                 cpumask_var_t pcpumask,
                                 cpumask_var_t cbcpumask)