Re: [patch 7/7] SDHCI: Add change_clock callback for glue drivers

Ben Dooks
2008-11-15T23:58:17Z

On Fri, Nov 14, 2008 at 11:20:21PM +0100, Pierre Ossman wrote:
> On Mon, 03 Nov 2008 20:09:51 +0000
> Ben Dooks <ben-linux@fluff.org> wrote:
>
> > Add a change_clock callback to allow drivers to update
> > device specific clock selections and control registers
> > when there is a change in clock.
> >
> > Move the main part of sdhci_set_clock() to a new routine
> > which can be called by the glue drivers to do the sdhci
> > standard clock management.
> >
> > Update the sdhci-s3c driver to use this to select the
> > appropriate clock source when clocks change.
> >
> > Signed-off-by: Ben Dooks <ben-linux@fluff.org>
> >
>
> I'm afraid I don't quite follow on the requirements here. Care to
> elaborate as to why this is needed?

The controller has a number of possible clock sources, the bus clock
it is connected to (generally called hclk) and three more clocks from
the heirachy that is muxed/divided from either an 48MHz, 27MHz or the
EPLL.

The callback allows the recalculation and selection of the best clock
to run the card clock for the controller.

> > Index: linux.git/drivers/mmc/host/sdhci-pci.c
> > ===================================================================
> > --- linux.git.orig/drivers/mmc/host/sdhci-pci.c 2008-11-03 12:17:50.000000000 +0000
> > +++ linux.git/drivers/mmc/host/sdhci-pci.c 2008-11-03 12:18:41.000000000 +0000
> > @@ -391,6 +391,7 @@ static int sdhci_pci_enable_dma(struct s
> >
> > static struct sdhci_ops sdhci_pci_ops = {
> > .enable_dma = sdhci_pci_enable_dma,
> > + .change_clock = sdhci_change_clock,
> > };
> >
> > /*****************************************************************************\
>
> This seems pointless :)
>
> > @@ -950,6 +955,8 @@ out:
> > host->clock = clock;
> > }
> >
> > +EXPORT_SYMBOL_GPL(sdhci_set_clock);
> > +
>
> Wrong symbol. :)

ok, will fix