Re: [PATCHv2 1/2] regmap: add configurable lock class key for lockdep

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/22/2014 03:31 PM, Mark Brown wrote:
On Mon, Dec 22, 2014 at 02:55:23PM +0200, Antti Palosaari wrote:
On 12/22/2014 02:44 PM, Mark Brown wrote:
On Sun, Dec 21, 2014 at 12:34:51AM +0200, Antti Palosaari wrote:

I2C client and I2C adapter are using regmap. As a solution, add
configuration option to pass custom lock class key for lockdep
validator.

Why is this configurable, how would a device know if the system it is in
needs a custom locking class and can safely use one?

If RegMap instance is bus master, eg. I2C adapter, then you should define
own custom key. If you don't define own key and there will be slave on that
bus which uses RegMap too, there will be recursive locking from a lockdep
point of view.

That doesn't really explain to me why this is configurable, why should
drivers have to worry about this?

Did you read the lockdep documentation I pointed previous mail?
from: Documentation/locking/lockdep-design.txt

There is not very detailed documentation available, but the section "Exception: Nested data dependencies leading to nested locking" explains something.

One possibility is to disable lockdep checking from that driver totally, then drivers do not need to care it about. But I don't think it is proper way. One solution is to use custom regmap locking available already, but Mauro nor me didn't like that hack:
[RFC HACK] rtl2832: implement own lock for RegMap
https://www.mail-archive.com/linux-media@xxxxxxxxxxxxxxx/msg83323.html

Please also write technical terms like regmap normally.

Lower-case letters?

regards
Antti

--
http://palosaari.fi/
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux