#define pr_fmt(fmt) "ipmi_pci: " fmt
#include <linux/module.h>
static bool pci_registered;
static bool si_trypci = true;
module_param_named(trypci, si_trypci, bool, 0);
MODULE_PARM_DESC(trypci, "Setting this to zero will disable the"
" default scan of the interfaces identified via pci");
#define PCI_DEVICE_ID_HP_MMC 0x121A
static void ipmi_pci_cleanup(struct si_sm_io *io)
struct pci_dev *pdev = io->addr_source_data;
pci_disable_device(pdev);
static int ipmi_pci_probe_regspacing(struct si_sm_io *io)
if (io->si_type == SI_KCS) {
io->regsize = DEFAULT_REGSIZE;
for (regspacing = DEFAULT_REGSPACING; regspacing <= 16;) {
io->regspacing = regspacing;
dev_err(io->dev, "Could not setup I/O space\n");
return DEFAULT_REGSPACING;
io->outputb(io, 1, 0x10);
status = io->inputb(io, 1);
return DEFAULT_REGSPACING;
static struct pci_device_id ipmi_pci_blacklist[] = {