[PATCH] sdhci-s3c: support non-standard clock setting for c210
Kukjin Kim
kgene.kim at samsung.com
Thu Sep 2 07:00:48 EDT 2010
Kukjin Kim wrote:
>
> Kyungmin Park wrote:
> >
> > On Thu, Sep 2, 2010 at 7:20 PM, Kukjin Kim <kgene.kim at samsung.com>
wrote:
> > > Jaehoon Chung wrote:
> > >>
> > >> This is sdhci-s3c patch for c210.
> > >> c210 didn't use divider of host controller.
> > >>
> > >> Host Controller need other clock setting methods.
> > >>
> > >> So I add the callback functions for s5pc210.
> > >> also I set 400KHz for initial clock.
> > >>
> > >> Signed-off-by: Jaehoon Chung <jh80.chung at samsung.com>
> > >> Signed-off-by: Kyungmin Park <kyungmin.park at samsung.com>
> ^^^
> Unnecessary whitespace
>
> If your patch includes arch/arm stuff, please add Linux-arm-kernel
maillinglist.
> (Cc'ed that)
>
> > >>
> > >> ---
> > >> arch/arm/plat-samsung/include/plat/sdhci.h | 19 ++++++++
> > >> drivers/mmc/host/sdhci-s3c.c | 68
> > >> ++++++++++++++++++++++++++++
> > >> 2 files changed, 87 insertions(+), 0 deletions(-)
> > >>
> > >> diff --git a/arch/arm/plat-samsung/include/plat/sdhci.h
b/arch/arm/plat-
> > >> samsung/include/plat/sdhci.h
> > >> index 30844c2..7c75ee3 100644
> > >> --- a/arch/arm/plat-samsung/include/plat/sdhci.h
> > >> +++ b/arch/arm/plat-samsung/include/plat/sdhci.h
(snip)
> > >> diff --git a/drivers/mmc/host/sdhci-s3c.c
b/drivers/mmc/host/sdhci-s3c.c
> > >> index 71ad416..3927793 100644
> > >> --- a/drivers/mmc/host/sdhci-s3c.c
> > >> +++ b/drivers/mmc/host/sdhci-s3c.c
>
> (snip)
>
> > >
> > > How do you think about using quirk to separate S5PV310 case as
following?
> > > I think this is more general method in here...And will be submitted
soon
> > > after fixing something.
mm...I will think about your comments again. Then let's discuss about this
issue.
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <kgene.kim at samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
> > What's the meaning of "general method"?
> >
> I'd like to ask you why there is quirk in sdmmc driver.
>
> > and how/where do you set the host->quirks? when board or platform set
> > the these quirks? who know it uses nonstandard quirk?
>
> How about following?
>
> static int __devinit sdhci_s3c_probe(struct platform_device *pdev)
> ...
> + if (pdev->id_entry->driver_data == TYPE_S5PV310)
> + host->quirks |= SDHCI_QUIRK_BROKEN_CLOCK_DIVIDER;
> ...
>
> > In case s5pc210 don't have standard host controller. it's more clear
> > to use own functions instead of quirks.
> >
> Why do we add another callback function?
>
> > >
> > > From: Hyuk Lee <hyuk1.lee at samsung.com>
> > >
> > > diff --git a/drivers/mmc/host/sdhci-s3c.c
b/drivers/mmc/host/sdhci-s3c.c
> > > index 71ad416..1ac2f36 100644
> > > --- a/drivers/mmc/host/sdhci-s3c.c
> > > +++ b/drivers/mmc/host/sdhci-s3c.c
>
> (snip)
>
> > > @@ -221,6 +257,11 @@ static unsigned int
sdhci_s3c_get_min_clock(struct
> > > sdhci_host *host)
> > > unsigned int delta, min = UINT_MAX;
> > > int src;
> > >
> > > + /* There is only one clock source(sclk) if there is no clock
divider
> > > + * in the host controller */
> > > + if(host->quirks & SDHCI_QUIRK_BROKEN_CLOCK_DIVIDER)
> > > + return clk_round_rate(ourhost->clk_bus[2], 400000);
> > what's the clk_bus[2]?
> >
> Should be clk_bus[ourhost->cur_clk]
>
> (snip)
>
More information about the linux-arm-kernel
mailing list