Lines Matching full:io
24 static int ipmi_pci_probe_regspacing(struct si_sm_io *io) in ipmi_pci_probe_regspacing() argument
26 if (io->si_type == SI_KCS) { in ipmi_pci_probe_regspacing()
30 io->regsize = DEFAULT_REGSIZE; in ipmi_pci_probe_regspacing()
31 io->regshift = 0; in ipmi_pci_probe_regspacing()
35 io->regspacing = regspacing; in ipmi_pci_probe_regspacing()
36 if (io->io_setup(io)) { in ipmi_pci_probe_regspacing()
37 dev_err(io->dev, "Could not setup I/O space\n"); in ipmi_pci_probe_regspacing()
41 io->outputb(io, 1, 0x10); in ipmi_pci_probe_regspacing()
43 status = io->inputb(io, 1); in ipmi_pci_probe_regspacing()
44 io->io_cleanup(io); in ipmi_pci_probe_regspacing()
66 struct si_sm_io io; in ipmi_pci_probe() local
71 memset(&io, 0, sizeof(io)); in ipmi_pci_probe()
72 io.addr_source = SI_PCI; in ipmi_pci_probe()
77 io.si_type = SI_SMIC; in ipmi_pci_probe()
81 io.si_type = SI_KCS; in ipmi_pci_probe()
85 io.si_type = SI_BT; in ipmi_pci_probe()
103 io.addr_space = IPMI_IO_ADDR_SPACE; in ipmi_pci_probe()
104 io.io_setup = ipmi_si_port_setup; in ipmi_pci_probe()
106 io.addr_space = IPMI_MEM_ADDR_SPACE; in ipmi_pci_probe()
107 io.io_setup = ipmi_si_mem_setup; in ipmi_pci_probe()
109 io.addr_data = pci_resource_start(pdev, 0); in ipmi_pci_probe()
111 io.dev = &pdev->dev; in ipmi_pci_probe()
113 io.regspacing = ipmi_pci_probe_regspacing(&io); in ipmi_pci_probe()
114 io.regsize = DEFAULT_REGSIZE; in ipmi_pci_probe()
115 io.regshift = 0; in ipmi_pci_probe()
117 io.irq = pdev->irq; in ipmi_pci_probe()
118 if (io.irq) in ipmi_pci_probe()
119 io.irq_setup = ipmi_std_irq_setup; in ipmi_pci_probe()
122 &pdev->resource[0], io.regsize, io.regspacing, io.irq); in ipmi_pci_probe()
124 return ipmi_si_add_smi(&io); in ipmi_pci_probe()