1/* 2 * Copyright (c) 2012 GCT Semiconductor, Inc. All rights reserved. 3 * 4 * This software is licensed under the terms of the GNU General Public 5 * License version 2, as published by the Free Software Foundation, and 6 * may be copied, distributed, and modified under those terms. 7 * 8 * This program is distributed in the hope that it will be useful, 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * GNU General Public License for more details. 12 */ 13 14#ifndef __GDM72XX_GDM_WIMAX_H__ 15#define __GDM72XX_GDM_WIMAX_H__ 16 17#include <linux/netdevice.h> 18#include <linux/types.h> 19#include "wm_ioctl.h" 20#if defined(CONFIG_WIMAX_GDM72XX_QOS) 21#include "gdm_qos.h" 22#endif 23 24#define DRIVER_VERSION "3.2.3" 25 26struct phy_dev { 27 void *priv_dev; 28 struct net_device *netdev; 29 int (*send_func)(void *priv_dev, void *data, int len, 30 void (*cb)(void *cb_data), void *cb_data); 31 int (*rcv_func)(void *priv_dev, 32 void (*cb)(void *cb_data, void *data, int len), 33 void *cb_data); 34}; 35 36struct nic { 37 struct net_device *netdev; 38 struct phy_dev *phy_dev; 39 struct data_s sdk_data[SIOC_DATA_MAX]; 40#if defined(CONFIG_WIMAX_GDM72XX_QOS) 41 struct qos_cb_s qos; 42#endif 43}; 44 45int register_wimax_device(struct phy_dev *phy_dev, struct device *pdev); 46int gdm_wimax_send_tx(struct sk_buff *skb, struct net_device *dev); 47void unregister_wimax_device(struct phy_dev *phy_dev); 48 49#endif /* __GDM72XX_GDM_WIMAX_H__ */ 50