2012-02-06 28 views
13

Tôi đang cố gắng cập nhật trình điều khiển hạt nhân cho Android, tôi đã thêm một số trình gỡ lỗi để gỡ lỗi, hàm _init được gọi, nhưng hàm thăm dò thì không. Tôi thiếu gì? Khi nào/như thế nào là chức năng thăm dò được gọi?Khi nào chức năng thăm dò cho trình điều khiển nhân Linux được gọi?

Mã này hiện có sẵn tại địa chỉ: https://github.com/lamegopinto/kernel-2.6.32.27-M722HC/blob/master/drivers/power/rk2918_battery.c

+1

Bạn có thể hiển thị một số mã không? – sarnold

Trả lời

8

Tìm câu trả lời sau một số nghiên cứu, Đối với thiết bị "nền tảng", chức năng thăm dò được gọi khi thiết bị nền tảng được đăng ký và tên thiết bị khớp với tên được chỉ định trên trình điều khiển thiết bị.

Xem thêm chi tiết ở đây: http://comments.gmane.org/gmane.linux.kernel.kernelnewbies/37050

Bây giờ tôi chỉ cần phải tìm lý do tại sao các thiết bị không được đăng ký: \

+0

Đăng ký trình điều khiển là nhiệm vụ ban đầu, chỉ sau khi đăng ký đầu dò có thể được gọi. – shingaridavesh

+0

tốt, đang mong đợi một câu trả lời mô tả hơn, nhưng +1 cho liên kết. – aditya

1

Chức năng probe được gọi bất cứ khi nào thiết bị được nhìn thấy. Điều này có thể xảy ra khi khởi động thiết bị hoặc có thể xảy ra khi thiết bị được kết nối. Kiểm tra this article for more info.

4

Khi một module_init được gọi là (insmod trong trường hợp tải động) thì việc đăng ký lái xe được thực hiện, và các cuộc gọi lại thăm dò khác nhau, tiếp tục, đình chỉ liên quan đến trình điều khiển có mặt.

Bây giờ điều chính để hiểu điều này là tất cả những gì xảy ra trong hàm thăm dò. Nếu bạn nhận thấy sau đó trong thăm dò hầu hết các initialisation liên quan đến thiết bị được thực hiện (ví dụ như các thiết lập liên kết với DEVICE), do đó, rõ ràng điều này nên thực hiện khi thiết bị có mặt.

Đầu dò được gọi khi thiết bị và tên/id trình điều khiển phù hợp với nghĩa là xác minh rằng chúng sẽ được ghép nối/liên kết. Vì vậy, bây giờ chúng tôi chắc chắn rằng nói rằng lái xe ABC sẽ được kết hợp với thiết bị ABC; do đó, các thiết lập khởi tạo cho thiết bị ABC trong đầu dò của Driver ABC.

Các vấn đề liên quan