Re: [PATCH 1/8] ARM: at91: move peripheral id definitions to dt-bindingsinclude dir

From: Nicolas Ferre
Date: Mon Aug 19 2013 - 12:45:56 EST


On 08/08/2013 06:09, boris brezillon :
Hello Arnd,

On 07/08/2013 22:24, Arnd Bergmann wrote:
On Thursday 01 August 2013, Boris BREZILLON wrote:
This patch moves peripheral id definitions from machine specific include
dir (arch/arm/mach-at91/include/mach/'soc-name'.h) to dt-bindinds include
dir (include/dt-bindings/at91/'soc-name'/peripherals.h).

These definitions will be used inside dt to define interrupt ids and
peripheral clk ids.

Signed-off-by: Boris BREZILLON <b.brezillon@xxxxxxxxxxx>
This seems counterproductive, why would you do that?

This was requested by Jean-Christophe Plagniol-Villard (and proposed by
Richard Genoud)
for the 3rd version of the "ARM: at91: move to common clk framework"
patch series (see
https://lkml.org/lkml/2013/7/29/361) and thought it was a good idea too
(even if I didn't know
where to put the macro files as there are no soc specific macro files in
dt-bindings include
dir).

Indeed I found it much easier to detect bugs in dt definition using
macros because
the macro names and dt node names are the same (it does not protect
against errors
in the macro definitions).

If you think these macro definitions should be dropped, I won't argue
against this.
But please, have a talk with Jean-Christophe first.

[..]

There is no sharing of identifiers across SoCs here, you just move the
data around, and changing the .dts files to use the abstract macros would
just end up making them harder to understand, not easier, since you then
have to look up the numbers in another file.

Boris, Jean-Christophe and Richard,

Well, I must say that I do agree with Arnd on this point.

I think that a simple numeric field in a cell has to be represented as a number and even if this simple information is used twice (interrupt number and clock bit position in PMC). The possibility of error is very low compared to the big amount of unneeded definitions added by this solution.

Moreover, I had the hope to completely remove this long list of peripheral definitions for all SoC when we have a full DT kernel (with your patches about common clock framework). So I think it is not interesting to move in this direction and continue to build such a list for future full DT products...

Believe me, I am sorry that I didn't entered the discussion earlier and avoid unnecessary work... Anyway, give me your opinion, but I do think that the simpler is the best.

Bye,
--
Nicolas Ferre
--
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/