Define openbmc error for an IIC callout

Introduce the concept of error inheritance. This error inherits
xyz.openbmc_project.Error.Callout.Device. This means Callout.IIC
inherits Callout.Device's metadata.

The Callout errors are primarily meant to be inherited by application
errors, when a Callout is required. In other words, one would typically
not create a Callout error by itself.

Change-Id: Ie1c83f0c4bce713251ca3a8d3d5ef0960f81b9a6
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
diff --git a/xyz/openbmc_project/Error/Callout/IIC.errors.yaml b/xyz/openbmc_project/Error/Callout/IIC.errors.yaml
new file mode 100644
index 0000000..8b77ce7
--- /dev/null
+++ b/xyz/openbmc_project/Error/Callout/IIC.errors.yaml
@@ -0,0 +1,5 @@
+# xyz.openbmc_project.Error.Callout.IIC
+- name: IIC
+  description: Callout IIC device
+  inherits:
+    - xyz.openbmc_project.Error.Callout.Device
diff --git a/xyz/openbmc_project/Error/Callout/IIC.metadata.yaml b/xyz/openbmc_project/Error/Callout/IIC.metadata.yaml
new file mode 100644
index 0000000..f5f2818
--- /dev/null
+++ b/xyz/openbmc_project/Error/Callout/IIC.metadata.yaml
@@ -0,0 +1,6 @@
+- name: IIC
+  meta:
+    - str: "CALLOUT_IIC_BUS=%s"
+      type: string
+    - str: "CALLOUT_IIC_ADDR=0x%hx"
+      type: uint16