カーネルいじり

78kUSBの時には書いてなくて後悔したので書いておく
大抵の物はこんな感じで入れられるようになるはず

http://groups.google.co.jp/group/android-group-japan/browse_thread/thread/6efc44d9fbfa5509?hl=ja#
に出てくるUSBホストをカーネルのコンフィグから見えるようにする

diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index 2c63bfb..17d2575 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -318,6 +318,13 @@ config USB_R8A66597_HCD
          To compile this driver as a module, choose M here: the
          module will be called r8a66597-hcd.
 
+config USB_MSM72K_ON_CHIP_HCD
+       tristate "MSM72K on-chip HCD support"
+       depends on USB 
+       help
+          This driver enables support for the on-chip USB HOST in the
+          MSM72K processors.
+
 config SUPERH_ON_CHIP_R8A66597
        boolean "Enable SuperH on-chip R8A66597 USB"
        depends on USB_R8A66597_HCD && (CPU_SUBTYPE_SH7366 || CPU_SUBTYPE_SH7723)

と書いてやるとメニューから見えるようになる。
そのままだとコンパイルされないので
Makefileも修正

diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile
index b2ceb4a..9194f5c 100644
--- a/drivers/usb/Makefile
+++ b/drivers/usb/Makefile
@@ -19,6 +19,8 @@ obj-$(CONFIG_USB_SL811_HCD)   += host/
 obj-$(CONFIG_USB_U132_HCD)     += host/
 obj-$(CONFIG_USB_R8A66597_HCD) += host/
 obj-$(CONFIG_USB_HWA_HCD)      += host/
+obj-$(CONFIG_USB_MSM72K_ON_CHIP_HCD)   += host/
+
 
 obj-$(CONFIG_USB_C67X00_HCD)   += c67x00/
diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile
index f163571..197db56 100644
--- a/drivers/usb/host/Makefile
+++ b/drivers/usb/host/Makefile
@@ -29,3 +29,4 @@ obj-$(CONFIG_USB_U132_HCD)    += u132-hcd.o
 obj-$(CONFIG_USB_R8A66597_HCD) += r8a66597-hcd.o
 obj-$(CONFIG_USB_ISP1760_HCD)  += isp1760.o
 obj-$(CONFIG_USB_HWA_HCD)      += hwa-hc.o
+obj-$(CONFIG_USB_MSM72K_ON_CHIP_HCD)   += ehci-hcd-msm72k.o

あとは単体では動かないので
$cp ehci-hcd.c ehci-hcd-msm72k.c
して
$ diff ehci-hcd.c ehci-hcd-msm72k.c

1003a1004,1005
> #include "ehci-msm72k.c"
> 
1039,1043d1040
< #if !defined(PCI_DRIVER) && !defined(PLATFORM_DRIVER) && \
<     !defined(PS3_SYSTEM_BUS_DRIVER) && !defined(OF_PLATFORM_DRIVER)
< #error "missing bus glue for ehci-hcd"
< #endif
< 

な感じに修正
ehci-msm72k.cの中のインクルードパス
asm/arch/をmach/に変更
これでコンパイルだけはできる。

僕の能力と時間だとこれがいっぱいいっぱいです(><

スタックが解消されたらやるかも