From 8f76c031fc580ecb1b08ba86392d624b37d2af5c Mon Sep 17 00:00:00 2001 From: krish_iyer Date: Thu, 21 Jun 2018 20:09:59 +0530 Subject: [PATCH] Adding MMC bus in device manager Change-Id: I4db868e89f426b0e9c7f8ed77d8f96442f7525e4 Reviewed-on: https://review.haiku-os.org/c/haiku/+/293 Reviewed-by: Adrien Destugues --- src/system/kernel/device_manager/device_manager.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/system/kernel/device_manager/device_manager.cpp b/src/system/kernel/device_manager/device_manager.cpp index e73fa8be84..5d08496529 100644 --- a/src/system/kernel/device_manager/device_manager.cpp +++ b/src/system/kernel/device_manager/device_manager.cpp @@ -1602,6 +1602,16 @@ device_node::_GetNextDriverPath(void*& cookie, KPath& _path) break; } break; + case PCI_base_peripheral: + switch (subType) { + case PCI_sd_host: + _AddPath(*stack, "busses", "mmc"); + break; + default: + _AddPath(*stack, "drivers"); + break; + } + break; default: if (sRootNode == this) { _AddPath(*stack, "busses/pci"); @@ -1888,7 +1898,8 @@ device_node::Probe(const char* devicePath, uint32 updateCycle) // Check if this node matches the device path // TODO: maybe make this extendible via settings file? if (!strcmp(devicePath, "disk")) { - matches = type == PCI_mass_storage; + matches = type == PCI_mass_storage + || (type == PCI_base_peripheral && subType == PCI_sd_host); } else if (!strcmp(devicePath, "audio")) { matches = type == PCI_multimedia && (subType == PCI_audio || subType == PCI_hd_audio);