Hi, On 28/08/12 08:55, Jaehoon Chung wrote: > Some SoC need to set the clock-phase shift. > So Add the callback function into platdata for using phase-shift > > Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> > Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> > --- > drivers/mmc/host/dw_mmc.c | 3 +++ > include/linux/mmc/dw_mmc.h | 8 ++++++++ > 2 files changed, 11 insertions(+), 0 deletions(-) > > diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c > index e30d3ed..437fdf8 100644 > --- a/drivers/mmc/host/dw_mmc.c > +++ b/drivers/mmc/host/dw_mmc.c > @@ -821,6 +821,9 @@ static void dw_mci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) > > mci_writel(slot->host, UHS_REG, regs); > > + if (slot->host->pdata->set_clk_drv_sample) > + slot->host->pdata->set_clk_drv_sample(slot->host, ios); > + > if (ios->clock) { > /* > * Use mirror of ios->clock to prevent race with mmc > diff --git a/include/linux/mmc/dw_mmc.h b/include/linux/mmc/dw_mmc.h > index 7a7ebd3..f20979c 100644 > --- a/include/linux/mmc/dw_mmc.h > +++ b/include/linux/mmc/dw_mmc.h > @@ -229,6 +229,9 @@ struct dw_mci_board { > */ > unsigned int fifo_depth; > > + u32 ddr_timing; /* DDR clock phase timing value */ > + u32 sdr_timing; /* SDR clock phase timing value */ > + These don't appear to be used. Are they meant to be there? > /* delay in mS before detecting cards after interrupt */ > u32 detect_delay_ms; > > @@ -249,6 +252,11 @@ struct dw_mci_board { > struct dw_mci_dma_ops *dma_ops; > struct dma_pdata *data; > struct block_settings *blk_settings; > + > + int (*get_clk_drv)(struct dw_mci *); > + int (*get_clk_sample)(struct dw_mci *); same with these two functions? Thanks James > + void (*set_clk_drv_sample)(struct dw_mci *host, struct mmc_ios *ios); > + > }; > > #endif /* LINUX_MMC_DW_MMC_H */ > -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html