นี่คือการจัดทำเอกสารเกี่ยวกับไดรเวอร์ Linux โดยเฉพาะอย่างยิ่งเป็นฐานความรู้ทั้งหมด เอกสารนั้นกระจัดกระจายและกระจายไปทั่วอินเทอร์เน็ตในปัจจุบัน อุปกรณ์ I2C อยู่บนรถบัสสองสายและไม่สามารถค้นพบได้อุปกรณ์แพลตฟอร์ม ในการตรวจสอบว่ามี I2CBUs อยู่หรือไม่และ/หรืออุปกรณ์ใด ๆ ที่พบได้คุณสามารถใช้เครื่องมือ I2CDETECT ที่พบในระบบ Linux ต่างๆ
ตัวอย่างที่มีอยู่
kobject คืออะไร? ดู Kobject/
ใช้ในการโต้ตอบกับพื้นที่ผู้ใช้ ไดรเวอร์บางตัวอาจถูกแบ่งออกเป็นชิ้นส่วนไดรเวอร์ I2C หรือแพลตฟอร์มเพื่อโต้ตอบกับอุปกรณ์และไดรเวอร์อื่น ๆ เพื่อโต้ตอบกับผู้ใช้พื้นที่ไดรเวอร์ MISC สามารถลงทะเบียนได้ในฟังก์ชั่นโพรบของแพลตฟอร์ม MISC อำนวยความสะดวกในการอ่านและเขียนพื้นที่ผู้ใช้ .. ไดรเวอร์ MISC ไม่จำเป็นต้องใช้หมายเลขหลักและให้หมายเลขรองเพียง 1 หมายเลขเท่านั้น (ไดรเวอร์/char/misc && misc_register) นอกจากนี้ยังมี (ไดรเวอร์/misc) ซึ่งเป็นชุดของไดรเวอร์ที่ไม่พอดีในหมวดหมู่อื่น ๆ .. สองหัวข้อที่แตกต่างกัน
อุปกรณ์แพลตฟอร์ม ไม่สามารถค้นพบได้ โดยเนื้อแท้ว่าพวกเขาไม่สามารถแจ้งซอฟต์แวร์เกี่ยวกับการมีอยู่ของพวกเขา อุปกรณ์ I2C ตกอยู่ในหมวดหมู่นี้ ซอฟต์แวร์จะต้องรู้ในเวลาที่รวบรวมการดำรงอยู่ของพวกเขา (ผ่าน board_info หรือทรีอุปกรณ์ (DTS) .. ) พวกเขาถูกผูกไว้กับไดรเวอร์โดย การจับคู่ชื่อ ซึ่งคุณสามารถเรียนรู้ได้ในไดเรกทอรี I2C/ ไดเรกทอรี ควรลงทะเบียนโดยเร็วเพื่อให้พวกเขาสามารถใช้งานได้
USB และ PCI จะ ไม่ นับเป็นอุปกรณ์แพลตฟอร์ม
มี 2 ข้อกำหนดในการทำงานกับอุปกรณ์แพลตฟอร์ม
สังเกตสิ่งเหล่านี้เกี่ยวกับไดรเวอร์แพลตฟอร์ม
compatible ซึ่งตรงกับ platform_driver.name ในไดรเวอร์ platform_driver_register เป็นอินเตอร์เฟสการลงทะเบียนหลักเช่นตัวอย่างจากแหล่งที่มาของทรีอุปกรณ์ (DTS) ของอุปกรณ์ที่เข้ากันได้
lkmc_platform_device@101e9000 {
compatible = "lkmc_platform_device";
reg = <0x101e9000 0x1000>;
interrupts = <18>;
interrupt-controller;
#interrupt-cells = <2>;
clocks = <&pclk>;
clock-names = "apb_pclk";
lkmc-asdf = <0x12345678>;
};
อุปกรณ์ที่ไม่ใช่แพลตฟอร์มเช่น PCI สามารถ ค้นพบได้ โดยเนื้อแท้ ซึ่งหมายความว่าซอฟต์แวร์สามารถ ค้นหา อุปกรณ์ใหม่ที่เพิ่มเข้ามาในระบบในระหว่างการรันไทม์
สังเกตสิ่งเหล่านี้เกี่ยวกับไดรเวอร์ที่ไม่ใช่แพ่ง
device_add และ device_del เท่าที่เราสามารถทำได้ในชีวิตจริง การตรวจสอบไม่ใช่อัตโนมัติ แต่สามารถทำได้หลังจากบูตด้วย Echo 1>/Sys/Bus/PCI/Rescan