From ac4b9dbb3c9b056008e00ee3d02fe3dad65641b7 Mon Sep 17 00:00:00 2001 From: Zoltan Herpai Date: Thu, 6 Mar 2014 00:09:30 +0000 Subject: sunxi: driver refresh for 3.13 - update gmac / mmc / usb / ahci drivers to follow mainline dev trees - add driver for spi - update clock support - update a31 support - move to new DT compats where appropriate - re-order patchqueue where needed - verified working a20 smp - move most DTSes off files/ - update defconfig Signed-off-by: Zoltan HERPAI SVN-Revision: 39782 --- ...6-mmc-dont-call-mmc_of_parser-until-ready.patch | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 target/linux/sunxi/patches-3.13/170-6-mmc-dont-call-mmc_of_parser-until-ready.patch (limited to 'target/linux/sunxi/patches-3.13/170-6-mmc-dont-call-mmc_of_parser-until-ready.patch') diff --git a/target/linux/sunxi/patches-3.13/170-6-mmc-dont-call-mmc_of_parser-until-ready.patch b/target/linux/sunxi/patches-3.13/170-6-mmc-dont-call-mmc_of_parser-until-ready.patch new file mode 100644 index 0000000..21aee13 --- /dev/null +++ b/target/linux/sunxi/patches-3.13/170-6-mmc-dont-call-mmc_of_parser-until-ready.patch @@ -0,0 +1,45 @@ +From 73797537f3904fec60a647b3b209bf7add092ad5 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Mon, 17 Feb 2014 21:59:08 +0100 +Subject: [PATCH] sunxi-mmc: Don't call mmc_of_parse until we're ready to + +mmc_of_parse registers an irq handler for the gpio pins for cd, this irq +handler will reference host->ops, so don't call mmc_of_parse until we're +done setting everything up. + +Signed-off-by: Hans de Goede +--- + drivers/mmc/host/sunxi-mmc.c | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +diff --git a/drivers/mmc/host/sunxi-mmc.c b/drivers/mmc/host/sunxi-mmc.c +index d5e8ff9..cceae68 100644 +--- a/drivers/mmc/host/sunxi-mmc.c ++++ b/drivers/mmc/host/sunxi-mmc.c +@@ -766,10 +766,6 @@ static int sunxi_mmc_probe(struct platform_device *pdev) + return -ENOMEM; + } + +- ret = mmc_of_parse(mmc); +- if (ret) +- goto error_free_host; +- + host = mmc_priv(mmc); + host->mmc = mmc; + spin_lock_init(&host->lock); +@@ -806,8 +802,11 @@ static int sunxi_mmc_probe(struct platform_device *pdev) + MMC_CAP_SDIO_IRQ; + mmc->caps2 |= MMC_CAP2_NO_PRESCAN_POWERUP; + +- ret = mmc_add_host(mmc); ++ ret = mmc_of_parse(mmc); ++ if (ret) ++ goto error_free_dma; + ++ ret = mmc_add_host(mmc); + if (ret) + goto error_free_dma; + +-- +1.8.5.5 + -- cgit v1.1