Messages in this thread | | | Date | Wed, 26 Sep 2012 18:31:45 +0200 | From | Davide Ciminaghi <> | Subject | Re: [PATCH 1/8] sta2x11-mfd : add apb-soc regs driver and factor out common code |
| |
On Wed, Sep 26, 2012 at 04:04:29PM +0100, Mark Brown wrote: > On Wed, Sep 26, 2012 at 04:56:15PM +0200, Davide Ciminaghi wrote: > > On Tue, Sep 25, 2012 at 08:20:48PM +0100, Mark Brown wrote: > > > > Glancing at the diff here this looks a lot like regmap-mmio... not sure > > > if it is or not, though. > > > that would be ideal, but I also need to deal with the common clock framework, > > which doesn't support regmap: clk_register_divider(), clk_register_mux(), > > clk_register_gate(), all take a void __iomem * to access clock control > > registers, so as far as I can understand we can't use regmap, unless of > > course we convert the common clock framework to regmap. > > The two should be able to coexist happily, regmap-mmio requires the > caller to do the actual mapping and so long as you don't cache the > relevant registers the two shouldn't interfere with each other. > Well, it just sounded not so clean to me having two ways for accessing the same registers. The caller would be sta2x11-mfd in our case, while clock registers are used by the common clock framework, so sta2x11-mfd should still need to export some void __iomem * to make the clock framework happy, while other potential users could go via regmap. Oh, and there's another problem (I'm looking at the code right now, I had forgotten about this): the clock framework also asks for a spinlock_t *. Regmap has its own spinlock (or mutex), and I don't think it would be a good idea trying to export it. So, as far as I can understand at present, the best thing to do would be adding regmap support to the clock framework, which wouldn't be trivial because I guess we should keep compatibility with the present clk_register_... api
Davide
| |