[U-Boot] [PATCH 1/4] drivers: omap_hsmmc: use an accessor to get the private data
Jaehoon Chung
jh80.chung at samsung.com
Thu Mar 30 04:35:30 UTC 2017
Hi,
On 03/23/2017 12:00 AM, Jean-Jacques Hiblot wrote:
> For consistency, use an accessor to access the private data. Also for the
> same reason, rename all priv_data to priv.
>
> Signed-off-by: Jean-Jacques Hiblot <jjhiblot at ti.com>
Applied on u-boot-mmc. Thanks!
Best Regards,
Jaehoon Chung
> ---
> drivers/mmc/omap_hsmmc.c | 54 +++++++++++++++++++++++++++++-------------------
> 1 file changed, 33 insertions(+), 21 deletions(-)
>
> diff --git a/drivers/mmc/omap_hsmmc.c b/drivers/mmc/omap_hsmmc.c
> index 7ed5328..fe92908 100644
> --- a/drivers/mmc/omap_hsmmc.c
> +++ b/drivers/mmc/omap_hsmmc.c
> @@ -78,7 +78,16 @@ static int mmc_read_data(struct hsmmc *mmc_base, char *buf, unsigned int size);
> static int mmc_write_data(struct hsmmc *mmc_base, const char *buf,
> unsigned int siz);
>
> -#if defined(OMAP_HSMMC_USE_GPIO) && !defined(CONFIG_DM_MMC)
> +static inline struct omap_hsmmc_data *omap_hsmmc_get_data(struct mmc *mmc)
> +{
> +#ifdef CONFIG_DM_MMC
> + return dev_get_priv(mmc->dev);
> +#else
> + return (struct omap_hsmmc_data *)mmc->priv;
> +#endif
> +}
> +
> + #if defined(OMAP_HSMMC_USE_GPIO) && !defined(CONFIG_DM_MMC)
> static int omap_mmc_setup_gpio_in(int gpio, const char *label)
> {
> int ret;
> @@ -194,12 +203,13 @@ void mmc_init_stream(struct hsmmc *mmc_base)
>
> static int omap_hsmmc_init_setup(struct mmc *mmc)
> {
> + struct omap_hsmmc_data *priv = omap_hsmmc_get_data(mmc);
> struct hsmmc *mmc_base;
> unsigned int reg_val;
> unsigned int dsor;
> ulong start;
>
> - mmc_base = ((struct omap_hsmmc_data *)mmc->priv)->base_addr;
> + mmc_base = priv->base_addr;
> mmc_board_init(mmc);
>
> writel(readl(&mmc_base->sysconfig) | MMC_SOFTRESET,
> @@ -304,11 +314,12 @@ static void mmc_reset_controller_fsm(struct hsmmc *mmc_base, u32 bit)
> static int omap_hsmmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd,
> struct mmc_data *data)
> {
> + struct omap_hsmmc_data *priv = omap_hsmmc_get_data(mmc);
> struct hsmmc *mmc_base;
> unsigned int flags, mmc_stat;
> ulong start;
>
> - mmc_base = ((struct omap_hsmmc_data *)mmc->priv)->base_addr;
> + mmc_base = priv->base_addr;
> start = get_timer(0);
> while ((readl(&mmc_base->pstate) & (DATI_MASK | CMDI_MASK)) != 0) {
> if (get_timer(0) - start > MAX_RETRY_MS) {
> @@ -533,11 +544,12 @@ static int mmc_write_data(struct hsmmc *mmc_base, const char *buf,
>
> static int omap_hsmmc_set_ios(struct mmc *mmc)
> {
> + struct omap_hsmmc_data *priv = omap_hsmmc_get_data(mmc);
> struct hsmmc *mmc_base;
> unsigned int dsor = 0;
> ulong start;
>
> - mmc_base = ((struct omap_hsmmc_data *)mmc->priv)->base_addr;
> + mmc_base = priv->base_addr;
> /* configue bus width */
> switch (mmc->bus_width) {
> case 8:
> @@ -591,7 +603,7 @@ static int omap_hsmmc_set_ios(struct mmc *mmc)
> #ifdef CONFIG_DM_MMC
> static int omap_hsmmc_getcd(struct mmc *mmc)
> {
> - struct omap_hsmmc_data *priv = mmc->priv;
> + struct omap_hsmmc_data *priv = omap_hsmmc_get_data(mmc);
> int value;
>
> value = dm_gpio_get_value(&priv->cd_gpio);
> @@ -606,7 +618,7 @@ static int omap_hsmmc_getcd(struct mmc *mmc)
>
> static int omap_hsmmc_getwp(struct mmc *mmc)
> {
> - struct omap_hsmmc_data *priv = mmc->priv;
> + struct omap_hsmmc_data *priv = omap_hsmmc_get_data(mmc);
> int value;
>
> value = dm_gpio_get_value(&priv->wp_gpio);
> @@ -618,11 +630,11 @@ static int omap_hsmmc_getwp(struct mmc *mmc)
> #else
> static int omap_hsmmc_getcd(struct mmc *mmc)
> {
> - struct omap_hsmmc_data *priv_data = mmc->priv;
> + struct omap_hsmmc_data *priv = omap_hsmmc_get_data(mmc);
> int cd_gpio;
>
> /* if no CD return as 1 */
> - cd_gpio = priv_data->cd_gpio;
> + cd_gpio = priv->cd_gpio;
> if (cd_gpio < 0)
> return 1;
>
> @@ -632,11 +644,11 @@ static int omap_hsmmc_getcd(struct mmc *mmc)
>
> static int omap_hsmmc_getwp(struct mmc *mmc)
> {
> - struct omap_hsmmc_data *priv_data = mmc->priv;
> + struct omap_hsmmc_data *priv = omap_hsmmc_get_data(mmc);
> int wp_gpio;
>
> /* if no WP return as 0 */
> - wp_gpio = priv_data->wp_gpio;
> + wp_gpio = priv->wp_gpio;
> if (wp_gpio < 0)
> return 0;
>
> @@ -661,23 +673,23 @@ int omap_mmc_init(int dev_index, uint host_caps_mask, uint f_max, int cd_gpio,
> int wp_gpio)
> {
> struct mmc *mmc;
> - struct omap_hsmmc_data *priv_data;
> + struct omap_hsmmc_data *priv;
> struct mmc_config *cfg;
> uint host_caps_val;
>
> - priv_data = malloc(sizeof(*priv_data));
> - if (priv_data == NULL)
> + priv = malloc(sizeof(*priv));
> + if (priv == NULL)
> return -1;
>
> host_caps_val = MMC_MODE_4BIT | MMC_MODE_HS_52MHz | MMC_MODE_HS;
>
> switch (dev_index) {
> case 0:
> - priv_data->base_addr = (struct hsmmc *)OMAP_HSMMC1_BASE;
> + priv->base_addr = (struct hsmmc *)OMAP_HSMMC1_BASE;
> break;
> #ifdef OMAP_HSMMC2_BASE
> case 1:
> - priv_data->base_addr = (struct hsmmc *)OMAP_HSMMC2_BASE;
> + priv->base_addr = (struct hsmmc *)OMAP_HSMMC2_BASE;
> #if (defined(CONFIG_OMAP44XX) || defined(CONFIG_OMAP54XX) || \
> defined(CONFIG_DRA7XX) || defined(CONFIG_AM33XX) || \
> defined(CONFIG_AM43XX) || defined(CONFIG_SOC_KEYSTONE)) && \
> @@ -689,7 +701,7 @@ int omap_mmc_init(int dev_index, uint host_caps_mask, uint f_max, int cd_gpio,
> #endif
> #ifdef OMAP_HSMMC3_BASE
> case 2:
> - priv_data->base_addr = (struct hsmmc *)OMAP_HSMMC3_BASE;
> + priv->base_addr = (struct hsmmc *)OMAP_HSMMC3_BASE;
> #if defined(CONFIG_DRA7XX) && defined(CONFIG_HSMMC3_8BIT)
> /* Enable 8-bit interface for eMMC on DRA7XX */
> host_caps_val |= MMC_MODE_8BIT;
> @@ -697,16 +709,16 @@ int omap_mmc_init(int dev_index, uint host_caps_mask, uint f_max, int cd_gpio,
> break;
> #endif
> default:
> - priv_data->base_addr = (struct hsmmc *)OMAP_HSMMC1_BASE;
> + priv->base_addr = (struct hsmmc *)OMAP_HSMMC1_BASE;
> return 1;
> }
> #ifdef OMAP_HSMMC_USE_GPIO
> /* on error gpio values are set to -1, which is what we want */
> - priv_data->cd_gpio = omap_mmc_setup_gpio_in(cd_gpio, "mmc_cd");
> - priv_data->wp_gpio = omap_mmc_setup_gpio_in(wp_gpio, "mmc_wp");
> + priv->cd_gpio = omap_mmc_setup_gpio_in(cd_gpio, "mmc_cd");
> + priv->wp_gpio = omap_mmc_setup_gpio_in(wp_gpio, "mmc_wp");
> #endif
>
> - cfg = &priv_data->cfg;
> + cfg = &priv->cfg;
>
> cfg->name = "OMAP SD/MMC";
> cfg->ops = &omap_hsmmc_ops;
> @@ -737,7 +749,7 @@ int omap_mmc_init(int dev_index, uint host_caps_mask, uint f_max, int cd_gpio,
> if ((get_cpu_family() == CPU_OMAP34XX) && (get_cpu_rev() <= CPU_3XX_ES21))
> cfg->b_max = 1;
> #endif
> - mmc = mmc_create(cfg, priv_data);
> + mmc = mmc_create(cfg, priv);
> if (mmc == NULL)
> return -1;
>
>
More information about the U-Boot
mailing list