Message ID | 20240329-module-owner-sdio-v1-0-e4010b11ccaa@linaro.org |
---|---|
Headers | show |
Series | mmc/wifi/bluetooth: store owner from modules with sdio_register_driver() | expand |
On March 29, 2024 6:24:57 PM Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > Core in sdio_register_driver() already sets the .owner, so driver does > not need to. Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com> > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > > --- > > Depends on the first patch. > --- > drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c > b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c > index 00679a990e3d..13391c2d82aa 100644 > --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c > +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c > @@ -1238,7 +1238,6 @@ static struct sdio_driver brcmf_sdmmc_driver = { > .name = KBUILD_MODNAME, > .id_table = brcmf_sdmmc_ids, > .drv = { > - .owner = THIS_MODULE, > .pm = pm_sleep_ptr(&brcmf_sdio_pm_ops), > .coredump = brcmf_dev_coredump, > }, > > -- > 2.34.1
Hello Krzysztof, On Fri, Mar 29, 2024 at 06:24:31PM +0100, Krzysztof Kozlowski wrote: > Modules registering driver with sdio_register_driver() might > forget to set .owner field. The field is used by some of other kernel ^^ double space here > parts for reference counting (try_module_get()), so it is expected that > drivers will set it. > > Solve the problem by moving this task away from the drivers to the core > code, just like we did for platform_driver in > commit 9447057eaff8 ("platform_device: use a macro instead of > platform_driver_register"). > > Since many drivers forget to set the .owner, this effectively will fix > them. Examples of fixed drivers are: ath6kl, b43, btsdio.c, ks7010, ^^ and here > libertas, MediaTek WiFi drivers, Realtek WiFi drivers, rsi, siano, > wilc1000, wl1251 and more. > > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> My nit comments are irrelevant, but given you did the same twice I felt like letting you know. Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
On 31/03/2024 22:37, Francesco Dolcini wrote: > Hello Krzysztof, > > On Fri, Mar 29, 2024 at 06:24:31PM +0100, Krzysztof Kozlowski wrote: >> Modules registering driver with sdio_register_driver() might >> forget to set .owner field. The field is used by some of other kernel > ^^ double space here > >> parts for reference counting (try_module_get()), so it is expected that >> drivers will set it. >> >> Solve the problem by moving this task away from the drivers to the core >> code, just like we did for platform_driver in >> commit 9447057eaff8 ("platform_device: use a macro instead of >> platform_driver_register"). >> >> Since many drivers forget to set the .owner, this effectively will fix >> them. Examples of fixed drivers are: ath6kl, b43, btsdio.c, ks7010, > ^^ and here Which is correct :). Double space is on purpose. > >> libertas, MediaTek WiFi drivers, Realtek WiFi drivers, rsi, siano, >> wilc1000, wl1251 and more. >> >> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > > My nit comments are irrelevant, but given you did the same twice I felt > like letting you know. > > Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com> > Best regards, Krzysztof
On Fri, 29 Mar 2024 at 18:24, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > Merging > ======= > All further patches depend on the first patch. Everything could go via > one tree, e.g. MMC, or the cleanup patches removing owner would wait a > cycle. Patch 1 applied for next, thanks! I can certainly pick the remaining in the series through my mmc tree, but waiting a bit to queue them up to allow some more acks to be received. Kind regards Uffe > > Description > =========== > Modules registering driver with sdio_register_driver() might > forget to set .owner field. > > Solve the problem by moving this task away from the drivers to the core > code, just like we did for platform_driver in commit 9447057eaff8 > ("platform_device: use a macro instead of platform_driver_register"). > > Best regards, > Krzysztof > > --- > Krzysztof Kozlowski (7): > mmc: sdio: store owner from modules with sdio_register_driver() > bluetooth: btmrvl_sdio: drop driver owner initialization > bluetooth: btmtksdio: drop driver owner initialization > wifi: ath10k: sdio: drop driver owner initialization > wifi: brcm80211: drop driver owner initialization > wifi: marvell: mwifiex: drop driver owner initialization > wifi: silabs: wfx: drop driver owner initialization > > drivers/bluetooth/btmrvl_sdio.c | 1 - > drivers/bluetooth/btmtksdio.c | 1 - > drivers/mmc/core/sdio_bus.c | 9 ++++++--- > drivers/net/wireless/ath/ath10k/sdio.c | 1 - > drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c | 1 - > drivers/net/wireless/marvell/mwifiex/sdio.c | 1 - > drivers/net/wireless/silabs/wfx/bus_sdio.c | 1 - > include/linux/mmc/sdio_func.h | 5 ++++- > 8 files changed, 10 insertions(+), 10 deletions(-) > --- > base-commit: 087c142b2b04898c897aa77938d05a93907150e5 > change-id: 20240329-module-owner-sdio-abd5de3f1d74 > > Best regards, > -- > Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> >