最終更新:2022-08-24 (水) 18:20:27 (616d)
Linux/USBガジェット/ファンクション
歴史
Linux 3.11
Linux 3.9
- 各モジュールからf_をインクルードしていたのをusb_get_function_instanceに変更
Linux 3.7
- CONFIG_USB_LIBCOMPOSITE追加
- drivers/usb/gadget/composite.cがlibcompositeに
- composite.oなどのリンクを各モジュールでのincludeからlibcompositeの依存に変更
- 各モジュールがCONFIG_USB_LIBCOMPOSITEに依存するようになった
- ファンクションはincludeのまま
Linux 2.6.27
- コンポジットフレームワークによりファンクションが分割されるようになった
- 共通部分であるcomposite.oなどを分離、Makefileでファンクションをリンク
構造体
定義するマクロ
- usbfunc:{name}がMODULE_ALIASで登録される
呼び出し
- usb_get_function_instance
- request_module("usbfunc:%s", name);
Linux/USBガジェット/configfsで使えるもの
- DECLARE_USB_FUNCTION_INIT
name ファンクション gser CONFIG_USB_CONFIGFS_SERIAL Linux 3.11 acm CONFIG_USB_CONFIGFS_ACM? Linux 3.11 obex CONFIG_USB_CONFIGFS_OBEX? ncm CONFIG_USB_CONFIGFS_NCM? ecm CONFIG_USB_CONFIGFS_ECM? geth CONFIG_USB_CONFIGFS_ECM_SUBSET? rndis CONFIG_USB_CONFIGFS_RNDIS? Linux 3.11 eem CONFIG_USB_CONFIGFS_EEM? mass_storage CONFIG_USB_CONFIGFS_MASS_STORAGE Linux 3.13 CONFIG_USB_CONFIGFS_F_LB_SS? Linux 3.14 ffs CONFIG_USB_CONFIGFS_F_FS Linux 3.14 uac1 CONFIG_USB_CONFIGFS_F_UAC1 Linux 3.19 uac1_legacy CONFIG_USB_CONFIGFS_F_UAC1_LEGACY Linux 4.13 uac2 CONFIG_USB_CONFIGFS_F_UAC2? Linux 3.19 midi CONFIG_USB_CONFIGFS_F_MIDI? Linux 3.19 hid CONFIG_USB_CONFIGFS_F_HID Linux 3.19 uvc CONFIG_USB_CONFIGFS_F_UVC? Linux 4.0 printer CONFIG_USB_CONFIGFS_F_PRINTER? Linux 4.1 phonet
それ以前
一覧
f_uac1? Linux 3.4でf_audio?からリネーム f_uac1_legacy? f_uac2? f_midi? f_hid? Linux 2.6.35 f_uvc? Linux 2.6.35 f_mass_storage? Linux 2.6.33 f_audio? Linux 2.6.31 f_acm? USB CDC serial (ACM) function driver Linux 2.6.27 f_ecm? USB CDC Ethernet (ECM) link function driver Linux 2.6.27 f_loopback? USB peripheral loopback configuration driver Linux 2.6.27 f_rndis? RNDIS link function driver Linux 2.6.27 f_serial? generic USB serial function driver Linux 2.6.27 f_sourcesink? USB peripheral source/sink configuration driver Linux 2.6.27 f_subset? "CDC Subset" Ethernet link function driver Linux 2.6.27 u_ether? Ethernet-over-USB link layer utilities for Gadget stack Linux 2.6.27 u_serial? utilities for USB gadget "serial port"/TTY support Linux 2.6.27