Few days ago, I completely stripped out the dev/ion references from the camera code and was starting to work through a rewrite using our version of the memory tiler built into the kernel (read as TI memmgr1.0) Basically, that caused a little instability in the system which you can see in Alpha #4. Also, it hung the media_audio service out on the boot up which is why it's taking so long to boot currently.



Today, I reverted all of those changes, and instead built a ion_driver kernel module. The /dev/ion device is the new ICS interface for Android to work with the memory tiler at the kernel level. The module included an update to the tiler / dmm driver source as well (i named them tiler2 and tiler2_dmm) and all of the ion driver calls are directed to tiler2 instead of the original.



If loaded on system boot, tiler2_dmm.ko, and tiler2.ko modules load fine.



But, I'm working through some missing references on the ion_driver.ko module.



I'll know more in a day or so as I debug it, as to whether this technique will work.



Worst case is, I'll have to re-write the tiler2 portion as a wrapper of our existing tiler instead of a whole new device as it is now.



TL;DR: Camera needs the /dev/ion device (as does a few codecs) I'm working on a kernel module solution at the moment which has some bugs.