Trong thực thi mã nguồn, nó cho biết idr_alloc()
được sử dụng để phân bổ mục nhập idr
mới. Tôi không thể tìm thấy số man page
và muốn biết lý do tại sao nó được sử dụng đặc biệt khi viết trình điều khiển cho các thiết bị MTD
.Idr_alloc()
5
A
Trả lời
6
Thư viện idr
được sử dụng trong hạt nhân để quản lý gán ID nguyên cho các đối tượng và tra cứu đối tượng theo id. Xem phần này LWN net article để có phần giới thiệu đầy đủ; ý tưởng cơ bản là bạn phải hoạt động sau đây:
idr_get_new(struct idr *idp, void *ptr, int *id)
- gán một ID mới cho con trỏptr
và gửi lại quaid
void *idr_find(struct idr *idp, int id)
- trả lại con trỏ tương ứng vớiid
void idr_remove(struct idr *idp, int id)
- xóa mục nhập choid
Điều này rất hữu ích ở bất kỳ đâu một số nguyên ID nhỏ ánh xạ tới đối tượng hạt nhân là hữu ích - ví dụ như số nhỏ hoặc các chỉ mục khác được trả về không gian người dùng.