/* * Copyright (c) 2021, Liav A. * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include namespace Kernel { class AsyncBlockDeviceRequest; class ATADevice; class ATAController : public StorageController , public LockWeakable { public: virtual void start_request(ATADevice const&, AsyncBlockDeviceRequest&) = 0; protected: ATAController(); }; }