Hi Simon, > On May 4, 2015, at 20:31 , Simon Glass <s...@chromium.org> wrote: > > If the mmc device is non-removable (as indicated by the device tree), set > the flag so that users of the device know. > > Signed-off-by: Simon Glass <s...@chromium.org> > --- > > drivers/mmc/tegra_mmc.c | 12 ++++++++---- > 1 file changed, 8 insertions(+), 4 deletions(-) > > diff --git a/drivers/mmc/tegra_mmc.c b/drivers/mmc/tegra_mmc.c > index 2cd8cf1..5c9c54a 100644 > --- a/drivers/mmc/tegra_mmc.c > +++ b/drivers/mmc/tegra_mmc.c > @@ -528,7 +528,7 @@ static const struct mmc_ops tegra_mmc_ops = { > .getcd = tegra_mmc_getcd, > }; > > -static int do_mmc_init(int dev_index) > +static int do_mmc_init(int dev_index, bool removable) > { > struct mmc_host *host; > struct mmc *mmc; > @@ -573,6 +573,7 @@ static int do_mmc_init(int dev_index) > host->cfg.b_max = CONFIG_SYS_MMC_MAX_BLK_COUNT; > > mmc = mmc_create(&host->cfg, host); > + mmc->block_dev.removable = removable; > if (mmc == NULL) > return -1; > > @@ -586,7 +587,8 @@ static int do_mmc_init(int dev_index) > * @param node Device index (0-3) > * @param host Structure to fill in (reg, width, mmc_id) > */ > -static int mmc_get_config(const void *blob, int node, struct mmc_host *host) > +static int mmc_get_config(const void *blob, int node, struct mmc_host *host, > + bool *removablep) > { > debug("%s: node = %d\n", __func__, node); > > @@ -619,6 +621,7 @@ static int mmc_get_config(const void *blob, int node, > struct mmc_host *host) > GPIOD_IS_IN); > gpio_request_by_name_nodev(blob, node, "power-gpios", 0, > &host->pwr_gpio, GPIOD_IS_OUT); > + *removablep = !fdtdec_get_bool(blob, node, "non-removable"); > > debug("%s: found controller at %p, width = %d, periph_id = %d\n", > __func__, host->reg, host->width, host->mmc_id); > @@ -636,6 +639,7 @@ static int mmc_get_config(const void *blob, int node, > struct mmc_host *host) > static int process_nodes(const void *blob, int node_list[], int count) > { > struct mmc_host *host; > + bool removable; > int i, node; > > debug("%s: count = %d\n", __func__, count); > @@ -649,11 +653,11 @@ static int process_nodes(const void *blob, int > node_list[], int count) > host = &mmc_host[i]; > host->id = i; > > - if (mmc_get_config(blob, node, host)) { > + if (mmc_get_config(blob, node, host, &removable)) { > printf("%s: failed to decode dev %d\n", __func__, i); > return -1; > } > - do_mmc_init(i); > + do_mmc_init(i, removable); > } > return 0; > } > -- > 2.2.0.rc0.207.ga3a616c >
Applied, thanks. — Pantelis _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot