vxge: Convert macro to inline function
authorJoe Perches <joe@perches.com>
Tue, 3 Apr 2012 12:14:31 +0000 (12:14 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 5 Apr 2012 00:32:14 +0000 (20:32 -0400)
Convert the macro to inline function to check the arguments.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/neterion/vxge/vxge-main.c
drivers/net/ethernet/neterion/vxge/vxge-main.h

index ef76725..95fb611 100644 (file)
@@ -2860,12 +2860,12 @@ static int vxge_open(struct net_device *dev)
                vdev->config.rx_pause_enable);
 
        if (vdev->vp_reset_timer.function == NULL)
-               vxge_os_timer(vdev->vp_reset_timer,
-                       vxge_poll_vp_reset, vdev, (HZ/2));
+               vxge_os_timer(&vdev->vp_reset_timer, vxge_poll_vp_reset, vdev,
+                             HZ / 2);
 
        /* There is no need to check for RxD leak and RxD lookup on Titan1A */
        if (vdev->titan1 && vdev->vp_lockup_timer.function == NULL)
-               vxge_os_timer(vdev->vp_lockup_timer, vxge_poll_vp_lockup, vdev,
+               vxge_os_timer(&vdev->vp_lockup_timer, vxge_poll_vp_lockup, vdev,
                              HZ / 2);
 
        set_bit(__VXGE_STATE_CARD_UP, &vdev->state);
index 372406c..35f3e75 100644 (file)
@@ -416,12 +416,15 @@ struct vxge_tx_priv {
        static int p = val; \
        module_param(p, int, 0)
 
-#define vxge_os_timer(timer, handle, arg, exp) do { \
-               init_timer(&timer); \
-               timer.function = handle; \
-               timer.data = (unsigned long) arg; \
-               mod_timer(&timer, (jiffies + exp)); \
-       } while (0)
+static inline
+void vxge_os_timer(struct timer_list *timer, void (*func)(unsigned long data),
+                  struct vxgedev *vdev, unsigned long timeout)
+{
+       init_timer(timer);
+       timer->function = func;
+       timer->data = (unsigned long)vdev;
+       mod_timer(timer, jiffies + timeout);
+}
 
 void vxge_initialize_ethtool_ops(struct net_device *ndev);
 enum vxge_hw_status vxge_reset_all_vpaths(struct vxgedev *vdev);