Thread (10 messages) 10 messages, 4 authors, 2009-12-01

Re: [PATCH v2 1/2] Input: Add device_enable handler to DaVinci Keyscan platform data

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2009-11-19 16:55:10

On Thu, Nov 19, 2009 at 10:32:21AM -0600, Miguel Aguilar wrote:
Hi Dmitry,
quoted
quoted
 +	if (pdata->device_enable) {
+		error = pdata->device_enable(dev);
+		if (error < 0) {
+			dev_dbg(dev, "device enable function failed\n");
+			return error;
+		}
+	}
+
Hi Miguel,

Does this need to live in the driver? Why can't platform code do this
for us?

Thanks.
The reason to invoke the device_enable function in the driver is because 
in the testing process of the key scan driver a issue was found when the 
key scan is built as a module.

There is a specific PINMUX configuration that only should be set if the 
key scan driver is loaded in the kernel to avoid pin conflicts. So when 
the key scan is built as a module the board file (or platform code) 
doesn't know if the key scan is loaded or not, so that's why the driver 
is the one who must invoke the device_enable function in the probe 
function.
I see... What happens if PINMUX is set but there isn't a driver? Also,
what happens when you unload the module? Don't you need a similar call
to disable PINMUX configuration?

-- 
Dmitry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help