MCPcopy Create free account
hub / github.com/danoon2/Boxedwine / sysAddUsbDrivers

Function sysAddUsbDrivers

source/kernel/sys/sysbususb.cpp:23–53  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

21#include "kstat.h"
22
23void sysAddUsbDrivers(const std::shared_ptr<FsNode>& usbNode) {
24 std::shared_ptr<FsNode> usbDriversNode = usbNode->getChildByName(B("drivers"));
25 if (!usbDriversNode) {
26 usbDriversNode = Fs::addFileNode(B("/sys/bus/usb/drivers"), B(""), B(""), true, usbNode);
27 }
28
29 std::shared_ptr<FsNode> usbDriverNode = usbDriversNode->getChildByName(B("usb"));
30 if (!usbDriverNode) {
31 usbDriverNode = Fs::addFileNode(B("/sys/bus/usb/drivers/usb"), B(""), B(""), true, usbDriversNode);
32 }
33
34 Fs::addDynamicLinkFile(B("/sys/bus/usb/drivers/usb/1-1"), k_mdev(0, 0), usbDriverNode, false, B("../../../../devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb1/1-1"));
35 Fs::addDynamicLinkFile(B("/sys/bus/usb/drivers/usb/module"), k_mdev(0, 0), usbDriverNode, false, B("../../../../module/usbcore"));
36 Fs::addDynamicLinkFile(B("/sys/bus/usb/drivers/usb/usb1"), k_mdev(0, 0), usbDriverNode, false, B("../../../../devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb1"));
37
38 std::shared_ptr<FsNode> hubDriverNode = usbDriversNode->getChildByName(B("hub"));
39 if (!hubDriverNode) {
40 hubDriverNode = Fs::addFileNode(B("/sys/bus/usb/drivers/hub"), B(""), B(""), true, usbDriversNode);
41 }
42
43 Fs::addDynamicLinkFile(B("/sys/bus/usb/drivers/hub/1-0:1.0"), k_mdev(0, 0), hubDriverNode, false, B("../../../../devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb1/1-0:1.0"));
44 Fs::addDynamicLinkFile(B("/sys/bus/usb/drivers/usb/module"), k_mdev(0, 0), hubDriverNode, false, B("../../../../module/usbcore"));
45
46 std::shared_ptr<FsNode> hidDriverNode = usbDriversNode->getChildByName(B("usbhid"));
47 if (!hidDriverNode) {
48 hidDriverNode = Fs::addFileNode(B("/sys/bus/usb/drivers/usbhid"), B(""), B(""), true, usbDriversNode);
49 }
50
51 Fs::addDynamicLinkFile(B("/sys/bus/usb/drivers/hub/1-1:1.0"), k_mdev(0, 0), hidDriverNode, false, B("../../../../devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb1/1-1/1-1:1.0"));
52 Fs::addDynamicLinkFile(B("/sys/bus/usb/drivers/usb/module"), k_mdev(0, 0), hidDriverNode, false, B("../../../../module/usbhid"));
53}
54
55std::shared_ptr<FsNode> createSysBusUsb(const std::shared_ptr<FsNode> busNode) {
56 std::shared_ptr<FsNode> usbNode = busNode->getChildByName(B("usb"));

Callers 1

createSysBusUsbFunction · 0.85

Calls 2

BFunction · 0.85
getChildByNameMethod · 0.80

Tested by

no test coverage detected