All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dirk Behme <dirk.behme-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Fabio Estevam <festevam-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Sascha Hauer <kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
	Michael Olbrich
	<m.olbrich-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
Subject: Re: Adding aliases to mmc
Date: Sun, 22 Sep 2013 08:48:43 +0200	[thread overview]
Message-ID: <523E92CB.1080302@gmail.com> (raw)
In-Reply-To: <CAOMZO5AT3bduZ0=EtWHuHVg6tSWrdr_ZjX5PLu815o0qgkeSig-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

Hi Fabio,

Am 18.09.2013 02:06, schrieb Fabio Estevam:
> Hi Dirk,
>
> On Tue, Sep 17, 2013 at 3:04 PM, Fabio Estevam <festevam-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>> Hi Dirk,
>>
>> I have adapted your patch at:
>> http://lists.infradead.org/pipermail/linux-arm-kernel/2012-July/111022.html
>>
>> and tested it on 3.12-rc1 on a mx6qsabresd board.
>>
>> Do you have plans to submit it? Maybe as a RFC?
>>
>> It solves the mmcblkX order issue on my tests and it would be nice we
>> could have this problem addressed.
>
> I simplied your patch a bit:
>
> diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
> index 1a3163f..94f842b 100644
> --- a/drivers/mmc/card/block.c
> +++ b/drivers/mmc/card/block.c
> @@ -2026,7 +2026,7 @@ static struct mmc_blk_data
> *mmc_blk_alloc_req(struct mmc_card *card,
>       struct mmc_blk_data *md;
>       int devidx, ret;
>
> -    devidx = find_first_zero_bit(dev_use, max_devices);
> +    devidx = find_next_zero_bit(dev_use, max_devices, card->host->devidx);
>       if (devidx >= max_devices)
>           return ERR_PTR(-ENOSPC);
>       __set_bit(devidx, dev_use);
> @@ -2044,7 +2044,8 @@ static struct mmc_blk_data
> *mmc_blk_alloc_req(struct mmc_card *card,
>        * index anymore so we keep track of a name index.
>        */
>       if (!subname) {
> -        md->name_idx = find_first_zero_bit(name_use, max_devices);
> +        md->name_idx = find_next_zero_bit(name_use, max_devices,
> +                card->host->devidx);
>           __set_bit(md->name_idx, name_use);
>       } else
>           md->name_idx = ((struct mmc_blk_data *)
> diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c
> b/drivers/mmc/host/sdhci-esdhc-imx.c
> index abc8cf0..e11a6af 100644
> --- a/drivers/mmc/host/sdhci-esdhc-imx.c
> +++ b/drivers/mmc/host/sdhci-esdhc-imx.c
> @@ -524,8 +524,9 @@ static int sdhci_esdhc_imx_probe(struct
> platform_device *pdev)
>       struct sdhci_pltfm_host *pltfm_host;
>       struct sdhci_host *host;
>       struct esdhc_platform_data *boarddata;
> -    int err;
> +    int err, ret;
>       struct pltfm_imx_data *imx_data;
> +    struct device_node *np = pdev->dev.of_node;
>
>       host = sdhci_pltfm_init(pdev, &sdhci_esdhc_imx_pdata, 0);
>       if (IS_ERR(host))
> @@ -602,6 +603,13 @@ static int sdhci_esdhc_imx_probe(struct
> platform_device *pdev)
>                       host->mmc->parent->platform_data);
>       }
>
> +
> +    if (np) {
> +        ret = of_alias_get_id(np, "mmcblk");
> +        if (ret >= 0)
> +            host->mmc->devidx = ret;
> +    }
> +
>       /* write_protect */
>       if (boarddata->wp_type == ESDHC_WP_GPIO) {
>           err = mmc_gpio_request_ro(host->mmc, boarddata->wp_gpio);
> diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
> index 3b0c33a..8209f72 100644
> --- a/include/linux/mmc/host.h
> +++ b/include/linux/mmc/host.h
> @@ -362,6 +362,8 @@ struct mmc_host {
>
>       unsigned int        slotno;    /* used for sdio acpi binding */
>
> +    /* preferred mmc block device index (mmcblkX) */
> +    unsigned int        devidx;
>       unsigned long        private[0] ____cacheline_aligned;
>   };
>
> What do you think?

Do you like to send this as a proper patch? Following the recent 
discussion it sounds to me that there is really some need for 
something like this. Then we could discuss the technical details.

Best regards

Dirk

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2013-09-22  6:48 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-17 18:04 Adding aliases to mmc Fabio Estevam
     [not found] ` <CAOMZO5CJ36JHJMaiG3QVdtpBoWd_ZyHQuRTrKHz4bLP39gpJtQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-09-18  0:06   ` Fabio Estevam
     [not found]     ` <CAOMZO5AT3bduZ0=EtWHuHVg6tSWrdr_ZjX5PLu815o0qgkeSig-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-09-22  6:48       ` Dirk Behme [this message]
2013-09-22 15:24         ` Fabio Estevam
     [not found]           ` <CAOMZO5CVTRvC1z_xzco1A9FE+GALEHAZe8WNU20sNy+oZdNe+A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-09-23  2:17             ` Fabio Estevam
2013-09-18  5:47   ` Dirk Behme
2013-09-18 15:17   ` Stephen Warren
     [not found]     ` <5239C40C.9030503-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-09-18 17:01       ` Dirk Behme
     [not found]         ` <5239DC65.3080803-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-18 17:13           ` Stephen Warren
     [not found]             ` <5239DF55.8010308-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-09-19  5:22               ` Dirk Behme
2013-09-20 16:05                 ` Stephen Warren
2013-09-20 16:37                   ` Dirk Behme
     [not found]                     ` <523C79C4.1070308-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-20 17:03                       ` Stephen Warren
2013-09-21  5:23                         ` Dirk Behme
2013-09-21  7:42                           ` Sascha Hauer
     [not found]                             ` <20130921074238.GI30088-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-09-21 12:30                               ` Michael Olbrich
2013-09-21 13:52                                 ` Sascha Hauer
2013-09-20  6:30       ` Chaiken, Alison
     [not found]         ` <60BA5429A0E1584BA3633194F6F993B50E7CE937-0dz9ie/QGrnnlEkxMdpx1dQH9K4/4qFeAL8bYrjMMd8@public.gmane.org>
2013-09-20 16:10           ` Stephen Warren

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=523E92CB.1080302@gmail.com \
    --to=dirk.behme-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=festevam-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=m.olbrich-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.