| 23 | U32 fbGetBpp(); |
| 24 | |
| 25 | void sysAddFrameBuffer(const std::shared_ptr<FsNode>& sysNode, const std::shared_ptr<FsNode>& devicesNode) { |
| 26 | std::shared_ptr<FsNode> classNode = sysNode->getChildByName(B("class")); |
| 27 | |
| 28 | if (!classNode) { |
| 29 | classNode = Fs::addFileNode(B("/sys/class"), B(""), B(""), true, sysNode); |
| 30 | } |
| 31 | |
| 32 | std::shared_ptr<FsNode> graphicsNode = classNode->getChildByName(B("graphics")); |
| 33 | |
| 34 | if (!graphicsNode) { |
| 35 | graphicsNode = Fs::addFileNode(B("/sys/class/graphics"), B(""), B(""), true, classNode); |
| 36 | } |
| 37 | Fs::addDynamicLinkFile(B("/sys/class/graphics/fb0"), k_mdev(0, 0), graphicsNode, false, B("../../devices/virtual/graphics/fb0")); |
| 38 | Fs::addDynamicLinkFile(B("/sys/class/graphics/fbcon"), k_mdev(0, 0), graphicsNode, false, B("../../devices/virtual/graphics/fbcon")); |
| 39 | |
| 40 | std::shared_ptr<FsNode> virtualNode = devicesNode->getChildByName(B("virtual")); |
| 41 | if (!virtualNode) { |
| 42 | virtualNode = Fs::addFileNode(B("/sys/devices/virtual"), B(""), B(""), true, devicesNode); |
| 43 | } |
| 44 | |
| 45 | std::shared_ptr<FsNode> deviceGraphicsNode = virtualNode->getChildByName(B("graphics")); |
| 46 | |
| 47 | if (!deviceGraphicsNode) { |
| 48 | deviceGraphicsNode = Fs::addFileNode(B("/sys/devices/virtual/graphics"), B(""), B(""), true, virtualNode); |
| 49 | } |
| 50 | |
| 51 | std::shared_ptr<FsNode> fbConNode = deviceGraphicsNode->getChildByName(B("fbcon")); |
| 52 | |
| 53 | if (!fbConNode) { |
| 54 | fbConNode = Fs::addFileNode(B("/sys/devices/virtual/graphics/fbcon"), B(""), B(""), true, deviceGraphicsNode); |
| 55 | } |
| 56 | |
| 57 | std::shared_ptr<FsNode> fbNode = deviceGraphicsNode->getChildByName(B("fb0")); |
| 58 | |
| 59 | if (!fbNode) { |
| 60 | fbNode = Fs::addFileNode(B("/sys/devices/virtual/graphics/fb0"), B(""), B(""), true, deviceGraphicsNode); |
| 61 | } |
| 62 | |
| 63 | Fs::addVirtualFile(B("/sys/devices/virtual/graphics/fbcon/cursor_blink"), K__S_IREAD, k_mdev(0, 0), fbConNode, B("0")); |
| 64 | Fs::addVirtualFile(B("/sys/devices/virtual/graphics/fbcon/rotate"), K__S_IREAD, k_mdev(0, 0), fbConNode, B("0")); |
| 65 | Fs::addDynamicLinkFile(B("/sys/devices/virtual/graphics/fbcon/subsystem"), k_mdev(0, 0), graphicsNode, false, B("../../../../class/graphics")); |
| 66 | Fs::addVirtualFile(B("/sys/devices/virtual/graphics/fbcon/uevent"), K__S_IREAD, k_mdev(0, 0), fbConNode, B("")); |
| 67 | |
| 68 | Fs::addVirtualFile(B("/sys/devices/virtual/graphics/fb0/bits_per_pixel"), K__S_IREAD, k_mdev(0, 0), fbNode, BString::valueOf(fbGetBpp())); |
| 69 | Fs::addVirtualFile(B("/sys/devices/virtual/graphics/fb0/blank"), K__S_IREAD, k_mdev(0, 0), fbNode, B("")); |
| 70 | Fs::addVirtualFile(B("/sys/devices/virtual/graphics/fb0/dev"), K__S_IREAD, k_mdev(0, 0), fbNode, B("29:0")); |
| 71 | Fs::addDynamicLinkFile(B("/sys/devices/virtual/graphics/fb0/device"), k_mdev(0, 0), fbNode, false, B("../../../0000:00:0f.0")); |
| 72 | Fs::addVirtualFile(B("/sys/devices/virtual/graphics/fb0/name"), K__S_IREAD, k_mdev(0, 0), fbNode, B("svgadrmfb")); |
| 73 | Fs::addVirtualFile(B("/sys/devices/virtual/graphics/fb0/pan"), K__S_IREAD, k_mdev(0, 0), fbNode, B("0,0")); |
| 74 | Fs::addDynamicLinkFile(B("/sys/devices/virtual/graphics/fb0/subsystem"), k_mdev(0, 0), fbNode, false, B("../../../../../class/graphics")); |
| 75 | Fs::addVirtualFile(B("/sys/devices/virtual/graphics/fb0/uevent"), K__S_IREAD, k_mdev(0, 0), fbNode, B("MAJOR=29\nMINOR=0\nDEVNAME=fb0")); |
| 76 | } |
no test coverage detected