2010-11-22 11 views
0

ドライバがpcim_enable_device()を呼び出す場合は、pcim_iomap(),devm_request_irq()などの管理されたコールを使用してハードウェアリソースを割り当てます。ドライバはカーネルにこれらのリソースを解放するようにどのように指示しますか?「管理された」pciリソースのリリースを引き起こす要因は何ですか?

pcim_releaseは、エクスポートされたシンボルではないため、他のものではdevres_free()が呼び出される必要があります。しかし何?

注:手動でリソースを解放する方法についての指示は必要ありません。私はdevresサブシステムがすべてを解放する方法を知りたい。結局のところ、それは何のためだ。

答えて

1

pcim_release()struct devresreleaseコールバックとなります。 releaseコールバックはでdevres_release_all()で呼び出されます。これはいくつかの場所、特にdriver_detach()から呼び出されます。

私はあなたがそれについて心配するつもりはないと思っています。それはすべてdevresの全体のポイントです。それはあなたのためのリソースを管理します。あなたはクリーンアップについて心配する必要はありません。

0

私は、あなたがしたいと思う:pcim_iounmap

+0

私はもっとはっきりしていたはずです。私はただのイマップ以外のことをする。管理されたサブシステムはすべてを一度に解放する必要があります。 pcim_iounmapは、一度に1つずつしかリリースしません。 –

関連する問題