2017-03-08 3 views
-2

私は学習のために割り込みドライバLinuxバージョン3.8を書いています。私はこのgpio_requestの内側にそれがここ どのように構造体モジュールがカーネル内で動作するか

if (!try_module_get(chip->owner)) 

を使用している見たとき、私は、このような

gpio_request(gpioButton, "mypreciousss");  // Set up the gpioButton 

としていくつかのGPIOのAPIを使用していますはチップボード>所有者のstructモジュール型変数です。

gpio_requestは私のinit関数の最初の関数であった、と私は構造体モジュールを作成するために何もしませんでした。 どのようにtry_module_getは1つを使用できますか?ここ

+0

質問は英語で書かれていません、翻訳する人を見つけてください。あなたが何を求めているかを推測する私はあなたがあなたの投稿に2番目の例を得ていないと推測できます。これは基本的に参照カウントです。 GPIOラインが要求されると、コントローラドライバの削除は禁止されます。 – 0andriy

+0

あなたは目が見えないのか普通なのですか? –

答えて

0

I関数gpio_request()する(Linux 3.8)ここ

 desc = &gpio_desc[gpio]; 
    chip = desc->chip; 
    if (chip == NULL) 
      goto done; 

    if (!try_module_get(chip->owner)) 
      goto done; 

からコードスニペットを貼り付けています、それらが渡さGPIOに対応する記述子を取って、その記述子構造は、さらに、更新のために使用されます。

関連する問題