/* * Copyright (c) 2021, Liav A. * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include #include #include namespace Kernel { class IntelNativeGraphicsAdapter final : public GenericGraphicsAdapter , public PCI::Device { public: static ErrorOr probe(PCI::DeviceIdentifier const&); static ErrorOr> create(PCI::DeviceIdentifier const&); virtual ~IntelNativeGraphicsAdapter() = default; virtual StringView device_name() const override { return "IntelNativeGraphicsAdapter"sv; } private: ErrorOr initialize_adapter(); explicit IntelNativeGraphicsAdapter(PCI::DeviceIdentifier const&); LockRefPtr m_connector_group; }; }