Messages in this thread | | | Date | Sat, 15 Nov 2008 23:57:39 +0000 | From | Ben Dooks <> | Subject | Re: [patch 7/7] SDHCI: Add change_clock callback for glue drivers |
| |
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
-- Ben (ben@fluff.org, http://www.fluff.org/)
'a smiley only costs 4 bytes'
| |