diff options
Diffstat (limited to 'drivers/xen/xen-pciback/pci_stub.c')
| -rw-r--r-- | drivers/xen/xen-pciback/pci_stub.c | 35 | 
1 files changed, 15 insertions, 20 deletions
diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c index aec214ac0a1..8f06e1ed028 100644 --- a/drivers/xen/xen-pciback/pci_stub.c +++ b/drivers/xen/xen-pciback/pci_stub.c @@ -21,8 +21,6 @@  #include "conf_space.h"  #include "conf_space_quirks.h" -#define DRV_NAME	"xen-pciback" -  static char *pci_devs_to_hide;  wait_queue_head_t xen_pcibk_aer_wait_queue;  /*Add sem for sync AER handling and xen_pcibk remove/reconfigue ops, @@ -222,6 +220,8 @@ void pcistub_put_pci_dev(struct pci_dev *dev)  	}  	spin_unlock_irqrestore(&pcistub_devices_lock, flags); +	if (WARN_ON(!found_psdev)) +		return;  	/*hold this lock for avoiding breaking link between  	* pcistub and xen_pcibk when AER is in processing @@ -514,12 +514,9 @@ static void kill_domain_by_device(struct pcistub_device *psdev)  	int err;  	char nodename[PCI_NODENAME_MAX]; -	if (!psdev) -		dev_err(&psdev->dev->dev, -			"device is NULL when do AER recovery/kill_domain\n"); +	BUG_ON(!psdev);  	snprintf(nodename, PCI_NODENAME_MAX, "/local/domain/0/backend/pci/%d/0",  		psdev->pdev->xdev->otherend_id); -	nodename[strlen(nodename)] = '\0';  again:  	err = xenbus_transaction_start(&xbt); @@ -605,7 +602,7 @@ static pci_ers_result_t common_process(struct pcistub_device *psdev,  	if (test_bit(_XEN_PCIF_active,  		(unsigned long *)&psdev->pdev->sh_info->flags)) {  		dev_dbg(&psdev->dev->dev, -			"schedule pci_conf service in xen_pcibk\n"); +			"schedule pci_conf service in " DRV_NAME "\n");  		xen_pcibk_test_and_schedule_op(psdev->pdev);  	} @@ -995,8 +992,7 @@ out:  		err = count;  	return err;  } - -DRIVER_ATTR(new_slot, S_IWUSR, NULL, pcistub_slot_add); +static DRIVER_ATTR(new_slot, S_IWUSR, NULL, pcistub_slot_add);  static ssize_t pcistub_slot_remove(struct device_driver *drv, const char *buf,  				   size_t count) @@ -1015,8 +1011,7 @@ out:  		err = count;  	return err;  } - -DRIVER_ATTR(remove_slot, S_IWUSR, NULL, pcistub_slot_remove); +static DRIVER_ATTR(remove_slot, S_IWUSR, NULL, pcistub_slot_remove);  static ssize_t pcistub_slot_show(struct device_driver *drv, char *buf)  { @@ -1039,8 +1034,7 @@ static ssize_t pcistub_slot_show(struct device_driver *drv, char *buf)  	return count;  } - -DRIVER_ATTR(slots, S_IRUSR, pcistub_slot_show, NULL); +static DRIVER_ATTR(slots, S_IRUSR, pcistub_slot_show, NULL);  static ssize_t pcistub_irq_handler_show(struct device_driver *drv, char *buf)  { @@ -1069,8 +1063,7 @@ static ssize_t pcistub_irq_handler_show(struct device_driver *drv, char *buf)  	spin_unlock_irqrestore(&pcistub_devices_lock, flags);  	return count;  } - -DRIVER_ATTR(irq_handlers, S_IRUSR, pcistub_irq_handler_show, NULL); +static DRIVER_ATTR(irq_handlers, S_IRUSR, pcistub_irq_handler_show, NULL);  static ssize_t pcistub_irq_handler_switch(struct device_driver *drv,  					  const char *buf, @@ -1106,7 +1099,8 @@ out:  		err = count;  	return err;  } -DRIVER_ATTR(irq_handler_state, S_IWUSR, NULL, pcistub_irq_handler_switch); +static DRIVER_ATTR(irq_handler_state, S_IWUSR, NULL, +		   pcistub_irq_handler_switch);  static ssize_t pcistub_quirk_add(struct device_driver *drv, const char *buf,  				 size_t count) @@ -1170,8 +1164,8 @@ out:  	return count;  } - -DRIVER_ATTR(quirks, S_IRUSR | S_IWUSR, pcistub_quirk_show, pcistub_quirk_add); +static DRIVER_ATTR(quirks, S_IRUSR | S_IWUSR, pcistub_quirk_show, +		   pcistub_quirk_add);  static ssize_t permissive_add(struct device_driver *drv, const char *buf,  			      size_t count) @@ -1236,8 +1230,8 @@ static ssize_t permissive_show(struct device_driver *drv, char *buf)  	spin_unlock_irqrestore(&pcistub_devices_lock, flags);  	return count;  } - -DRIVER_ATTR(permissive, S_IRUSR | S_IWUSR, permissive_show, permissive_add); +static DRIVER_ATTR(permissive, S_IRUSR | S_IWUSR, permissive_show, +		   permissive_add);  static void pcistub_exit(void)  { @@ -1374,3 +1368,4 @@ module_init(xen_pcibk_init);  module_exit(xen_pcibk_cleanup);  MODULE_LICENSE("Dual BSD/GPL"); +MODULE_ALIAS("xen-backend:pci");  |