Subject: [PATCH v7 1/4] Documentation: dt: add common bindings for hwspinlock

From: [email-masked] (Mark Rutland)
Date: Thu, 22 Jan 2015 18:56:22 +0000

On Wed, Jan 21, 2015 at 05:56:37PM +0000, Suman Anna wrote:
> On 01/21/2015 06:41 AM, Ohad Ben-Cohen wrote:
> > On Tue, Jan 20, 2015 at 8:05 PM, Tony Lindgren <[email-masked]> wrote:
> >> How about default to Linux id space and allow overriding that with
> >> a module param option if needed?
> > 
> > I'm not sure I'm following.
> > 
> > If the main point of contention is the base_id field, I'm also fine
> > with removing it entirely, as I'm not aware of any actual user for it
> > (Suman please confirm?).
> 
> Yeah, well the current implementations that I am aware of only have a
> single bank, so all of them would be using a value of 0. I am yet to see
> a platform with multiple instances where the property really makes a
> difference. v7 has the property mandatory, so all the implementations
> would need to define this value even if it is 0.
> 
> regards
> Suman
> 
> > 
> > Mark? Rob? Will you accept Suman's patches if the base_id field is removed?

My concern is that the mapping of hwspinlock IDs doesn't seem to be
explicit in the DT on a per-context basis, which is what I'd expect.

e.g.

lck: hwspinlock-device at f00 {
	...
	#hwlock-cells = <1>;
};

some-other-os-interface {
	...
	hwlocks = <&lck 0>, <&lck 1>, <&lck 2>, <&lck 3>;
	hwlock-names = "glbl", "pool0", "pool1", "pool2";
};

a-different-os-interface {
	...
	hwlocks = <&lck 18>, <&lck 21>, <&lck 4>, <&lck 5>;
	hwlock-names = "init", "teardown", "pool0", "pool1";
};

That's the only way I would expect this to possibly remain a stable
over time, and it's the entire reason for #hwlock-cells, no?

How do you expect the other components sharing the hwspinlocks to be
described?

Thanks,
Mark.