Thread (2 messages) 2 messages, 2 authors, 2011-03-08
STALE5587d

[PATCH 2/7] OMAP2+: mux: Enable wakeup for wakeup enable requested pads

From: Kevin Hilman <hidden>
Date: 2011-03-08 18:31:26
Also in: linux-omap, linux-serial

Tony Lindgren [off-list ref] writes:
* Govindraj [off-list ref] [110308 03:43]:
quoted
I am not sure whether now we can control read/writes to pad_mux from any driver
interface and I think we have to go through mux framework for any
read/writes to mux.
Sure, the drivers should not mess with those registers directly.
quoted
with this I cant control pad wake up capabilities with sysfs as done
earlier in serial.c
now control to read/write to pad is outside scope of the driver
interface as omap_hwmod_mux
is the one that takes decision for driver with mux values provided
during omap_hwmod_mux_init.
The sysfs interface to control this should still be from the drivers.
Sounds like we need some way to set the wakeup flags before pm_runtime_put
is called.
Exactly.  Driver's can currently check device_may_wakeup(dev) to
determine if they *should* set wakeup flags, but currently, we don't
have a clean way to pass the info down to core code.

One possible option (albeit hacky) is for the omap_hwmod_mux code to
check device_may_wakeup() itself, and set the bits accordingly.  This
means drivers don't have to do anything, but drivers also loose control
of enabling/disabling wakeups.

I think what we need are two omap_device-level APIs for wakeups.

One for enable/disable of wakeups (both module-level and IO-ring, the 
driver should not care about the difference between the two):

int omap_device_[enable|disable](struct platform_device *pdev);

bool omap_device_wakeup_occured(struct platform_device *pdev);

As OMAP-specific APIs, both of these should of course be called through
pdata function pointers.

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