diff options
Diffstat (limited to 'include/linux/pci-epf.h')
| -rw-r--r-- | include/linux/pci-epf.h | 11 | 
1 files changed, 8 insertions, 3 deletions
| diff --git a/include/linux/pci-epf.h b/include/linux/pci-epf.h index a215dc8ce693..3f44b6aec477 100644 --- a/include/linux/pci-epf.h +++ b/include/linux/pci-epf.h @@ -71,10 +71,14 @@ struct pci_epf_ops {   * struct pci_epf_event_ops - Callbacks for capturing the EPC events   * @core_init: Callback for the EPC initialization complete event   * @link_up: Callback for the EPC link up event + * @link_down: Callback for the EPC link down event + * @bme: Callback for the EPC BME (Bus Master Enable) event   */  struct pci_epc_event_ops {  	int (*core_init)(struct pci_epf *epf);  	int (*link_up)(struct pci_epf *epf); +	int (*link_down)(struct pci_epf *epf); +	int (*bme)(struct pci_epf *epf);  };  /** @@ -89,7 +93,8 @@ struct pci_epc_event_ops {   * @id_table: identifies EPF devices for probing   */  struct pci_epf_driver { -	int	(*probe)(struct pci_epf *epf); +	int	(*probe)(struct pci_epf *epf, +			 const struct pci_epf_device_id *id);  	void	(*remove)(struct pci_epf *epf);  	struct device_driver	driver; @@ -131,6 +136,7 @@ struct pci_epf_bar {   * @epc: the EPC device to which this EPF device is bound   * @epf_pf: the physical EPF device to which this virtual EPF device is bound   * @driver: the EPF driver to which this EPF device is bound + * @id: Pointer to the EPF device ID   * @list: to add pci_epf as a list of PCI endpoint functions to pci_epc   * @lock: mutex to protect pci_epf_ops   * @sec_epc: the secondary EPC device to which this EPF device is bound @@ -158,6 +164,7 @@ struct pci_epf {  	struct pci_epc		*epc;  	struct pci_epf		*epf_pf;  	struct pci_epf_driver	*driver; +	const struct pci_epf_device_id *id;  	struct list_head	list;  	/* mutex to protect against concurrent access of pci_epf_ops */  	struct mutex		lock; @@ -214,8 +221,6 @@ void pci_epf_free_space(struct pci_epf *epf, void *addr, enum pci_barno bar,  			enum pci_epc_interface_type type);  int pci_epf_bind(struct pci_epf *epf);  void pci_epf_unbind(struct pci_epf *epf); -struct config_group *pci_epf_type_add_cfs(struct pci_epf *epf, -					  struct config_group *group);  int pci_epf_add_vepf(struct pci_epf *epf_pf, struct pci_epf *epf_vf);  void pci_epf_remove_vepf(struct pci_epf *epf_pf, struct pci_epf *epf_vf);  #endif /* __LINUX_PCI_EPF_H */ |