linux/drivers/bluetooth/dtl1_cs.c

/*
 *
 *  A driver for Nokia Connectivity Card DTL-1 devices
 *
 *  Copyright (C) 2001-2002  Marcel Holtmann <[email protected]>
 *
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License version 2 as
 *  published by the Free Software Foundation;
 *
 *  Software distributed under the License is distributed on an "AS
 *  IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
 *  implied. See the License for the specific language governing
 *  rights and limitations under the License.
 *
 *  The initial developer of the original code is David A. Hinds
 *  <[email protected]>.  Portions created by David A. Hinds
 *  are Copyright (C) 1999 David A. Hinds.  All Rights Reserved.
 *
 */

#include <linux/module.h>

#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/types.h>
#include <linux/delay.h>
#include <linux/errno.h>
#include <linux/ptrace.h>
#include <linux/ioport.h>
#include <linux/spinlock.h>
#include <linux/moduleparam.h>

#include <linux/skbuff.h>
#include <linux/string.h>
#include <linux/serial.h>
#include <linux/serial_reg.h>
#include <linux/bitops.h>
#include <asm/io.h>

#include <pcmcia/cistpl.h>
#include <pcmcia/ciscode.h>
#include <pcmcia/ds.h>
#include <pcmcia/cisreg.h>

#include <net/bluetooth/bluetooth.h>
#include <net/bluetooth/hci_core.h>



/* ======================== Module parameters ======================== */


MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();



/* ======================== Local structures ======================== */


struct dtl1_info {};


static int dtl1_config(struct pcmcia_device *link);


/* Transmit states  */
#define XMIT_SENDING
#define XMIT_WAKEUP
#define XMIT_WAITING

/* Receiver States */
#define RECV_WAIT_NSH
#define RECV_WAIT_DATA


struct nsh {} __packed;	/* Nokia Specific Header */

#define NSHL



/* ======================== Interrupt handling ======================== */


static int dtl1_write(unsigned int iobase, int fifo_size, __u8 *buf, int len)
{}


static void dtl1_write_wakeup(struct dtl1_info *info)
{}


static void dtl1_control(struct dtl1_info *info, struct sk_buff *skb)
{}


static void dtl1_receive(struct dtl1_info *info)
{}


static irqreturn_t dtl1_interrupt(int irq, void *dev_inst)
{}



/* ======================== HCI interface ======================== */


static int dtl1_hci_open(struct hci_dev *hdev)
{}


static int dtl1_hci_flush(struct hci_dev *hdev)
{}


static int dtl1_hci_close(struct hci_dev *hdev)
{}


static int dtl1_hci_send_frame(struct hci_dev *hdev, struct sk_buff *skb)
{}



/* ======================== Card services HCI interaction ======================== */


static int dtl1_open(struct dtl1_info *info)
{}


static int dtl1_close(struct dtl1_info *info)
{}

static int dtl1_probe(struct pcmcia_device *link)
{}


static void dtl1_detach(struct pcmcia_device *link)
{}

static int dtl1_confcheck(struct pcmcia_device *p_dev, void *priv_data)
{}

static int dtl1_config(struct pcmcia_device *link)
{}

static const struct pcmcia_device_id dtl1_ids[] =;
MODULE_DEVICE_TABLE(pcmcia, dtl1_ids);

static struct pcmcia_driver dtl1_driver =;
module_pcmcia_driver();