Index: uspace/drv/pciintel/pci.c
===================================================================
--- uspace/drv/pciintel/pci.c	(revision d79a101ff8f693ede75a916be35e03838c9cfd5d)
+++ uspace/drv/pciintel/pci.c	(revision 99e6bfb24b4aa320547a5f09b12ebca066535ac4)
@@ -59,4 +59,5 @@
 #include <ddi.h>
 #include <libarch/ddi.h>
+#include <pci_dev_iface.h>
 
 #include "pci.h"
@@ -121,4 +122,13 @@
 }
 
+static int pci_config_space_write_16(ddf_fun_t *fun, uint32_t address, uint16_t data)
+{
+	if (address > 254)
+		return EINVAL;
+	pci_conf_write_16(PCI_FUN(fun), address, data);
+	return EOK;
+}
+
+
 static hw_res_ops_t pciintel_hw_res_ops = {
 	&pciintel_get_resources,
@@ -126,5 +136,17 @@
 };
 
-static ddf_dev_ops_t pci_fun_ops;
+static pci_dev_iface_t pci_dev_ops = {
+	.config_space_read_8 = NULL,
+	.config_space_read_16 = NULL,
+	.config_space_read_32 = NULL,
+	.config_space_write_8 = NULL,
+	.config_space_write_16 = &pci_config_space_write_16,
+	.config_space_write_32 = NULL
+};
+
+static ddf_dev_ops_t pci_fun_ops = {
+	.interfaces[HW_RES_DEV_IFACE] = &pciintel_hw_res_ops,
+	.interfaces[PCI_DEV_IFACE] = &pci_dev_ops
+};
 
 static int pci_add_device(ddf_dev_t *);
@@ -593,4 +615,5 @@
 {
 	pci_fun_ops.interfaces[HW_RES_DEV_IFACE] = &pciintel_hw_res_ops;
+	pci_fun_ops.interfaces[PCI_DEV_IFACE] = &pci_dev_ops;
 }
 
