On Fri, Feb 14, 2014 at 03:00:43PM -0800, Christopher Heiny wrote:
On 02/13/2014 01:54 PM, Dmitry Torokhov wrote:
On Thu, Feb 13, 2014 at 11:23:44AM -0800, Christopher Heiny wrote:
On 02/12/2014 09:27 PM, Dmitry Torokhov wrote:
Do not write configuration data in probe(), we have config() for that.
Then we should call config() in rmi_function_probe() to ensure that
any platform data or device tree configuration settings get written
to the device.
Well, yes, we may elect to update device configuration in probe, but
then we should not be doing that 2nd time in ->config(). We shoudl pick
either one or another.
But as the code currently stands, config() is only called when a
device reset is detected, not during initialization. So if there's
platform specific configuration data that needs to be written to a
function, it won't get written until after a device reset occurs,
which might never happen. So either we need to write that data (or
call config()) in each function's probe(), or in
rmi_function_probe().
Ah, I missed the fact that we do not normally call ->config() unless
device was reset. BTW, if device was reset, shouldn't we tear down
everything and then reenumerate all functions?