[Nexus 4 Q&A, Help & Troubleshooting] jazzor:
Guys, before you start bashing the kernel for your problems I would like to point out my theory on this. Does everyone get high "Android OS" usage in their stock battery settings section? If you have roughly 20% of the total uptime attributed to "Android OS", then your kernel wakelock for msm_hsic_host may also be high, but I dont believe the kernel is the problem here.

The HSIC seems to me like a newer method for interchip communications (see http://www.anandtech.com/show/5294/why-smartphonestablets-are-limited-to-36mbps-over-wifi) and will be active when the CPU and its peripheral components are communicating, hence it will need the wakelock(s).

The kernel only knows about its own internals and therefore cannot describe it any better than to say "msm_hsic_host". The root of the problem still lies within Android which is responsible for activating the CPU and calling the wakelocks within the kernel.

For me, I found that it was NetworkLocation that was ACTUALLY doing the wakeups. Could everyone here help out by doing a "dumpsys alarm" (need to be root first) in their android terminal and posting it (or alternatively do it in an adb shell)? I believe there is something broken about NetworkLocation and you may see something like this:

com.google.android.location
460067ms running, 13194 wakeups
6 alarms: act=com.google.android.location.nlp.ALARM_WAKEUP_CACHE_UPDATER flg=0x14
13188 alarms: act=com.google.android.location.nlp.ALARM_WAKEUP_LOCATOR flg=0x14
com.android.calendar
269ms running, 0 wakeups
4 alarms: act=com.android.calendar.APPWIDGET_SCHEDULED_UPDATE dat=content://com.android.calendar typ=vnd.android.data/update flg=0x14
android
686980ms running, 202 wakeups
4 alarms: act=android.intent.action.DATE_CHANGED flg=0x20000014
7 alarms: act=com.android.server.action.UPDATE_TWILIGHT_STATE flg=0x14
5231 alarms: act=android.intent.action.TIME_TICK flg=0x40000014
174 alarms: act=com.android.server.action.NETWORK_STATS_POLL flg=0x14
521 alarms: act=com.android.server.ThrottleManager.action.POLL flg=0x14
9 alarms: act=com.android.internal.policy.impl.PhoneWindowManager.DELAYED_KEYGUARD flg=0x14
2 alarms: act=com.android.server.NetworkTimeUpdateService.action.POLL flg=0x14
163 alarms: act=android.content.syncmanager.SYNC_ALARM flg=0x14
23 alarms: act=com.android.server.WifiManager.action.START_SCAN flg=0x14
org.dayup.gnotes
665ms running, 3 wakeups
3 alarms: act=org.dayup.gnotes.action.ALERT_SCHEDULE flg=0x14
com.whatsapp
18860ms running, 97 wakeups
4 alarms: act=ALARM_REPORT_SYNCS flg=0x14
4 alarms: act=ALARM_MESSAGES_DB_BACKUP flg=0x14
32 alarms: act=ALARM_AVAILABLE_TIMEOUT flg=0x14
4 alarms: act=ALARM_ROTATE_LOGS flg=0x14
120 alarms: act=ALARM_ACTION flg=0x14
57 alarms: act=com.whatsapp.MessageService.RECONNECT flg=0x4 cmp=com.whatsapp/.messaging.MessageService
com.google.android.apps.maps
93853ms running, 3375 wakeups
2 alarms: act=com.google.android.apps.maps.nlp.ALARM_WAKEUP_PASSIVE_COLLECTOR flg=0x14
3 alarms: act=com.google.android.apps.maps.nlp.ALARM_WAKEUP_ACTIVE_COLLECTOR flg=0x14
2007 alarms: act=com.google.android.apps.maps.nlp.ALARM_WAKEUP_LOCATOR flg=0x14
2 alarms: act=com.google.android.apps.maps.nlp.ALARM_WAKEUP_BURST_COLLECTOR flg=0x14
282 alarms: flg=0x4 cmp=com.google.android.apps.maps/com.google.googlenav.prefetch.android.PrefetcherService
35 alarms: flg=0x4 cmp=com.google.android.apps.maps/com.google.googlenav.friend.reporting.LocationPrivacyService
1023 alarms: act=com.google.android.apps.maps.nlp.ALARM_WAKEUP_ACTIVITY_DETECTION flg=0x14
21 alarms: act=com.google.android.apps.maps.nlp.ALARM_WAKEUP_CACHE_UPDATER flg=0x14

notice how many wakeups com.google.android.location (and its maps counterpart) is doing, in particular the activity with tag com.google.android.location.nlp.ALARM_WAKEUP_LOCATOR.

In fact, somebody has already posted this issue on google code, see http://code.google.com/p/android/issues/detail?id=37348&thanks=37348&ts=1347438028 . If you have this issue please STAR the issue and maybe a newer version of NetworkLocation will prevent this problem.

In the mean time, you can test something out. Go to google account settings and location settings and disable location by google apps. Then reboot. It is important to reboot, otherwise the wakeups still continue EVEN AFTER GOOGLE LOCATION ACCESS HAS BEEN DISABLED. I know this is extreme and you will not be able to use maps, but use it for a few hours and see if your wakeups has reduced.

Thanks to all those who care to read.