Add basic support for MMC, providing a uclass which can set up an MMC device. This allows MMC drivers to move to using driver model. Signed-off-by: Simon Glass <sjg@chromium.org>master
parent
fdfa39d3f2
commit
e7ecf7cb5a
@ -0,0 +1,34 @@ |
|||||||
|
/*
|
||||||
|
* Copyright (C) 2015 Google, Inc |
||||||
|
* Written by Simon Glass <sjg@chromium.org> |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: GPL-2.0+ |
||||||
|
*/ |
||||||
|
|
||||||
|
#include <common.h> |
||||||
|
#include <mmc.h> |
||||||
|
#include <dm.h> |
||||||
|
#include <dm/lists.h> |
||||||
|
#include <dm/root.h> |
||||||
|
|
||||||
|
struct mmc *mmc_get_mmc_dev(struct udevice *dev) |
||||||
|
{ |
||||||
|
struct mmc_uclass_priv *upriv; |
||||||
|
|
||||||
|
if (!device_active(dev)) |
||||||
|
return NULL; |
||||||
|
upriv = dev_get_uclass_priv(dev); |
||||||
|
return upriv->mmc; |
||||||
|
} |
||||||
|
|
||||||
|
U_BOOT_DRIVER(mmc) = { |
||||||
|
.name = "mmc", |
||||||
|
.id = UCLASS_MMC, |
||||||
|
}; |
||||||
|
|
||||||
|
UCLASS_DRIVER(mmc) = { |
||||||
|
.id = UCLASS_MMC, |
||||||
|
.name = "mmc", |
||||||
|
.flags = DM_UC_FLAG_SEQ_ALIAS, |
||||||
|
.per_device_auto_alloc_size = sizeof(struct mmc_uclass_priv), |
||||||
|
}; |
Loading…
Reference in new issue