[PATCH 14/21] serial: ns16550: Add mmiobase to private data

Sascha Hauer s.hauer at pengutronix.de
Tue Jul 8 01:50:10 PDT 2014


We have a private data struct, so use it for storing the
base address instead of abusing the dev->priv field.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 drivers/serial/serial_ns16550.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/drivers/serial/serial_ns16550.c b/drivers/serial/serial_ns16550.c
index 709f704..27fae9b 100644
--- a/drivers/serial/serial_ns16550.c
+++ b/drivers/serial/serial_ns16550.c
@@ -50,6 +50,7 @@ struct ns16550_priv {
 	int mmio;
 	struct clk *clk;
 	uint32_t fcrval;
+	void __iomem *mmiobase;
 };
 
 static inline struct ns16550_priv *to_ns16550_priv(struct console_device *cdev)
@@ -157,7 +158,6 @@ static inline void ns16550_sys_writel(uint32_t val, void __iomem *addr,
 static uint32_t ns16550_read(struct console_device *cdev, uint32_t off)
 {
 	struct ns16550_priv *priv = to_ns16550_priv(cdev);
-	struct device_d *dev = cdev->dev;
 	struct NS16550_plat *plat = &priv->plat;
 	int width = priv->access_width;
 
@@ -165,11 +165,11 @@ static uint32_t ns16550_read(struct console_device *cdev, uint32_t off)
 
 	switch (width) {
 	case IORESOURCE_MEM_8BIT:
-		return ns16550_sys_readb(dev->priv + off, priv->mmio);
+		return ns16550_sys_readb(priv->mmiobase + off, priv->mmio);
 	case IORESOURCE_MEM_16BIT:
-		return ns16550_sys_readw(dev->priv + off, priv->mmio);
+		return ns16550_sys_readw(priv->mmiobase + off, priv->mmio);
 	case IORESOURCE_MEM_32BIT:
-		return ns16550_sys_readl(dev->priv + off, priv->mmio);
+		return ns16550_sys_readl(priv->mmiobase + off, priv->mmio);
 	}
 	return -1;
 }
@@ -185,7 +185,6 @@ static void ns16550_write(struct console_device *cdev, uint32_t val,
 			  uint32_t off)
 {
 	struct ns16550_priv *priv = to_ns16550_priv(cdev);
-	struct device_d *dev = cdev->dev;
 	struct NS16550_plat *plat = &priv->plat;
 	int width = priv->access_width;
 
@@ -193,13 +192,13 @@ static void ns16550_write(struct console_device *cdev, uint32_t val,
 
 	switch (width) {
 	case IORESOURCE_MEM_8BIT:
-		ns16550_sys_writeb(val & 0xff, dev->priv + off, priv->mmio);
+		ns16550_sys_writeb(val & 0xff, priv->mmiobase + off, priv->mmio);
 		break;
 	case IORESOURCE_MEM_16BIT:
-		ns16550_sys_writew(val & 0xffff, dev->priv + off, priv->mmio);
+		ns16550_sys_writew(val & 0xffff, priv->mmiobase + off, priv->mmio);
 		break;
 	case IORESOURCE_MEM_32BIT:
-		ns16550_sys_writel(val, dev->priv + off, priv->mmio);
+		ns16550_sys_writel(val, priv->mmiobase + off, priv->mmio);
 		break;
 	}
 }
@@ -395,7 +394,7 @@ static int ns16550_probe(struct device_d *dev)
 	}
 	if (!res)
 		goto err;
-	dev->priv = (void __force __iomem *) res->start;
+	priv->mmiobase = (void __force __iomem *) res->start;
 
 
 	if (plat)
-- 
2.0.0




More information about the barebox mailing list