Serenity Operating System
at master 38 lines 1.0 kB view raw
1/* 2 * Copyright (c) 2021, Liav A. <liavalb@hotmail.co.il> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#pragma once 8 9#include <AK/Types.h> 10#include <Kernel/Bus/PCI/Device.h> 11#include <Kernel/Graphics/Definitions.h> 12#include <Kernel/Graphics/Intel/DisplayConnectorGroup.h> 13#include <Kernel/Graphics/Intel/NativeDisplayConnector.h> 14#include <Kernel/PhysicalAddress.h> 15#include <LibEDID/EDID.h> 16 17namespace Kernel { 18 19class IntelNativeGraphicsAdapter final 20 : public GenericGraphicsAdapter 21 , public PCI::Device { 22 23public: 24 static ErrorOr<bool> probe(PCI::DeviceIdentifier const&); 25 static ErrorOr<NonnullLockRefPtr<GenericGraphicsAdapter>> create(PCI::DeviceIdentifier const&); 26 27 virtual ~IntelNativeGraphicsAdapter() = default; 28 29 virtual StringView device_name() const override { return "IntelNativeGraphicsAdapter"sv; } 30 31private: 32 ErrorOr<void> initialize_adapter(); 33 34 explicit IntelNativeGraphicsAdapter(PCI::DeviceIdentifier const&); 35 36 LockRefPtr<IntelDisplayConnectorGroup> m_connector_group; 37}; 38}