lkml.org 
[lkml]   [2012]   [Jun]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] regulator: pass voltage when calling notifier for change
On Sat, Jun 09, 2012 at 12:39:15PM -0700, Philip Rakity wrote:

> - trace_regulator_set_voltage_complete(rdev_get_name(rdev), selector);
> + voltage = _regulator_get_voltage(rdev);
> + if (voltage >= 0)
> + _notifier_call_chain(rdev,
> + REGULATOR_EVENT_VOLTAGE_CHANGE,
> + (void *)voltage);
> + }
> + trace_regulator_set_voltage_complete(rdev_get_name(rdev), ret);

Hrm, I know we discussed this offline but now that I see the actual code
for the full change here I'm a bit worried about the performance impact
from calling get_voltage() again with devices that don't cache the
register map (it'll be negligable for those that do). Looking a bit at
the context I think probably what we want to do here is directly call
list_voltage() for the selector we've just set so that the driver
doesn't end up going back to the hardware to read the register value.

Another option is to look at the notifier chain to see if there's any
actual users but that seems more complicated and less abstracted.

We definitely do want to pass the voltage out, now that I see this I
seem to remember that the reason we don't is exactly the performance
concern above but that all predates the use of selectors here which
means we should be able to avoid the I/O costs.
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2012-06-11 06:42    [W:0.129 / U:0.060 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site