Message ID | 20230330143718.19511-1-tiwai@suse.de (mailing list archive) |
---|---|
State | Awaiting Upstream |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | ath11k: pci: Add more MODULE_FIRMWARE() entries | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Not a local patch |
On Thu, Mar 30, 2023 at 04:37:18PM +0200, Takashi Iwai wrote: > As there are a few more models supported by the driver, let's add the > missing MODULE_FIRMWARE() entries for them. The lack of them resulted > in the missing device enablement on some systems, such as the > installation image of openSUSE. > > While we are at it, use the wildcard instead of listing each firmware > files individually for each. > > Signed-off-by: Takashi Iwai <tiwai@suse.de> > --- > > I can rewrite without wildcards if it's preferred, too. > But IMO this makes easier to maintain. > > drivers/net/wireless/ath/ath11k/pci.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/drivers/net/wireless/ath/ath11k/pci.c b/drivers/net/wireless/ath/ath11k/pci.c > index 0aeef2948ff5..379f7946a29e 100644 > --- a/drivers/net/wireless/ath/ath11k/pci.c > +++ b/drivers/net/wireless/ath/ath11k/pci.c > @@ -1039,7 +1039,8 @@ module_exit(ath11k_pci_exit); > MODULE_DESCRIPTION("Driver support for Qualcomm Technologies 802.11ax WLAN PCIe devices"); > MODULE_LICENSE("Dual BSD/GPL"); > > -/* QCA639x 2.0 firmware files */ > -MODULE_FIRMWARE(ATH11K_FW_DIR "/QCA6390/hw2.0/" ATH11K_BOARD_API2_FILE); > -MODULE_FIRMWARE(ATH11K_FW_DIR "/QCA6390/hw2.0/" ATH11K_AMSS_FILE); > -MODULE_FIRMWARE(ATH11K_FW_DIR "/QCA6390/hw2.0/" ATH11K_M3_FILE); > +/* firmware files */ > +MODULE_FIRMWARE(ATH11K_FW_DIR "/QCA6390/hw2.0/*"); > +MODULE_FIRMWARE(ATH11K_FW_DIR "/QCN9074/hw1.0/*"); > +MODULE_FIRMWARE(ATH11K_FW_DIR "/WCN6855/hw2.0/*"); > +MODULE_FIRMWARE(ATH11K_FW_DIR "/WCN6855/hw2.1/*"); I don't feel strongly about this. But unless I'm mistaken the above does seem to pick up a number of files totalling around 25Mbytes. Perhaps that isn't ideal. $ find ath11k/QC* ath11k/WCN6* ath11k/QCA6390 ath11k/QCA6390/hw2.0 ath11k/QCA6390/hw2.0/board-2.bin ath11k/QCA6390/hw2.0/Notice.txt ath11k/QCA6390/hw2.0/amss.bin ath11k/QCA6390/hw2.0/m3.bin ath11k/QCN9074 ath11k/QCN9074/hw1.0 ath11k/QCN9074/hw1.0/board-2.bin ath11k/QCN9074/hw1.0/Notice.txt ath11k/QCN9074/hw1.0/amss.bin ath11k/QCN9074/hw1.0/m3.bin ath11k/WCN6750 ath11k/WCN6750/hw1.0 ath11k/WCN6750/hw1.0/wpss.b02 ath11k/WCN6750/hw1.0/wpss.b04 ath11k/WCN6750/hw1.0/wpss.b03 ath11k/WCN6750/hw1.0/board-2.bin ath11k/WCN6750/hw1.0/wpss.b08 ath11k/WCN6750/hw1.0/wpss.b05 ath11k/WCN6750/hw1.0/Notice.txt ath11k/WCN6750/hw1.0/wpss.b01 ath11k/WCN6750/hw1.0/wpss.b06 ath11k/WCN6750/hw1.0/wpss.b07 ath11k/WCN6750/hw1.0/wpss.b00 ath11k/WCN6750/hw1.0/wpss.mdt ath11k/WCN6855 ath11k/WCN6855/hw2.0 ath11k/WCN6855/hw2.0/board-2.bin ath11k/WCN6855/hw2.0/regdb.bin ath11k/WCN6855/hw2.0/Notice.txt ath11k/WCN6855/hw2.0/amss.bin ath11k/WCN6855/hw2.0/m3.bin $ du -sh ath11k/QC* ath11k/WCN6* 3,2M ath11k/QCA6390 4,0M ath11k/QCN9074 8,1M ath11k/WCN6750 9,7M ath11k/WCN6855
On Fri, 31 Mar 2023 15:45:27 +0200, Simon Horman wrote: > > On Thu, Mar 30, 2023 at 04:37:18PM +0200, Takashi Iwai wrote: > > As there are a few more models supported by the driver, let's add the > > missing MODULE_FIRMWARE() entries for them. The lack of them resulted > > in the missing device enablement on some systems, such as the > > installation image of openSUSE. > > > > While we are at it, use the wildcard instead of listing each firmware > > files individually for each. > > > > Signed-off-by: Takashi Iwai <tiwai@suse.de> > > --- > > > > I can rewrite without wildcards if it's preferred, too. > > But IMO this makes easier to maintain. > > > > drivers/net/wireless/ath/ath11k/pci.c | 9 +++++---- > > 1 file changed, 5 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/net/wireless/ath/ath11k/pci.c b/drivers/net/wireless/ath/ath11k/pci.c > > index 0aeef2948ff5..379f7946a29e 100644 > > --- a/drivers/net/wireless/ath/ath11k/pci.c > > +++ b/drivers/net/wireless/ath/ath11k/pci.c > > @@ -1039,7 +1039,8 @@ module_exit(ath11k_pci_exit); > > MODULE_DESCRIPTION("Driver support for Qualcomm Technologies 802.11ax WLAN PCIe devices"); > > MODULE_LICENSE("Dual BSD/GPL"); > > > > -/* QCA639x 2.0 firmware files */ > > -MODULE_FIRMWARE(ATH11K_FW_DIR "/QCA6390/hw2.0/" ATH11K_BOARD_API2_FILE); > > -MODULE_FIRMWARE(ATH11K_FW_DIR "/QCA6390/hw2.0/" ATH11K_AMSS_FILE); > > -MODULE_FIRMWARE(ATH11K_FW_DIR "/QCA6390/hw2.0/" ATH11K_M3_FILE); > > +/* firmware files */ > > +MODULE_FIRMWARE(ATH11K_FW_DIR "/QCA6390/hw2.0/*"); > > +MODULE_FIRMWARE(ATH11K_FW_DIR "/QCN9074/hw1.0/*"); > > +MODULE_FIRMWARE(ATH11K_FW_DIR "/WCN6855/hw2.0/*"); > > +MODULE_FIRMWARE(ATH11K_FW_DIR "/WCN6855/hw2.1/*"); > > I don't feel strongly about this. > > But unless I'm mistaken the above does seem to pick up a number of files > totalling around 25Mbytes. Perhaps that isn't ideal. MODULE_FIRMWARE() itself is nothing but a hint for the required firmware files. The driver supports those models, hence it should list up the mandatory firmware files that *can* be used with it; without the firmware, the driver itself is just useless, as you know. The rest -- how to reduce the actual sizes -- is above the kernel modinfo covers, and it depends on the system implementation, IMO. It can be somehow more selective, it can compress data, or it can load the stuff on demands. thanks, Takashi
On Fri, Mar 31, 2023 at 03:58:17PM +0200, Takashi Iwai wrote: > On Fri, 31 Mar 2023 15:45:27 +0200, > Simon Horman wrote: > > > > On Thu, Mar 30, 2023 at 04:37:18PM +0200, Takashi Iwai wrote: > > > As there are a few more models supported by the driver, let's add the > > > missing MODULE_FIRMWARE() entries for them. The lack of them resulted > > > in the missing device enablement on some systems, such as the > > > installation image of openSUSE. > > > > > > While we are at it, use the wildcard instead of listing each firmware > > > files individually for each. > > > > > > Signed-off-by: Takashi Iwai <tiwai@suse.de> > > > --- > > > > > > I can rewrite without wildcards if it's preferred, too. > > > But IMO this makes easier to maintain. > > > > > > drivers/net/wireless/ath/ath11k/pci.c | 9 +++++---- > > > 1 file changed, 5 insertions(+), 4 deletions(-) > > > > > > diff --git a/drivers/net/wireless/ath/ath11k/pci.c b/drivers/net/wireless/ath/ath11k/pci.c > > > index 0aeef2948ff5..379f7946a29e 100644 > > > --- a/drivers/net/wireless/ath/ath11k/pci.c > > > +++ b/drivers/net/wireless/ath/ath11k/pci.c > > > @@ -1039,7 +1039,8 @@ module_exit(ath11k_pci_exit); > > > MODULE_DESCRIPTION("Driver support for Qualcomm Technologies 802.11ax WLAN PCIe devices"); > > > MODULE_LICENSE("Dual BSD/GPL"); > > > > > > -/* QCA639x 2.0 firmware files */ > > > -MODULE_FIRMWARE(ATH11K_FW_DIR "/QCA6390/hw2.0/" ATH11K_BOARD_API2_FILE); > > > -MODULE_FIRMWARE(ATH11K_FW_DIR "/QCA6390/hw2.0/" ATH11K_AMSS_FILE); > > > -MODULE_FIRMWARE(ATH11K_FW_DIR "/QCA6390/hw2.0/" ATH11K_M3_FILE); > > > +/* firmware files */ > > > +MODULE_FIRMWARE(ATH11K_FW_DIR "/QCA6390/hw2.0/*"); > > > +MODULE_FIRMWARE(ATH11K_FW_DIR "/QCN9074/hw1.0/*"); > > > +MODULE_FIRMWARE(ATH11K_FW_DIR "/WCN6855/hw2.0/*"); > > > +MODULE_FIRMWARE(ATH11K_FW_DIR "/WCN6855/hw2.1/*"); > > > > I don't feel strongly about this. > > > > But unless I'm mistaken the above does seem to pick up a number of files > > totalling around 25Mbytes. Perhaps that isn't ideal. > > MODULE_FIRMWARE() itself is nothing but a hint for the required > firmware files. The driver supports those models, hence it should > list up the mandatory firmware files that *can* be used with it; > without the firmware, the driver itself is just useless, as you know. > > The rest -- how to reduce the actual sizes -- is above the kernel > modinfo covers, and it depends on the system implementation, IMO. > It can be somehow more selective, it can compress data, or it can load > the stuff on demands. Thanks, understood. If that is the case then I have no objections. Reviewed-by: Simon Horman <simon.horman@corigine.com>
Takashi Iwai <tiwai@suse.de> wrote: > As there are a few more models supported by the driver, let's add the > missing MODULE_FIRMWARE() entries for them. The lack of them resulted > in the missing device enablement on some systems, such as the > installation image of openSUSE. > > While we are at it, use the wildcard instead of listing each firmware > files individually for each. > > Signed-off-by: Takashi Iwai <tiwai@suse.de> > Reviewed-by: Simon Horman <simon.horman@corigine.com> > Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Patch applied to ath-next branch of ath.git, thanks. 06c584739692 wifi: ath11k: pci: Add more MODULE_FIRMWARE() entries
diff --git a/drivers/net/wireless/ath/ath11k/pci.c b/drivers/net/wireless/ath/ath11k/pci.c index 0aeef2948ff5..379f7946a29e 100644 --- a/drivers/net/wireless/ath/ath11k/pci.c +++ b/drivers/net/wireless/ath/ath11k/pci.c @@ -1039,7 +1039,8 @@ module_exit(ath11k_pci_exit); MODULE_DESCRIPTION("Driver support for Qualcomm Technologies 802.11ax WLAN PCIe devices"); MODULE_LICENSE("Dual BSD/GPL"); -/* QCA639x 2.0 firmware files */ -MODULE_FIRMWARE(ATH11K_FW_DIR "/QCA6390/hw2.0/" ATH11K_BOARD_API2_FILE); -MODULE_FIRMWARE(ATH11K_FW_DIR "/QCA6390/hw2.0/" ATH11K_AMSS_FILE); -MODULE_FIRMWARE(ATH11K_FW_DIR "/QCA6390/hw2.0/" ATH11K_M3_FILE); +/* firmware files */ +MODULE_FIRMWARE(ATH11K_FW_DIR "/QCA6390/hw2.0/*"); +MODULE_FIRMWARE(ATH11K_FW_DIR "/QCN9074/hw1.0/*"); +MODULE_FIRMWARE(ATH11K_FW_DIR "/WCN6855/hw2.0/*"); +MODULE_FIRMWARE(ATH11K_FW_DIR "/WCN6855/hw2.1/*");
As there are a few more models supported by the driver, let's add the missing MODULE_FIRMWARE() entries for them. The lack of them resulted in the missing device enablement on some systems, such as the installation image of openSUSE. While we are at it, use the wildcard instead of listing each firmware files individually for each. Signed-off-by: Takashi Iwai <tiwai@suse.de> --- I can rewrite without wildcards if it's preferred, too. But IMO this makes easier to maintain. drivers/net/wireless/ath/ath11k/pci.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)