gdm_wimax.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. #ifndef __GDM72XX_GDM_WIMAX_H__
  14. #define __GDM72XX_GDM_WIMAX_H__
  15. #include <linux/netdevice.h>
  16. #include <linux/types.h>
  17. #include "wm_ioctl.h"
  18. #if defined(CONFIG_WIMAX_GDM72XX_QOS)
  19. #include "gdm_qos.h"
  20. #endif
  21. #define DRIVER_VERSION "3.2.3"
  22. struct phy_dev {
  23. void *priv_dev;
  24. struct net_device *netdev;
  25. int (*send_func)(void *priv_dev, void *data, int len,
  26. void (*cb)(void *cb_data), void *cb_data);
  27. int (*rcv_func)(void *priv_dev,
  28. void (*cb)(void *cb_data, void *data, int len),
  29. void *cb_data);
  30. };
  31. struct nic {
  32. struct net_device *netdev;
  33. struct phy_dev *phy_dev;
  34. struct data_s sdk_data[SIOC_DATA_MAX];
  35. #if defined(CONFIG_WIMAX_GDM72XX_QOS)
  36. struct qos_cb_s qos;
  37. #endif
  38. };
  39. int register_wimax_device(struct phy_dev *phy_dev, struct device *pdev);
  40. int gdm_wimax_send_tx(struct sk_buff *skb, struct net_device *dev);
  41. void unregister_wimax_device(struct phy_dev *phy_dev);
  42. #endif /* __GDM72XX_GDM_WIMAX_H__ */