[Armadillo:09009] Re: A-4x0 にSPIでSDカードスロットを増設
Hiroaki OHSAWA
email@hidden
2013年 7月 10日 (水) 19:20:20 JST
大澤です。
既に実装も始められているようなので、遅くなりましたが
質問 1についてお答えします。
linux-2.6.26-at1のリリース時から、SD High Speed(SD 1.1.0)に対応するために
MMCドライバを2.6.28.4からbackportしています。
Armadillo-400では標準イメージでSD/MMCのSPIアクセスはサポートしていないため、
直接影響しないinclude/linux/spi/mmc_spi.h が2.6.26のままになっています。
通常のSD Hostを使用しないという事なのであれば、drivers/mmc/host/mmc_spi.c
とinclude/linux/spi/mmc_spi.h のどちらを修正していただいても構いません。
SD High Speedの実装を生かしたままとなると、drivers/mmc/host/mmc_spi.c側を
保持する事になると思います。
(2013年07月05日 03:30), Yasuhisa Nakamura wrote:
> 中村です。
>
> Armadillo-4x0で、SPIを使ってSDカードスロット(複数)を増設することを
> 考えています。
>
> まだ試験するハードウェアの準備ができていないので、
> (つい先ほど、日付が変わったころに思いついたばかりですので)
> - カーネルは対応しているか?
> - カーネルのビルドができるか?
> ということを調べている段階です。
>
> カーネルconfigでSPIを有効にすると"MMC/SD/SDIO card support"のところに
> <*> MMC/SD/SDIO over SPI
> が出てきましたので、これを有効(<*>)にしてビルドすると、
> 次のエラーで停止しました。
>
> CC drivers/mmc/host/mmc_spi.o
> drivers/mmc/host/mmc_spi.c: In function ‘mmc_spi_get_cd’:
> drivers/mmc/host/mmc_spi.c:1152: error: ‘struct mmc_spi_platform_data’ has no member nam
> ed ‘get_cd’
> drivers/mmc/host/mmc_spi.c:1153: error: ‘struct mmc_spi_platform_data’ has no member nam
> ed ‘get_cd’
> drivers/mmc/host/mmc_spi.c: In function ‘mmc_spi_probe’:
> drivers/mmc/host/mmc_spi.c:1344: error: ‘struct mmc_spi_platform_data’ has no member nam
> ed ‘caps’
> make[4]: *** [drivers/mmc/host/mmc_spi.o] エラー 1
>
> エラーになったところを調べていくと、どうやら、
> drivers/mmc/host/mmc_spi.c
> に対して、
> include/linux/spi/mmc_spi.h
> が古いようです。
>
> どこでミスマッチが起きたのかわかりませんが、
> http://kernelnewbies.org/Linux_2_6_27
> の「8.16. MMC」のところに
> - mmc_spi: add support for card-detection polling (commit)
> というものがあり、その修正内容("commit"のリンク先)、は
> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=619ef4b42128709de4d89d209b2c874f560deecd
> によると、
> drivers/mmc/host/mmc_spi.c
> include/linux/spi/mmc_spi.h
> の2つです。
>
> 今回のコンパイルエラーになった場所とピッタリ一致しており、
> このとおりにmmc_spi.hを修正をしたところ、カーネルのビルドは
> 通りました。
>
>
> ここで質問が2つあります。
>
> 質問1
>
> 上で引用した http://kernelnewbies.org/Linux_2_6_27 は、
> 2.6.27での修正内容の一覧です。(ですよね?)
> A-420で使っているカーネルソースは linux-2.6.26-at16 です。
>
> linux-2.6.26-at16 のmmc_spi.cが2.6.27のものになっている
> 理由は何でしょうか?
>
> 上に書いたコンパイルのテストではmmc_spi.hを直しましたが、そうではなく、
> mmc_spi.cを直すべき(古いものに戻すべき)なのか?という疑問もあります。
>
>
> 質問2
>
> 自分で確かめられれば一番いいのですが、テストするハードウェアを
> 用意するのにはしばらく時間がかかりそうです。
>
> そこで・・・
> もし実績のある方がいらっしゃいましたら、「使えるよ!」とか、
> 「安定しないよ」とか、「他にも修正が必要だよ」とか・・・
> 情報をいただけますでしょうか?
>
> よろしくお願いいたします。
>
--
ohsawa
armadillo メーリングリストの案内