*参照元 [#od613f4d]
#backlinks

*説明 [#se71a915]
-パス: [[linux-2.6.33/drivers/base/platform.c]]

-FIXME: これは何?
-FIXME: プラットフォームバスから指定したデバイスを削除する。
--説明
--platform_add_device() で追加したときは、この関数で削除?

-platform_device_alloc(), platform_device_add() とペアで使用する??
--ちなみに platform_device_alloc に対応する platform_device_release() はない。
--platform_device_del() が platform_release 関数が呼ばれる。
--[[linux-2.6.33/platform_device_add()]]


**引数 [#cc22e3f1]
-struct platform_device *pdev
--
--[[linux-2.6.33/platform_device]]


**返り値 [#cf07cf95]
-なし


**参考 [#qde8c34d]


*実装 [#b096dcbc]
 /**
  * platform_device_del - remove a platform-level device
  * @pdev: platform device we're removing
  *
  * Note that this function will also release all memory- and port-based
  * resources owned by the device (@dev->resource).  This function must
  * _only_ be externally called in error cases.  All other usage is a bug.
  */
 void platform_device_del(struct platform_device *pdev)
 {
 	int i;
 
 	if (pdev) {
 		device_del(&pdev->dev);
 
-
--[[linux-2.6.33/device_del()]]

 		for (i = 0; i < pdev->num_resources; i++) {
 			struct resource *r = &pdev->resource[i];
 			unsigned long type = resource_type(r);
 
-
--[[linux-2.6.33/resource]]
-
--[[linux-2.6.33/resource_type()]]

 			if (type == IORESOURCE_MEM || type == IORESOURCE_IO)
 				release_resource(r);
-
--[[linux-2.6.33/IORESOURCE_MEM]]
-
--[[linux-2.6.33/IORESOURCE_IO]]
-
--[[linux-2.6.33/release_resource()]]

 		}
 	}
 }
 EXPORT_SYMBOL_GPL(platform_device_del);
-GPL のモジュールにのみシンボルを公開する。
--[[linux-2.6.33/EXPORT_SYMBOL_GPL()]]


*コメント [#g902f805]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS