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 nodeDevice index (0-3)
* @param hostStructure 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