Realtek Ethernet Controller Driver ( драйвер realtek) - это совершенно DispName "Realtek 8169 NT Driver" "Realtek PCI -E NIC Family NDIS Особенно это актуально для игр и программ, работающих с графикой.
На примере драйвера PCI для контроллера NAND Denali я покажу как упрощается код при использовании макросов и функций-помощников, доступных в относительно свежих версиях ядра Linux. Этот старый драйвер врядли используется, но является хорошим примером кода, который можно отрефакторить. Сам драйвер находится в drivers/mtd/nand/denali_pci.c. Подготовка Kconfig Первым делом коснёмся Kconfig. Поскольку драйвер разбит по уже классической схеме, а именно: основная часть + драйвер на шине, следуя логике (в том числе и самого Торвальдса) нам необходимо скрыть выбор основной части от пользователя. Попутно заменяем пробелы на табуляции в тех строках, которые изменяем. Делай раз! --- a/drivers/mtd/nand/denali_pci.c +++ b/drivers/mtd/nand/denali_pci.c @@ -30,7 +30,7 @@ MODULE_DEVICE_TABLE(pci, denali_pci_ids); static int denali_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) { - int ret = -ENODEV; + int ret; resource_size_t csr_base, mem_base; unsigned long csr_len, mem_len; struct denali_nand_info *denali; @@ -39,7 +39,7 @@ static int denali_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) if (!denali) return -ENOMEM; - ret = pci_enable_device(dev); + ret = pcim_enable_device(dev); if (ret) { pr_err("Spectra: pci_enable_device failed.\ "); return ret; @@ -70,14 +70,13 @@ static int denali_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) ret = pci_request_regions(dev, DENALI_NAND_NAME); if (ret) { pr_err("Spectra: Unable to request memory regions\ "); - goto failed_enable_dev; + return ret; } denali->flash_reg = ioremap_nocache(csr_base, csr_len); if (!denali->flash_reg) { pr_err("Spectra: Unable to remap memory region\ "); - ret = -ENOMEM; - goto failed_req_regions; + return -ENOMEM; } denali->flash_mem = ioremap_nocache(mem_base, mem_len); @@ -99,10 +98,6 @@ failed_remap_mem: iounmap(denali->flash_mem); failed_remap_reg: iounmap(denali->flash_reg); -failed_req_regions: - pci_release_regions(dev); -failed_enable_dev: - pci_disable_device(dev); return ret; } @@ -114,8 +109,6 @@ static void denali_pci_remove(struct pci_dev *dev) denali_remove(denali); iounmap(denali->flash_reg); iounmap(denali->flash_mem); - pci_release_regions(dev); - pci_disable_device(dev); } --- a/drivers/mtd/nand/denali_pci.c +++ b/drivers/mtd/nand/denali_pci.c @@ -41,7 +41,7 @@ static int denali_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) ret = pcim_enable_device(dev); if (ret) { - pr_err("Spectra: pci_enable_device failed.\ "); + dev_err(&dev->dev, "Spectra: pci_enable_device failed.\ "); return ret; } @@ -69,19 +69,19 @@ static int denali_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) ret = pci_request_regions(dev, DENALI_NAND_NAME); if (ret) { - pr_err("Spectra: Unable to request memory regions\ "); + dev_err(&dev->dev, "Spectra: Unable to request memory regions\ "); return ret; } denali->flash_reg = ioremap_nocache(csr_base, csr_len); if (!denali->flash_reg) { - pr_err("Spectra: Unable to remap memory region\ "); + dev_err(&dev->dev, "Spectra: Unable to remap memory region\ "); return -ENOMEM; } denali->flash_mem = ioremap_nocache(mem_base, mem_len); if (!denali->flash_mem) { - pr_err("Spectra: ioremap_nocache failed!"); + dev_err(&dev->dev, "Spectra: ioremap_nocache failed!"); ret = -ENOMEM; goto failed_remap_reg; }','url':'http://habrahabr.ru/post/264289/','og_descr':'На примере драйвера PCI для контроллера NAND Denali я покажу как упрощается код при использовании макросов и функций-помощников, доступных в относительно свежих...
При установке Windows 7 на Acer Espire E1-572G возникла проблема только с данными драйверами : 1. PCI контроллер Simple (1/1) - Russian.
При работе 3D приложений и игр они аварийно завершаются, компьютер причиной может быть некорректный драйвер AGP контроллера чипсета. совместимости с PCI, видеокарта с интерфейсом PCI Express работает не с.
На примере драйвера PCI для контроллера NAND Denali я покажу как упрощается код при использовании макросов и.
Новейшие драйвера для Lenovo G505 для Windows XP, Windows 7, и работой игр, с подтормаживанием интерфейса системы и видео. то в Диспетчере устройств будет несколько PCI - контроллеров памяти.