#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/interrupt.h>
#include <linux/firmware.h>
#include <linux/delay.h>
#include <linux/irq.h>
#include <linux/spi/spi.h>
#include <linux/etherdevice.h>
#include <linux/gpio.h>
#include <linux/slab.h>
#include "p54spi.h"
#include "p54.h"
#include "lmac.h"
#ifdef CONFIG_P54_SPI_DEFAULT_EEPROM
#include "p54spi_eeprom.h"
#endif
MODULE_FIRMWARE(…) …;
MODULE_FIRMWARE(…) …;
static int p54spi_gpio_power = …;
module_param(p54spi_gpio_power, int, 0444);
MODULE_PARM_DESC(…) …;
static int p54spi_gpio_irq = …;
module_param(p54spi_gpio_irq, int, 0444);
MODULE_PARM_DESC(…) …;
static void p54spi_spi_read(struct p54s_priv *priv, u8 address,
void *buf, size_t len)
{ … }
static void p54spi_spi_write(struct p54s_priv *priv, u8 address,
const void *buf, size_t len)
{ … }
static u32 p54spi_read32(struct p54s_priv *priv, u8 addr)
{ … }
static inline void p54spi_write16(struct p54s_priv *priv, u8 addr, __le16 val)
{ … }
static inline void p54spi_write32(struct p54s_priv *priv, u8 addr, __le32 val)
{ … }
static int p54spi_wait_bit(struct p54s_priv *priv, u16 reg, u32 bits)
{ … }
static int p54spi_spi_write_dma(struct p54s_priv *priv, __le32 base,
const void *buf, size_t len)
{ … }
static int p54spi_request_firmware(struct ieee80211_hw *dev)
{ … }
static int p54spi_request_eeprom(struct ieee80211_hw *dev)
{ … }
static int p54spi_upload_firmware(struct ieee80211_hw *dev)
{ … }
static void p54spi_power_off(struct p54s_priv *priv)
{ … }
static void p54spi_power_on(struct p54s_priv *priv)
{ … }
static inline void p54spi_int_ack(struct p54s_priv *priv, u32 val)
{ … }
static int p54spi_wakeup(struct p54s_priv *priv)
{ … }
static inline void p54spi_sleep(struct p54s_priv *priv)
{ … }
static void p54spi_int_ready(struct p54s_priv *priv)
{ … }
static int p54spi_rx(struct p54s_priv *priv)
{ … }
static irqreturn_t p54spi_interrupt(int irq, void *config)
{ … }
static int p54spi_tx_frame(struct p54s_priv *priv, struct sk_buff *skb)
{ … }
static int p54spi_wq_tx(struct p54s_priv *priv)
{ … }
static void p54spi_op_tx(struct ieee80211_hw *dev, struct sk_buff *skb)
{ … }
static void p54spi_work(struct work_struct *work)
{ … }
static int p54spi_op_start(struct ieee80211_hw *dev)
{ … }
static void p54spi_op_stop(struct ieee80211_hw *dev)
{ … }
static int p54spi_probe(struct spi_device *spi)
{ … }
static void p54spi_remove(struct spi_device *spi)
{ … }
static struct spi_driver p54spi_driver = …;
module_spi_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_AUTHOR(…) …;
MODULE_ALIAS(…) …;
MODULE_ALIAS(…) …;
MODULE_ALIAS(…) …;