[OPW,kernel] Staging: ft1000: remove unnecessary static function declarations in ft1000_hw.c
diff mbox

Message ID 1382621428-16229-1-git-send-email-ebru.akagunduz@gmail.com
State Accepted
Headers show

Commit Message

Ebru Akagündüz Oct. 24, 2013, 1:30 p.m. UTC
This patch removes unnecessary static function
declarations in ft1000_hw.c

Signed-off-by: Ebru Akagunduz <ebru.akagunduz@gmail.com>
---
 drivers/staging/ft1000/ft1000-usb/ft1000_hw.c | 433 +++++++++++++-------------
 1 file changed, 212 insertions(+), 221 deletions(-)

Comments

Rusty Russell Oct. 25, 2013, 2:32 a.m. UTC | #1
Ebru Akagunduz <ebru.akagunduz@gmail.com> writes:
> This patch removes unnecessary static function
> declarations in ft1000_hw.c
>
> Signed-off-by: Ebru Akagunduz <ebru.akagunduz@gmail.com>
> ---
>  drivers/staging/ft1000/ft1000-usb/ft1000_hw.c | 433 +++++++++++++-------------
>  1 file changed, 212 insertions(+), 221 deletions(-)
>
> diff --git a/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c b/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c
> index c99ee75..b8beddc 100644
> --- a/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c
> +++ b/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c
> @@ -29,12 +29,7 @@
>  
>  //#define JDEBUG
>  
> -static int ft1000_reset(void *ft1000dev);
>  static int ft1000_submit_rx_urb(struct ft1000_info *info);
> -static int ft1000_start_xmit(struct sk_buff *skb, struct net_device *dev);
> -static int ft1000_open (struct net_device *dev);
> -static struct net_device_stats *ft1000_netdev_stats(struct net_device *dev);
> -static int ft1000_chkcard (struct ft1000_usb *dev);
>  

If you move ft1000_submit_rx_urb()'s definition to the top, you should
be able to get rid of that one, too.

Cheers,
Rusty.

>  static u8 tempbuffer[1600];
>  
> @@ -671,6 +666,211 @@ static int ft1000_reset_card(struct net_device *dev)
>  	return TRUE;
>  }
>  
> +//---------------------------------------------------------------------------
> +// Function:    ft1000_usb_transmit_complete
> +//
> +// Parameters:  urb  - transmitted usb urb
> +//
> +//
> +// Returns:     none
> +//
> +// Description: This is the callback function when a urb is transmitted
> +//
> +// Notes:
> +//
> +//---------------------------------------------------------------------------
> +static void ft1000_usb_transmit_complete(struct urb *urb)
> +{
> +
> +	struct ft1000_usb *ft1000dev = urb->context;
> +
> +	if (urb->status)
> +		pr_err("%s: TX status %d\n", ft1000dev->net->name, urb->status);
> +
> +	netif_wake_queue(ft1000dev->net);
> +}
> +
> +//---------------------------------------------------------------------------
> +//
> +// Function:   ft1000_copy_down_pkt
> +// Description: This function will take an ethernet packet and convert it to
> +//             a Flarion packet prior to sending it to the ASIC Downlink
> +//             FIFO.
> +// Input:
> +//     dev    - device structure
> +//     packet - address of ethernet packet
> +//     len    - length of IP packet
> +// Output:
> +//     status - FAILURE
> +//              SUCCESS
> +//
> +//---------------------------------------------------------------------------
> +static int ft1000_copy_down_pkt(struct net_device *netdev, u8 * packet, u16 len)
> +{
> +	struct ft1000_info *pInfo = netdev_priv(netdev);
> +	struct ft1000_usb *pFt1000Dev = pInfo->priv;
> +
> +	int count, ret;
> +	u8 *t;
> +	struct pseudo_hdr hdr;
> +
> +	if (!pInfo->CardReady) {
> +		DEBUG("ft1000_copy_down_pkt::Card Not Ready\n");
> +		return -ENODEV;
> +	}
> +
> +	count = sizeof(struct pseudo_hdr) + len;
> +	if (count > MAX_BUF_SIZE) {
> +		DEBUG("Error:ft1000_copy_down_pkt:Message Size Overflow!\n");
> +		DEBUG("size = %d\n", count);
> +		return -EINVAL;
> +	}
> +
> +	if (count % 4)
> +		count = count + (4 - (count % 4));
> +
> +	memset(&hdr, 0, sizeof(struct pseudo_hdr));
> +
> +	hdr.length = ntohs(count);
> +	hdr.source = 0x10;
> +	hdr.destination = 0x20;
> +	hdr.portdest = 0x20;
> +	hdr.portsrc = 0x10;
> +	hdr.sh_str_id = 0x91;
> +	hdr.control = 0x00;
> +
> +	hdr.checksum = hdr.length ^ hdr.source ^ hdr.destination ^
> +	    hdr.portdest ^ hdr.portsrc ^ hdr.sh_str_id ^ hdr.control;
> +
> +	memcpy(&pFt1000Dev->tx_buf[0], &hdr, sizeof(hdr));
> +	memcpy(&(pFt1000Dev->tx_buf[sizeof(struct pseudo_hdr)]), packet, len);
> +
> +	netif_stop_queue(netdev);
> +
> +	usb_fill_bulk_urb(pFt1000Dev->tx_urb,
> +			  pFt1000Dev->dev,
> +			  usb_sndbulkpipe(pFt1000Dev->dev,
> +					  pFt1000Dev->bulk_out_endpointAddr),
> +			  pFt1000Dev->tx_buf, count,
> +			  ft1000_usb_transmit_complete, (void *)pFt1000Dev);
> +
> +	t = (u8 *) pFt1000Dev->tx_urb->transfer_buffer;
> +
> +	ret = usb_submit_urb(pFt1000Dev->tx_urb, GFP_ATOMIC);
> +
> +	if (ret) {
> +		DEBUG("ft1000 failed tx_urb %d\n", ret);
> +		return ret;
> +	} else {
> +		pInfo->stats.tx_packets++;
> +		pInfo->stats.tx_bytes += (len + 14);
> +	}
> +
> +	return 0;
> +}
> +
> +//---------------------------------------------------------------------------
> +// Function:    ft1000_start_xmit
> +//
> +// Parameters:  skb - socket buffer to be sent
> +//              dev - network device
> +//
> +//
> +// Returns:     none
> +//
> +// Description: transmit a ethernet packet
> +//
> +// Notes:
> +//
> +//---------------------------------------------------------------------------
> +static int ft1000_start_xmit(struct sk_buff *skb, struct net_device *dev)
> +{
> +	struct ft1000_info *pInfo = netdev_priv(dev);
> +	struct ft1000_usb *pFt1000Dev = pInfo->priv;
> +	u8 *pdata;
> +	int maxlen, pipe;
> +
> +	if (skb == NULL) {
> +		DEBUG("ft1000_hw: ft1000_start_xmit:skb == NULL!!!\n");
> +		return NETDEV_TX_OK;
> +	}
> +
> +	if (pFt1000Dev->status & FT1000_STATUS_CLOSING) {
> +		DEBUG("network driver is closed, return\n");
> +		goto err;
> +	}
> +
> +	pipe =
> +	    usb_sndbulkpipe(pFt1000Dev->dev, pFt1000Dev->bulk_out_endpointAddr);
> +	maxlen = usb_maxpacket(pFt1000Dev->dev, pipe, usb_pipeout(pipe));
> +
> +	pdata = (u8 *) skb->data;
> +
> +	if (pInfo->mediastate == 0) {
> +		/* Drop packet is mediastate is down */
> +		DEBUG("ft1000_hw:ft1000_start_xmit:mediastate is down\n");
> +		goto err;
> +	}
> +
> +	if ((skb->len < ENET_HEADER_SIZE) || (skb->len > ENET_MAX_SIZE)) {
> +		/* Drop packet which has invalid size */
> +		DEBUG("ft1000_hw:ft1000_start_xmit:invalid ethernet length\n");
> +		goto err;
> +	}
> +
> +	ft1000_copy_down_pkt(dev, (pdata + ENET_HEADER_SIZE - 2),
> +			     skb->len - ENET_HEADER_SIZE + 2);
> +
> +err:
> +	dev_kfree_skb(skb);
> +
> +	return NETDEV_TX_OK;
> +}
> +
> +//---------------------------------------------------------------------------
> +// Function:    ft1000_open
> +//
> +// Parameters:
> +//              dev - network device
> +//
> +//
> +// Returns:     none
> +//
> +// Description: open the network driver
> +//
> +// Notes:
> +//
> +//---------------------------------------------------------------------------
> +static int ft1000_open(struct net_device *dev)
> +{
> +	struct ft1000_info *pInfo = netdev_priv(dev);
> +	struct ft1000_usb *pFt1000Dev = pInfo->priv;
> +	struct timeval tv;
> +
> +	DEBUG("ft1000_open is called for card %d\n", pFt1000Dev->CardNumber);
> +
> +	pInfo->stats.rx_bytes = 0;
> +	pInfo->stats.tx_bytes = 0;
> +	pInfo->stats.rx_packets = 0;
> +	pInfo->stats.tx_packets = 0;
> +	do_gettimeofday(&tv);
> +	pInfo->ConTm = tv.tv_sec;
> +	pInfo->ProgConStat = 0;
> +
> +	netif_start_queue(dev);
> +
> +	netif_carrier_on(dev);
> +
> +	return ft1000_submit_rx_urb(pInfo);
> +}
> +
> +static struct net_device_stats *ft1000_netdev_stats(struct net_device *dev)
> +{
> +	struct ft1000_info *info = netdev_priv(dev);
> +
> +	return &(info->stats);
> +}
> +
>  static const struct net_device_ops ftnet_ops =
>  {
>  	.ndo_open = &ft1000_open,
> @@ -679,7 +879,6 @@ static const struct net_device_ops ftnet_ops =
>  	.ndo_get_stats = &ft1000_netdev_stats,
>  };
>  
> -
>  //---------------------------------------------------------------------------
>  // Function:    init_ft1000_netdev
>  //
> @@ -694,6 +893,13 @@ static const struct net_device_ops ftnet_ops =
>  // Notes:
>  //
>  //---------------------------------------------------------------------------
> +
> +static int ft1000_reset(void *dev)
> +{
> +	ft1000_reset_card(dev);
> +	return 0;
> +}
> +
>  int init_ft1000_netdev(struct ft1000_usb *ft1000dev)
>  {
>  	struct net_device *netdev;
> @@ -854,175 +1060,6 @@ int reg_ft1000_netdev(struct ft1000_usb *ft1000dev,
>  	return 0;
>  }
>  
> -static int ft1000_reset(void *dev)
> -{
> -	ft1000_reset_card(dev);
> -	return 0;
> -}
> -
> -//---------------------------------------------------------------------------
> -// Function:    ft1000_usb_transmit_complete
> -//
> -// Parameters:  urb  - transmitted usb urb
> -//
> -//
> -// Returns:     none
> -//
> -// Description: This is the callback function when a urb is transmitted
> -//
> -// Notes:
> -//
> -//---------------------------------------------------------------------------
> -static void ft1000_usb_transmit_complete(struct urb *urb)
> -{
> -
> -	struct ft1000_usb *ft1000dev = urb->context;
> -
> -	if (urb->status)
> -		pr_err("%s: TX status %d\n", ft1000dev->net->name, urb->status);
> -
> -	netif_wake_queue(ft1000dev->net);
> -}
> -
> -//---------------------------------------------------------------------------
> -//
> -// Function:   ft1000_copy_down_pkt
> -// Description: This function will take an ethernet packet and convert it to
> -//             a Flarion packet prior to sending it to the ASIC Downlink
> -//             FIFO.
> -// Input:
> -//     dev    - device structure
> -//     packet - address of ethernet packet
> -//     len    - length of IP packet
> -// Output:
> -//     status - FAILURE
> -//              SUCCESS
> -//
> -//---------------------------------------------------------------------------
> -static int ft1000_copy_down_pkt(struct net_device *netdev, u8 * packet, u16 len)
> -{
> -	struct ft1000_info *pInfo = netdev_priv(netdev);
> -	struct ft1000_usb *pFt1000Dev = pInfo->priv;
> -
> -	int count, ret;
> -	u8 *t;
> -	struct pseudo_hdr hdr;
> -
> -	if (!pInfo->CardReady) {
> -		DEBUG("ft1000_copy_down_pkt::Card Not Ready\n");
> -		return -ENODEV;
> -	}
> -
> -	count = sizeof(struct pseudo_hdr) + len;
> -	if (count > MAX_BUF_SIZE) {
> -		DEBUG("Error:ft1000_copy_down_pkt:Message Size Overflow!\n");
> -		DEBUG("size = %d\n", count);
> -		return -EINVAL;
> -	}
> -
> -	if (count % 4)
> -		count = count + (4 - (count % 4));
> -
> -	memset(&hdr, 0, sizeof(struct pseudo_hdr));
> -
> -	hdr.length = ntohs(count);
> -	hdr.source = 0x10;
> -	hdr.destination = 0x20;
> -	hdr.portdest = 0x20;
> -	hdr.portsrc = 0x10;
> -	hdr.sh_str_id = 0x91;
> -	hdr.control = 0x00;
> -
> -	hdr.checksum = hdr.length ^ hdr.source ^ hdr.destination ^
> -	    hdr.portdest ^ hdr.portsrc ^ hdr.sh_str_id ^ hdr.control;
> -
> -	memcpy(&pFt1000Dev->tx_buf[0], &hdr, sizeof(hdr));
> -	memcpy(&(pFt1000Dev->tx_buf[sizeof(struct pseudo_hdr)]), packet, len);
> -
> -	netif_stop_queue(netdev);
> -
> -	usb_fill_bulk_urb(pFt1000Dev->tx_urb,
> -			  pFt1000Dev->dev,
> -			  usb_sndbulkpipe(pFt1000Dev->dev,
> -					  pFt1000Dev->bulk_out_endpointAddr),
> -			  pFt1000Dev->tx_buf, count,
> -			  ft1000_usb_transmit_complete, (void *)pFt1000Dev);
> -
> -	t = (u8 *) pFt1000Dev->tx_urb->transfer_buffer;
> -
> -	ret = usb_submit_urb(pFt1000Dev->tx_urb, GFP_ATOMIC);
> -
> -	if (ret) {
> -		DEBUG("ft1000 failed tx_urb %d\n", ret);
> -		return ret;
> -	} else {
> -		pInfo->stats.tx_packets++;
> -		pInfo->stats.tx_bytes += (len + 14);
> -	}
> -
> -	return 0;
> -}
> -
> -
> -//---------------------------------------------------------------------------
> -// Function:    ft1000_start_xmit
> -//
> -// Parameters:  skb - socket buffer to be sent
> -//              dev - network device
> -//
> -//
> -// Returns:     none
> -//
> -// Description: transmit a ethernet packet
> -//
> -// Notes:
> -//
> -//---------------------------------------------------------------------------
> -static int ft1000_start_xmit(struct sk_buff *skb, struct net_device *dev)
> -{
> -	struct ft1000_info *pInfo = netdev_priv(dev);
> -	struct ft1000_usb *pFt1000Dev = pInfo->priv;
> -	u8 *pdata;
> -	int maxlen, pipe;
> -
> -	if (skb == NULL) {
> -		DEBUG("ft1000_hw: ft1000_start_xmit:skb == NULL!!!\n");
> -		return NETDEV_TX_OK;
> -	}
> -
> -	if (pFt1000Dev->status & FT1000_STATUS_CLOSING) {
> -		DEBUG("network driver is closed, return\n");
> -		goto err;
> -	}
> -
> -	pipe =
> -	    usb_sndbulkpipe(pFt1000Dev->dev, pFt1000Dev->bulk_out_endpointAddr);
> -	maxlen = usb_maxpacket(pFt1000Dev->dev, pipe, usb_pipeout(pipe));
> -
> -	pdata = (u8 *) skb->data;
> -
> -	if (pInfo->mediastate == 0) {
> -		/* Drop packet is mediastate is down */
> -		DEBUG("ft1000_hw:ft1000_start_xmit:mediastate is down\n");
> -		goto err;
> -	}
> -
> -	if ((skb->len < ENET_HEADER_SIZE) || (skb->len > ENET_MAX_SIZE)) {
> -		/* Drop packet which has invalid size */
> -		DEBUG("ft1000_hw:ft1000_start_xmit:invalid ethernet length\n");
> -		goto err;
> -	}
> -
> -	ft1000_copy_down_pkt(dev, (pdata + ENET_HEADER_SIZE - 2),
> -			     skb->len - ENET_HEADER_SIZE + 2);
> -
> -err:
> -	dev_kfree_skb(skb);
> -
> -	return NETDEV_TX_OK;
> -}
> -
> -
>  //---------------------------------------------------------------------------
>  //
>  // Function:   ft1000_copy_up_pkt
> @@ -1159,44 +1196,6 @@ static int ft1000_submit_rx_urb(struct ft1000_info *info)
>  	return 0;
>  }
>  
> -
> -//---------------------------------------------------------------------------
> -// Function:    ft1000_open
> -//
> -// Parameters:
> -//              dev - network device
> -//
> -//
> -// Returns:     none
> -//
> -// Description: open the network driver
> -//
> -// Notes:
> -//
> -//---------------------------------------------------------------------------
> -static int ft1000_open(struct net_device *dev)
> -{
> -	struct ft1000_info *pInfo = netdev_priv(dev);
> -	struct ft1000_usb *pFt1000Dev = pInfo->priv;
> -	struct timeval tv;
> -
> -	DEBUG("ft1000_open is called for card %d\n", pFt1000Dev->CardNumber);
> -
> -	pInfo->stats.rx_bytes = 0;
> -	pInfo->stats.tx_bytes = 0;
> -	pInfo->stats.rx_packets = 0;
> -	pInfo->stats.tx_packets = 0;
> -	do_gettimeofday(&tv);
> -	pInfo->ConTm = tv.tv_sec;
> -	pInfo->ProgConStat = 0;
> -
> -	netif_start_queue(dev);
> -
> -	netif_carrier_on(dev);
> -
> -	return ft1000_submit_rx_urb(pInfo);
> -}
> -
>  //---------------------------------------------------------------------------
>  // Function:    ft1000_close
>  //
> @@ -1228,14 +1227,6 @@ int ft1000_close(struct net_device *net)
>  	return 0;
>  }
>  
> -static struct net_device_stats *ft1000_netdev_stats(struct net_device *dev)
> -{
> -	struct ft1000_info *info = netdev_priv(dev);
> -
> -	return &(info->stats);
> -}
> -
> -
>  //---------------------------------------------------------------------------
>  //
>  // Function:   ft1000_chkcard
> -- 
> 1.8.1.2
>
> -- 
> You received this message because you are subscribed to the Google Groups "opw-kernel" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to opw-kernel+unsubscribe@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
Ebru Akagündüz Oct. 25, 2013, 7:20 p.m. UTC | #2
> If you move ft1000_submit_rx_urb()'s definition to the top, you should
> be able to get rid of that one, too.
>

Actually I've tried to remove "static ft1000_submit_rx_urb()"  prototype
and changed its location in the file, but I'm getting error if I do this
because of ft1000_copy_up_pkt() function.

Thanks.
Rusty Russell Oct. 28, 2013, 3:07 a.m. UTC | #3
Ebru Akagunduz <ebru.akagunduz@gmail.com> writes:
>> If you move ft1000_submit_rx_urb()'s definition to the top, you should
>> be able to get rid of that one, too.
>>
>
> Actually I've tried to remove "static ft1000_submit_rx_urb()"  prototype
> and changed its location in the file, but I'm getting error if I do this
> because of ft1000_copy_up_pkt() function.

Ah I see, I stand corrected!  My mistake: Your patch is fine then!

Reviewed-by: Rusty Russell <rusty@rustcorp.com.au>

Chers,
Rusty.

Patch
diff mbox

diff --git a/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c b/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c
index c99ee75..b8beddc 100644
--- a/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c
+++ b/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c
@@ -29,12 +29,7 @@ 
 
 //#define JDEBUG
 
-static int ft1000_reset(void *ft1000dev);
 static int ft1000_submit_rx_urb(struct ft1000_info *info);
-static int ft1000_start_xmit(struct sk_buff *skb, struct net_device *dev);
-static int ft1000_open (struct net_device *dev);
-static struct net_device_stats *ft1000_netdev_stats(struct net_device *dev);
-static int ft1000_chkcard (struct ft1000_usb *dev);
 
 static u8 tempbuffer[1600];
 
@@ -671,6 +666,211 @@  static int ft1000_reset_card(struct net_device *dev)
 	return TRUE;
 }
 
+//---------------------------------------------------------------------------
+// Function:    ft1000_usb_transmit_complete
+//
+// Parameters:  urb  - transmitted usb urb
+//
+//
+// Returns:     none
+//
+// Description: This is the callback function when a urb is transmitted
+//
+// Notes:
+//
+//---------------------------------------------------------------------------
+static void ft1000_usb_transmit_complete(struct urb *urb)
+{
+
+	struct ft1000_usb *ft1000dev = urb->context;
+
+	if (urb->status)
+		pr_err("%s: TX status %d\n", ft1000dev->net->name, urb->status);
+
+	netif_wake_queue(ft1000dev->net);
+}
+
+//---------------------------------------------------------------------------
+//
+// Function:   ft1000_copy_down_pkt
+// Description: This function will take an ethernet packet and convert it to
+//             a Flarion packet prior to sending it to the ASIC Downlink
+//             FIFO.
+// Input:
+//     dev    - device structure
+//     packet - address of ethernet packet
+//     len    - length of IP packet
+// Output:
+//     status - FAILURE
+//              SUCCESS
+//
+//---------------------------------------------------------------------------
+static int ft1000_copy_down_pkt(struct net_device *netdev, u8 * packet, u16 len)
+{
+	struct ft1000_info *pInfo = netdev_priv(netdev);
+	struct ft1000_usb *pFt1000Dev = pInfo->priv;
+
+	int count, ret;
+	u8 *t;
+	struct pseudo_hdr hdr;
+
+	if (!pInfo->CardReady) {
+		DEBUG("ft1000_copy_down_pkt::Card Not Ready\n");
+		return -ENODEV;
+	}
+
+	count = sizeof(struct pseudo_hdr) + len;
+	if (count > MAX_BUF_SIZE) {
+		DEBUG("Error:ft1000_copy_down_pkt:Message Size Overflow!\n");
+		DEBUG("size = %d\n", count);
+		return -EINVAL;
+	}
+
+	if (count % 4)
+		count = count + (4 - (count % 4));
+
+	memset(&hdr, 0, sizeof(struct pseudo_hdr));
+
+	hdr.length = ntohs(count);
+	hdr.source = 0x10;
+	hdr.destination = 0x20;
+	hdr.portdest = 0x20;
+	hdr.portsrc = 0x10;
+	hdr.sh_str_id = 0x91;
+	hdr.control = 0x00;
+
+	hdr.checksum = hdr.length ^ hdr.source ^ hdr.destination ^
+	    hdr.portdest ^ hdr.portsrc ^ hdr.sh_str_id ^ hdr.control;
+
+	memcpy(&pFt1000Dev->tx_buf[0], &hdr, sizeof(hdr));
+	memcpy(&(pFt1000Dev->tx_buf[sizeof(struct pseudo_hdr)]), packet, len);
+
+	netif_stop_queue(netdev);
+
+	usb_fill_bulk_urb(pFt1000Dev->tx_urb,
+			  pFt1000Dev->dev,
+			  usb_sndbulkpipe(pFt1000Dev->dev,
+					  pFt1000Dev->bulk_out_endpointAddr),
+			  pFt1000Dev->tx_buf, count,
+			  ft1000_usb_transmit_complete, (void *)pFt1000Dev);
+
+	t = (u8 *) pFt1000Dev->tx_urb->transfer_buffer;
+
+	ret = usb_submit_urb(pFt1000Dev->tx_urb, GFP_ATOMIC);
+
+	if (ret) {
+		DEBUG("ft1000 failed tx_urb %d\n", ret);
+		return ret;
+	} else {
+		pInfo->stats.tx_packets++;
+		pInfo->stats.tx_bytes += (len + 14);
+	}
+
+	return 0;
+}
+
+//---------------------------------------------------------------------------
+// Function:    ft1000_start_xmit
+//
+// Parameters:  skb - socket buffer to be sent
+//              dev - network device
+//
+//
+// Returns:     none
+//
+// Description: transmit a ethernet packet
+//
+// Notes:
+//
+//---------------------------------------------------------------------------
+static int ft1000_start_xmit(struct sk_buff *skb, struct net_device *dev)
+{
+	struct ft1000_info *pInfo = netdev_priv(dev);
+	struct ft1000_usb *pFt1000Dev = pInfo->priv;
+	u8 *pdata;
+	int maxlen, pipe;
+
+	if (skb == NULL) {
+		DEBUG("ft1000_hw: ft1000_start_xmit:skb == NULL!!!\n");
+		return NETDEV_TX_OK;
+	}
+
+	if (pFt1000Dev->status & FT1000_STATUS_CLOSING) {
+		DEBUG("network driver is closed, return\n");
+		goto err;
+	}
+
+	pipe =
+	    usb_sndbulkpipe(pFt1000Dev->dev, pFt1000Dev->bulk_out_endpointAddr);
+	maxlen = usb_maxpacket(pFt1000Dev->dev, pipe, usb_pipeout(pipe));
+
+	pdata = (u8 *) skb->data;
+
+	if (pInfo->mediastate == 0) {
+		/* Drop packet is mediastate is down */
+		DEBUG("ft1000_hw:ft1000_start_xmit:mediastate is down\n");
+		goto err;
+	}
+
+	if ((skb->len < ENET_HEADER_SIZE) || (skb->len > ENET_MAX_SIZE)) {
+		/* Drop packet which has invalid size */
+		DEBUG("ft1000_hw:ft1000_start_xmit:invalid ethernet length\n");
+		goto err;
+	}
+
+	ft1000_copy_down_pkt(dev, (pdata + ENET_HEADER_SIZE - 2),
+			     skb->len - ENET_HEADER_SIZE + 2);
+
+err:
+	dev_kfree_skb(skb);
+
+	return NETDEV_TX_OK;
+}
+
+//---------------------------------------------------------------------------
+// Function:    ft1000_open
+//
+// Parameters:
+//              dev - network device
+//
+//
+// Returns:     none
+//
+// Description: open the network driver
+//
+// Notes:
+//
+//---------------------------------------------------------------------------
+static int ft1000_open(struct net_device *dev)
+{
+	struct ft1000_info *pInfo = netdev_priv(dev);
+	struct ft1000_usb *pFt1000Dev = pInfo->priv;
+	struct timeval tv;
+
+	DEBUG("ft1000_open is called for card %d\n", pFt1000Dev->CardNumber);
+
+	pInfo->stats.rx_bytes = 0;
+	pInfo->stats.tx_bytes = 0;
+	pInfo->stats.rx_packets = 0;
+	pInfo->stats.tx_packets = 0;
+	do_gettimeofday(&tv);
+	pInfo->ConTm = tv.tv_sec;
+	pInfo->ProgConStat = 0;
+
+	netif_start_queue(dev);
+
+	netif_carrier_on(dev);
+
+	return ft1000_submit_rx_urb(pInfo);
+}
+
+static struct net_device_stats *ft1000_netdev_stats(struct net_device *dev)
+{
+	struct ft1000_info *info = netdev_priv(dev);
+
+	return &(info->stats);
+}
+
 static const struct net_device_ops ftnet_ops =
 {
 	.ndo_open = &ft1000_open,
@@ -679,7 +879,6 @@  static const struct net_device_ops ftnet_ops =
 	.ndo_get_stats = &ft1000_netdev_stats,
 };
 
-
 //---------------------------------------------------------------------------
 // Function:    init_ft1000_netdev
 //
@@ -694,6 +893,13 @@  static const struct net_device_ops ftnet_ops =
 // Notes:
 //
 //---------------------------------------------------------------------------
+
+static int ft1000_reset(void *dev)
+{
+	ft1000_reset_card(dev);
+	return 0;
+}
+
 int init_ft1000_netdev(struct ft1000_usb *ft1000dev)
 {
 	struct net_device *netdev;
@@ -854,175 +1060,6 @@  int reg_ft1000_netdev(struct ft1000_usb *ft1000dev,
 	return 0;
 }
 
-static int ft1000_reset(void *dev)
-{
-	ft1000_reset_card(dev);
-	return 0;
-}
-
-//---------------------------------------------------------------------------
-// Function:    ft1000_usb_transmit_complete
-//
-// Parameters:  urb  - transmitted usb urb
-//
-//
-// Returns:     none
-//
-// Description: This is the callback function when a urb is transmitted
-//
-// Notes:
-//
-//---------------------------------------------------------------------------
-static void ft1000_usb_transmit_complete(struct urb *urb)
-{
-
-	struct ft1000_usb *ft1000dev = urb->context;
-
-	if (urb->status)
-		pr_err("%s: TX status %d\n", ft1000dev->net->name, urb->status);
-
-	netif_wake_queue(ft1000dev->net);
-}
-
-//---------------------------------------------------------------------------
-//
-// Function:   ft1000_copy_down_pkt
-// Description: This function will take an ethernet packet and convert it to
-//             a Flarion packet prior to sending it to the ASIC Downlink
-//             FIFO.
-// Input:
-//     dev    - device structure
-//     packet - address of ethernet packet
-//     len    - length of IP packet
-// Output:
-//     status - FAILURE
-//              SUCCESS
-//
-//---------------------------------------------------------------------------
-static int ft1000_copy_down_pkt(struct net_device *netdev, u8 * packet, u16 len)
-{
-	struct ft1000_info *pInfo = netdev_priv(netdev);
-	struct ft1000_usb *pFt1000Dev = pInfo->priv;
-
-	int count, ret;
-	u8 *t;
-	struct pseudo_hdr hdr;
-
-	if (!pInfo->CardReady) {
-		DEBUG("ft1000_copy_down_pkt::Card Not Ready\n");
-		return -ENODEV;
-	}
-
-	count = sizeof(struct pseudo_hdr) + len;
-	if (count > MAX_BUF_SIZE) {
-		DEBUG("Error:ft1000_copy_down_pkt:Message Size Overflow!\n");
-		DEBUG("size = %d\n", count);
-		return -EINVAL;
-	}
-
-	if (count % 4)
-		count = count + (4 - (count % 4));
-
-	memset(&hdr, 0, sizeof(struct pseudo_hdr));
-
-	hdr.length = ntohs(count);
-	hdr.source = 0x10;
-	hdr.destination = 0x20;
-	hdr.portdest = 0x20;
-	hdr.portsrc = 0x10;
-	hdr.sh_str_id = 0x91;
-	hdr.control = 0x00;
-
-	hdr.checksum = hdr.length ^ hdr.source ^ hdr.destination ^
-	    hdr.portdest ^ hdr.portsrc ^ hdr.sh_str_id ^ hdr.control;
-
-	memcpy(&pFt1000Dev->tx_buf[0], &hdr, sizeof(hdr));
-	memcpy(&(pFt1000Dev->tx_buf[sizeof(struct pseudo_hdr)]), packet, len);
-
-	netif_stop_queue(netdev);
-
-	usb_fill_bulk_urb(pFt1000Dev->tx_urb,
-			  pFt1000Dev->dev,
-			  usb_sndbulkpipe(pFt1000Dev->dev,
-					  pFt1000Dev->bulk_out_endpointAddr),
-			  pFt1000Dev->tx_buf, count,
-			  ft1000_usb_transmit_complete, (void *)pFt1000Dev);
-
-	t = (u8 *) pFt1000Dev->tx_urb->transfer_buffer;
-
-	ret = usb_submit_urb(pFt1000Dev->tx_urb, GFP_ATOMIC);
-
-	if (ret) {
-		DEBUG("ft1000 failed tx_urb %d\n", ret);
-		return ret;
-	} else {
-		pInfo->stats.tx_packets++;
-		pInfo->stats.tx_bytes += (len + 14);
-	}
-
-	return 0;
-}
-
-
-//---------------------------------------------------------------------------
-// Function:    ft1000_start_xmit
-//
-// Parameters:  skb - socket buffer to be sent
-//              dev - network device
-//
-//
-// Returns:     none
-//
-// Description: transmit a ethernet packet
-//
-// Notes:
-//
-//---------------------------------------------------------------------------
-static int ft1000_start_xmit(struct sk_buff *skb, struct net_device *dev)
-{
-	struct ft1000_info *pInfo = netdev_priv(dev);
-	struct ft1000_usb *pFt1000Dev = pInfo->priv;
-	u8 *pdata;
-	int maxlen, pipe;
-
-	if (skb == NULL) {
-		DEBUG("ft1000_hw: ft1000_start_xmit:skb == NULL!!!\n");
-		return NETDEV_TX_OK;
-	}
-
-	if (pFt1000Dev->status & FT1000_STATUS_CLOSING) {
-		DEBUG("network driver is closed, return\n");
-		goto err;
-	}
-
-	pipe =
-	    usb_sndbulkpipe(pFt1000Dev->dev, pFt1000Dev->bulk_out_endpointAddr);
-	maxlen = usb_maxpacket(pFt1000Dev->dev, pipe, usb_pipeout(pipe));
-
-	pdata = (u8 *) skb->data;
-
-	if (pInfo->mediastate == 0) {
-		/* Drop packet is mediastate is down */
-		DEBUG("ft1000_hw:ft1000_start_xmit:mediastate is down\n");
-		goto err;
-	}
-
-	if ((skb->len < ENET_HEADER_SIZE) || (skb->len > ENET_MAX_SIZE)) {
-		/* Drop packet which has invalid size */
-		DEBUG("ft1000_hw:ft1000_start_xmit:invalid ethernet length\n");
-		goto err;
-	}
-
-	ft1000_copy_down_pkt(dev, (pdata + ENET_HEADER_SIZE - 2),
-			     skb->len - ENET_HEADER_SIZE + 2);
-
-err:
-	dev_kfree_skb(skb);
-
-	return NETDEV_TX_OK;
-}
-
-
 //---------------------------------------------------------------------------
 //
 // Function:   ft1000_copy_up_pkt
@@ -1159,44 +1196,6 @@  static int ft1000_submit_rx_urb(struct ft1000_info *info)
 	return 0;
 }
 
-
-//---------------------------------------------------------------------------
-// Function:    ft1000_open
-//
-// Parameters:
-//              dev - network device
-//
-//
-// Returns:     none
-//
-// Description: open the network driver
-//
-// Notes:
-//
-//---------------------------------------------------------------------------
-static int ft1000_open(struct net_device *dev)
-{
-	struct ft1000_info *pInfo = netdev_priv(dev);
-	struct ft1000_usb *pFt1000Dev = pInfo->priv;
-	struct timeval tv;
-
-	DEBUG("ft1000_open is called for card %d\n", pFt1000Dev->CardNumber);
-
-	pInfo->stats.rx_bytes = 0;
-	pInfo->stats.tx_bytes = 0;
-	pInfo->stats.rx_packets = 0;
-	pInfo->stats.tx_packets = 0;
-	do_gettimeofday(&tv);
-	pInfo->ConTm = tv.tv_sec;
-	pInfo->ProgConStat = 0;
-
-	netif_start_queue(dev);
-
-	netif_carrier_on(dev);
-
-	return ft1000_submit_rx_urb(pInfo);
-}
-
 //---------------------------------------------------------------------------
 // Function:    ft1000_close
 //
@@ -1228,14 +1227,6 @@  int ft1000_close(struct net_device *net)
 	return 0;
 }
 
-static struct net_device_stats *ft1000_netdev_stats(struct net_device *dev)
-{
-	struct ft1000_info *info = netdev_priv(dev);
-
-	return &(info->stats);
-}
-
-
 //---------------------------------------------------------------------------
 //
 // Function:   ft1000_chkcard