Xperia miniのカーネルソースコードをちょっとだけ読んでみる
小さくてかわいいのにぬるぬる動いてすごいXperia miniと、キーボードまでついちゃってすごいmini proのソースコード*1がいつの間にか公開されていたので、少し読んでみた。
解凍してkernel/arch/arm/configsに降りて、Xperia miniのコードネームRobynを探すと、似た様なのが4つある。
- semc_millie_defconfig
- semc_mimmi_defconfig
- semc_robyn_defconfig
- semc_shakira_defconfig
Robynはmini確定、mini proの/proc/config.gzからmimmiがコードネームと分かっていたので、diff。
$ diff -u semc_robyn_defconfig semc_mimmi_defconfig
ちょこちょこ違うところがあるが抜粋。
-CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI_4X=y -# CONFIG_TOUCHSCREEN_SYNAPTICS_FLIP_X is not set -CONFIG_TOUCHSCREEN_SYNAPTICS_FLIP_Y=y -# CONFIG_TOUCHSCREEN_SYNAPTICS_SWAP_XY is not set +# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI_4X is not set -# CONFIG_TOUCHSCREEN_CY8CTMA300_SER is not set +CONFIG_TOUCHSCREEN_CY8CTMA300_SER=y
miniはSynaptics製のタッチパネルなのに対して、mini proはCypress製のようだ。一度操作感を比べてみたい。
+CONFIG_LEDS_MSM_PMIC_MISC=y +CONFIG_LEDS_MSM_PMIC_MISC_KEYPAD=y +CONFIG_LEDS_MSM_PMIC_MISC_BUTTONS=y +# CONFIG_LEDS_MSM_PMIC_MISC_CAMERA is not set +CONFIG_ALS_CONTROLLED_MISC_LEDS=y
miniになくてmini proにあるということで、これがキーボードドライバのようだ。
さて、millieとshakiraはなんなのだろう?ということで、robynとshakiraのdiffを取って眺めてみた。気になったのは次の1行。
+CONFIG_FB_MSM_MDDI_TOSHIBA_LCD=y
このデバイスはなんなのだろう?ということで、カーネルのトップに戻ってfind grep。
$ pushd ../../../ $ find . -name "Kconfig" -type f | xargs grep FB_MSM_MDDI_TOSHIBA_LCD ./drivers/video/Kconfig:config FB_MSM_MDDI_TOSHIBA_LCD
drivers/video/Kconfigを開いて見ると、
config FB_MSM_MDDI_TOSHIBA_LCD depends on FB_MSM tristate "MDDI Toshiba LCD Panel" select FB_MSM_MDDI ---help--- Support for Toshiba MDDI LCD Panel (320x480)
HVGAのパネルのようだ。発表されているXperiaでHVGAといえばX8*2しかない。ということは、X8はmini/mini proとほぼ同じハードウェア構成で液晶だけをHVGA化したものと推測される。
じゃぁ、millieはなんなの?ということで、shakiraとmillieのdiff。
$ popd $ diff -u semc_shakira_defconfig semc_millie_defconfig
色々と細かく違うけど一番の差はここ。
+CONFIG_LEDS_MSM_PMIC_MISC=y +CONFIG_LEDS_MSM_PMIC_MISC_KEYPAD=y +# CONFIG_LEDS_MSM_PMIC_MISC_BUTTONS is not set +# CONFIG_LEDS_MSM_PMIC_MISC_CAMERA is not set +CONFIG_ALS_CONTROLLED_MISC_LEDS=y
robynとmimmiの違いと同じ。つまり、X8のキーボード付きがX8 proが発売される可能性があるということ。
以上、妄想全開でお届けしました。