[PATCH 3/5] [orion] Move address map setup out of the drivers and into platform.

Nicolas Pitre nico at fluxnic.net
Wed Nov 16 12:25:11 EST 2011


On Wed, 16 Nov 2011, Andrew Lunn wrote:

> > > How would you suggest using IORESOURCE_BUS? 
> > 
> > Looking at it closer, I don't think simple resource ranges would be 
> > suitable after all.
> > 
> > I would therefore suggest the following starting point:
> > 
> > diff --git a/include/linux/mbus.h b/include/linux/mbus.h
> > index c11ff29325..2d8989c6e4 100644
> > --- a/include/linux/mbus.h
> > +++ b/include/linux/mbus.h
> > @@ -32,5 +32,17 @@ struct mbus_dram_target_info
> >  	} cs[4];
> >  };
> >  
> > +/* 
> > + * The Marvell mbus is to be found only on SOCs from the Orion family
> > + * at the moment.  Provide a dummy stub for other architectures.
> > + */
> > +#ifdef CONFIG_PLAT_ORION
> > +extern const struct mbus_dram_target_info *mrvl_mbus_dram_info(void);
> > +#else
> > +static inline const struct mbus_dram_target_info *mrvl_mbus_dram_info(void)
> > +{
> > +	return NULL;
> > +}
> > +#endif
> >  
> >  #endif
> > 
> 
> So you are suggesting each mach-* implements this function and returns
> its specific *_dram_target_info structure? Four functions which are
> virtually identical. I would probably just have orion_dram_target_info
> in the plat-orion which all mach-* use and one implementation of this
> function in plat-oriom.

OK then, let's see how this would look like.

> I'm just trying to move towards device tree. *_dram_target_info is one
> thing which is blocking this move. The second maybe the clock
> speed. It would be nice to move to clkdev, and remove clk from the
> platform_data structures.

Absolutely!  And that would allow for turning on/off the various clocks 
dynamically with actual driver usage.


Nicolas



More information about the linux-arm-kernel mailing list