linux/drivers/pci/hotplug/cpci_hotplug_core.c

// SPDX-License-Identifier: GPL-2.0+
/*
 * CompactPCI Hot Plug Driver
 *
 * Copyright (C) 2002,2005 SOMA Networks, Inc.
 * Copyright (C) 2001 Greg Kroah-Hartman ([email protected])
 * Copyright (C) 2001 IBM Corp.
 *
 * All rights reserved.
 *
 * Send feedback to <[email protected]>
 */

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/sched/signal.h>
#include <linux/slab.h>
#include <linux/pci.h>
#include <linux/pci_hotplug.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/atomic.h>
#include <linux/delay.h>
#include <linux/kthread.h>
#include "cpci_hotplug.h"

#define DRIVER_AUTHOR
#define DRIVER_DESC

#define MY_NAME

#define dbg(format, arg...)
#define err(format, arg...)
#define info(format, arg...)
#define warn(format, arg...)

/* local variables */
static DECLARE_RWSEM(list_rwsem);
static LIST_HEAD(slot_list);
static int slots;
static atomic_t extracting;
int cpci_debug;
static struct cpci_hp_controller *controller;
static struct task_struct *cpci_thread;
static int thread_finished;

static int enable_slot(struct hotplug_slot *slot);
static int disable_slot(struct hotplug_slot *slot);
static int set_attention_status(struct hotplug_slot *slot, u8 value);
static int get_power_status(struct hotplug_slot *slot, u8 *value);
static int get_attention_status(struct hotplug_slot *slot, u8 *value);
static int get_adapter_status(struct hotplug_slot *slot, u8 *value);
static int get_latch_status(struct hotplug_slot *slot, u8 *value);

static const struct hotplug_slot_ops cpci_hotplug_slot_ops =;

static int
enable_slot(struct hotplug_slot *hotplug_slot)
{}

static int
disable_slot(struct hotplug_slot *hotplug_slot)
{}

static u8
cpci_get_power_status(struct slot *slot)
{}

static int
get_power_status(struct hotplug_slot *hotplug_slot, u8 *value)
{}

static int
get_attention_status(struct hotplug_slot *hotplug_slot, u8 *value)
{}

static int
set_attention_status(struct hotplug_slot *hotplug_slot, u8 status)
{}

static int
get_adapter_status(struct hotplug_slot *hotplug_slot, u8 *value)
{}

static int
get_latch_status(struct hotplug_slot *hotplug_slot, u8 *value)
{}

static void release_slot(struct slot *slot)
{}

#define SLOT_NAME_SIZE

int
cpci_hp_register_bus(struct pci_bus *bus, u8 first, u8 last)
{}
EXPORT_SYMBOL_GPL();

int
cpci_hp_unregister_bus(struct pci_bus *bus)
{}
EXPORT_SYMBOL_GPL();

/* This is the interrupt mode interrupt handler */
static irqreturn_t
cpci_hp_intr(int irq, void *data)
{}

/*
 * According to PICMG 2.1 R2.0, section 6.3.2, upon
 * initialization, the system driver shall clear the
 * INS bits of the cold-inserted devices.
 */
static int
init_slots(int clear_ins)
{}

static int
check_slots(void)
{}

/* This is the interrupt mode worker thread body */
static int
event_thread(void *data)
{}

/* This is the polling mode worker thread body */
static int
poll_thread(void *data)
{}

static int
cpci_start_thread(void)
{}

static void
cpci_stop_thread(void)
{}

int
cpci_hp_register_controller(struct cpci_hp_controller *new_controller)
{}
EXPORT_SYMBOL_GPL();

static void
cleanup_slots(void)
{}

int
cpci_hp_unregister_controller(struct cpci_hp_controller *old_controller)
{}
EXPORT_SYMBOL_GPL();

int
cpci_hp_start(void)
{}
EXPORT_SYMBOL_GPL();

int
cpci_hp_stop(void)
{}
EXPORT_SYMBOL_GPL();

int __init
cpci_hotplug_init(int debug)
{}