devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Anatolij Gustschin <agust@denx.de>
To: Arnd Bergmann <arnd@arndb.de>
Cc: linux-mmc@vger.kernel.org, Chris Ball <cjb@laptop.org>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Markus Pargmann <mpa@pengutronix.de>,
	devicetree-discuss@lists.ozlabs.org
Subject: Re: [PATCH 1/5] mmc: mxcmmc: add mpc512x SDHC support
Date: Thu, 14 Mar 2013 19:13:32 +0100	[thread overview]
Message-ID: <20130314191332.44ca64c9@crub> (raw)
In-Reply-To: <1589714.JH7YyAvXz1@wuerfel>

On Thu, 14 Mar 2013 17:50:08 +0100
Arnd Bergmann <arnd@arndb.de> wrote:

> On Thursday 14 March 2013 17:40:49 Anatolij Gustschin wrote:
> 
> > +
> > +struct mxcmci_reg_ops mxcmci_reg_ops = {
> > +	.read_l = mpcmci_readl,
> > +	.write_l = mpcmci_writel,
> > +	.read_w = mpcmci_readw,
> > +	.write_w = mpcmci_writew,
> > +};
> > +#else
> > +struct mxcmci_reg_ops mxcmci_reg_ops;
> > +#endif
> 
> Should the struct be static?

yes, it should.

> > +static inline u32 mxcmci_readl(struct mxcmci_host *host, int reg)
> > +{
> > +	if (host->reg_ops->read_l)
> > +		return host->reg_ops->read_l(host, reg);
> > +	else
> > +		return readl(host->base + reg);
> > +}
> 
> This seems a bit strange. I would suggest you either use the ops structure
> all the time and provide an imx variant, or you make it completely
> compile-time selected.

I wanted to avoid additional levels of indirection and function calls
on i.MX. If something like

static inline u32 mxcmci_readl(struct mxcmci_host *host, int reg)
{
#if IS_ENABLED(CONFIG_PPC_MPC512x)
	return in_be32(host->base + reg);
#else
	return readl(host->base + reg); 
#endif
}

is acceptable, I'll use it.

> > @@ -1026,24 +1115,33 @@ static int mxcmci_probe(struct platform_device *pdev)
> >  	host->res = r;
> >  	host->irq = irq;
> >  
> > -	host->clk_ipg = devm_clk_get(&pdev->dev, "ipg");
> > -	if (IS_ERR(host->clk_ipg)) {
> > -		ret = PTR_ERR(host->clk_ipg);
> > -		goto out_iounmap;
> > -	}
> > +	if (!is_mpc512x_mmc(host)) {
> > +		host->clk_ipg = devm_clk_get(&pdev->dev, "ipg");
> > +		if (IS_ERR(host->clk_ipg)) {
> > +			ret = PTR_ERR(host->clk_ipg);
> > +			goto out_iounmap;
> > +		}
> 
> Does mpc512x have no clock management? I think it should still
> work without modifications if CONFIG_HAVE_CLK is disabled.
> In that case, devm_clk_get() will return NULL and we don't
> error out here.

It does have some clock management (a platform clock driver) and
the platform selects CONFIG_HAVE_CLK. But we do not have "ipg"
and "per" clocks on that platform, but "sdhc_clk" instead.

Thanks,

Anatolij

  reply	other threads:[~2013-03-14 18:13 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-14 16:40 [PATCH 0/5] mmc: mxcmmc: add mpc512x support Anatolij Gustschin
2013-03-14 16:40 ` [PATCH 1/5] mmc: mxcmmc: add mpc512x SDHC support Anatolij Gustschin
2013-03-14 16:50   ` Arnd Bergmann
2013-03-14 18:13     ` Anatolij Gustschin [this message]
2013-03-14 20:05       ` Sascha Hauer
2013-03-14 22:52       ` Arnd Bergmann
2013-03-14 16:40 ` [PATCH 2/5] mmc: mxcmmc: use slot-gpio API for write-protect detection Anatolij Gustschin
2013-03-14 16:40 ` [PATCH 3/5] mmc: mxcmmc: constify mxcmci_devtype and fix build warning Anatolij Gustschin
2013-03-14 16:40 ` Anatolij Gustschin
2013-03-14 18:15   ` Anatolij Gustschin
2013-03-14 16:40 ` [PATCH 4/5] mmc: mxcmmc: enable DMA support on mpc512x Anatolij Gustschin
2013-03-14 20:11   ` Sascha Hauer
2013-03-14 21:18     ` Anatolij Gustschin
2013-03-14 16:40 ` [PATCH 5/5] mmc: mxcmmc: fix race conditions for host->req and host->data access Anatolij Gustschin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130314191332.44ca64c9@crub \
    --to=agust@denx.de \
    --cc=arnd@arndb.de \
    --cc=cjb@laptop.org \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=mpa@pengutronix.de \
    --cc=s.hauer@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).