dm: mmc: Allow disabling driver model in SPL
At present if U-Boot proper uses driver model for MMC, then SPL has to also. While this is desirable, it places a significant barrier to moving to driver model in some cases. For example, with a space-constrained SPL it may be necessary to enable CONFIG_SPL_OF_PLATDATA which involves adjusting some drivers. Add new SPL versions of the options for DM_MMC, DM_MMC_OPS and BLK. By default these follow their non-SPL versions, but this can be changed by boards which need it. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
committed by
Jaehoon Chung
parent
745a94f352
commit
c4d660d4d0
@@ -62,7 +62,7 @@ struct blk_desc {
|
||||
char vendor[40+1]; /* IDE model, SCSI Vendor */
|
||||
char product[20+1]; /* IDE Serial no, SCSI product */
|
||||
char revision[8+1]; /* firmware revision */
|
||||
#ifdef CONFIG_BLK
|
||||
#if CONFIG_IS_ENABLED(BLK)
|
||||
/*
|
||||
* For now we have a few functions which take struct blk_desc as a
|
||||
* parameter. This field allows them to look up the associated
|
||||
@@ -174,7 +174,7 @@ static inline void blkcache_invalidate(int iftype, int dev) {}
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BLK
|
||||
#if CONFIG_IS_ENABLED(BLK)
|
||||
struct udevice;
|
||||
|
||||
/* Operations on block devices */
|
||||
|
||||
@@ -321,7 +321,7 @@ struct mmc_data {
|
||||
/* forward decl. */
|
||||
struct mmc;
|
||||
|
||||
#ifdef CONFIG_DM_MMC_OPS
|
||||
#if CONFIG_IS_ENABLED(DM_MMC_OPS)
|
||||
struct dm_mmc_ops {
|
||||
/**
|
||||
* send_cmd() - Send a command to the MMC device
|
||||
@@ -385,7 +385,7 @@ struct mmc_ops {
|
||||
|
||||
struct mmc_config {
|
||||
const char *name;
|
||||
#ifndef CONFIG_DM_MMC_OPS
|
||||
#if !CONFIG_IS_ENABLED(DM_MMC_OPS)
|
||||
const struct mmc_ops *ops;
|
||||
#endif
|
||||
uint host_caps;
|
||||
@@ -409,7 +409,7 @@ struct sd_ssr {
|
||||
* TODO struct mmc should be in mmc_private but it's hard to fix right now
|
||||
*/
|
||||
struct mmc {
|
||||
#ifndef CONFIG_BLK
|
||||
#if !CONFIG_IS_ENABLED(BLK)
|
||||
struct list_head link;
|
||||
#endif
|
||||
const struct mmc_config *cfg; /* provided configuration */
|
||||
@@ -444,14 +444,14 @@ struct mmc {
|
||||
u64 capacity_gp[4];
|
||||
u64 enh_user_start;
|
||||
u64 enh_user_size;
|
||||
#ifndef CONFIG_BLK
|
||||
#if !CONFIG_IS_ENABLED(BLK)
|
||||
struct blk_desc block_dev;
|
||||
#endif
|
||||
char op_cond_pending; /* 1 if we are waiting on an op_cond command */
|
||||
char init_in_progress; /* 1 if we have done mmc_start_init() */
|
||||
char preinit; /* start init as early as possible */
|
||||
int ddr_mode;
|
||||
#ifdef CONFIG_DM_MMC
|
||||
#if CONFIG_IS_ENABLED(DM_MMC)
|
||||
struct udevice *dev; /* Device for this MMC controller */
|
||||
#endif
|
||||
};
|
||||
@@ -519,7 +519,7 @@ int mmc_switch_part(struct mmc *mmc, unsigned int part_num);
|
||||
int mmc_hwpart_config(struct mmc *mmc, const struct mmc_hwpart_conf *conf,
|
||||
enum mmc_hwpart_conf_mode mode);
|
||||
|
||||
#ifndef CONFIG_DM_MMC_OPS
|
||||
#if !CONFIG_IS_ENABLED(DM_MMC_OPS)
|
||||
int mmc_getcd(struct mmc *mmc);
|
||||
int board_mmc_getcd(struct mmc *mmc);
|
||||
int mmc_getwp(struct mmc *mmc);
|
||||
|
||||
Reference in New Issue
Block a user