[DEV] Fixing/Updating the HD2 kernel and missing code

Search This thread

charnsingh_online

Retired Recognized Developer
Feb 2, 2009
1,170
849
Amritsar
Please stay ON TOPIC to kernel DEV and missing code. Don't report every bug the Android build your using is having or it will be deleted as OFF TOPIC

As you all might be knowing that hd2 is pretty much a android native device now. Its just like any another snapdragon device. The current kernel code we are using in HD2 is pretty obsolete and missing a lot of things. It more like something working at its minimal efficiency. While i was porting over all the HD2 board files getting it on par with the other snapdragon devices I found out a lot of code was missing and some was obsolete. Eg. The gsensor code from microp was pretty minimal, a lot of things were missing in microp code. I suspect that it isnt the only code, a lot of bluetooth related stuff was missing and much more. I am not really gonna work on backporting the stuff to .32 kernel so i would like the kernel devs here to backport the stuff to the .32 kernel so a lot of bugs can be fixed and stuff can be made more stable until the .37 kernel is ready. All the commits can be found here

https://github.com/charansingh/cm-kernel/tree/master

There might be some bravo or passion instances in there cuz i am comparing the code with these two devices and taking what is necessary and sometimes i have to leave my work due to some other work and forget which file i was working on so would appreciate the more bugs.

Also Mods can we get this a sticky so we can track the progress here
 
Last edited by a moderator:

white-energy

Senior Member
Apr 9, 2010
646
223
Kyiv
Yap.. i'm not a really pro developer but i suspected those bugs before.. finally a real developer suspected that.. eager to see who's going to help fixing them
 

jan-willem3

Inactive Recognized Developer
Mar 13, 2010
1,499
810
┌┐(●_●)┌┐
@charnsingh_online

I am really happy that you put so much power in this project big respect for that.
The reason for the missing code is because most of the drivers are reversed engineerd from winmo by cotulla. Wich make it possible to make working android parts but they don't work optimal by that. Also we miss some skilled active coders. After cotulla almost everything is created by markinus he did a incredible part big credit to him but looks like he isn't that active anymore..

Current development are mostly little things a guy who sees a little part from that and a little part from that like : you, tytung, darkstone, gauner,letama, the guy from the bluetooth fix.

We probaly don't have so much real kernel programmers because they buy a native linux / android phone.
 
Last edited:

memin1857

Senior Member
Jun 2, 2010
907
202
Istanbul
Last edited:

Lizzo

Senior Member
The last two major things left with HD2 Android are buggy speakerphone and missing assisted-gps function.

Speakerphone mode is not usable because mic gain does not change when speakerphone is enabled. Info here:
http://xdaforums.com/showpost.php?p=12698204&postcount=22

GPS works but without assistance so most locks take 1 minute instead of like 15 seconds. Info here: (please read all 25 pages)
http://xdaforums.com/showthread.php?t=1008252

actually i think the gpu drivers are kinda unstable when comparing to the performance of other phones that carry the similar gpu...
 
  • Like
Reactions: lemon59

trilu

Senior Member
Apr 17, 2008
68
108
munich
hi charansingh,

i am willing to help, but i think it would be helpfull to define packets to take over.
By looking in the kernelsources it looks good to me, but i know from own expiriences with porting that i have to look deep...

best regards

trilu
 

tytung

Senior Member
Jun 21, 2010
3,574
15,005
sites.google.com
Just see the microp stuff I added to the file. Also I have updated the board files. See wats the difference between the files. A lot of updated code

It's better to start/clone from pure CM 2.6.37 kernel, then add new commits when adding any new functions.

Would you please add a new commit when adding a new function?
Otherwise, it's very easy to lost the way in the source code.

A commit "Update some board files" doesn't tell the whole story. I want to know why to change.
Comparing the source code manually and guessing its function is not convenient for any kernel devs.
For me, I won't add any code in my 2.6.32 kernel until I know the meaning of the changes of the source code.
Thanks.
 
Last edited:

Blubster

Senior Member
Oct 28, 2007
295
30
Annecy
OnePlus 6
Xiaomi Poco F1
I may be wrong, but this thread is not supposed to become a bug fix request thread. It is aimed at developpers, so that they collaborate on a merging of HD2 specific stuff onto a cyanogen 2.6.37 kernel...

This would most likely result in the resolution of a lot of our issues, but in the mean time, [DEV] in the thread title means it is for devs only......
 

D4rk50ul

Senior Member
Sep 9, 2010
565
119
Honolulu
xdaforums.com
Keep this thread clean please.. there are only a select few devs who actually work on kernels around here. Let them use this as a way of communication to generate a complete kernel, then we can test it for bugs.

Very excited about the prospects of this, if you guys get a working kernel with all the new commits shoot it over and I'll test it out on one of my HD2's.
 
  • Like
Reactions: ~~Tito~~

dan1j3l

Retired Recognized Developer
May 23, 2010
83
226
Zagreb
I looked pushed code and it's ok, at least for first few commits. But it needs some deep cleaning an optimization, also there is some bravo naming convention used in leo specific files. You should put this tree on gitorious so we can do more work on it, but anyway i will clone tree and do some cleaning and porting new stuff.
 

giorgio130

Senior Member
Apr 25, 2010
131
105
This could be of interest, and not too much off-topic.
This kernel: http://xdaforums.com/showthread.php?t=966786
is being abandoned and it had some patches for performance that I think are valuable. It had linpack scores that can be achieved only with heavy overclocks on other kernels... The problem is, the source is being distributed by a .zip, no commits, nothing... the only way to get those would be to issue a diff with... something :p and guess where they are. Staying on topic, I've already adapted cm-kernel for another device so I think I'll be able to help when I get enough free time to spare.
 
  • Like
Reactions: benveq

noellenchris

Inactive Recognized Developer / Retired Moderator
May 11, 2007
2,604
890
Marlton, NJ
Keep this thread clean please.. there are only a select few devs who actually work on kernels around here. Let them use this as a way of communication to generate a complete kernel, then we can test it for bugs.

Very excited about the prospects of this, if you guys get a working kernel with all the new commits shoot it over and I'll test it out on one of my HD2's.

Yes you are right. Unfortunately many threads like this one get's filled with off topic chatter, complaints etc. I will try to keep my eye on this thread so the dev's can communicate. If your not contributing to the DEV work on the HD2 kernel's, please don't post your wishes and thanks post as this will quickly clog up the thread. I'd hate to lose progress due to this. That's why many DEV's end up not using XDA and reverting to IRC only. Thanks

noellenchris
 

g30rg10u

Senior Member
Jan 16, 2010
198
12
Nicosia
It's better to start/clone from pure CM 2.6.37 kernel, then add new commits when adding any new functions.

Would you please add a new commit when adding a new function?
Otherwise, it's very easy to lost the way in the source code.

A commit "Update some board files" doesn't tell the whole story. I want to know why to change.
Comparing the source code manually and guessing its function is not convenient for any kernel devs.
For me, I won't add any code in my 2.6.32 kernel until I know the meaning of the changes of the source code.
Thanks.

tytung, has any1 of you done so? please let us know..
 

Top Liked Posts

  • There are no posts matching your filters.
  • 96
    Hello guys.

    But several requests from other developers, especially marc1706
    I found time to look inside new 3.0.16 kernel ported by marc1706
    https://github.com/marc1706/android_kernel_leo_3.0.16
    and was able to bring it up to board init function.

    In attachments you can find several patches:

    1. Wrong config caused a halt during ATAG parse
    2. Wrong place for alloc_bootmem() caused another halt.
    3. Missing wait until timer really clear caused a dead loop inside lpj calibration.

    *(uint32_t*)0xF800380C |= 0x20; // activates vibro, can be used for testing.
    I am suggesting to enable early ramconsole to get detailed boot log.

    Best regards,
    -Cotulla
    85
    Please stay ON TOPIC to kernel DEV and missing code. Don't report every bug the Android build your using is having or it will be deleted as OFF TOPIC

    As you all might be knowing that hd2 is pretty much a android native device now. Its just like any another snapdragon device. The current kernel code we are using in HD2 is pretty obsolete and missing a lot of things. It more like something working at its minimal efficiency. While i was porting over all the HD2 board files getting it on par with the other snapdragon devices I found out a lot of code was missing and some was obsolete. Eg. The gsensor code from microp was pretty minimal, a lot of things were missing in microp code. I suspect that it isnt the only code, a lot of bluetooth related stuff was missing and much more. I am not really gonna work on backporting the stuff to .32 kernel so i would like the kernel devs here to backport the stuff to the .32 kernel so a lot of bugs can be fixed and stuff can be made more stable until the .37 kernel is ready. All the commits can be found here

    https://github.com/charansingh/cm-kernel/tree/master

    There might be some bravo or passion instances in there cuz i am comparing the code with these two devices and taking what is necessary and sometimes i have to leave my work due to some other work and forget which file i was working on so would appreciate the more bugs.

    Also Mods can we get this a sticky so we can track the progress here
    77
    I give to you the first compiled version of the 3.0.16 kernel:
    View attachment marc1706_3.0.16_0.0.1a.zip

    What is working:
    • Boot-Up
    • Screen
    • Touchscreen
    • Backlight
    • Hardware Keypad
    • Keypad Backlight
    • Power Management (kinda, battery drain is kind of high with 80mA o_O)
    • Indicator LEDs
    • Battery Charging
    • NAND
    • SD-Card
    • USB
    • Audio
    • Camera
    • G-Sensor
    • Compass

    What should work:
    • Wifi
    • Data
    • Voice (Calls)

    What is not working:
    • Camcorder
    • Bluetooth

    Please note that you'll need a ROM that is capable of handling the bcmdhd driver for Wifi. I hope someone will provide one that has the kernel and its modules compiled into it. Also note that you'll need cLK with a 16M initrd offset (any versions after February 6th 2013 should have that).


    This release is not supposed to be flashed via recovery. The main reason being that I want to prevent the nubs that we have from flashing it.

    If you want to thank me please just hit the thank you button. No need to spam the thread with infos about "how happy you are" or questions about "what is still needed". I'll keep you posted with updates. If you don't know what is missing, then chances are that you shouldn't be posting here in the first place.
    73
    Another day of fixing issues on the Leo. Fixed so far:
    • Use 16M initrd offset (not really needed as the bootloader needs to fix that, i.e. cLK 1.5.1.8)
    • Use correct SMD channel for SMI control
    • Remove dalrpc from config (not needed)
    • Fix audio and vdec/venc initialization
    • Add missing code for creating partitions, msm_nand partitions are now being created

    This leaves us with the following dmesg output:
    http://pastebin.com/C9wEPDht

    And gets us as far as that in the booting process:
    http://youtu.be/grghONJ9Ibo

    No, we can't actually do anything yet. The HD2 does a soft reboot after 2 seconds of doing anything.
    67
    Nand driver is fixed now.
    It was rather easy problem, value was not assigned to variable.

    Now kernel reaches init inside initrd.

    My last DMESG (Note I took some arbitrary initrd.gz without any clue what is inside):

    Code:
    [    0.000000] Initializing cgroup subsys cpu
    [    0.000000] Linux version 3.0.16-g8c397cf-dirty (FOO@FAKE) (gcc version 4.4.1 (Sourcery G++ Lite 2010q1-188) ) #7 PREEMPT Fri Feb 1 13:02:00 EST 2013
    [    0.000000] CPU: ARMv7 Processor [510f00f2] revision 2 (ARMv7), cr=10c53c7d
    [    0.000000] CPU: VIPT nonaliasing data cache, VIVT ASID tagged instruction cache
    [    0.000000] Machine: htcleo
    [    0.000000] Ignoring unrecognised tag 0x00000000
    [    0.000000] Nand Boot: 1
    [    0.000000] Memory policy: ECC disabled, Data cache writeback
    [    0.000000] smem_find(137, 72): wrong size 56
    [    0.000000] smem_find(137, 64): wrong size 56
    [    0.000000] smem_find(137, 64): wrong size 56
    [    0.000000] socinfo_init: v2, id=36, ver=2.0, raw_id=576, raw_ver=2
    [    0.000000] ram_console: found existing buffer, size 27141, start 27141
    [    0.000000] console [ram0] enabled
    [    0.000000] htcleo_map_io: ramconsole init done!
    [    0.000000] On node 0 totalpages: 124864
    [    0.000000] free_area_init_node: node 0, pgdat c075032c, node_mem_map c08fe000
    [    0.000000]   Normal zone: 512 pages used for memmap
    [    0.000000]   Normal zone: 0 pages reserved
    [    0.000000]   Normal zone: 65024 pages, LIFO batch:15
    [    0.000000]   HighMem zone: 464 pages used for memmap
    [    0.000000]   HighMem zone: 58864 pages, LIFO batch:15
    [    0.000000] allocating 33554432 bytes at c10f0000 (128f0000 physical) for sf pmem arena
    [    0.000000] allocating 42991616 bytes at c30f0000 (148f0000 physical) for adsp pmem arena
    [    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
    [    0.000000] pcpu-alloc: [0] 0 
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 123888
    [    0.000000] Kernel command line: 
    [    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
    [    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
    [    0.000000] Memory: 487MB = 487MB total
    [    0.000000] Memory: 410376k/410376k available, 89080k reserved, 237312K highmem
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    [    0.000000]     DMA     : 0xff000000 - 0xffe00000   (  14 MB)
    [    0.000000]     vmalloc : 0xd0800000 - 0xf8000000   ( 632 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .init : 0xc0008000 - 0xc0073000   ( 428 kB)
    [    0.000000]       .text : 0xc0073000 - 0xc0706420   (6734 kB)
    [    0.000000]       .data : 0xc0708000 - 0xc0750cc0   ( 292 kB)
    [    0.000000]        .bss : 0xc0750ce4 - 0xc08fd540   (1715 kB)
    [    0.000000] Preemptible hierarchical RCU implementation.
    [    0.000000] NR_IRQS:293
    [    0.000000] $$$ msm_timer_init $$$
    [    0.000000]  1DIV = 00000003
    [    0.000000]  2DIV = 00000003
    [    0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999ms
    [    0.000000] Console: colour dummy device 80x30
    [    0.000000] console [tty0] enabled
    [    0.000732] Calibrating delay loop... 663.55 BogoMIPS (lpj=3317760)
    [    0.049987] pid_max: default: 32768 minimum: 301
    [    0.050323] Mount-cache hash table entries: 512
    [    0.050659] Initializing cgroup subsys debug
    [    0.050689] Initializing cgroup subsys cpuacct
    [    0.050720] Initializing cgroup subsys freezer
    [    0.050750] CPU: Testing write buffer coherency: ok
    [    0.052856] print_constraints: dummy: 
    [    0.052917] rdev_init_debugfs: Error-Bad Function Input
    [    0.053131] NET: Registered protocol family 16
    [    0.053344] msm_gpio_init: start
    [    0.054931] htcleo_init()
    [    0.055999] Max ACPU freq from efuse data is 998400 KHz
    [    0.056030] ACPU running at 998400 KHz
    [    0.056060] 5 scaling frequencies supported.
    [    0.056091] init_dex_comm: WinCE DEX init.
    [    0.056121] init_dex_comm: WinCE DEX initialized.
    [    0.056152] PLL0 @ f8005300: MODE=00000007 L=0000000c M=00000004 N=00000005 freq=245760000 Hz (245 MHz)
    [    0.056182] PLL1 @ f8005320: MODE=00000007 L=00000028 M=00000000 N=00000001 freq=768000000 Hz (768 MHz)
    [    0.056213] PLL4 @ f8005380: MODE=00000000 L=0000000f M=00000000 N=00000001 freq=288000000 Hz (288 MHz)
    [    0.056243] PLL5 @ f80053a0: MODE=00000000 L=00000032 M=00000000 N=00000001 freq=960000000 Hz (960 MHz)
    [    0.056274] PCB XC: 00000004
    [    0.056304] AMSS version: 15.42.50.11U
    [    0.056549] register analog ops = c07244cc
    [    0.056549] [HS_MGR] (headset_notifier_register) Register MIC_BIAS notifier
    [    0.056610] /proc/mic_level created
    [    0.059539] Init Panel
    [    0.059600] panel type is 1 :board id is 4 : AUO
    [    0.059997] htcleo_init_mmc()+
    [    0.060394] htcleo_init_mmc()-
    [    0.062133] print_constraints: fs_gfx3d: normal 
    [    0.087371] bio: create slab <bio-0> at 0
    [    0.088714] usbcore: registered new interface driver usbfs
    [    0.089019] usbcore: registered new interface driver hub
    [    0.089202] usbcore: registered new device driver usb
    [    0.089508] msm_i2c_probe
    [    0.089569] msm_i2c_probe: clk_ctl 315, 400000 Hz
    [    0.092010] print_constraints: dcdc1: 800 <--> 1350 mV at 1250 mV 
    [    0.092132] rdev_init_debugfs: Error-Bad Function Input
    [    0.092315] print_constraints: dcdc2: 1260 mV 
    [    0.092376] rdev_init_debugfs: Error-Bad Function Input
    [    0.092590] print_constraints: dcdc3: 800 <--> 3300 mV at 1800 mV 
    [    0.092651] rdev_init_debugfs: Error-Bad Function Input
    [    0.092956] print_constraints: ldo1: 1000 <--> 3150 mV at 2800 mV 
    [    0.093048] rdev_init_debugfs: Error-Bad Function Input
    [    0.093231] print_constraints: ldo2: 3300 mV 
    [    0.093292] rdev_init_debugfs: Error-Bad Function Input
    [    0.094757] Advanced Linux Sound Architecture Driver Version 1.0.24.
    [    0.095367] Bluetooth: Core ver 2.16
    [    0.095550] NET: Registered protocol family 31
    [    0.095581] Bluetooth: HCI device and connection manager initialized
    [    0.095581] Bluetooth: HCI socket layer initialized
    [    0.095611] Bluetooth: L2CAP socket layer initialized
    [    0.096252] cfg80211: Calling CRDA to update world regulatory domain
    [    0.096740] Switching to clocksource gp_timer
    [    0.098266] [TTY_IO] create tty_wq for smd0
    [    0.111297] spi clk = 0x0
    [    0.111328] spi: SPI_CONFIG=0
    [    0.111358] spi: SPI_IO_CONTROL=0
    [    0.111358] spi: SPI_OPERATIONAL=0
    [    0.111389] spi: SPI_ERROR_FLAGS_EN=0
    [    0.111389] spi: SPI_ERROR_FLAGS=0
    [    0.111419] -msm_spi_probe()
    [    0.111999] NET: Registered protocol family 2
    [    0.112213] IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.112609] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
    [    0.112792] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
    [    0.112884] TCP: Hash tables configured (established 8192 bind 8192)
    [    0.112915] TCP reno registered
    [    0.112945] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [    0.112976] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [    0.113250] NET: Registered protocol family 1
    [    0.113555] RPC: Registered named UNIX socket transport module.
    [    0.113586] RPC: Registered udp transport module.
    [    0.113586] RPC: Registered tcp transport module.
    [    0.113616] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.113800] Unpacking initramfs...
    [    0.169219] Freeing initrd memory: 956K
    [    0.169342] PMU: registered new PMU device of type 0
    [    0.171203] Notify: smsm init
    [    0.171936] get_nand_partitions: no partition table found!
    [    0.185852] rpcrouter_smd_remote_notify: smd opened 0x  (null)
    [    0.185974] Init amss parameters, found AMSS: 1550
    [    0.187622] rpcrouter: Server create rejected, version = 0, program = 30000025
    [    0.187683] rpcrouter: Server create rejected, version = 0, program = 30000043
    [    0.187713] rpcrouter: Server create rejected, version = 0, program = 30000005
    [    0.188110] rpcrouter: Server create rejected, version = 0, program = 30000024
    [    0.188995] rpcrouter: Server create rejected, version = 0, program = 30000003
    [    0.191009] rpcrouter: Server create rejected, version = 0, program = 3000005e
    [    0.191040] rpcrouter: Server create rejected, version = 0, program = 3000001f
    [    0.195770] Battery Probe
    [    0.195800] batt: init over voltage interrupt detection. at 189004972 (1970-01-01 00:00:00.188974474 UTC)
    [    0.195892] htc_battery_core_probe
    [    0.196228] rpcrouter: Server create rejected, version = 0, program = 3000003b
    [    0.196258] rpcrouter: Server create rejected, version = 0, program = 3000005a
    [    0.196289] rpcrouter: Server create rejected, version = 0, program = 30000059
    [    0.197296] rpcrouter: Server create rejected, version = 0, program = 30000039
    [    0.198944] batt: htc_cable_status_update: 0 -> 1
    [    0.198974] msm_hsusb_set_vbus_state called before driver initialized
    [    0.199005] Battery Probe done
    [    0.201110] rpcrouter: Server create rejected, version = 0, program = 30000051
    [    0.201141] rpcrouter: Server create rejected, version = 0, program = 30000012
    [    0.201995] rpcrouter: Server create rejected, version = 0, program = 30000010
    [    0.202056] rpcrouter: Server create rejected, version = 0, program = 3000006c
    [    0.202087] rpcrouter: Server create rejected, version = 0, program = 3000000f
    [    0.203491] Registered led device: button-backlight
    [    0.203674] rpcrouter: Server create rejected, version = 0, program = 3000006a
    [    0.203704] rpcrouter: Server create rejected, version = 0, program = 3000000c
    [    0.204498] rpcrouter: Server create rejected, version = 0, program = 31000038
    [    0.204559] rpcrouter: Server create rejected, version = 0, program = 30000066
    [    1.047485] msm_i2c msm_i2c.0: [MSM I2C Err] status = 0x43C8, addr = 0x5C, flags = 0x00, last_addr = 48, reg = 0x00, last_reg = 0x08, last_flag = 0x01, cnt = 1, pos = 0
    [    1.047576] msm_i2c msm_i2c.0: (00b8) Error during data xfer (-5) (00, 00)
    [    1.047637] msm_i2c msm_i2c.0: [MSM I2C Err] status = 0x83C8, addr = 0x34, flags = 0x00, last_addr = 5C, reg = 0x00, last_reg = 0x00, last_flag = 0x00, cnt = 1, pos = 0
    [    1.047698] msm_i2c msm_i2c.0: (0068) Error during data xfer (-5) (00, 00)
    [    1.048400] input: htcleo-touchscreen as /devices/virtual/input/input0
    [    1.048492] leo_touch_name 0-0022: Start touchscreen htcleo-touchscreen
    [    1.049468] htcleo_wifi_init: start
    [    1.051147] htcleo-microp 0-0066: microp version [05][14]
    [    1.054779] htcleo-microp 0-0066: Init Done
    [    1.054962] i2c-core: driver [htcleo-microp] using legacy suspend method
    [    1.054992] i2c-core: driver [htcleo-microp] using legacy resume method
    [    1.055145] capella_cm3602_probe: probe
    [    1.055450] input: proximity as /devices/virtual/input/input1
    [    1.056365] spi_bma150_probe: G-sensor connect with microP: start initial, kvalue = 0x0
    [    1.097137] [GSNR] Gsensor disable
    [    1.098083] Registered led device: flashlight
    [    1.098114] [FLT]flashlight_probe: led_count = 0
    [    1.098144] [FLT]flashlight_probe: The Flashlight Driver is ready
    [    1.098419] [HS_MGR] (htc_35mm_probe) ++++++++++++++++++++
    [    1.099121] input: h2w headset as /devices/virtual/input/input2
    [    1.099578] [HS_MGR] (htc_35mm_probe) --------------------
    [    1.099853] [HS_GPIO] (audiojack_probe) ++++++++++++++++++++
    [    1.099945] DET IRQ Registered!
    [    1.099975] MIC IRQ Registered!
    [    1.100006] [HS_MGR] (headset_notifier_register) Register MIC_STATUS notifier
    [    1.100036] [HS_MGR] (headset_notifier_register) Register KEY_INT_ENABLE notifier
    [    1.100067] [HS_GPIO] (audiojack_probe) --------------------
    [    1.108978] highmem bounce pool size: 64 pages
    [    1.109466] ashmem: initialized
    [    1.111083] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    1.112640] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
    [    1.113281] fuse init (API version 7.16)
    [    1.113861] yaffs: yaffs built Feb  1 2013 12:41:11 Installing.
    [    1.114868] io scheduler noop registered
    [    1.114868] io scheduler deadline registered (default)
    [    1.115051] io scheduler cfq registered
    [    1.117065] msm_serial: detected port #0
    [    1.117279] msm_serial.0: ttyMSM0 at MMIO 0xa9a00000 (irq = 229) is a MSM
    [    1.137695] msm_serial: driver initialized
    [    1.138153] msm_serial_hs_init failed to load
    [    1.138519] [BT]msm_serial_hs module loaded
    [    1.139923] kgsl kgsl-3d0: |kgsl_gpummu_init| MMU type set for device is GPUMMU
    [    1.144073] loop: module loaded
    [    1.144256] pmem: Initializing pmem (user-space) as cached
    [    1.144592] pmem_setup: allocating PMEM region from hard-coded address.
    [    1.144622] allocating 33554432 bytes at   (null) (128f0000 physical) for pmem
    [    1.144714] pmem: Initializing pmem_adsp (user-space) as cached
    [    1.144989] pmem_setup: allocating PMEM region from hard-coded address.
    [    1.145050] allocating 42991616 bytes at   (null) (148f0000 physical) for pmem_adsp
    [    1.145111] pmem: Initializing pmem_venc (user-space) as cached
    [    1.145416] pmem_setup: allocating PMEM region from hard-coded address.
    [    1.145446] allocating 8388608 bytes at   (null) (2b00000 physical) for pmem_venc
    [    1.145935] Error: Driver 'tps65023' is already registered, aborting...
    [    1.146789] msm_nand: allocated dma buffer at ffdb3000, dma_addr 21324000
    [    1.147521] status: c03020
    [    1.147552] nandid: 5510bcad maker ad device bc
    [    1.147552] Found a supported NAND device
    [    1.147583] NAND Id  : 0xBCAD
    [    1.147583] Buswidth : 16 Bits 
    [    1.147613] Density  : 512 MByte
    [    1.147613] Pagesize : 2048 Bytes
    [    1.147644] Erasesize: 131072 Bytes
    [    1.147644] Oobsize  : 64 Bytes
    [    1.147674] msm_nand: read CFG0 = aa5400c0, CFG1 = 4745e
    [    1.147705] CFG0 Old: 0xaa5400c0 
    [    1.147705] CFG1 Old: 0x0004745e 
    [    1.147735] CFG0 Init  : 0xea5400c0 
    [    1.147766] CFG1 Init  : 0x0004745e 
    [    1.147766] CFG0: cw/page=3 ud_sz=512 ecc_sz=10 spare_sz=4 num_addr_cycles=5
    [    1.147796] DEV_CMD1: f00f3000
    [    1.147827] <6>NAND_EBI2_ECC_BUF_CFG: 1ff
    [    1.148040] Device WiFi MAC Address: macaddr=00:23:76:94:d2:7b
    [    1.148040] 
    [    1.148254] Device Bluetooth MAC Address: 00:23:76:77:e9:d4
    [    1.148284] #MTD# parts in atag = 0
    [    1.149688] [PPP] ppp_init disable ppp debug msg
    [    1.149719] PPP generic driver version 2.4.2
    [    1.150177] PPP Deflate Compression module registered
    [    1.150207] PPP BSD Compression module registered
    [    1.150665] PPP MPPE Compression module registered
    [    1.150695] NET: Registered protocol family 24
    [    1.152130] tun: Universal TUN/TAP device driver, 1.6
    [    1.152160] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
    [    1.152618] libra_sdioif_init: Loaded Successfully
    [    1.152648] rmnet_init: SMD devices[8]
    [    1.159423] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [    1.159851] usbcore: registered new interface driver usb_ehset_test
    [    1.160797] [USB] init(): Failed to register androidplatform driver
    [    1.162139] GPIO Matrix Keypad Driver: Start keypad matrix for htcleo-keypad in interrupt mode
    [    1.162261] GPIO Input Driver: Start gpio inputs for htcleo-keypad in interrupt mode
    [    1.162597] input: htcleo-keypad as /devices/virtual/input/input3
    [    1.163757] dummy_keypad_init: dummy_keypad: initial running...
    [    1.164031] input: dummy_keypad as /devices/virtual/input/input4
    [    1.164489] [KEY] Ship code, disable key reset.
    [    1.166320] msm_rpc_client_req: RPC call was not successful (3)
    [    1.167785] using rtc device, msm_rtc, for alarms
    [    1.167846] rs30000048 rs30000048.65536: rtc core: registered msm_rtc as rtc0
    [    1.168914] rs30000048 rs30000048.65536: rtc core: registered msm_rtc_secure as rtc1
    [    1.262542] Driver for 1-wire Dallas network protocol.
    [    1.262939] [ds2746_batt]ds2746_battery_init
    [    1.263000] /proc/fast_charge created
    [    1.263122] [ds2746_batt] ds2746_battery_prob
    [    1.263153] batt: ds2784_notify: 0 1 at 1255987777 (1970-01-01 00:00:01.255957271 UTC)
    [    1.263183] batt: charger ON (SLOW) at 1256018284 (1970-01-01 00:00:01.256018284 UTC)
    [    1.263458] [D:BATT]Use 600 Kohm thermal resistance
    [    1.264190] device-mapper: uevent: version 1.0.3
    [    1.264892] device-mapper: ioctl: 4.20.0-ioctl (2011-02-02) initialised: dm-devel@redhat.com
    [    1.265014] Bluetooth: HCI UART driver ver 2.2
    [    1.265045] Bluetooth: HCI H4 protocol initialized
    [    1.265075] Bluetooth: HCILL protocol initialized
    [    1.265960] mmc0: Clock assert failed at 144000 Hz with err -38
    [    1.265991] mmc0: Clock deassert failed at 144000 Hz with err -38
    [    1.266571] mmc0: Qualcomm MSM SDCC-core at 0x00000000a0300000 irq 24,0 dma 8 dmacrcri 6
    [    1.266601] mmc0: Platform slot type: N/A
    [    1.266632] mmc0: 8 bit data mode disabled
    [    1.266632] mmc0: 4 bit data mode disabled
    [    1.266662] mmc0: polling status mode disabled
    [    1.266662] mmc0: MMC clock 144000 -> 49152000 Hz, PCLK 64000000 Hz
    [    1.266693] mmc0: Slot eject status = 1
    [    1.266723] mmc0: Power save feature enable = 1
    [    1.266723] mmc0: DM non-cached buffer at ffd80000, dma_addr 0x213e0000
    [    1.266754] mmc0: DM cmd busaddr 0x213e0000, cmdptr busaddr 0x213f7f40
    [    1.267456] mmc1: Clock assert failed at 144000 Hz with err -38
    [    1.267486] mmc1: Clock deassert failed at 144000 Hz with err -38
    [    1.268218] @@@ SD power 0 @@@
    [    1.268615] mmc1: Qualcomm MSM SDCC-core at 0x00000000a0400000 irq 26,0 dma 8 dmacrcri 7
    [    1.268615] mmc1: Platform slot type: N/A
    [    1.268646] mmc1: 8 bit data mode disabled
    [    1.268676] mmc1: 4 bit data mode disabled
    [    1.268676] mmc1: polling status mode disabled
    [    1.268707] mmc1: MMC clock 144000 -> 49152000 Hz, PCLK 64000000 Hz
    [    1.268737] mmc1: Slot eject status = 0
    [    1.268737] mmc1: Power save feature enable = 1
    [    1.268768] mmc1: DM non-cached buffer at ffd60000, dma_addr 0x20800000
    [    1.268798] mmc1: DM cmd busaddr 0x20800000, cmdptr busaddr 0x20817f40
    [    1.269470] [D:BATT] V=4191(6b6) I=0(ffffffff) C=1198.0/1230(10c7) id=4(ab) T=340(dc) KADC=1000
    [    1.269531] [D:BATT] acr update: P=974, C=4292.
    [    1.269897] [D:BATT]new RARC=974 C=1198mAh adc=4292.
    [    1.269927] [D:BATT] state change(0->3), full count=0, over load count=0 [1262]
    [    1.269958] [D:BATT] state change(3->5), full count=0, over load count=1 [1262]
    [    1.269989] batt: ds2784_notify: 1 98 at 1262851806 (1970-01-01 00:00:01.262821299 UTC)
    [    1.270050] batt: batt:power_supply_changed: battery at 1262882313 (1970-01-01 00:00:01.262882313 UTC)
    [    1.271362] usbcore: registered new interface driver usbhid
    [    1.271392] usbhid: USB HID core driver
    [    1.272186] logger: created 256K log 'log_main'
    [    1.272491] logger: created 256K log 'log_events'
    [    1.272796] logger: created 256K log 'log_radio'
    [    1.273101] logger: created 256K log 'log_system'
    [    1.275024] ALSA device list:
    [    1.275054]   No soundcards found.
    [    1.275207] GACT probability NOT on
    [    1.275238] Mirror/redirect action on
    [    1.275268] u32 classifier
    [    1.275268]     Actions configured
    [    1.275299] Netfilter messages via NETLINK v0.30.
    [    1.275360] nf_conntrack version 0.5.0 (6427 buckets, 25708 max)
    [    1.275787] ctnetlink v0.93: registering with nfnetlink.
    [    1.275848] NF_TPROXY: Transparent proxy support initialized, version 4.1.0
    [    1.275878] NF_TPROXY: Copyright (c) 2006-2007 BalaBit IT Ltd.
    [    1.276489] xt_time: kernel timezone is -0000
    [    1.276733] ip_tables: (C) 2000-2006 Netfilter Core Team
    [    1.276916] arp_tables: (C) 2002 David S. Miller
    [    1.277008] TCP cubic registered
    [    1.277008] Initializing XFRM netlink socket
    [    1.277648] NET: Registered protocol family 10
    [    1.279785] Mobile IPv6
    [    1.279876] ip6_tables: (C) 2000-2006 Netfilter Core Team
    [    1.280059] IPv6 over IPv4 tunneling driver
    [    1.281555] NET: Registered protocol family 17
    [    1.281616] NET: Registered protocol family 15
    [    1.281646] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
    [    1.281921] ######## bthid_init: ########
    [    1.282287] ######## bthid_init: done ########
    [    1.282348] lib80211: common routines for IEEE802.11 drivers
    [    1.282379] lib80211_crypt: registered algorithm 'NULL'
    [    1.282409] Registering the dns_resolver key type
    [    1.282440] VFP support v0.3: implementor 51 architecture 64 part 0f variant 0 rev 1
    [    1.282501] ThumbEE CPU extension supported.
    [    1.283996] clock_late_init() disabled 29 unused clocks
    [    1.284454] [Port list] init()
    [    1.284454] [Port list] Virtual Address for port_list: [f81b6f70]
    [    1.284484] [Port list] Physical Address for port_list: [1B6F70]
    [    1.285614] wifi_nvs_init
    [    1.286132] input: lightsensor-level as /devices/virtual/input/input5
    [    1.289428] regulator_init_complete: ldo2: incomplete constraints, leaving on
    [    1.289611] regulator_init_complete: ldo1: incomplete constraints, leaving on
    [    1.289764] regulator_init_complete: dcdc3: incomplete constraints, leaving on
    [    1.289916] regulator_init_complete: dcdc2: incomplete constraints, leaving on
    [    1.290069] regulator_init_complete: dcdc1: incomplete constraints, leaving on
    [    1.293487] @@@ SD power 17 @@@
    [    1.294067] rs30000048 rs30000048.65536: setting system clock to 2013-02-01 18:22:59 UTC (1359742979)
    [    1.295104] Freeing init memory: 428K
    [    1.296264] init: could not import file /init.${ro.hardware}.rc
    [    1.296936] init: could not import file /system/etc/init.local.rc
    [    1.298583] init (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_score_adj instead.
    [    1.358062] @@@ SD power 15 @@@
    [    1.459716] keychord: using input dev h2w headset for fevent
    [    1.459777] keychord: using input dev dummy_keypad for fevent
    [    1.460021] init: cannot open '/initlogo.rle'
    [    1.568359] mmc1: host does not support reading read-only switch. assuming write-enable.
    [    1.573303] mmc1: new high speed SDHC card at address aaaa
    [    1.574645] mmcblk0: mmc1:aaaa SU32G 29.7 GiB 
    [    1.577697]