1*e7ecf7cbSSimon Glass /* 2*e7ecf7cbSSimon Glass * Copyright (C) 2015 Google, Inc 3*e7ecf7cbSSimon Glass * Written by Simon Glass <sjg@chromium.org> 4*e7ecf7cbSSimon Glass * 5*e7ecf7cbSSimon Glass * SPDX-License-Identifier: GPL-2.0+ 6*e7ecf7cbSSimon Glass */ 7*e7ecf7cbSSimon Glass 8*e7ecf7cbSSimon Glass #include <common.h> 9*e7ecf7cbSSimon Glass #include <mmc.h> 10*e7ecf7cbSSimon Glass #include <dm.h> 11*e7ecf7cbSSimon Glass #include <dm/lists.h> 12*e7ecf7cbSSimon Glass #include <dm/root.h> 13*e7ecf7cbSSimon Glass 14*e7ecf7cbSSimon Glass struct mmc *mmc_get_mmc_dev(struct udevice *dev) 15*e7ecf7cbSSimon Glass { 16*e7ecf7cbSSimon Glass struct mmc_uclass_priv *upriv; 17*e7ecf7cbSSimon Glass 18*e7ecf7cbSSimon Glass if (!device_active(dev)) 19*e7ecf7cbSSimon Glass return NULL; 20*e7ecf7cbSSimon Glass upriv = dev_get_uclass_priv(dev); 21*e7ecf7cbSSimon Glass return upriv->mmc; 22*e7ecf7cbSSimon Glass } 23*e7ecf7cbSSimon Glass 24*e7ecf7cbSSimon Glass U_BOOT_DRIVER(mmc) = { 25*e7ecf7cbSSimon Glass .name = "mmc", 26*e7ecf7cbSSimon Glass .id = UCLASS_MMC, 27*e7ecf7cbSSimon Glass }; 28*e7ecf7cbSSimon Glass 29*e7ecf7cbSSimon Glass UCLASS_DRIVER(mmc) = { 30*e7ecf7cbSSimon Glass .id = UCLASS_MMC, 31*e7ecf7cbSSimon Glass .name = "mmc", 32*e7ecf7cbSSimon Glass .flags = DM_UC_FLAG_SEQ_ALIAS, 33*e7ecf7cbSSimon Glass .per_device_auto_alloc_size = sizeof(struct mmc_uclass_priv), 34*e7ecf7cbSSimon Glass }; 35