Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
cpqphp.h File Reference
#include <linux/interrupt.h>
#include <asm/io.h>
#include <linux/delay.h>
#include <linux/mutex.h>
#include <linux/sched.h>
#include <asm/pci_x86.h>

Go to the source code of this file.

Data Structures

struct  smbios_system_slot
 
struct  smbios_generic
 
struct  smbios_entry_point
 
struct  ctrl_reg
 
struct  hrt
 
struct  slot_rt
 
struct  pci_func
 
struct  slot
 
struct  pci_resource
 
struct  event_info
 
struct  controller
 
struct  irq_mapping
 
struct  resource_lists
 

Macros

#define MY_NAME   "cpqphp"
 
#define dbg(fmt, arg...)   do { if (cpqhp_debug) printk(KERN_DEBUG "%s: " fmt , MY_NAME , ## arg); } while (0)
 
#define err(format, arg...)   printk(KERN_ERR "%s: " format , MY_NAME , ## arg)
 
#define info(format, arg...)   printk(KERN_INFO "%s: " format , MY_NAME , ## arg)
 
#define warn(format, arg...)   printk(KERN_WARNING "%s: " format , MY_NAME , ## arg)
 
#define ROM_PHY_ADDR   0x0F0000
 
#define ROM_PHY_LEN   0x00ffff
 
#define PCI_HPC_ID   0xA0F7
 
#define PCI_SUB_HPC_ID   0xA2F7
 
#define PCI_SUB_HPC_ID2   0xA2F8
 
#define PCI_SUB_HPC_ID3   0xA2F9
 
#define PCI_SUB_HPC_ID_INTC   0xA2FA
 
#define PCI_SUB_HPC_ID4   0xA2FD
 
#define INT_BUTTON_IGNORE   0
 
#define INT_PRESENCE_ON   1
 
#define INT_PRESENCE_OFF   2
 
#define INT_SWITCH_CLOSE   3
 
#define INT_SWITCH_OPEN   4
 
#define INT_POWER_FAULT   5
 
#define INT_POWER_FAULT_CLEAR   6
 
#define INT_BUTTON_PRESS   7
 
#define INT_BUTTON_RELEASE   8
 
#define INT_BUTTON_CANCEL   9
 
#define STATIC_STATE   0
 
#define BLINKINGON_STATE   1
 
#define BLINKINGOFF_STATE   2
 
#define POWERON_STATE   3
 
#define POWEROFF_STATE   4
 
#define PCISLOT_INTERLOCK_CLOSED   0x00000001
 
#define PCISLOT_ADAPTER_PRESENT   0x00000002
 
#define PCISLOT_POWERED   0x00000004
 
#define PCISLOT_66_MHZ_OPERATION   0x00000008
 
#define PCISLOT_64_BIT_OPERATION   0x00000010
 
#define PCISLOT_REPLACE_SUPPORTED   0x00000020
 
#define PCISLOT_ADD_SUPPORTED   0x00000040
 
#define PCISLOT_INTERLOCK_SUPPORTED   0x00000080
 
#define PCISLOT_66_MHZ_SUPPORTED   0x00000100
 
#define PCISLOT_64_BIT_SUPPORTED   0x00000200
 
#define PCI_TO_PCI_BRIDGE_CLASS   0x00060400
 
#define INTERLOCK_OPEN   0x00000002
 
#define ADD_NOT_SUPPORTED   0x00000003
 
#define CARD_FUNCTIONING   0x00000005
 
#define ADAPTER_NOT_SAME   0x00000006
 
#define NO_ADAPTER_PRESENT   0x00000009
 
#define NOT_ENOUGH_RESOURCES   0x0000000B
 
#define DEVICE_TYPE_NOT_SUPPORTED   0x0000000C
 
#define POWER_FAILURE   0x0000000E
 
#define REMOVE_NOT_SUPPORTED   0x00000003
 
#define msg_initialization_err   "Initialization failure, error=%d\n"
 
#define msg_HPC_rev_error   "Unsupported revision of the PCI hot plug controller found.\n"
 
#define msg_HPC_non_compaq_or_intel   "The PCI hot plug controller is not supported by this driver.\n"
 
#define msg_HPC_not_supported   "this system is not supported by this version of cpqphpd. Upgrade to a newer version of cpqphpd\n"
 
#define msg_unable_to_save   "unable to store PCI hot plug add resource information. This system must be rebooted before adding any PCI devices.\n"
 
#define msg_button_on   "PCI slot #%d - powering on due to button press.\n"
 
#define msg_button_off   "PCI slot #%d - powering off due to button press.\n"
 
#define msg_button_cancel   "PCI slot #%d - action canceled due to button press.\n"
 
#define msg_button_ignore   "PCI slot #%d - button press ignored. (action in progress...)\n"
 

Enumerations

enum  smbios_system_slot_offsets {
  SMBIOS_SLOT_GENERIC_TYPE = offsetof(struct smbios_system_slot, type), SMBIOS_SLOT_GENERIC_LENGTH = offsetof(struct smbios_system_slot, length), SMBIOS_SLOT_GENERIC_HANDLE = offsetof(struct smbios_system_slot, handle), SMBIOS_SLOT_NAME_STRING_NUM = offsetof(struct smbios_system_slot, name_string_num),
  SMBIOS_SLOT_TYPE = offsetof(struct smbios_system_slot, slot_type), SMBIOS_SLOT_WIDTH = offsetof(struct smbios_system_slot, slot_width), SMBIOS_SLOT_CURRENT_USAGE = offsetof(struct smbios_system_slot, slot_current_usage), SMBIOS_SLOT_LENGTH = offsetof(struct smbios_system_slot, slot_length),
  SMBIOS_SLOT_NUMBER = offsetof(struct smbios_system_slot, slot_number), SMBIOS_SLOT_PROPERTIES1 = offsetof(struct smbios_system_slot, properties1), SMBIOS_SLOT_PROPERTIES2 = offsetof(struct smbios_system_slot, properties2)
}
 
enum  smbios_generic_offsets { SMBIOS_GENERIC_TYPE = offsetof(struct smbios_generic, type), SMBIOS_GENERIC_LENGTH = offsetof(struct smbios_generic, length), SMBIOS_GENERIC_HANDLE = offsetof(struct smbios_generic, handle) }
 
enum  smbios_entry_point_offsets {
  ANCHOR = offsetof(struct smbios_entry_point, anchor[0]), EP_CHECKSUM = offsetof(struct smbios_entry_point, ep_checksum), EP_LENGTH = offsetof(struct smbios_entry_point, ep_length), MAJOR_VERSION = offsetof(struct smbios_entry_point, major_version),
  MINOR_VERSION = offsetof(struct smbios_entry_point, minor_version), MAX_SIZE_ENTRY = offsetof(struct smbios_entry_point, max_size_entry), EP_REV = offsetof(struct smbios_entry_point, ep_rev), INT_ANCHOR = offsetof(struct smbios_entry_point, int_anchor[0]),
  INT_CHECKSUM = offsetof(struct smbios_entry_point, int_checksum), ST_LENGTH = offsetof(struct smbios_entry_point, st_length), ST_ADDRESS = offsetof(struct smbios_entry_point, st_address), NUMBER_OF_ENTRYS = offsetof(struct smbios_entry_point, number_of_entrys),
  BCD_REV = offsetof(struct smbios_entry_point, bcd_rev)
}
 
enum  ctrl_offsets {
  SLOT_RST = offsetof(struct ctrl_reg, slot_RST), SLOT_ENABLE = offsetof(struct ctrl_reg, slot_enable), MISC = offsetof(struct ctrl_reg, misc), LED_CONTROL = offsetof(struct ctrl_reg, led_control),
  INT_INPUT_CLEAR = offsetof(struct ctrl_reg, int_input_clear), INT_MASK = offsetof(struct ctrl_reg, int_mask), CTRL_RESERVED0 = offsetof(struct ctrl_reg, reserved0), CTRL_RESERVED1 = offsetof(struct ctrl_reg, reserved1),
  CTRL_RESERVED2 = offsetof(struct ctrl_reg, reserved1), GEN_OUTPUT_AB = offsetof(struct ctrl_reg, gen_output_AB), NON_INT_INPUT = offsetof(struct ctrl_reg, non_int_input), CTRL_RESERVED3 = offsetof(struct ctrl_reg, reserved3),
  CTRL_RESERVED4 = offsetof(struct ctrl_reg, reserved4), CTRL_RESERVED5 = offsetof(struct ctrl_reg, reserved5), CTRL_RESERVED6 = offsetof(struct ctrl_reg, reserved6), CTRL_RESERVED7 = offsetof(struct ctrl_reg, reserved7),
  CTRL_RESERVED8 = offsetof(struct ctrl_reg, reserved8), SLOT_MASK = offsetof(struct ctrl_reg, slot_mask), CTRL_RESERVED9 = offsetof(struct ctrl_reg, reserved9), CTRL_RESERVED10 = offsetof(struct ctrl_reg, reserved10),
  CTRL_RESERVED11 = offsetof(struct ctrl_reg, reserved11), SLOT_SERR = offsetof(struct ctrl_reg, slot_SERR), SLOT_POWER = offsetof(struct ctrl_reg, slot_power), NEXT_CURR_FREQ = offsetof(struct ctrl_reg, next_curr_freq),
  RESET_FREQ_MODE = offsetof(struct ctrl_reg, reset_freq_mode), BASE_OFFSET = offsetof(struct ctrl_reg, base_offset), SLOT_AVAIL1 = offsetof(struct ctrl_reg, slot_avail1), SLOT_AVAIL2 = offsetof(struct ctrl_reg, slot_avail2),
  SLOT_CONFIG = offsetof(struct ctrl_reg, slot_config), SEC_BUS_CONFIG = offsetof(struct ctrl_reg, sec_bus_config), MSI_CTRL = offsetof(struct ctrl_reg, msi_ctrl), PROG_INTERFACE = offsetof(struct ctrl_reg, prog_interface),
  CMD = offsetof(struct ctrl_reg, cmd), CMD_STATUS = offsetof(struct ctrl_reg, cmd_status), INTR_LOC = offsetof(struct ctrl_reg, intr_loc), SERR_LOC = offsetof(struct ctrl_reg, serr_loc),
  SERR_INTR_ENABLE = offsetof(struct ctrl_reg, serr_intr_enable), SLOT1 = offsetof(struct ctrl_reg, slot1)
}
 
enum  hrt_offsets {
  SIG0 = offsetof(struct hrt, sig0), SIG1 = offsetof(struct hrt, sig1), SIG2 = offsetof(struct hrt, sig2), SIG3 = offsetof(struct hrt, sig3),
  UNUSED_IRQ = offsetof(struct hrt, unused_IRQ), NUMBER_OF_ENTRIES = offsetof(struct hrt, number_of_entries), REVISION = offsetof(struct hrt, revision), HRT_RESERVED1 = offsetof(struct hrt, reserved1),
  HRT_RESERVED2 = offsetof(struct hrt, reserved2)
}
 
enum  slot_rt_offsets {
  DEV_FUNC = offsetof(struct slot_rt, dev_func), PRIMARY_BUS = offsetof(struct slot_rt, primary_bus), SECONDARY_BUS = offsetof(struct slot_rt, secondary_bus), MAX_BUS = offsetof(struct slot_rt, max_bus),
  IO_BASE = offsetof(struct slot_rt, io_base), IO_LENGTH = offsetof(struct slot_rt, io_length), MEM_BASE = offsetof(struct slot_rt, mem_base), MEM_LENGTH = offsetof(struct slot_rt, mem_length),
  PRE_MEM_BASE = offsetof(struct slot_rt, pre_mem_base), PRE_MEM_LENGTH = offsetof(struct slot_rt, pre_mem_length)
}
 

Functions

struct smbios_system_slot __attribute__ ((packed))
 
void cpqhp_initialize_debugfs (void)
 
void cpqhp_shutdown_debugfs (void)
 
void cpqhp_create_debugfs_files (struct controller *ctrl)
 
void cpqhp_remove_debugfs_files (struct controller *ctrl)
 
void cpqhp_pushbutton_thread (unsigned long event_pointer)
 
irqreturn_t cpqhp_ctrl_intr (int IRQ, void *data)
 
int cpqhp_find_available_resources (struct controller *ctrl, void __iomem *rom_start)
 
int cpqhp_event_start_thread (void)
 
void cpqhp_event_stop_thread (void)
 
struct pci_funccpqhp_slot_create (unsigned char busnumber)
 
struct pci_funccpqhp_slot_find (unsigned char bus, unsigned char device, unsigned char index)
 
int cpqhp_process_SI (struct controller *ctrl, struct pci_func *func)
 
int cpqhp_process_SS (struct controller *ctrl, struct pci_func *func)
 
int cpqhp_hardware_test (struct controller *ctrl, int test_num)
 
int cpqhp_resource_sort_and_combine (struct pci_resource **head)
 
int cpqhp_set_irq (u8 bus_num, u8 dev_num, u8 int_pin, u8 irq_num)
 
int cpqhp_get_bus_dev (struct controller *ctrl, u8 *bus_num, u8 *dev_num, u8 slot)
 
int cpqhp_save_config (struct controller *ctrl, int busnumber, int is_hot_plug)
 
int cpqhp_save_base_addr_length (struct controller *ctrl, struct pci_func *func)
 
int cpqhp_save_used_resources (struct controller *ctrl, struct pci_func *func)
 
int cpqhp_configure_board (struct controller *ctrl, struct pci_func *func)
 
int cpqhp_save_slot_config (struct controller *ctrl, struct pci_func *new_slot)
 
int cpqhp_valid_replace (struct controller *ctrl, struct pci_func *func)
 
void cpqhp_destroy_board_resources (struct pci_func *func)
 
int cpqhp_return_board_resources (struct pci_func *func, struct resource_lists *resources)
 
void cpqhp_destroy_resource_list (struct resource_lists *resources)
 
int cpqhp_configure_device (struct controller *ctrl, struct pci_func *func)
 
int cpqhp_unconfigure_device (struct pci_func *func)
 

Variables

u8 type
 
u8 length
 
u16 handle
 
u8 name_string_num
 
u8 slot_type
 
u8 slot_width
 
u8 slot_current_usage
 
u8 slot_length
 
u16 slot_number
 
u8 properties1
 
u8 properties2
 
enum smbios_system_slot_offsets __attribute__
 
char anchor [4]
 
u8 ep_checksum
 
u8 ep_length
 
u8 major_version
 
u8 minor_version
 
u16 max_size_entry
 
u8 ep_rev
 
u8 reserved [5]
 
char int_anchor [5]
 
u8 int_checksum
 
u16 st_length
 
u32 st_address
 
u16 number_of_entrys
 
u8 bcd_rev
 
u8 slot_RST
 
u8 slot_enable
 
u16 misc
 
u32 led_control
 
u32 int_input_clear
 
u32 int_mask
 
u8 reserved0
 
u8 reserved1
 
u8 reserved2
 
u8 gen_output_AB
 
u32 non_int_input
 
u32 reserved3
 
u32 reserved4
 
u32 reserved5
 
u8 reserved6
 
u8 reserved7
 
u16 reserved8
 
u8 slot_mask
 
u8 reserved9
 
u8 reserved10
 
u8 reserved11
 
u8 slot_SERR
 
u8 slot_power
 
u8 reserved12
 
u8 reserved13
 
u8 next_curr_freq
 
u8 reset_freq_mode
 
char sig0
 
char sig1
 
char sig2
 
char sig3
 
u16 unused_IRQ
 
u16 PCIIRQ = offsetof(struct hrt, PCIIRQ)
 
u8 number_of_entries
 
u8 revision
 
u8 dev_func
 
u8 primary_bus
 
u8 secondary_bus
 
u8 max_bus
 
u16 io_base
 
u16 io_length
 
u16 mem_base
 
u16 mem_length
 
u16 pre_mem_base
 
u16 pre_mem_length
 
int cpqhp_debug
 
int cpqhp_legacy_mode
 
struct controllercpqhp_ctrl_list
 
struct pci_funccpqhp_slot_list [256]
 
struct irq_routing_tablecpqhp_routing_table
 
u8 cpqhp_nic_irq
 
u8 cpqhp_disk_irq
 

Macro Definition Documentation

#define ADAPTER_NOT_SAME   0x00000006

Definition at line 383 of file cpqphp.h.

#define ADD_NOT_SUPPORTED   0x00000003

Definition at line 381 of file cpqphp.h.

#define BLINKINGOFF_STATE   2

Definition at line 363 of file cpqphp.h.

#define BLINKINGON_STATE   1

Definition at line 362 of file cpqphp.h.

#define CARD_FUNCTIONING   0x00000005

Definition at line 382 of file cpqphp.h.

#define dbg (   fmt,
  arg... 
)    do { if (cpqhp_debug) printk(KERN_DEBUG "%s: " fmt , MY_NAME , ## arg); } while (0)

Definition at line 39 of file cpqphp.h.

#define DEVICE_TYPE_NOT_SUPPORTED   0x0000000C

Definition at line 386 of file cpqphp.h.

#define err (   format,
  arg... 
)    printk(KERN_ERR "%s: " format , MY_NAME , ## arg)

Definition at line 40 of file cpqphp.h.

#define info (   format,
  arg... 
)    printk(KERN_INFO "%s: " format , MY_NAME , ## arg)

Definition at line 41 of file cpqphp.h.

#define INT_BUTTON_CANCEL   9

Definition at line 359 of file cpqphp.h.

#define INT_BUTTON_IGNORE   0

Definition at line 350 of file cpqphp.h.

#define INT_BUTTON_PRESS   7

Definition at line 357 of file cpqphp.h.

#define INT_BUTTON_RELEASE   8

Definition at line 358 of file cpqphp.h.

#define INT_POWER_FAULT   5

Definition at line 355 of file cpqphp.h.

#define INT_POWER_FAULT_CLEAR   6

Definition at line 356 of file cpqphp.h.

#define INT_PRESENCE_OFF   2

Definition at line 352 of file cpqphp.h.

#define INT_PRESENCE_ON   1

Definition at line 351 of file cpqphp.h.

#define INT_SWITCH_CLOSE   3

Definition at line 353 of file cpqphp.h.

#define INT_SWITCH_OPEN   4

Definition at line 354 of file cpqphp.h.

#define INTERLOCK_OPEN   0x00000002

Definition at line 380 of file cpqphp.h.

#define msg_button_cancel   "PCI slot #%d - action canceled due to button press.\n"

Definition at line 402 of file cpqphp.h.

#define msg_button_ignore   "PCI slot #%d - button press ignored. (action in progress...)\n"

Definition at line 403 of file cpqphp.h.

#define msg_button_off   "PCI slot #%d - powering off due to button press.\n"

Definition at line 401 of file cpqphp.h.

#define msg_button_on   "PCI slot #%d - powering on due to button press.\n"

Definition at line 400 of file cpqphp.h.

#define msg_HPC_non_compaq_or_intel   "The PCI hot plug controller is not supported by this driver.\n"

Definition at line 397 of file cpqphp.h.

#define msg_HPC_not_supported   "this system is not supported by this version of cpqphpd. Upgrade to a newer version of cpqphpd\n"

Definition at line 398 of file cpqphp.h.

#define msg_HPC_rev_error   "Unsupported revision of the PCI hot plug controller found.\n"

Definition at line 396 of file cpqphp.h.

#define msg_initialization_err   "Initialization failure, error=%d\n"

Definition at line 395 of file cpqphp.h.

#define msg_unable_to_save   "unable to store PCI hot plug add resource information. This system must be rebooted before adding any PCI devices.\n"

Definition at line 399 of file cpqphp.h.

#define MY_NAME   "cpqphp"

Definition at line 37 of file cpqphp.h.

#define NO_ADAPTER_PRESENT   0x00000009

Definition at line 384 of file cpqphp.h.

#define NOT_ENOUGH_RESOURCES   0x0000000B

Definition at line 385 of file cpqphp.h.

#define PCI_HPC_ID   0xA0F7

Definition at line 343 of file cpqphp.h.

#define PCI_SUB_HPC_ID   0xA2F7

Definition at line 344 of file cpqphp.h.

#define PCI_SUB_HPC_ID2   0xA2F8

Definition at line 345 of file cpqphp.h.

#define PCI_SUB_HPC_ID3   0xA2F9

Definition at line 346 of file cpqphp.h.

#define PCI_SUB_HPC_ID4   0xA2FD

Definition at line 348 of file cpqphp.h.

#define PCI_SUB_HPC_ID_INTC   0xA2FA

Definition at line 347 of file cpqphp.h.

#define PCI_TO_PCI_BRIDGE_CLASS   0x00060400

Definition at line 378 of file cpqphp.h.

#define PCISLOT_64_BIT_OPERATION   0x00000010

Definition at line 371 of file cpqphp.h.

#define PCISLOT_64_BIT_SUPPORTED   0x00000200

Definition at line 376 of file cpqphp.h.

#define PCISLOT_66_MHZ_OPERATION   0x00000008

Definition at line 370 of file cpqphp.h.

#define PCISLOT_66_MHZ_SUPPORTED   0x00000100

Definition at line 375 of file cpqphp.h.

#define PCISLOT_ADAPTER_PRESENT   0x00000002

Definition at line 368 of file cpqphp.h.

#define PCISLOT_ADD_SUPPORTED   0x00000040

Definition at line 373 of file cpqphp.h.

#define PCISLOT_INTERLOCK_CLOSED   0x00000001

Definition at line 367 of file cpqphp.h.

#define PCISLOT_INTERLOCK_SUPPORTED   0x00000080

Definition at line 374 of file cpqphp.h.

#define PCISLOT_POWERED   0x00000004

Definition at line 369 of file cpqphp.h.

#define PCISLOT_REPLACE_SUPPORTED   0x00000020

Definition at line 372 of file cpqphp.h.

#define POWER_FAILURE   0x0000000E

Definition at line 387 of file cpqphp.h.

#define POWEROFF_STATE   4

Definition at line 365 of file cpqphp.h.

#define POWERON_STATE   3

Definition at line 364 of file cpqphp.h.

#define REMOVE_NOT_SUPPORTED   0x00000003

Definition at line 389 of file cpqphp.h.

#define ROM_PHY_ADDR   0x0F0000

Definition at line 340 of file cpqphp.h.

#define ROM_PHY_LEN   0x00ffff

Definition at line 341 of file cpqphp.h.

#define STATIC_STATE   0

Definition at line 361 of file cpqphp.h.

#define warn (   format,
  arg... 
)    printk(KERN_WARNING "%s: " format , MY_NAME , ## arg)

Definition at line 42 of file cpqphp.h.

Enumeration Type Documentation

Enumerator:
SLOT_RST 
SLOT_ENABLE 
MISC 
LED_CONTROL 
INT_INPUT_CLEAR 
INT_MASK 
CTRL_RESERVED0 
CTRL_RESERVED1 
CTRL_RESERVED2 
GEN_OUTPUT_AB 
NON_INT_INPUT 
CTRL_RESERVED3 
CTRL_RESERVED4 
CTRL_RESERVED5 
CTRL_RESERVED6 
CTRL_RESERVED7 
CTRL_RESERVED8 
SLOT_MASK 
CTRL_RESERVED9 
CTRL_RESERVED10 
CTRL_RESERVED11 
SLOT_SERR 
SLOT_POWER 
NEXT_CURR_FREQ 
RESET_FREQ_MODE 
BASE_OFFSET 
SLOT_AVAIL1 
SLOT_AVAIL2 
SLOT_CONFIG 
SEC_BUS_CONFIG 
MSI_CTRL 
PROG_INTERFACE 
CMD 
CMD_STATUS 
INTR_LOC 
SERR_LOC 
SERR_INTR_ENABLE 
SLOT1 

Definition at line 153 of file cpqphp.h.

Enumerator:
SIG0 
SIG1 
SIG2 
SIG3 
UNUSED_IRQ 
NUMBER_OF_ENTRIES 
REVISION 
HRT_RESERVED1 
HRT_RESERVED2 

Definition at line 197 of file cpqphp.h.

Enumerator:
DEV_FUNC 
PRIMARY_BUS 
SECONDARY_BUS 
MAX_BUS 
IO_BASE 
IO_LENGTH 
MEM_BASE 
MEM_LENGTH 
PRE_MEM_BASE 
PRE_MEM_LENGTH 

Definition at line 226 of file cpqphp.h.

Enumerator:
ANCHOR 
EP_CHECKSUM 
EP_LENGTH 
MAJOR_VERSION 
MINOR_VERSION 
MAX_SIZE_ENTRY 
EP_REV 
INT_ANCHOR 
INT_CHECKSUM 
ST_LENGTH 
ST_ADDRESS 
NUMBER_OF_ENTRYS 
BCD_REV 

Definition at line 106 of file cpqphp.h.

Enumerator:
SMBIOS_GENERIC_TYPE 
SMBIOS_GENERIC_LENGTH 
SMBIOS_GENERIC_HANDLE 

Definition at line 82 of file cpqphp.h.

Enumerator:
SMBIOS_SLOT_GENERIC_TYPE 
SMBIOS_SLOT_GENERIC_LENGTH 
SMBIOS_SLOT_GENERIC_HANDLE 
SMBIOS_SLOT_NAME_STRING_NUM 
SMBIOS_SLOT_TYPE 
SMBIOS_SLOT_WIDTH 
SMBIOS_SLOT_CURRENT_USAGE 
SMBIOS_SLOT_LENGTH 
SMBIOS_SLOT_NUMBER 
SMBIOS_SLOT_PROPERTIES1 
SMBIOS_SLOT_PROPERTIES2 

Definition at line 61 of file cpqphp.h.

Function Documentation

Definition at line 171 of file esd_usb2.c.

int cpqhp_configure_board ( struct controller ctrl,
struct pci_func func 
)

Definition at line 946 of file cpqphp_pci.c.

int cpqhp_configure_device ( struct controller ctrl,
struct pci_func func 
)

Definition at line 84 of file cpqphp_pci.c.

void cpqhp_create_debugfs_files ( struct controller ctrl)

Definition at line 229 of file cpqphp_sysfs.c.

irqreturn_t cpqhp_ctrl_intr ( int  IRQ,
void data 
)

Definition at line 891 of file cpqphp_ctrl.c.

void cpqhp_destroy_board_resources ( struct pci_func func)

Definition at line 1519 of file cpqphp_pci.c.

void cpqhp_destroy_resource_list ( struct resource_lists resources)

Definition at line 1472 of file cpqphp_pci.c.

int cpqhp_event_start_thread ( void  )

Definition at line 1766 of file cpqphp_ctrl.c.

void cpqhp_event_stop_thread ( void  )

Definition at line 1778 of file cpqphp_ctrl.c.

int cpqhp_find_available_resources ( struct controller ctrl,
void __iomem rom_start 
)

Definition at line 1166 of file cpqphp_pci.c.

int cpqhp_get_bus_dev ( struct controller ctrl,
u8 bus_num,
u8 dev_num,
u8  slot 
)

Definition at line 277 of file cpqphp_pci.c.

int cpqhp_hardware_test ( struct controller ctrl,
int  test_num 
)

cpqhp_hardware_test - runs hardware tests : target controller : the number written to the "test" file in sysfs.

For hot plug ctrl folks to play with.

Definition at line 2188 of file cpqphp_ctrl.c.

void cpqhp_initialize_debugfs ( void  )

Definition at line 218 of file cpqphp_sysfs.c.

int cpqhp_process_SI ( struct controller ctrl,
struct pci_func func 
)

Definition at line 1989 of file cpqphp_ctrl.c.

int cpqhp_process_SS ( struct controller ctrl,
struct pci_func func 
)

Definition at line 2084 of file cpqphp_ctrl.c.

void cpqhp_pushbutton_thread ( unsigned long  slot)

cpqhp_pushbutton_thread - handle pushbutton events : target slot (struct)

Scheduled procedure to handle blocking stuff for the pushbuttons. Handles all pending events and exits.

Definition at line 1925 of file cpqphp_ctrl.c.

void cpqhp_remove_debugfs_files ( struct controller ctrl)

Definition at line 235 of file cpqphp_sysfs.c.

int cpqhp_resource_sort_and_combine ( struct pci_resource **  head)

cpqhp_resource_sort_and_combine - sort nodes by base addresses and clean up : the list to sort and clean up

Description: Sorts all of the nodes in the list in ascending order by their base addresses. Also does garbage collection by combining adjacent nodes.

Returns %0 if success.

Definition at line 827 of file cpqphp_ctrl.c.

int cpqhp_return_board_resources ( struct pci_func func,
struct resource_lists resources 
)

Definition at line 1416 of file cpqphp_pci.c.

int cpqhp_save_base_addr_length ( struct controller ctrl,
struct pci_func func 
)

Definition at line 546 of file cpqphp_pci.c.

int cpqhp_save_config ( struct controller ctrl,
int  busnumber,
int  is_hot_plug 
)

Definition at line 298 of file cpqphp_pci.c.

int cpqhp_save_slot_config ( struct controller ctrl,
struct pci_func new_slot 
)

Definition at line 462 of file cpqphp_pci.c.

int cpqhp_save_used_resources ( struct controller ctrl,
struct pci_func func 
)

Definition at line 683 of file cpqphp_pci.c.

int cpqhp_set_irq ( u8  bus_num,
u8  dev_num,
u8  int_pin,
u8  irq_num 
)

Definition at line 155 of file cpqphp_pci.c.

void cpqhp_shutdown_debugfs ( void  )

Definition at line 224 of file cpqphp_sysfs.c.

struct pci_func* cpqhp_slot_create ( u8  busnumber)
read

cpqhp_slot_create - Creates a node and adds it to the proper bus. : bus where new node is to be located

Returns pointer to the new node or NULL if unsuccessful.

Definition at line 969 of file cpqphp_ctrl.c.

struct pci_func* cpqhp_slot_find ( u8  bus,
u8  device,
u8  index 
)
read

cpqhp_slot_find - Looks for a node by bus, and device, multiple functions accessed : bus to find : device to find : is %0 for first function found, %1 for the second...

Returns pointer to the node if successful, NULL otherwise.

Definition at line 1082 of file cpqphp_ctrl.c.

int cpqhp_unconfigure_device ( struct pci_func func)

Definition at line 120 of file cpqphp_pci.c.

int cpqhp_valid_replace ( struct controller ctrl,
struct pci_func func 
)

Definition at line 1024 of file cpqphp_pci.c.

Variable Documentation

char anchor[4]

Definition at line 104 of file cpqphp.h.

u8 bcd_rev

Definition at line 117 of file cpqphp.h.

struct controller* cpqhp_ctrl_list

Definition at line 52 of file cpqphp_core.c.

int cpqhp_debug

Definition at line 50 of file cpqphp_core.c.

u8 cpqhp_disk_irq

Definition at line 43 of file cpqphp_pci.c.

int cpqhp_legacy_mode

Definition at line 51 of file cpqphp_core.c.

u8 cpqhp_nic_irq

Definition at line 42 of file cpqphp_pci.c.

struct irq_routing_table* cpqhp_routing_table

Definition at line 54 of file cpqphp_core.c.

struct pci_func* cpqhp_slot_list[256]

Definition at line 53 of file cpqphp_core.c.

u8 dev_func

Definition at line 222 of file cpqphp.h.

u8 ep_checksum

Definition at line 105 of file cpqphp.h.

u8 ep_length

Definition at line 106 of file cpqphp.h.

u8 ep_rev

Definition at line 110 of file cpqphp.h.

u8 gen_output_AB

Definition at line 160 of file cpqphp.h.

Definition at line 61 of file cpqphp.h.

char int_anchor[5]

Definition at line 112 of file cpqphp.h.

u8 int_checksum

Definition at line 113 of file cpqphp.h.

u32 int_input_clear

Definition at line 155 of file cpqphp.h.

u32 int_mask

Definition at line 156 of file cpqphp.h.

u16 io_base

Definition at line 226 of file cpqphp.h.

u16 io_length

Definition at line 227 of file cpqphp.h.

u32 led_control

Definition at line 154 of file cpqphp.h.

u8 length

Definition at line 60 of file cpqphp.h.

__le32 major_version

Definition at line 107 of file cpqphp.h.

u8 max_bus

Definition at line 225 of file cpqphp.h.

u16 max_size_entry

Definition at line 109 of file cpqphp.h.

u16 mem_base

Definition at line 228 of file cpqphp.h.

u16 mem_length

Definition at line 229 of file cpqphp.h.

__le32 minor_version

Definition at line 108 of file cpqphp.h.

u16 misc

Definition at line 153 of file cpqphp.h.

u8 name_string_num

Definition at line 62 of file cpqphp.h.

u8 next_curr_freq

Definition at line 176 of file cpqphp.h.

u32 non_int_input

Definition at line 161 of file cpqphp.h.

u8 number_of_entries

Definition at line 199 of file cpqphp.h.

u16 number_of_entrys

Definition at line 116 of file cpqphp.h.

PCIIRQ = offsetof(struct hrt, PCIIRQ)

Definition at line 198 of file cpqphp.h.

u16 pre_mem_base

Definition at line 230 of file cpqphp.h.

u16 pre_mem_length

Definition at line 231 of file cpqphp.h.

u8 primary_bus

Definition at line 223 of file cpqphp.h.

u8 properties1

Definition at line 68 of file cpqphp.h.

u8 properties2

Definition at line 69 of file cpqphp.h.

u8 reserved[5]

Definition at line 111 of file cpqphp.h.

u8 reserved0

Definition at line 157 of file cpqphp.h.

u16 reserved1

Definition at line 158 of file cpqphp.h.

u8 reserved10

Definition at line 170 of file cpqphp.h.

u8 reserved11

Definition at line 171 of file cpqphp.h.

u8 reserved12

Definition at line 174 of file cpqphp.h.

u8 reserved13

Definition at line 175 of file cpqphp.h.

u32 reserved2

Definition at line 159 of file cpqphp.h.

u32 reserved3

Definition at line 162 of file cpqphp.h.

u32 reserved4

Definition at line 163 of file cpqphp.h.

u32 reserved5

Definition at line 164 of file cpqphp.h.

u8 reserved6

Definition at line 165 of file cpqphp.h.

u8 reserved7

Definition at line 166 of file cpqphp.h.

u16 reserved8

Definition at line 167 of file cpqphp.h.

u8 reserved9

Definition at line 169 of file cpqphp.h.

u8 reset_freq_mode

Definition at line 177 of file cpqphp.h.

Definition at line 200 of file cpqphp.h.

u8 secondary_bus

Definition at line 224 of file cpqphp.h.

char sig0

Definition at line 193 of file cpqphp.h.

char sig1

Definition at line 194 of file cpqphp.h.

char sig2

Definition at line 195 of file cpqphp.h.

char sig3

Definition at line 196 of file cpqphp.h.

u8 slot_current_usage

Definition at line 65 of file cpqphp.h.

u8 slot_enable

Definition at line 152 of file cpqphp.h.

u8 slot_length

Definition at line 66 of file cpqphp.h.

u8 slot_mask

Definition at line 168 of file cpqphp.h.

u16 slot_number

Definition at line 67 of file cpqphp.h.

u8 slot_power

Definition at line 173 of file cpqphp.h.

u8 slot_RST

Definition at line 151 of file cpqphp.h.

u8 slot_SERR

Definition at line 172 of file cpqphp.h.

u8 slot_type

Definition at line 63 of file cpqphp.h.

u8 slot_width

Definition at line 64 of file cpqphp.h.

u32 st_address

Definition at line 115 of file cpqphp.h.

u16 st_length

Definition at line 114 of file cpqphp.h.

Definition at line 59 of file cpqphp.h.

u16 unused_IRQ

Definition at line 197 of file cpqphp.h.