From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: [PATCH 3/7] virtio: fix build with mempool debug enabled Date: Tue, 3 Mar 2015 16:23:46 +0100 Message-ID: <1425396230-13379-4-git-send-email-thomas.monjalon@6wind.com> References: <1425396230-13379-1-git-send-email-thomas.monjalon@6wind.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable To: dev-VfR2kkLFssw@public.gmane.org Return-path: In-Reply-To: <1425396230-13379-1-git-send-email-thomas.monjalon-pdR9zngts4EAvxtiuMwx3w@public.gmane.org> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" The mempool header forces error on -Wcast-qual: error: cast discards =E2=80=98const=E2=80=99 qualifier from pointer targ= et type Let's fix it by removing const qualifier of pci driver from commit 5e9f6d1340ff ("pci: reference driver structure for each device") It's needed because the driver flags are changed depending on using uio o= r not. Actually these driver flags should be directly attached to each device. Fixes: da978dfdc43b ("virtio: use port IO to get PCI resource") Signed-off-by: Thomas Monjalon --- lib/librte_eal/common/include/rte_pci.h | 2 +- lib/librte_pmd_virtio/Makefile | 2 -- lib/librte_pmd_virtio/virtio_ethdev.c | 8 ++------ 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/lib/librte_eal/common/include/rte_pci.h b/lib/librte_eal/com= mon/include/rte_pci.h index b9cdf8b..995f814 100644 --- a/lib/librte_eal/common/include/rte_pci.h +++ b/lib/librte_eal/common/include/rte_pci.h @@ -158,7 +158,7 @@ struct rte_pci_device { struct rte_pci_id id; /**< PCI ID. */ struct rte_pci_resource mem_resource[PCI_MAX_RESOURCE]; /**< PCI Memo= ry Resource */ struct rte_intr_handle intr_handle; /**< Interrupt handle */ - const struct rte_pci_driver *driver; /**< Associated driver */ + struct rte_pci_driver *driver; /**< Associated driver */ uint16_t max_vfs; /**< sriov enable if not zero *= / int numa_node; /**< NUMA node connection */ struct rte_devargs *devargs; /**< Device user arguments */ diff --git a/lib/librte_pmd_virtio/Makefile b/lib/librte_pmd_virtio/Makef= ile index 0baaf46..793067f 100644 --- a/lib/librte_pmd_virtio/Makefile +++ b/lib/librte_pmd_virtio/Makefile @@ -57,6 +57,4 @@ DEPDIRS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) +=3D lib/librte= _eal lib/librte_ether DEPDIRS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) +=3D lib/librte_mempool lib/libr= te_mbuf DEPDIRS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) +=3D lib/librte_net lib/librte_m= alloc =20 -CFLAGS_virtio_ethdev.o +=3D -Wno-cast-qual - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_pmd_virtio/virtio_ethdev.c b/lib/librte_pmd_virti= o/virtio_ethdev.c index 88ecd57..4bad1e4 100644 --- a/lib/librte_pmd_virtio/virtio_ethdev.c +++ b/lib/librte_pmd_virtio/virtio_ethdev.c @@ -938,8 +938,6 @@ static int virtio_resource_init_by_uio(struct rte_pci= _device *pci_dev) char filename[PATH_MAX]; unsigned long start, size; unsigned int uio_num; - struct rte_pci_driver *pci_drv =3D - (struct rte_pci_driver *)pci_dev->driver; =20 if (get_uio_dev(&pci_dev->addr, dirname, sizeof(dirname), &uio_num) < 0= ) return -1; @@ -978,7 +976,7 @@ static int virtio_resource_init_by_uio(struct rte_pci= _device *pci_dev) } =20 pci_dev->intr_handle.type =3D RTE_INTR_HANDLE_UIO; - pci_drv->drv_flags |=3D RTE_PCI_DRV_INTR_LSC; + pci_dev->driver->drv_flags |=3D RTE_PCI_DRV_INTR_LSC; =20 return 0; } @@ -993,8 +991,6 @@ static int virtio_resource_init_by_ioports(struct rte= _pci_device *pci_dev) char pci_id[16]; int found =3D 0; size_t linesz; - struct rte_pci_driver *pci_drv =3D - (struct rte_pci_driver *)pci_dev->driver; =20 snprintf(pci_id, sizeof(pci_id), PCI_PRI_FMT, pci_dev->addr.domain, @@ -1046,7 +1042,7 @@ static int virtio_resource_init_by_ioports(struct r= te_pci_device *pci_dev) start, size); =20 /* can't support lsc interrupt without uio */ - pci_drv->drv_flags &=3D ~RTE_PCI_DRV_INTR_LSC; + pci_dev->driver->drv_flags &=3D ~RTE_PCI_DRV_INTR_LSC; =20 return 0; } --=20 2.2.2