[PATCH v1 1/2] arm: a driver for on-chip ETM and ETB

Russell King - ARM Linux linux at arm.linux.org.uk
Sun Oct 11 18:29:38 EDT 2009


On Mon, Oct 12, 2009 at 12:07:57AM +0200, Linus Walleij wrote:
> First, these are registered as platform devices, should they not be AMBA
> devices (i.e. PrimeCells?) I think that's what they are, and they probably
> have device ID:s to be matched in the last words of their 4K pages
> do they not?

It does look like it's Primecell-like, so it should be using the
primecell support so that others can make use of this.  As such, it
should not be OMAP specific.

> > +       clk = clk_get(&pdev->dev, "emu_core_alwon_ck");
> > +       clk_enable(clk);
> > +
> > +       clk = clk_get(&pdev->dev, "emu_per_alwon_ck");
> > +       clk_enable(clk);
> > +
> > +       clk = clk_get(&pdev->dev, "emu_mpu_alwon_ck");
> > +       clk_enable(clk);
> > +
> > +       clk = clk_get(&pdev->dev, "emu_src_ck");
> > +       clk_enable(clk);
> 
> Are these clocks really generic? It looks a lot like OMAP-specific
> stuff. Is it possible to hide these behind a single clock inside the
> platform? like "etbclock" or so that increase refcount of the others
> by 1?

First obvious problem is that there's no error checking there.

Second problem is that this could very well be a generic driver, and
OMAP specifics should not be in here.  Looking at the Coresight ETM11
documentation, there's:

ATCLK - ATB interface clock
CLK - main clock
PCLKDBG - Debug APB clock or PCLK - APB clock

I'm not sure why OMAP seems to have four clocks when the ETM has only
three clocks itself.



More information about the linux-arm-kernel mailing list