linux/drivers/mmc/core
Krzysztof Kozlowski 94cd101100 mmc: sdio: store owner from modules with sdio_register_driver()
Modules registering driver with sdio_register_driver() might
forget to set .owner field.  The field is used by some of other kernel
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 9447057eaf ("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,
libertas, MediaTek WiFi drivers, Realtek WiFi drivers, rsi, siano,
wilc1000, wl1251 and more.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Link: https://lore.kernel.org/r/20240329-module-owner-sdio-v1-1-e4010b11ccaa@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2024-04-02 12:50:14 +02:00
..
block.c mmc: core: Convert sprintf/snprintf to sysfs_emit 2024-04-02 12:21:39 +02:00
block.h
bus.c mmc: core: constify the struct device_type usage 2024-02-27 13:48:36 +01:00
bus.h mmc: core: constify the struct device_type usage 2024-02-27 13:48:36 +01:00
card.h mmc: Add quirk MMC_QUIRK_BROKEN_CACHE_FLUSH for Micron eMMC Q2J54A 2023-11-03 12:01:32 +01:00
core.c mmc: block: Retry commands in CQE error recovery 2023-11-14 17:15:07 +01:00
core.h mmc: core: refactor debugfs code 2022-12-07 13:29:13 +01:00
crypto.c blk-crypto: rename blk_keyslot_manager to blk_crypto_profile 2021-10-21 10:49:32 -06:00
crypto.h mmc: core: Add basic support for inline encryption 2021-02-01 12:02:33 +01:00
debugfs.c mmc: debugfs: add card entry for quirks 2024-04-02 12:25:08 +02:00
host.c mmc: core: Remove unused of_gpio.h 2024-04-02 12:21:38 +02:00
host.h mmc: host: factor out clearing the retune state 2021-08-24 10:15:28 +02:00
Kconfig mmc: core: Imply IOSCHED_BFQ 2023-02-02 16:02:02 +01:00
Makefile mmc: core: Add basic support for inline encryption 2021-02-01 12:02:33 +01:00
mmc_ops.c mmc: core: Align to common busy polling behaviour for mmc ioctls 2023-02-15 13:24:03 +01:00
mmc_ops.h mmc: core: Add host specific tuning support for SD HS mode 2023-08-25 11:45:51 +02:00
mmc_test.c mmc: mmc_test: Add re-tuning test 2024-01-02 17:54:05 +01:00
mmc.c mmc: core: constify the struct device_type usage 2024-02-27 13:48:36 +01:00
pwrseq_emmc.c mmc: pwrseq: Convert to platform remove callback returning void 2023-08-15 12:48:20 +02:00
pwrseq_sd8787.c mmc: pwrseq: sd8787: Convert to platform remove callback returning void 2023-08-15 12:48:20 +02:00
pwrseq_simple.c mmc: pwrseq_simple: Convert to platform remove callback returning void 2023-08-15 12:48:20 +02:00
pwrseq.c mmc: pwrseq: Use device_match_of_node() 2022-12-07 13:22:37 +01:00
pwrseq.h
queue.c MMC core: 2024-03-13 10:59:28 -07:00
queue.h mmc: switch to blk_mq_alloc_disk 2021-06-30 15:34:04 -06:00
quirks.h mmc: Add quirk MMC_QUIRK_BROKEN_CACHE_FLUSH for Micron eMMC Q2J54A 2023-11-03 12:01:32 +01:00
regulator.c mmc: core: add helpers mmc_regulator_enable/disable_vqmmc 2023-03-23 11:38:34 +01:00
sd_ops.c mmc: core: Add host specific tuning support for SD HS mode 2023-08-25 11:45:51 +02:00
sd_ops.h mmc: core: Add host specific tuning support for SD HS mode 2023-08-25 11:45:51 +02:00
sd.c mmc: core: constify the struct device_type usage 2024-02-27 13:48:36 +01:00
sd.h mmc: core: constify the struct device_type usage 2024-02-27 13:48:36 +01:00
sdio_bus.c mmc: sdio: store owner from modules with sdio_register_driver() 2024-04-02 12:50:14 +02:00
sdio_bus.h
sdio_cis.c mmc: sdio: fix possible resource leaks in some error paths 2023-02-14 00:06:22 +01:00
sdio_cis.h
sdio_io.c mmc: sdio: Spelling s/compement/complement/ 2023-01-23 15:51:38 +01:00
sdio_irq.c mmc: core: Switch to basic workqueue API for sdio_irq_work 2022-09-14 11:53:47 +02:00
sdio_ops.c mmc: sdio: Use mmc_pre_req() / mmc_post_req() 2020-09-07 08:57:44 +02:00
sdio_ops.h
sdio_uart.c tty: mmc: sdio: use u8 for flag 2023-12-08 12:02:37 +01:00
sdio.c mmc: core: constify the struct device_type usage 2024-02-27 13:48:36 +01:00
slot-gpio.c mmc: slot-gpio: Allow non-sleeping GPIO ro 2024-02-06 12:35:44 +01:00
slot-gpio.h