[Defy Android Development] YetAnotherForumUser:
Even though JB is more or less feature-complete on Defy(+) there are still a few nits which will be hard to squash without having access to features which are only available in later kernels (eg. the ION memory allocator). Given that this board is frequented by people who (theoretically at least) should be able to give a hand in porting the required drivers/features to get a 3.X kernel up and running on Defy(+) I started making an overview of those missing bits. It should only take a relatively small group of willing volunteers, each responsible for a driver or feature, to get those bits ported.

From a quick glance at the configuration options used with the currently used 2nd-boot kernel I come to the following list of drivers/features which will need to be ported to 3.X. Some of these might already be available under different names in the kernel. Others might have been ported but are simply not part of the kernel tree I used to make this comparison (Quarx2k/jordan-kernel; branch 3.0.8-defy_display). Yet others might not be needed in the newer kernel because their functions are taken over by other drivers/features.

This is not a complete list of features needed to get a kernel running on the Defy(+) (see mapphone_defconfig in branch 2.6.32 for what is needed).

In the following list I marked potential replacements in bold type, usually followed by a question mark (?) to indicate I'm not sure they are fully compatible replacements for the 2.6.X drivers/features. The drivers/features are listed in 2.6.X menuconfig order using Kconfig names and symbols.

Drivers needed for Jordan w/kernel 3.x

Top level

Support for open firmware device tree (ARM port)

ARM_OF -> USE_OF ?

Support for device tree in /proc

PROC_DEVICETREE

DSP Bridge driver

MPU_BRIDGE

System Type

Motorola Android Platform Phone

MACH_MAPPHONE -> MACH_OMAP_MAPPHONE ? complete?

Motorola Android Platform phone 2nd-boot kernel modifications

MAPPHONE_2NDBOOT

Export DIE ID code under /proc/socinfo

OMAP3_EXPORT_DIE_ID

Device Drivers/Misc devices

AKM8973 Magnetometer

SENSORS_AKM8973_AKMD

KXTF9 Accelerometer

SENSORS_KXTF9

Bluetooth power control driver for TI wl127x

WL127X_RFKILL

Motorola OMAP Device Type Driver

OMAP_DEV_TYPE_DRV

Motorola Modem PM Driver

MODEM_PM_DRIVER

Motorola netmux driver

NETMUX_DRIVER

Motorola netmux link driver

NETMUX_LINKDRIVER

Motorola Camera Driver

CAMERA_MISC

Device Drivers/Multimedia support/Video capture adapters

HP OMAP3 Imaging/3A driver

VIDEO_OMAP3_HP3A

Video out driver

VIDEO_OMAP_VIDEOOUT -> VIDEO_OMAP2_VOUT ?

Device Drivers/Sound card support/Open Sound System (DEPRECATED)

Audio driver for OMAP3430 with CPCAP

SOUND_CPCAP_OMAP -> SND_OMAP_SOC ( = ALSA)

Device Drivers/USB support

CPCAP USB Transceiver Driver

CPCAP_USB

Device Drivers/USB support/USB Gadget Support

USB Gadget Drivers (MOTO Android Gadget)

USB_MOT_ANDROID

Device Drivers/Real Time Clock

CPCAP RTC

RTC_DRV_CPCAP

So... anyone here who is willing and able to take on one of these drivers/features? Within a reasonable time frame (weeks, not months)? Anyone who knows of existing ports for these missing bits?

Why wait for Quarx or any of the other already overworked developers to do all the work? Just join hands, sing Kumbayah and get porting - but post here which driver/feature you want to work on to avoid needless duplication of effort.

I'll wait a few days for others to take the fun projects, then I'll start on those which are left.