Lines Matching refs:driver

61 		return "no AER driver";
96 * eeh_pcid_get - Get the PCI device driver
99 * The function is used to retrieve the PCI device driver for
101 * of the PCI device driver to prevent that being unloaded on
106 if (!pdev || !pdev->dev.driver)
109 if (!try_module_get(pdev->dev.driver->owner))
112 return to_pci_driver(pdev->dev.driver);
116 * eeh_pcid_put - Dereference on the PCI device driver
120 * driver of the indicated PCI device.
124 if (!pdev || !pdev->dev.driver)
127 module_put(pdev->dev.driver->owner);
257 struct pci_driver *driver;
271 driver = eeh_pcid_get(pdev);
273 if (!driver)
274 eeh_edev_info(edev, "no driver");
275 else if (!driver->err_handler)
276 eeh_edev_info(edev, "driver not EEH aware");
278 eeh_edev_info(edev, "driver bound too late");
280 new_result = fn(edev, pdev, driver);
281 eeh_edev_info(edev, "%s driver reports: '%s'",
282 driver->name,
288 if (driver)
317 * eeh_report_error - Report pci error to each device driver
319 * @driver: device's PCI driver
321 * Report an EEH error to each device driver.
325 struct pci_driver *driver)
329 if (!driver->err_handler->error_detected)
333 driver->name);
334 rc = driver->err_handler->error_detected(pdev, pci_channel_io_frozen);
344 * @driver: device's PCI driver
346 * Tells each device driver that IO ports, MMIO and config space I/O
351 struct pci_driver *driver)
353 if (!driver->err_handler->mmio_enabled)
355 eeh_edev_info(edev, "Invoking %s->mmio_enabled()", driver->name);
356 return driver->err_handler->mmio_enabled(pdev);
362 * @driver: device's PCI driver
365 * PCI device so that the associated PCI device driver could take
366 * some actions, usually to save data the driver needs so that the
367 * driver can work again while the device is recovered.
371 struct pci_driver *driver)
373 if (!driver->err_handler->slot_reset || !edev->in_error)
375 eeh_edev_info(edev, "Invoking %s->slot_reset()", driver->name);
376 return driver->err_handler->slot_reset(pdev);
409 * @driver: device's PCI driver
411 * This routine must be called to notify the device driver that it
412 * could resume so that the device driver can do some initialization
417 struct pci_driver *driver)
419 if (!driver->err_handler->resume || !edev->in_error)
422 eeh_edev_info(edev, "Invoking %s->resume()", driver->name);
423 driver->err_handler->resume(pdev);
434 * eeh_report_failure - Tell device driver that device is dead.
436 * @driver: device's PCI driver
438 * This informs the device driver that the device is permanently
443 struct pci_driver *driver)
447 if (!driver->err_handler->error_detected)
451 driver->name);
452 rc = driver->err_handler->error_detected(pdev,
461 struct pci_driver *driver;
469 driver = eeh_pcid_get(dev);
470 if (driver) {
471 if (driver->err_handler) {
486 struct pci_driver *driver;
502 driver = eeh_pcid_get(dev);
503 if (driver) {
504 if (driver->err_handler &&
505 driver->err_handler->error_detected &&
506 driver->err_handler->slot_reset) {
515 pr_info("EEH: Removing %s without EEH sensitive driver\n",
614 * @driver_eeh_aware: Does the device's driver provide EEH support?
828 * Recovery process consists of unplugging the device driver (which
855 * a driver attempting to touch the MMIO space of a removed
859 * The hotplug driver should take care of tearing down the
1040 pr_info("EEH: Notify device driver to resume\n");