Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1225414 > unrolled thread

[PATCH 08/17] Update the mmc driver to use idr helper functions.

Started byLee Duncan <lduncan@suse.com>
First post2015-09-15 18:50 +0200
Last post2015-09-16 08:50 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 08/17] Update the mmc driver to use idr helper functions. Lee Duncan <lduncan@suse.com> - 2015-09-15 18:50 +0200
    Re: [PATCH 08/17] Update the mmc driver to use idr helper functions. Ulf Hansson <ulf.hansson@linaro.org> - 2015-09-16 08:50 +0200

#1225414 — [PATCH 08/17] Update the mmc driver to use idr helper functions.

FromLee Duncan <lduncan@suse.com>
Date2015-09-15 18:50 +0200
Subject[PATCH 08/17] Update the mmc driver to use idr helper functions.
Message-ID<q91AD-24K-33@gated-at.bofh.it>
Signed-off-by: Lee Duncan <lduncan@suse.com>
---
 drivers/mmc/core/host.c | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/drivers/mmc/core/host.c b/drivers/mmc/core/host.c
index 99a9c9011c50..5aa2330f074c 100644
--- a/drivers/mmc/core/host.c
+++ b/drivers/mmc/core/host.c
@@ -40,9 +40,8 @@ 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);
-	idr_remove(&mmc_host_idr, host->index);
-	spin_unlock(&mmc_host_lock);
+
+	idr_put_index(&mmc_host_idr, &mmc_host_lock, host->index);
 	kfree(host);
 }
 
@@ -559,17 +558,12 @@ struct mmc_host *mmc_alloc_host(int extra, struct device *dev)
 
 	/* scanning will be enabled when we're ready */
 	host->rescan_disable = 1;
-	idr_preload(GFP_KERNEL);
-	spin_lock(&mmc_host_lock);
-	err = idr_alloc(&mmc_host_idr, host, 0, 0, GFP_NOWAIT);
-	if (err >= 0)
-		host->index = err;
-	spin_unlock(&mmc_host_lock);
-	idr_preload_end();
+	err = idr_get_index(&mmc_host_idr, &mmc_host_lock, host);
 	if (err < 0) {
 		kfree(host);
 		return NULL;
 	}
+	host->index = err;
 
 	dev_set_name(&host->class_dev, "mmc%d", host->index);
 
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1225736

FromUlf Hansson <ulf.hansson@linaro.org>
Date2015-09-16 08:50 +0200
Message-ID<q9eHv-55r-3@gated-at.bofh.it>
In reply to#1225414
On 15 September 2015 at 18:46, Lee Duncan <lduncan@suse.com> wrote:
> Signed-off-by: Lee Duncan <lduncan@suse.com>

Please change the prefix of the commit message header to "mmc: core"
and resend to linux-mmc.

Kind regards
Uffe

> ---
>  drivers/mmc/core/host.c | 14 ++++----------
>  1 file changed, 4 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/mmc/core/host.c b/drivers/mmc/core/host.c
> index 99a9c9011c50..5aa2330f074c 100644
> --- a/drivers/mmc/core/host.c
> +++ b/drivers/mmc/core/host.c
> @@ -40,9 +40,8 @@ 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);
> -       idr_remove(&mmc_host_idr, host->index);
> -       spin_unlock(&mmc_host_lock);
> +
> +       idr_put_index(&mmc_host_idr, &mmc_host_lock, host->index);
>         kfree(host);
>  }
>
> @@ -559,17 +558,12 @@ struct mmc_host *mmc_alloc_host(int extra, struct device *dev)
>
>         /* scanning will be enabled when we're ready */
>         host->rescan_disable = 1;
> -       idr_preload(GFP_KERNEL);
> -       spin_lock(&mmc_host_lock);
> -       err = idr_alloc(&mmc_host_idr, host, 0, 0, GFP_NOWAIT);
> -       if (err >= 0)
> -               host->index = err;
> -       spin_unlock(&mmc_host_lock);
> -       idr_preload_end();
> +       err = idr_get_index(&mmc_host_idr, &mmc_host_lock, host);
>         if (err < 0) {
>                 kfree(host);
>                 return NULL;
>         }
> +       host->index = err;
>
>         dev_set_name(&host->class_dev, "mmc%d", host->index);
>
> --
> 2.1.4
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web