bus/ifpga: remove useless driver cast

Message ID 20180925220828.11882-1-thomas@monjalon.net (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series bus/ifpga: remove useless driver cast |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Thomas Monjalon Sept. 25, 2018, 10:08 p.m. UTC
  The rte_afu_driver is assigned to rte_afu_device.driver during probing.
There is no need of accessing the rte_afu_driver via rte_device.driver
and type casting to its container.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 drivers/bus/ifpga/ifpga_bus.c     | 6 ++----
 drivers/bus/ifpga/rte_bus_ifpga.h | 3 ---
 2 files changed, 2 insertions(+), 7 deletions(-)
  

Comments

Xu, Rosen Sept. 26, 2018, 12:25 a.m. UTC | #1
> -----Original Message-----
> From: Thomas Monjalon [mailto:thomas@monjalon.net]
> Sent: Wednesday, September 26, 2018 6:08
> To: Xu, Rosen <rosen.xu@intel.com>; Zhang, Tianfei
> <tianfei.zhang@intel.com>
> Cc: dev@dpdk.org
> Subject: [PATCH] bus/ifpga: remove useless driver cast
> 
> The rte_afu_driver is assigned to rte_afu_device.driver during probing.
> There is no need of accessing the rte_afu_driver via rte_device.driver and
> type casting to its container.
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
>  drivers/bus/ifpga/ifpga_bus.c     | 6 ++----
>  drivers/bus/ifpga/rte_bus_ifpga.h | 3 ---
>  2 files changed, 2 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/bus/ifpga/ifpga_bus.c b/drivers/bus/ifpga/ifpga_bus.c
> index 207aea152..a10f54f7b 100644
> --- a/drivers/bus/ifpga/ifpga_bus.c
> +++ b/drivers/bus/ifpga/ifpga_bus.c
> @@ -349,16 +349,14 @@ static int
>  ifpga_remove_driver(struct rte_afu_device *afu_dev)  {
>  	const char *name;
> -	const struct rte_afu_driver *driver;
> 
>  	name = rte_ifpga_device_name(afu_dev);
> -	if (!afu_dev->device.driver) {
> +	if (afu_dev->driver == NULL) {
>  		IFPGA_BUS_DEBUG("no driver attach to device %s\n", name);
>  		return 1;
>  	}
> 
> -	driver = RTE_DRV_TO_AFU_CONST(afu_dev->device.driver);
> -	return driver->remove(afu_dev);
> +	return afu_dev->driver->remove(afu_dev);
>  }
> 
>  static int
> diff --git a/drivers/bus/ifpga/rte_bus_ifpga.h
> b/drivers/bus/ifpga/rte_bus_ifpga.h
> index 51d5ae0d9..d53c0f483 100644
> --- a/drivers/bus/ifpga/rte_bus_ifpga.h
> +++ b/drivers/bus/ifpga/rte_bus_ifpga.h
> @@ -83,9 +83,6 @@ struct rte_afu_device {  #define RTE_DEV_TO_AFU(ptr)
> \
>  	container_of(ptr, struct rte_afu_device, device)
> 
> -#define RTE_DRV_TO_AFU_CONST(ptr) \
> -	container_of(ptr, const struct rte_afu_driver, driver)
> -
>  /**
>   * Initialization function for the driver called during FPGA BUS probing.
>   */
> --
> 2.19.0

Acked-by: Rosen Xu <rosen.xu@intel.com>
  
Thomas Monjalon Sept. 27, 2018, 12:43 p.m. UTC | #2
> > The rte_afu_driver is assigned to rte_afu_device.driver during probing.
> > There is no need of accessing the rte_afu_driver via rte_device.driver and
> > type casting to its container.
> > 
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> 
> Acked-by: Rosen Xu <rosen.xu@intel.com>

Applied
  

Patch

diff --git a/drivers/bus/ifpga/ifpga_bus.c b/drivers/bus/ifpga/ifpga_bus.c
index 207aea152..a10f54f7b 100644
--- a/drivers/bus/ifpga/ifpga_bus.c
+++ b/drivers/bus/ifpga/ifpga_bus.c
@@ -349,16 +349,14 @@  static int
 ifpga_remove_driver(struct rte_afu_device *afu_dev)
 {
 	const char *name;
-	const struct rte_afu_driver *driver;
 
 	name = rte_ifpga_device_name(afu_dev);
-	if (!afu_dev->device.driver) {
+	if (afu_dev->driver == NULL) {
 		IFPGA_BUS_DEBUG("no driver attach to device %s\n", name);
 		return 1;
 	}
 
-	driver = RTE_DRV_TO_AFU_CONST(afu_dev->device.driver);
-	return driver->remove(afu_dev);
+	return afu_dev->driver->remove(afu_dev);
 }
 
 static int
diff --git a/drivers/bus/ifpga/rte_bus_ifpga.h b/drivers/bus/ifpga/rte_bus_ifpga.h
index 51d5ae0d9..d53c0f483 100644
--- a/drivers/bus/ifpga/rte_bus_ifpga.h
+++ b/drivers/bus/ifpga/rte_bus_ifpga.h
@@ -83,9 +83,6 @@  struct rte_afu_device {
 #define RTE_DEV_TO_AFU(ptr) \
 	container_of(ptr, struct rte_afu_device, device)
 
-#define RTE_DRV_TO_AFU_CONST(ptr) \
-	container_of(ptr, const struct rte_afu_driver, driver)
-
 /**
  * Initialization function for the driver called during FPGA BUS probing.
  */