]>
git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - src/hwinfo/src/hd/adb.c
11 #include <sys/ioctl.h>
17 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
20 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
25 void hd_scan_adb(hd_data_t
*hd_data
)
32 if(!hd_probe_feature(hd_data
, pr_adb
)) return;
34 hd_data
->module
= mod_adb
;
37 remove_hd_entries(hd_data
);
39 PROGRESS(1, 0, "get info");
41 for(sl
= hd_data
->klog
; sl
; sl
= sl
->next
) {
42 if(sscanf(sl
->str
, "<4>ADB mouse at %u, %*[a-z ] %i", &u
, &i
) == 2 && u
< 32) {
43 /* u: max 15 actually, but who cares... */
44 if(!(adr
& (1 << u
))) {
46 hd
= add_hd_entry(hd_data
, __LINE__
, 0);
47 hd
->base_class
.id
= bc_mouse
;
48 hd
->sub_class
.id
= sc_mou_bus
;
52 hd
->unix_dev_name
= new_str(DEV_MICE
);
54 hd
->vendor
.id
= MAKE_ID(TAG_SPECIAL
, 0x0100);
55 hd
->device
.id
= MAKE_ID(TAG_SPECIAL
, 0x0300 + i
);
59 if(sscanf(sl
->str
, "<4>ADB keyboard at %u, %*[a-z ] %i", &u
, &i
) == 2 && u
< 32) {
60 /* u: max 15 actually, but who cares... */
61 if(!(adr
& (1 << u
))) {
63 hd
= add_hd_entry(hd_data
, __LINE__
, 0);
64 hd
->base_class
.id
= bc_keyboard
;
69 // hd->unix_dev_name = new_str(DEV_ADBMOUSE);
71 hd
->vendor
.id
= MAKE_ID(TAG_SPECIAL
, 0x0100);
72 hd
->device
.id
= MAKE_ID(TAG_SPECIAL
, 0x0200+i
);