Message ID | 1392666911-15985-2-git-send-email-dinguyen@altera.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Dinh! On Mon, Feb 17, 2014 at 01:55:10PM -0600, dinguyen@altera.com wrote: > From: Dinh Nguyen <dinguyen@altera.com> > > Like the rockchip, Altera's SOCFPGA platform specific implementation of the > dw_mmc driver requires using the HOLD register for SD commands. > > Signed-off-by: Dinh Nguyen <dinguyen@altera.com> > Acked-by: Steffen Trumtrar <s.trumtrar@pengutronix.de> > Tested-by: Steffen Trumtrar <s.trumtrar@pengutronix.de> > Cc: Rob Herring <robh+dt@kernel.org> > Cc: Pawel Moll <pawel.moll@arm.com> > Cc: Mark Rutland <mark.rutland@arm.com> > Cc: Ian Campbell <ijc+devicetree@hellion.org.uk> > Cc: Kumar Gala <galak@codeaurora.org> > Cc: Seungwon Jeon <tgih.jun@samsung.com> > Cc: Jaehoon Chung <jh80.chung@samsung.com> > Cc: Chris Ball <chris@printf.net> > --- > v2: Use dw_mci_socfpga_prepare_command instead of > dw_mci_rockchip_prepare_command > --- > drivers/mmc/host/dw_mmc-pltfm.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/drivers/mmc/host/dw_mmc-pltfm.c b/drivers/mmc/host/dw_mmc-pltfm.c > index 5c49656..5b87cc2 100644 > --- a/drivers/mmc/host/dw_mmc-pltfm.c > +++ b/drivers/mmc/host/dw_mmc-pltfm.c > @@ -30,10 +30,19 @@ static void dw_mci_rockchip_prepare_command(struct dw_mci *host, u32 *cmdr) > *cmdr |= SDMMC_CMD_USE_HOLD_REG; > } > > +static void dw_mci_socfpga_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, > }; > +static const struct dw_mci_drv_data socfpga_drv_data = { > + .prepare_command = dw_mci_socfpga_prepare_command, > +}; > + Why didn't you just rename the rockchip function, instead of adding the same thing with a different name? This seems rather "useless" or I'm missing something. Regards, Steffen
diff --git a/drivers/mmc/host/dw_mmc-pltfm.c b/drivers/mmc/host/dw_mmc-pltfm.c index 5c49656..5b87cc2 100644 --- a/drivers/mmc/host/dw_mmc-pltfm.c +++ b/drivers/mmc/host/dw_mmc-pltfm.c @@ -30,10 +30,19 @@ static void dw_mci_rockchip_prepare_command(struct dw_mci *host, u32 *cmdr) *cmdr |= SDMMC_CMD_USE_HOLD_REG; } +static void dw_mci_socfpga_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, }; +static const struct dw_mci_drv_data socfpga_drv_data = { + .prepare_command = dw_mci_socfpga_prepare_command, +}; + int dw_mci_pltfm_register(struct platform_device *pdev, const struct dw_mci_drv_data *drv_data) { @@ -92,6 +101,8 @@ static const struct of_device_id dw_mci_pltfm_match[] = { { .compatible = "snps,dw-mshc", }, { .compatible = "rockchip,rk2928-dw-mshc", .data = &rockchip_drv_data }, + { .compatible = "altr,socfpga-dw-mshc", + .data = &socfpga_drv_data }, {}, }; MODULE_DEVICE_TABLE(of, dw_mci_pltfm_match);