linux/drivers/pci/hotplug/shpchp_ctrl.c

// SPDX-License-Identifier: GPL-2.0+
/*
 * Standard Hot Plug Controller Driver
 *
 * Copyright (C) 1995,2001 Compaq Computer Corporation
 * Copyright (C) 2001 Greg Kroah-Hartman ([email protected])
 * Copyright (C) 2001 IBM Corp.
 * Copyright (C) 2003-2004 Intel Corporation
 *
 * All rights reserved.
 *
 * Send feedback to <[email protected]>, <[email protected]>
 *
 */

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/slab.h>
#include <linux/pci.h>
#include "../pci.h"
#include "shpchp.h"

static void interrupt_event_handler(struct work_struct *work);
static int shpchp_enable_slot(struct slot *p_slot);
static int shpchp_disable_slot(struct slot *p_slot);

static int queue_interrupt_event(struct slot *p_slot, u32 event_type)
{}

u8 shpchp_handle_attention_button(u8 hp_slot, struct controller *ctrl)
{}

u8 shpchp_handle_switch_change(u8 hp_slot, struct controller *ctrl)
{}

u8 shpchp_handle_presence_change(u8 hp_slot, struct controller *ctrl)
{}

u8 shpchp_handle_power_fault(u8 hp_slot, struct controller *ctrl)
{}

/* The following routines constitute the bulk of the
   hotplug controller logic
 */
static int change_bus_speed(struct controller *ctrl, struct slot *p_slot,
		enum pci_bus_speed speed)
{}

static int fix_bus_speed(struct controller *ctrl, struct slot *pslot,
		u8 flag, enum pci_bus_speed asp, enum pci_bus_speed bsp,
		enum pci_bus_speed msp)
{}

/**
 * board_added - Called after a board has been added to the system.
 * @p_slot: target &slot
 *
 * Turns power on for the board.
 * Configures board.
 */
static int board_added(struct slot *p_slot)
{}


/**
 * remove_board - Turns off slot and LEDs
 * @p_slot: target &slot
 */
static int remove_board(struct slot *p_slot)
{}


struct pushbutton_work_info {};

/**
 * shpchp_pushbutton_thread - handle pushbutton events
 * @work: &struct work_struct to be handled
 *
 * Scheduled procedure to handle blocking stuff for the pushbuttons.
 * Handles all pending events and exits.
 */
static void shpchp_pushbutton_thread(struct work_struct *work)
{}

void shpchp_queue_pushbutton_work(struct work_struct *work)
{}

static void update_slot_info(struct slot *slot)
{}

/*
 * Note: This function must be called with slot->lock held
 */
static void handle_button_press_event(struct slot *p_slot)
{}

static void interrupt_event_handler(struct work_struct *work)
{}


static int shpchp_enable_slot (struct slot *p_slot)
{}


static int shpchp_disable_slot (struct slot *p_slot)
{}

int shpchp_sysfs_enable_slot(struct slot *p_slot)
{}

int shpchp_sysfs_disable_slot(struct slot *p_slot)
{}