Re: [PATCH 1/4] drivers/base: add managed token devres interfaces

2014-05-05 Thread Shuah Khan
Hi Tejun, On 05/01/2014 08:53 AM, Tejun Heo wrote: + if (!mutex_trylock(tkn_ptr-lock)) + return -EBUSY; How is this lock supposed to be used? Have you tested it with lockdep enabled? Does it ever get released by a task which is different from the one which locked it?

Re: [PATCH 1/4] drivers/base: add managed token devres interfaces

2014-05-05 Thread Tejun Heo
Hello, Shuah. On Mon, May 05, 2014 at 01:16:46PM -0600, Shuah Khan wrote: You are right that there is a need for an owner field to indicate who has the token. Since the path is very long, I didn't want to use just the mutex and keep it tied up for long periods of time. That is the reason why

Re: [PATCH 1/4] drivers/base: add managed token devres interfaces

2014-05-05 Thread Devin Heitmueller
On Mon, May 5, 2014 at 3:36 PM, Tejun Heo t...@kernel.org wrote: On Mon, May 05, 2014 at 03:30:34PM -0400, Devin Heitmueller wrote: On Mon, May 5, 2014 at 3:26 PM, Tejun Heo t...@kernel.org wrote: As such, please consider the patches nacked and try to find someone who can shepherd the code.

Re: [PATCH 1/4] drivers/base: add managed token devres interfaces

2014-05-05 Thread Shuah Khan
On 05/05/2014 01:36 PM, Tejun Heo wrote: On Mon, May 05, 2014 at 03:30:34PM -0400, Devin Heitmueller wrote: On Mon, May 5, 2014 at 3:26 PM, Tejun Heo t...@kernel.org wrote: As such, please consider the patches nacked and try to find someone who can shepherd the code. Mauro, can you help out

Re: [PATCH 1/4] drivers/base: add managed token devres interfaces

2014-05-01 Thread Tejun Heo
Hello, On Tue, Apr 29, 2014 at 01:49:23PM -0600, Shuah Khan wrote: +/* creates a token devres and marks it available */ +int devm_token_create(struct device *dev, const char *id) +{ + struct token_devres *tkn; + size_t tkn_size; + + tkn_size = sizeof(struct token_devres) +

[PATCH 1/4] drivers/base: add managed token devres interfaces

2014-04-29 Thread Shuah Khan
Media devices often have hardware resources that are shared across several functions. These devices appear as a group of independent devices. Each device implements a function which could be shared by one or more functions supported by the same device. For example, tuner is shared by analog and