Re: [PATCH 2/3] amba: tegra-ahb: use correct base address for future chip support

From: Russell King - ARM Linux
Date: Tue Mar 17 2015 - 06:35:23 EST


On Tue, Mar 17, 2015 at 01:32:21AM -0700, Paul Walmsley wrote:
> static inline u32 gizmo_readl(struct tegra_ahb *ahb, u32 offset)
> {
> - return readl(ahb->regs - 4 + offset);
> + return readl(ahb->regs + ahb->offset + offset);
> }
>
> static inline void gizmo_writel(struct tegra_ahb *ahb, u32 value, u32 offset)
> {
> - writel(value, ahb->regs - 4 + offset);
> + writel(value, ahb->regs + ahb->offset + offset);

Rather than storing the offset...

> @@ -262,18 +283,15 @@ static int tegra_ahb_probe(struct platform_device *pdev)
> if (IS_ERR(ahb->regs))
> return PTR_ERR(ahb->regs);
>
> + ad = of_id->data;
> ahb->dev = &pdev->dev;
> + ahb->offset = ad->offset;

What about

ahb->regs += ad->offset;

here and avoid the addition and extra loads on every access.

--
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/