On Thu, Jan 14, 2016 at 06:58:29PM +0530, Santosh Shukla wrote:
...
+int rte_eal_pci_read_bar(const struct rte_pci_device *device,
+ void *buf, size_t len, off_t offset,
+ int bar_idx)
+
+{
+#ifdef VFIO_PRESENT
+ const struct rte_intr_handle *intr_handle = &device->intr_handle;
+ return pci_vfio_read_bar(intr_handle, buf, len, offset, bar_idx);
+#else
+ /* UIO's not applicable */
+ RTE_SET_USED(device);
+ RTE_SET_USED(buf);
+ RTE_SET_USED(len);
+ RTE_SET_USED(offset);
+ RTE_SET_USED(bar_idx);
+ return 0;
+#endif
Maybe you could do that like what pci_map_device() does:
switch(dev->kdrv) {
case RTE_KDRV_NIC_VFIO:
return pci_vfio_read_bar(..);
break;
default:
RTE_LOG(.... not supported by driver: %d\n"..);
break;
}
With that, you could get rid of those ugly RTE_SET_USED....
--yliu