Message ID | 1386346223-18464-3-git-send-email-dinguyen@altera.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Am Freitag, 6. Dezember 2013, 17:10:23 schrieb dinguyen@altera.com: > From: Dinh Nguyen <dinguyen@altera.com> > > Rockchip's implementation of the dw_mmc controller only requires the > setting of the SDMMC_CMD_USE_HOLD_REG on every command. With the patch to > set the SDMMC_CMD_USE_HOLD_REG by checking the slot's speed mode, this > Rockchip custom driver structure is no longer necessary. > > Signed-off-by: Dinh Nguyen <dinguyen@altera.com> hmm, testing will need a bit more time, as it seems one of the changes merged during the 3.13 merge window broke the dw-mmc on the rockchip. So I'll need to bisect this first. Heiko > --- > drivers/mmc/host/dw_mmc-pltfm.c | 12 +----------- > 1 file changed, 1 insertion(+), 11 deletions(-) > > diff --git a/drivers/mmc/host/dw_mmc-pltfm.c > b/drivers/mmc/host/dw_mmc-pltfm.c index 5c49656..8f15d05 100644 > --- a/drivers/mmc/host/dw_mmc-pltfm.c > +++ b/drivers/mmc/host/dw_mmc-pltfm.c > @@ -25,15 +25,6 @@ > #include "dw_mmc.h" > #include "dw_mmc-pltfm.h" > > -static void dw_mci_rockchip_prepare_command(struct dw_mci *host, u32 > *cmdr) -{ > - *cmdr |= SDMMC_CMD_USE_HOLD_REG; > -} > - > -static const struct dw_mci_drv_data rockchip_drv_data = { > - .prepare_command = dw_mci_rockchip_prepare_command, > -}; > - > int dw_mci_pltfm_register(struct platform_device *pdev, > const struct dw_mci_drv_data *drv_data) > { > @@ -90,8 +81,7 @@ EXPORT_SYMBOL_GPL(dw_mci_pltfm_pmops); > > static const struct of_device_id dw_mci_pltfm_match[] = { > { .compatible = "snps,dw-mshc", }, > - { .compatible = "rockchip,rk2928-dw-mshc", > - .data = &rockchip_drv_data }, > + { .compatible = "rockchip,rk2928-dw-mshc", }, > {}, > }; > MODULE_DEVICE_TABLE(of, dw_mci_pltfm_match); -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 12/6/13 5:14 PM, Heiko Stübner wrote: > Am Freitag, 6. Dezember 2013, 17:10:23 schrieb dinguyen@altera.com: >> From: Dinh Nguyen <dinguyen@altera.com> >> >> Rockchip's implementation of the dw_mmc controller only requires the >> setting of the SDMMC_CMD_USE_HOLD_REG on every command. With the patch to >> set the SDMMC_CMD_USE_HOLD_REG by checking the slot's speed mode, this >> Rockchip custom driver structure is no longer necessary. >> >> Signed-off-by: Dinh Nguyen <dinguyen@altera.com> > hmm, testing will need a bit more time, as it seems one of the changes merged > during the 3.13 merge window broke the dw-mmc on the rockchip. Thanks Heiko. Don't bother with v1, I overlooked another aspect of using the hold reg. Let me send out a v2 for you to test. Dinh > > So I'll need to bisect this first. > > > Heiko > >> --- >> drivers/mmc/host/dw_mmc-pltfm.c | 12 +----------- >> 1 file changed, 1 insertion(+), 11 deletions(-) >> >> diff --git a/drivers/mmc/host/dw_mmc-pltfm.c >> b/drivers/mmc/host/dw_mmc-pltfm.c index 5c49656..8f15d05 100644 >> --- a/drivers/mmc/host/dw_mmc-pltfm.c >> +++ b/drivers/mmc/host/dw_mmc-pltfm.c >> @@ -25,15 +25,6 @@ >> #include "dw_mmc.h" >> #include "dw_mmc-pltfm.h" >> >> -static void dw_mci_rockchip_prepare_command(struct dw_mci *host, u32 >> *cmdr) -{ >> - *cmdr |= SDMMC_CMD_USE_HOLD_REG; >> -} >> - >> -static const struct dw_mci_drv_data rockchip_drv_data = { >> - .prepare_command = dw_mci_rockchip_prepare_command, >> -}; >> - >> int dw_mci_pltfm_register(struct platform_device *pdev, >> const struct dw_mci_drv_data *drv_data) >> { >> @@ -90,8 +81,7 @@ EXPORT_SYMBOL_GPL(dw_mci_pltfm_pmops); >> >> static const struct of_device_id dw_mci_pltfm_match[] = { >> { .compatible = "snps,dw-mshc", }, >> - { .compatible = "rockchip,rk2928-dw-mshc", >> - .data = &rockchip_drv_data }, >> + { .compatible = "rockchip,rk2928-dw-mshc", }, >> {}, >> }; >> MODULE_DEVICE_TABLE(of, dw_mci_pltfm_match); -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/mmc/host/dw_mmc-pltfm.c b/drivers/mmc/host/dw_mmc-pltfm.c index 5c49656..8f15d05 100644 --- a/drivers/mmc/host/dw_mmc-pltfm.c +++ b/drivers/mmc/host/dw_mmc-pltfm.c @@ -25,15 +25,6 @@ #include "dw_mmc.h" #include "dw_mmc-pltfm.h" -static void dw_mci_rockchip_prepare_command(struct dw_mci *host, u32 *cmdr) -{ - *cmdr |= SDMMC_CMD_USE_HOLD_REG; -} - -static const struct dw_mci_drv_data rockchip_drv_data = { - .prepare_command = dw_mci_rockchip_prepare_command, -}; - int dw_mci_pltfm_register(struct platform_device *pdev, const struct dw_mci_drv_data *drv_data) { @@ -90,8 +81,7 @@ EXPORT_SYMBOL_GPL(dw_mci_pltfm_pmops); static const struct of_device_id dw_mci_pltfm_match[] = { { .compatible = "snps,dw-mshc", }, - { .compatible = "rockchip,rk2928-dw-mshc", - .data = &rockchip_drv_data }, + { .compatible = "rockchip,rk2928-dw-mshc", }, {}, }; MODULE_DEVICE_TABLE(of, dw_mci_pltfm_match);