[PATCH] ns16550: switch to resource

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Sat Jul 30 08:10:43 EDT 2011


On 16:07 Sat 30 Jul     , Antony Pavlov wrote:
> On 30/07/2011, Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com> wrote:
> 
> > +static uint32_t ns16550_read(struct console_device *cdev, uint32_t off)
> > +{
> > +	struct device_d *dev = cdev->dev;
> > +	struct NS16550_plat *plat = (struct NS16550_plat *)dev->platform_data;
> > +	int width = dev->resource[0].flags & IORESOURCE_MEM_TYPE_MASK;
> > +	
> > +	off <<= plat->shift;
> > +
> > +	if (plat->reg_read)
> > +		return plat->reg_read((unsigned long)dev->priv, off);
> >
> 
> So, this code __always__ make swap before calling platform-dependent
> reg_read (if any).
> And platform-dependent reg_read must assume the presence of the shift.
> 
> I propose this variant:
> ---------------------------
> if (plat->reg_read)
> 	return plat->reg_read((unsigned long)dev->priv, off);
> 
> off <<= plat->shift;
the idea is avoid duplicated code in reg_read

if you do not want the shift you let shift at 0


Best Regards,
J.



More information about the barebox mailing list