Hopefully we can research what a lot of these wakelocks are and find ways of minimizing them in order to increase the efficiency (and reduce power consumption) on our devices.
What is a Wakelock?
A wakelock is a software method for applications to control the power state of your device. The purpose of a wakelock is in its name, to lock your device in an awake state keeping the CPU running and preventing it from entering Deep Sleep (Think of a music app or video player). A wakelock can also cause your device to turn on (think syncs or notifications).
A poorly coded application can acquire a wakelock and not release it, causing your device to remain on.
A partial wakelock means the CPU is ON, but the screen is OFF.
A full wakelock means the CPU and Screen are ON. (we don't really need to worry about this)
How to help:
Install BetterBatteryStats which will show you what the wakelocks are on your device.
If you don't know what a specific wakelock is doing. Google it. Don't just google the wakelock name verbatim. Use part of it. They are usually logically named. But most often they are shortened or turned into acronyms (there are so many in IT) which makes them cyptic.
Kernel wakelocks are low level/hardware wakelocks from the kernel. We can only reduce these by modifying the kernel or reducing the usage of a certain feature of the kernel. By researching these we can improve the battery consumption and performance of the Kernel.
Partial wakelocks are wakelocks from apps. These can be reduced by uninstalling or disabling features in software. We can talk about those here too though it shouldn't be the focus as the answer will be "Uninstall/Disable feature X and talk to the app author". Preferably we should talk about partial wakelocks from Google services like maps and latitude.
I think it would benefit a lot of noobs here,me included if someone started a thread compiling a list of the known wakelocks and how to avoid or get rid of them. For the life of me I can't figure out mipi_link, alarm_rtc,musb_autosuspend and I have no idea how to remove wlan_rx and vbus_tuna_otg. I would highly appreciate some help on these.
Sent from my Galaxy Nexus
musb_autosuspend_wake_lock im pretty sure is a kernel powermanagement method to turn off power to the micro usb port and have any attached devices be placed in a power suspend mode. Probably most useful for the USB OTG support on this port.
alarm_rtc is Real-time clock alarm. It isn't the alarm to wake you up, tho it could be used by that. It's more like a scheduler on your phone, to make sure it is not sleeping when an application needs it. "AlarmManager is a universal process that MANY apps use to update time, push you notifications, etc. In most cases, it is a necessity; in other cases, you should really check it out and disable/uninstall things that have invoked it too much."
vbus_tuna_otg sounds like virtual bus for USB OTG devices. According to Franco this wakelock occurs when your "device [is] attached to the USB." From this I would take it to mean that if your GNex is attached to a computer via USB you will see this wakelock.
mipi_link stands for Mobile Industry Processor Interface but I am unsure of what this does specifically. From googling it it seems highly related to the cameras. Maybe its how we can see a live feed of the camera from the device.
PowerManagerService is the kernel wakelock that is a container for all of the partial wakelocks on the device.
AudioOut_1 AudioOut is used to play notification and system sounds. Putting your device on silent will make this go away.
2012.01.24 - Added "what is a wakelock" section
2012.01.24 - Initial Post