linux/drivers/pcmcia/i82092.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Driver for Intel I82092AA PCI-PCMCIA bridge.
 *
 * (C) 2001 Red Hat, Inc.
 *
 * Author: Arjan Van De Ven <[email protected]>
 * Loosly based on i82365.c from the pcmcia-cs package
 */

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/init.h>
#include <linux/workqueue.h>
#include <linux/interrupt.h>
#include <linux/device.h>

#include <pcmcia/ss.h>

#include <linux/io.h>

#include "i82092aa.h"
#include "i82365.h"

MODULE_DESCRIPTION();
MODULE_LICENSE();

/* PCI core routines */
static const struct pci_device_id i82092aa_pci_ids[] =;
MODULE_DEVICE_TABLE(pci, i82092aa_pci_ids);

static struct pci_driver i82092aa_pci_driver =;


/* the pccard structure and its functions */
static struct pccard_operations i82092aa_operations =;

/* The card can do up to 4 sockets, allocate a structure for each of them */

struct socket_info {};

#define MAX_SOCKETS
static struct socket_info sockets[MAX_SOCKETS];
static int socket_count;	/* shortcut */


static int i82092aa_pci_probe(struct pci_dev *dev,
			      const struct pci_device_id *id)
{}

static void i82092aa_pci_remove(struct pci_dev *dev)
{}

static DEFINE_SPINLOCK(port_lock);

/* basic value read/write functions */

static unsigned char indirect_read(int socket, unsigned short reg)
{}

static void indirect_write(int socket, unsigned short reg, unsigned char value)
{}

static void indirect_setbit(int socket, unsigned short reg, unsigned char mask)
{}


static void indirect_resetbit(int socket,
			      unsigned short reg, unsigned char mask)
{}

static void indirect_write16(int socket,
			     unsigned short reg, unsigned short value)
{}

/* simple helper functions */
/* External clock time, in nanoseconds.  120 ns = 8.33 MHz */
static int cycle_time =;

static int to_cycles(int ns)
{}


/* Interrupt handler functionality */

static irqreturn_t i82092aa_interrupt(int irq, void *dev)
{}



/* socket functions */

static int card_present(int socketno)
{}

static void set_bridge_state(int sock)
{}


static int i82092aa_init(struct pcmcia_socket *sock)
{}

static int i82092aa_get_status(struct pcmcia_socket *socket, u_int *value)
{}


static int i82092aa_set_socket(struct pcmcia_socket *socket,
			       socket_state_t *state)
{}

static int i82092aa_set_io_map(struct pcmcia_socket *socket,
			       struct pccard_io_map *io)
{}

static int i82092aa_set_mem_map(struct pcmcia_socket *socket,
				struct pccard_mem_map *mem)
{}

static int __init i82092aa_module_init(void)
{}

static void __exit i82092aa_module_exit(void)
{}

module_init();
module_exit(i82092aa_module_exit);