diff --git a/devices/ioctrl/amic.cpp b/devices/ioctrl/amic.cpp
index fc4ed81..7ff5720 100644
--- a/devices/ioctrl/amic.cpp
+++ b/devices/ioctrl/amic.cpp
@@ -27,6 +27,7 @@ along with this program. If not, see .
#include
#include
#include
+#include
#include
#include
#include
@@ -527,3 +528,13 @@ DmaPullResult AmicFloppyDma::pull_data(uint32_t req_len, uint32_t *avail_len,
{
return DmaPullResult::NoMoreData;
}
+
+static vector Amic_Subdevices = {
+ "Swim3", "Escc"
+};
+
+static const DeviceDescription Amic_Descriptor = {
+ AMIC::create, Amic_Subdevices, {}
+};
+
+REGISTER_DEVICE(Amic, Amic_Descriptor);
diff --git a/devices/ioctrl/amic.h b/devices/ioctrl/amic.h
index 8616919..0c5619d 100644
--- a/devices/ioctrl/amic.h
+++ b/devices/ioctrl/amic.h
@@ -184,6 +184,10 @@ public:
AMIC();
~AMIC() = default;
+ static std::unique_ptr create() {
+ return std::unique_ptr(new AMIC());
+ }
+
// HWComponent methods
int device_postinit();