linux/drivers/staging/gdm72xx/gdm_wimax.h
<<
>>
Prefs
   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