Message ID | 4dae93b9-78f6-25c5-4836-4a70a5a00ab6@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 28 January 2017 at 09:32, Heiner Kallweit <hkallweit1@gmail.com> wrote: > ida handling can be simplified by switching to the ida_simple_ > functions. > > Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Thanks, applied for next! Kind regards Uffe > --- > drivers/mmc/core/host.c | 20 ++++---------------- > 1 file changed, 4 insertions(+), 16 deletions(-) > > diff --git a/drivers/mmc/core/host.c b/drivers/mmc/core/host.c > index 98f25ffb..0a26c8b6 100644 > --- a/drivers/mmc/core/host.c > +++ b/drivers/mmc/core/host.c > @@ -34,14 +34,11 @@ > #define cls_dev_to_mmc_host(d) container_of(d, struct mmc_host, class_dev) > > static DEFINE_IDA(mmc_host_ida); > -static DEFINE_SPINLOCK(mmc_host_lock); > > static void mmc_host_classdev_release(struct device *dev) > { > struct mmc_host *host = cls_dev_to_mmc_host(dev); > - spin_lock(&mmc_host_lock); > - ida_remove(&mmc_host_ida, host->index); > - spin_unlock(&mmc_host_lock); > + ida_simple_remove(&mmc_host_ida, host->index); > kfree(host); > } > > @@ -354,22 +351,13 @@ struct mmc_host *mmc_alloc_host(int extra, struct device *dev) > /* scanning will be enabled when we're ready */ > host->rescan_disable = 1; > > -again: > - if (!ida_pre_get(&mmc_host_ida, GFP_KERNEL)) { > + err = ida_simple_get(&mmc_host_ida, 0, 0, GFP_KERNEL); > + if (err < 0) { > kfree(host); > return NULL; > } > > - spin_lock(&mmc_host_lock); > - err = ida_get_new(&mmc_host_ida, &host->index); > - spin_unlock(&mmc_host_lock); > - > - if (err == -EAGAIN) { > - goto again; > - } else if (err) { > - kfree(host); > - return NULL; > - } > + host->index = err; > > dev_set_name(&host->class_dev, "mmc%d", host->index); > > -- > 2.11.0 > -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/mmc/core/host.c b/drivers/mmc/core/host.c index 98f25ffb..0a26c8b6 100644 --- a/drivers/mmc/core/host.c +++ b/drivers/mmc/core/host.c @@ -34,14 +34,11 @@ #define cls_dev_to_mmc_host(d) container_of(d, struct mmc_host, class_dev) static DEFINE_IDA(mmc_host_ida); -static DEFINE_SPINLOCK(mmc_host_lock); static void mmc_host_classdev_release(struct device *dev) { struct mmc_host *host = cls_dev_to_mmc_host(dev); - spin_lock(&mmc_host_lock); - ida_remove(&mmc_host_ida, host->index); - spin_unlock(&mmc_host_lock); + ida_simple_remove(&mmc_host_ida, host->index); kfree(host); } @@ -354,22 +351,13 @@ struct mmc_host *mmc_alloc_host(int extra, struct device *dev) /* scanning will be enabled when we're ready */ host->rescan_disable = 1; -again: - if (!ida_pre_get(&mmc_host_ida, GFP_KERNEL)) { + err = ida_simple_get(&mmc_host_ida, 0, 0, GFP_KERNEL); + if (err < 0) { kfree(host); return NULL; } - spin_lock(&mmc_host_lock); - err = ida_get_new(&mmc_host_ida, &host->index); - spin_unlock(&mmc_host_lock); - - if (err == -EAGAIN) { - goto again; - } else if (err) { - kfree(host); - return NULL; - } + host->index = err; dev_set_name(&host->class_dev, "mmc%d", host->index);
ida handling can be simplified by switching to the ida_simple_ functions. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> --- drivers/mmc/core/host.c | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-)