Пример #1
0
static void iwl_pci_get_hw_id(struct iwl_bus *bus, char buf[],
			      int buf_len)
{
	struct pci_dev *pci_dev = IWL_BUS_GET_PCI_DEV(bus);

	snprintf(buf, buf_len, "PCI ID: 0x%04X:0x%04X", pci_dev->device,
		 pci_dev->subsystem_device);
}
Пример #2
0
static u16 iwl_pciexp_link_ctrl(struct iwl_bus *bus)
{
	int pos;
	u16 pci_lnk_ctl;
	struct pci_dev *pci_dev = IWL_BUS_GET_PCI_DEV(bus);

	pos = pci_pcie_cap(pci_dev);
	pci_read_config_word(pci_dev, pos + PCI_EXP_LNKCTL, &pci_lnk_ctl);
	return pci_lnk_ctl;
}
Пример #3
0
static void __devexit iwl_pci_remove(struct pci_dev *pdev)
{
    struct iwl_bus *bus = pci_get_drvdata(pdev);
    struct iwl_pci_bus *pci_bus = IWL_BUS_GET_PCI_BUS(bus);
    struct pci_dev *pci_dev = IWL_BUS_GET_PCI_DEV(bus);
    struct iwl_shared *shrd = bus->shrd;

    iwl_remove(shrd->priv);

    pci_disable_msi(pci_dev);
    pci_iounmap(pci_dev, pci_bus->hw_base);
    pci_release_regions(pci_dev);
    pci_disable_device(pci_dev);
    pci_set_drvdata(pci_dev, NULL);

    kfree(bus);
}
Пример #4
0
static void iwl_pci_set_drv_data(struct iwl_bus *bus, void *drv_data)
{
	bus->drv_data = drv_data;
	pci_set_drvdata(IWL_BUS_GET_PCI_DEV(bus), drv_data);
}