[Armadillo:03900] armadillo-500 sysfs経由でI2Cドライバ制御
g-kihara
email@hidden
2009年 1月 14日 (水) 17:46:51 JST
木原です。
いつもお世話になっています。
【目的】
armadillo-500ボードのI2C1モジュールに接続したセンサとI2C通信
を行うソフトを作成しようとしています。
その際、sysfs経由でI2Cドライバ制御を行いたいとおもっています。
以前ご紹介いただいた、drivers/i2c/chips/tlv320aic.cを
参考に作成しようと思っています。
【質問】
下記のように書き換え,まずi2c_probe()が正しく行われるか
確認しました。
デバイスドライバをinsmodし、動作テストしたところ、
i2ctest_attach( )は呼ばれるものの、
i2c_probe( )の返り値が0以外の値となっており、
i2c_probe()に失敗していることがわかりました。
構造体変数i2ctest_driverのメンバidには、
i2c-id.hで定義されているI2C_DRIVERID以外の
値を与えたのですが、 これだけではスキャンしてくれない
ようです。他になにか必要な設定があるのでしょうか?
ご教示宜しくお願い申し上げます。
#define ID_I2CTEST 102
・・・・・
static int
i2ctest_attach(struct i2c_adapter *adap)
{
int ret;
DEBUG_FUNC();
printk("i2ctest_attach is called\n");
ret = i2c_probe(adap, &addr_data, i2ctest_probe);
printk("i2c_probe=%d\n");
}
・・・・・
static struct i2c_driver i2ctest_driver = {
.driver = {
.name = DRIVER_NAME,
},
.id = ID_I2CTEST,
.attach_adapter = i2ctest_attach,
.detach_client = i2ctest_detach,
//.command = i2ctest_command,
};
・・・・・
以上
armadillo メーリングリストの案内