
Hi Jaehoon,
On 27 June 2016 at 04:54, Jaehoon Chung jh80.chung@samsung.com wrote:
Hi Simon,
On 06/13/2016 02:30 PM, Simon Glass wrote:
These comments were missed when the original code was written. Add them to help people port their drivers over.
Signed-off-by: Simon Glass sjg@chromium.org
include/dwmmc.h | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+)
diff --git a/include/dwmmc.h b/include/dwmmc.h index 335af51..0199def 100644 --- a/include/dwmmc.h +++ b/include/dwmmc.h @@ -224,9 +224,73 @@ static inline u8 dwmci_readb(struct dwmci_host *host, int reg) return readb(host->ioaddr + reg); }
+#ifdef CONFIG_BLK +/**
- dwmci_setup_cfg() - Set up the configuration for DWMMC
- This is used to set up a DWMMC device when you are using CONFIG_BLK.
- This should be called from your MMC driver's probe() method once you have
- the information required.
- Generally your driver will have a platform data structure which holds both
- the configuration (struct mmc_config) and the MMC device info (struct mmc).
- For example:
- struct rockchip_mmc_plat {
- struct mmc_config cfg;
- struct mmc mmc;
- };
- ...
- Inside U_BOOT_DRIVER():
- .platdata_auto_alloc_size = sizeof(struct rockchip_mmc_plat),
- To access platform data:
- struct rockchip_mmc_plat *plat = dev_get_platdata(dev);
- See rockchip_dw_mmc.c for an example.
- @cfg: Configuration structure to fill in (generally &plat->mmc)
- @name: Device name (normally dev->name)
- @buswidth: Bus width (in bits, such as 4 or 8)
- @caps: Host capabilities (MMC_MODE_...)
- @max_clk: Maximum supported clock speed in HZ (e.g. 400000)
- @min_clk: Minimum supported clock speed in HZ (e.g. 150000000)
e,g is need to swap max_clk <-> min_clk?
- */
void dwmci_setup_cfg(struct mmc_config *cfg, const char *name, int buswidth, uint caps, u32 max_clk, u32 min_clk);
+/**
- dwmci_bind() - Set up a new MMC block device
- This is used to set up a DWMMC block device when you are using CONFIG_BLK.
- It should be called from your driver's bind() method.
- See rockchip_dw_mmc.c for an example.
- @dev: Device to set up
- @mmc: Pointer to mmc structure (normally &plat->mmc)
- @cfg: Empty configuration structure (generally &plat->cfg). This is
normally all zeroes at this point. The only purpose of passing
this in is to set mmc->cfg to it.
- @return 0 if OK, -ve if the block device could not be created
- */
int dwmci_bind(struct udevice *dev, struct mmc *mmc, struct mmc_config *cfg);
+#else +/**
- add_dwmci() - Add a new DWMMC interface
- This is used when you are not using CONFIG_BLK. Convert your driver over!
- @host: DWMMC host structure
- @max_clk: Maximum supported clock speed in HZ (e.g. 400000)
- @min_clk: Minimum supported clock speed in HZ (e.g. 150000000)
- @return 0 if OK, -ve on error
- */
Ditto.
I'm starting to covert to DM for dwmmc exynos... After finishing convert for dwmmc_exynos, I will check in more detail on dwmmc core side.
OK I see your patches so I'll apply this as is. Your patches are assigned to Minkyu, so I'll leave them to him.
Sorry for checking too late.
Best Regards, Jaehoon Chung
int add_dwmci(struct dwmci_host *host, u32 max_clk, u32 min_clk); +#endif /* !CONFIG_BLK */
#endif /* __DWMMC_HW_H */
Regards, Simon