Kernel: Keep records of PCI::Address & PCI::ID pairs for enumeration

This commit is contained in:
Liav A 2020-04-10 20:25:03 +03:00 committed by Andreas Kling
commit 65f939b55c
Notes: sideshowbarker 2024-07-19 07:44:07 +09:00
12 changed files with 49 additions and 13 deletions

View file

@ -98,9 +98,16 @@ void Access::enumerate_bus(int type, u8 bus, Function<void(Address, ID)>& callba
enumerate_slot(type, bus, slot, callback);
}
void enumerate_all(Function<void(Address, ID)> callback)
void Access::enumerate(Function<void(Address, ID)>& callback) const
{
Access::the().enumerate_all(callback);
for (auto& physical_id : m_physical_ids) {
callback(physical_id.address(), physical_id.id());
}
}
void enumerate(Function<void(Address, ID)> callback)
{
Access::the().enumerate(callback);
}
void raw_access(Address address, u32 field, size_t access_size, u32 value)