Re: [PATCH] ns16550: switch to resource

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 30/07/2011, Jean-Christophe PLAGNIOL-VILLARD <plagnioj@xxxxxxxxxxxx> 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;
---------------------------

> +static void ns16550_write(struct console_device *cdev, uint32_t val,
> +			  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_write) {
> +		plat->reg_write(val, (unsigned long)dev->priv, off);
> +		return;
> +	}

Near the same code.

-- 
Best regards,
  Antony Pavlov

_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox


[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux