Skip to main content

Posts

Showing posts from March, 2011

More progress

On St. Patrick's Day, Dell released an early alpha version of a Streak gingerbread kernel.  They're working from a CodeAurora drop from last year and they're using Broadcom provided brcm4325 drivers instead of the brcm4329 drivers that support both chipsets.

So, I merged the Dell alpha into the current CodeAurora tree and have something that almost builds.

The last piece fell into place today when I found a streak device tree for froyo.  There have been some breaking changes in the build files between froyo and gingerbread, so I need to touch all the make files to get any further.

Still, I might actually have my own gingerbread ROM right around the time Google drops Honeycomb and Dell releases their own version of gingerbread...

Almost there

All the Dell files compile correctly.  All I have to do now is work out the config changes so that
the correct object files are built and linked into the final kernel.

PEBKAC

It turns out the reason it wasn't building the object files into the built-in was that I had neglected to copy the source files for them into the CodeAurora tree.

I finished merging the Dell and CodeAurora board files into an appropriate version for the Streak.  It still doesn't finish building, but I'm much closer.

Roadblocks

Mostly roadblocks tonight, although I did learn how to remove the "-Werror" flag from the set of flags used to compile a specific object.

As of right now, I'm not understanding why my driver object files aren't being pulled into the built-in driver object file.  I suspect I'm going to have to dig deeper into the top level makefile.

Getting closer

Discovered that the "toucan" config is distinct from the "austin" config and so can dump a bunch of
drivers.

Unfortunately it looks like I have to merge the Dell board config (board-qsd8x50_austin.c) with the latest generic board config from CodeAurora (board-qsd8x50.c).

Here's where I'm at so far:

corey@patches:~/msm$ git status # On branch gingerbread_rel # Changed but not updated: # (use "git add ..." to update what will be committed) # (use "git checkout -- ..." to discard changes in working directory) # # modified: arch/arm/mach-msm/Kconfig # modified: arch/arm/mach-msm/Makefile # modified: arch/arm/mach-msm/include/mach/board.h # modified: arch/arm/mach-msm/include/mach/camera.h # modified: drivers/input/keyboard/Kconfig # modified: drivers/input/keyboard/Makefile # modified: drivers/input/misc/Makefile # modified: drivers/input/touchscreen/Kconfig # modified: drivers/input/touchscreen/Makefile # modified: dr…

Some driver progress...

I diff'd the Dell source release against 2.6.35 from CodeAurora.  A lot of the changes were noise -- Intel wireless driver headers that got renamed, or Zaurus support that's gone away.

What I'm left with is stuff in the following directories:
/drivers/i2c/chips
/drivers/input/keyboard
/drivers/input/misc
/drivers/input/touchscreen
/drivers/leds
/drivers/media/video
/drivers/media/video/msm
/drivers/misc
/drivers/misc/reset
/drivers/mmc/host
/drivers/mtd/devices
/drivers/net/msm_rmnet_*
/drivers/power/qsd_batter.*
/drivers/staging/android
/drivers/video/msm_austin
/drivers/video/msm
/drivers/video/msm_toucan
/drivers/watchdog

Another help is that someone else posted a mention that the Streak's codename was "Austin", so a grep through the Dell source tree turned up a bunch of files that have Streak specific changes.