kernel: add data_acquisition mapping for input devices

busses/i2c needs to be probed also for acpi devices

Change-Id: Ib75b6e8db27361e395560d069dcbf136571b7a8e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2463
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
This commit is contained in:
Jérôme Duval 2020-03-23 15:20:04 +01:00
parent 1e0d4ffa2e
commit 757499353a
1 changed files with 14 additions and 0 deletions

View File

@ -1660,6 +1660,16 @@ device_node::_GetNextDriverPath(void*& cookie, KPath& _path)
break;
}
break;
case PCI_data_acquisition:
switch (subType) {
case PCI_data_acquisition_other:
_AddPath(*stack, "busses", "i2c");
break;
default:
_AddPath(*stack, "drivers");
break;
}
break;
default:
if (sRootNode == this) {
_AddPath(*stack, "busses/pci");
@ -1677,6 +1687,7 @@ device_node::_GetNextDriverPath(void*& cookie, KPath& _path)
_AddPath(*stack, "busses");
}
_AddPath(*stack, "drivers", sGenericContextPath);
_AddPath(*stack, "busses/i2c");
_AddPath(*stack, "busses/scsi");
_AddPath(*stack, "busses/random");
}
@ -1959,6 +1970,9 @@ device_node::Probe(const char* devicePath, uint32 updateCycle)
matches = type == PCI_multimedia && subType == PCI_video;
} else if (!strcmp(devicePath, "power")) {
matches = type == PCI_data_acquisition;
} else if (!strcmp(devicePath, "input")) {
matches = type == PCI_data_acquisition
&& subType == PCI_data_acquisition_other;
}
} else {
// This driver does not support types, but still wants to its