51 lines
1.3 KiB
C
51 lines
1.3 KiB
C
/*
|
|
* This is part of the Sequans SQN1130 driver.
|
|
* Copyright 2008 SEQUANS Communications
|
|
* Written by Andy Shevchenko <andy@smile.org.ua>,
|
|
* Dmitriy Chumak <chumakd@gmail.com>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or (at
|
|
* your option) any later version.
|
|
*/
|
|
|
|
#ifndef _SQN_NETDEV_H
|
|
#define _SQN_NETDEV_H
|
|
|
|
#include <linux/netdevice.h>
|
|
#include <linux/spinlock_types.h>
|
|
#include <linux/if_ether.h>
|
|
#include <linux/wait.h>
|
|
#include <linux/types.h>
|
|
|
|
|
|
/* TODO: Move to sqn_sdio.c */
|
|
#define SQN_MAX_PDU_LEN 2048 /* Max PDU length */
|
|
|
|
|
|
extern struct ethtool_ops sqn_ethtool_ops;
|
|
|
|
struct sqn_private {
|
|
spinlock_t drv_lock;
|
|
void *card;
|
|
struct net_device *dev;
|
|
struct net_device_stats stats;
|
|
u8 mac_addr[ETH_ALEN];
|
|
struct task_struct *tx_thread; /* Thread to service TX queue */
|
|
wait_queue_head_t tx_waitq;
|
|
wait_queue_head_t rx_waitq;
|
|
struct work_struct rx_work_struct;
|
|
u8 removed;
|
|
|
|
|
|
int (*hw_host_to_card) (struct sqn_private *priv);
|
|
|
|
void (*add_skb_to_tx_queue) (struct sqn_private *priv
|
|
, struct sk_buff *skb, u8 tail);
|
|
|
|
int (*is_tx_queue_empty) (struct sqn_private *priv);
|
|
};
|
|
|
|
#endif /* _SQN_NETDEV_H */
|