Manikanta Pubbisetty <quic_mpubbise@xxxxxxxxxxx> writes: > Remove core PCI and ath11k PCI references(struct ath11k_pci) > from PCI common code. Since, PCI common code will be used > by hybrid bus devices, this code should be independent > from ATH11K PCI references and Linux core PCI references > like struct pci_dev. > > Since this change introduces function callbacks for bus wakeup > and bus release operations, wakeup_mhi HW param is no longer > needed and hence it is removed completely. Alternatively, bus > wakeup/release ops for QCA9074 are initialized to NULL as > QCA9704 does not need bus wakeup/release for register accesses. > > Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-00573-QCAMSLSWPLZ-1 > Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-01720.1-QCAHSPSWPL_V1_V2_SILICONZ_LITE-1 > Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.5.0.1-01100-QCAHKSWPL_SILICONZ-1 > Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.4.0.1-00192-QCAHKSWPL_SILICONZ-1 > > Signed-off-by: Manikanta Pubbisetty <quic_mpubbise@xxxxxxxxxxx> [...] > @@ -651,6 +653,13 @@ struct ath11k_bus_params { > bool fixed_bdf_addr; > bool fixed_mem_region; > bool static_window_map; > + struct { > + void (*wakeup)(struct ath11k_base *ab); > + void (*release)(struct ath11k_base *ab); > + int (*get_msi_irq)(struct ath11k_base *ab, unsigned int vector); > + void (*window_write32)(struct ath11k_base *ab, u32 offset, u32 value); > + u32 (*window_read32)(struct ath11k_base *ab, u32 offset); > + } ops; > }; Please don't use bus_params for this, I'm starting to suspect that we actually need to remove struct ath11k_bus_params altogether. It would be cleaner to have separate 'struct ath11k_pci_ops' or something like that. -- https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches