[PATCH 1/5] device: introduce resource structure to simplify resource delaration

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Fri Nov 19 06:30:09 EST 2010


On 09:00 Fri 19 Nov     , Sascha Hauer wrote:
> Hi J,
> 
> On Fri, Nov 12, 2010 at 07:18:54PM +0100, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > introdude also some helper to manager them
> > 
> > and add multi resource per device support
> > 
> > ram device: use resource structure instead of memory_platform_data
> > 
> > Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> 
> 
> You shouldn't use a resource_size_t type to access registers. This will
> lead to problems when we start to support 64bit resource sizes
no as resource_size_t is 64 bit aware
>. Instead we should introduce a
> 
> #define resource_size_to_iomem(size) (void __force __iomem *)(size)
> 
> macro which does the conversion to a void __iomem * type. In a more
> advanced version this could also spit a warning when the resource start
> is bigger than a pointer type. As an additional plus we'll get rid of
> some sparse warnings where map_base is used for readl/writel.
we do not do in the kernel and do see the advantage here for the ressource
in mind it's in the drivers we need to do it
if necessary
> 
> 
> > diff --git a/arch/arm/mach-imx/devices.c b/arch/arm/mach-imx/devices.c
> > index 11cf2a4..e89f8bb 100644
> > --- a/arch/arm/mach-imx/devices.c
> > +++ b/arch/arm/mach-imx/devices.c
> > @@ -9,8 +9,8 @@ static struct device_d *imx_add_device(char *name, int id, void *base, int size,
> >  	dev = xzalloc(sizeof(*dev));
> >  	strcpy(dev->name,name);
> >  	dev->id = id;
> > -	dev->map_base = (unsigned long)base;
> > -	dev->size = size;
> > +	dev_resource_set_start(dev, (unsigned long)base);
> > +	dev_resource_set_size(dev, (unsigned long)size);
> >  	dev->platform_data = pdata;
> 
> Should be a cast to resource_size_t.
yeah

Best Regards,
J.



More information about the barebox mailing list