In preparation for a switch to the common mci-pbl support, merge at91_mci_bio_init & at91_mci_bio_set_highcapacity, because pbl_mci_bio_init() expects these parameters to be already set.
Signed-off-by: Ahmad Fatoum <a.fat...@pengutronix.de> --- arch/arm/mach-at91/at91sam9_xload_mmc.c | 5 +---- arch/arm/mach-at91/xload.c | 3 ++- drivers/mci/atmel_mci_pbl.c | 13 ++++++------- include/mach/at91/xload.h | 6 +++--- 4 files changed, 12 insertions(+), 15 deletions(-) diff --git a/arch/arm/mach-at91/at91sam9_xload_mmc.c b/arch/arm/mach-at91/at91sam9_xload_mmc.c index 26f268ae91dc..b84c4b275d4e 100644 --- a/arch/arm/mach-at91/at91sam9_xload_mmc.c +++ b/arch/arm/mach-at91/at91sam9_xload_mmc.c @@ -94,15 +94,12 @@ void __noreturn sam9263_atmci_start_image(u32 mmc_id, unsigned int clock, at91_pmc_enable_periph_clock(IOMEM(AT91SAM926X_BASE_PMC), AT91SAM9263_ID_MCI1); } - ret = at91_mci_bio_init(&bio, base, clock, (int)slot_b); + ret = at91_mci_bio_init(&bio, base, clock, (int)slot_b, PBL_MCI_STANDARD_CAPACITY); if (ret) { pr_err("atmci_start_image: bio init faild: %d\n", ret); goto out_panic; } - /* at91sam9x do not support high capacity */ - at91_mci_bio_set_highcapacity(false); - ret = pbl_fat_load(&bio, "barebox.bin", buf, SZ_16M); if (ret < 0) { pr_err("pbl_fat_load: error %d\n", ret); diff --git a/arch/arm/mach-at91/xload.c b/arch/arm/mach-at91/xload.c index 5d8105f07fe4..709bf054874a 100644 --- a/arch/arm/mach-at91/xload.c +++ b/arch/arm/mach-at91/xload.c @@ -228,7 +228,8 @@ void __noreturn sama5d3_atmci_start_image(u32 r4, unsigned int clock, sama5d3_pmc_enable_periph_clock(instance->id); - ret = at91_mci_bio_init(&bio, instance->base, clock, slot); + ret = at91_mci_bio_init(&bio, instance->base, clock, slot, + PBL_MCI_UNKNOWN_CAPACITY); if (ret) goto out_panic; diff --git a/drivers/mci/atmel_mci_pbl.c b/drivers/mci/atmel_mci_pbl.c index bd4faa4de5f0..d7343246abbb 100644 --- a/drivers/mci/atmel_mci_pbl.c +++ b/drivers/mci/atmel_mci_pbl.c @@ -83,7 +83,8 @@ static int at91_mci_bio_read(struct pbl_bio *bio, off_t start, } int at91_mci_bio_init(struct pbl_bio *bio, void __iomem *base, - unsigned int clock, unsigned int slot) + unsigned int clock, unsigned int slot, + enum pbl_mci_capacity capacity) { struct atmel_mci_priv *priv = &atmci_sdcard; struct atmel_mci *host = &priv->host; @@ -111,12 +112,10 @@ int at91_mci_bio_init(struct pbl_bio *bio, void __iomem *base, atmci_common_set_ios(host, &ios); - priv->highcapacity_card = 1; + if (capacity == PBL_MCI_STANDARD_CAPACITY) + atmci_sdcard.highcapacity_card = false; + else + atmci_sdcard.highcapacity_card = true; return 0; } - -void at91_mci_bio_set_highcapacity(bool highcapacity_card) -{ - atmci_sdcard.highcapacity_card = highcapacity_card; -} diff --git a/include/mach/at91/xload.h b/include/mach/at91/xload.h index d5fc7596fda6..21840fecbd08 100644 --- a/include/mach/at91/xload.h +++ b/include/mach/at91/xload.h @@ -4,7 +4,7 @@ #define __MACH_AT91_XLOAD_H #include <linux/compiler.h> -#include <pbl/bio.h> +#include <pbl/mci.h> void __noreturn sama5d2_start_image(u32 r4); void __noreturn sama5d3_atmci_start_image(u32 r4, unsigned int clock, @@ -12,8 +12,8 @@ void __noreturn sama5d3_atmci_start_image(u32 r4, unsigned int clock, int at91_sdhci_bio_init(struct pbl_bio *bio, void __iomem *base); int at91_mci_bio_init(struct pbl_bio *bio, void __iomem *base, - unsigned int clock, unsigned int slot); -void at91_mci_bio_set_highcapacity(bool highcapacity_card); + unsigned int clock, unsigned int slot, + enum pbl_mci_capacity capacity); void __noreturn sam9263_atmci_start_image(u32 mmc_id, unsigned int clock, bool slot_b); -- 2.39.5