Lưu ý
Mục đích của file này là để độc giả tiếng Việt có thể đọc và hiểu tài liệu nhân kernel dễ dàng hơn, không phải để tạo ra một nhánh tài liệu riêng. Nếu bạn có bất kỳ nhận xét hoặc cập nhật nào cho file này, vui lòng thử cập nhật file tiếng Anh gốc trước. Nếu bạn thấy có sự khác biệt giữa bản dịch và bản gốc, hoặc có vấn đề về bản dịch, vui lòng gửi góp ý hoặc patch cho người dịch của file này, hoặc nhờ người bảo trì và người review tài liệu tiếng Việt giúp đỡ.
- Bản gốc:
- Người dịch:
Google Translate (machine translation)
- Phiên bản gốc:
8541d8f725c6
Cảnh báo
Tài liệu này được dịch tự động bằng máy và chưa được review bởi người dịch. Nội dung có thể không chính xác hoặc khó hiểu ở một số chỗ. Khi có sự khác biệt với bản gốc, bản gốc luôn là chuẩn. Bản dịch chất lượng cao (được review) được đặt trong thư mục vi_VN/.
GPIO_GET_LINEHANDLE_IOCTL¶
Cảnh báo
This ioctl is part of GPIO Không gian người dùng thiết bị ký tự API (v1) and is obsoleted by GPIO_V2_GET_LINE_IOCTL.
Tên¶
GPIO_GET_LINEHANDLE_IOCTL - Yêu cầu một hoặc nhiều dòng từ kernel.
Tóm tắt¶
-
GPIO_GET_LINEHANDLE_IOCTL¶
ZZ0000ZZ
Đối số¶
- ZZ0000ZZ
Bộ mô tả tệp của thiết bị ký tự GPIO được trả về bởi ZZ0001ZZ.
- ZZ0001ZZ
ZZ0000ZZ chỉ định các dòng tới yêu cầu và cấu hình của họ.
Sự miêu tả¶
Yêu cầu một hoặc nhiều dòng từ kernel.
Mặc dù có thể yêu cầu nhiều dòng nhưng cấu hình tương tự sẽ áp dụng cho tất cả dòng trong yêu cầu.
Nếu thành công, quy trình yêu cầu được cấp quyền truy cập độc quyền vào dòng giá trị và quyền truy cập ghi vào cấu hình dòng.
Trạng thái của một đường truyền, bao gồm cả giá trị của các đường đầu ra, được đảm bảo vẫn như được yêu cầu cho đến khi bộ mô tả tệp trả về được đóng lại. Một khi bộ mô tả tập tin bị đóng, trạng thái của dòng sẽ không được kiểm soát từ phối cảnh không gian người dùng và có thể trở lại trạng thái mặc định.
Yêu cầu một đường dây đã được sử dụng là một lỗi (ZZ0000ZZ).
Việc đóng ZZ0000ZZ không ảnh hưởng đến các bộ điều khiển dòng hiện có.
Quy tắc cấu hình¶
Các quy tắc cấu hình sau đây được áp dụng:
Các cờ định hướng, ZZ0000ZZ và ZZ0001ZZ, không thể kết hợp được. Nếu cả hai đều không được thiết lập thì chỉ có cờ khác có thể được đặt là ZZ0002ZZ và dòng được yêu cầu “nguyên trạng” để cho phép đọc giá trị dòng mà không thay đổi cấu hình điện.
Cờ ổ đĩa, ZZ0000ZZ, yêu cầu ZZ0001ZZ được thiết lập. Chỉ có thể đặt một cờ ổ đĩa. Nếu không có thiết lập nào thì đường này được coi là kéo-đẩy.
Chỉ có thể đặt một cờ thiên vị, ZZ0000ZZ, và nó cũng yêu cầu phải đặt cờ chỉ đường. Nếu không có cờ thiên vị nào được đặt thì cấu hình thiên vị sẽ không thay đổi.
Yêu cầu cấu hình không hợp lệ là một lỗi (ZZ0000ZZ).
Hỗ trợ cấu hình¶
Trường hợp cấu hình được yêu cầu không được hỗ trợ trực tiếp bởi cơ sở phần cứng và trình điều khiển, kernel áp dụng một trong các cách tiếp cận sau:
từ chối yêu cầu
mô phỏng tính năng trong phần mềm
coi tính năng này là nỗ lực tốt nhất
Cách tiếp cận được áp dụng tùy thuộc vào việc tính năng này có thể được mô phỏng hợp lý hay không trong phần mềm và tác động lên phần cứng cũng như không gian người dùng nếu tính năng này không được được hỗ trợ. Cách tiếp cận được áp dụng cho từng tính năng như sau:
Xu hướng được coi là nỗ lực tốt nhất để cho phép không gian người dùng áp dụng điều tương tự cấu hình cho các nền tảng hỗ trợ sai lệch nội bộ như những nền tảng yêu cầu thiên vị bên ngoài. Trường hợp xấu nhất là dòng nổi thay vì bị sai lệch như mong đợi.
Biến tần được mô phỏng bằng cách chuyển đường dây thành đầu vào khi đường dây không được phép được điều khiển.
Trong mọi trường hợp, cấu hình được báo cáo bởi GPIO_GET_LINEINFO_IOCTL là cấu hình được yêu cầu, không phải cấu hình phần cứng kết quả. Không gian người dùng không thể xác định xem một tính năng có được hỗ trợ trong phần cứng hay không, được mô phỏng hoặc là nỗ lực tốt nhất.
Giá trị trả về¶
Khi thành công 0 và ZZ0000ZZ chứa mô tả tập tin cho yêu cầu.
Về lỗi -1 và biến ZZ0000ZZ được đặt phù hợp. Các mã lỗi phổ biến được mô tả trong Mã lỗi GPIO.