Staging: ft1000: remove unnecessary static function declarations in ft1000_hw.c
This patch removes unnecessary static function declarations in ft1000_hw.c Signed-off-by: Ebru Akagunduz <ebru.akagunduz@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
bfb3af4ebc
commit
7ff1b12bf6
1 changed files with 212 additions and 221 deletions
|
@ -29,12 +29,7 @@
|
||||||
|
|
||||||
//#define JDEBUG
|
//#define JDEBUG
|
||||||
|
|
||||||
static int ft1000_reset(void *ft1000dev);
|
|
||||||
static int ft1000_submit_rx_urb(struct ft1000_info *info);
|
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];
|
static u8 tempbuffer[1600];
|
||||||
|
|
||||||
|
@ -671,6 +666,211 @@ static int ft1000_reset_card(struct net_device *dev)
|
||||||
return TRUE;
|
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 =
|
static const struct net_device_ops ftnet_ops =
|
||||||
{
|
{
|
||||||
.ndo_open = &ft1000_open,
|
.ndo_open = &ft1000_open,
|
||||||
|
@ -679,7 +879,6 @@ static const struct net_device_ops ftnet_ops =
|
||||||
.ndo_get_stats = &ft1000_netdev_stats,
|
.ndo_get_stats = &ft1000_netdev_stats,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
// Function: init_ft1000_netdev
|
// Function: init_ft1000_netdev
|
||||||
//
|
//
|
||||||
|
@ -694,6 +893,13 @@ static const struct net_device_ops ftnet_ops =
|
||||||
// Notes:
|
// Notes:
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
static int ft1000_reset(void *dev)
|
||||||
|
{
|
||||||
|
ft1000_reset_card(dev);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int init_ft1000_netdev(struct ft1000_usb *ft1000dev)
|
int init_ft1000_netdev(struct ft1000_usb *ft1000dev)
|
||||||
{
|
{
|
||||||
struct net_device *netdev;
|
struct net_device *netdev;
|
||||||
|
@ -854,175 +1060,6 @@ int reg_ft1000_netdev(struct ft1000_usb *ft1000dev,
|
||||||
return 0;
|
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
|
// Function: ft1000_copy_up_pkt
|
||||||
|
@ -1159,44 +1196,6 @@ static int ft1000_submit_rx_urb(struct ft1000_info *info)
|
||||||
return 0;
|
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
|
// Function: ft1000_close
|
||||||
//
|
//
|
||||||
|
@ -1228,14 +1227,6 @@ int ft1000_close(struct net_device *net)
|
||||||
return 0;
|
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
|
// Function: ft1000_chkcard
|
||||||
|
|
Loading…
Add table
Reference in a new issue