lkml.org 
[lkml]   [2013]   [Apr]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: mfd: Core driver for Winbond chips
On Tue, Apr 09, 2013 at 01:45:44PM +0200, Wim Van Sebroeck wrote:
> Hi Guenter,
>
> > I was waiting for feedback from Wim, who submitted a similar driver, about his
> > thoughts. Key question is how to reserve access to the shared resource - either
> > through an exported function in the mfd driver requesting a mutex, or through
> > request_muxed_region(). I am going back and forth myself on which one is better.
> >
> > Maybe it does not really matter, but using a function has the slight advantage
> > that it auto-loads and locks the mfd module while one of its client modules
> > is loaded. If we use request_muxed_region, that is not the case and the client
> > module must use another means to request and lock the mfd module.
> >
> > Maybe you have an opinion ?
>
> This is indeed the main issue that has to be solved. Both options will work.
> I like the auto-load and lock, but I need to look at the request_muxed_region
> code again first before I can see what the possible drawbacks are :-).
>
One drawback of using request_muxed_region is that it needs a return value
from superio_enter. Also, it needs some code in the client driver init function
to ensure that the mfd driver gets loaded, and possibly a call to __module_get()
in the client driver probe function to keep the mfd driver loaded.

winbond_superio_enter() would not need a return value and could use
devm_request_region. We could also consider allocating the hwmon memory space in
the mfd driver and pass it as resource to the client drivers, which would remove
a few more lines of code from those.

Overall I am slightly in favor of using an exported function.

Guenter


\
 
 \ /
  Last update: 2013-04-09 19:01    [W:0.497 / U:0.028 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site