It appears that one of the supported platform magically worked with the custom IRQ handler (any hints how?) while having two PCB designs with an opposite CD sense level. Quirking it out reveals the code duplication and dead code. Patch 1 is code deduplication to save few LOCs. Patch 2-5 are dead code removals. In v3: - dropped the fix as it has been applied (Ulf) - added tag (Adrian) - elaborated commit IDs with their short descriptions in patch 3 (Adrian) - corrected dependency in patch 5 (Adrian) In v2: - redone fix to use ->get_cd() instead of quirks (Adrian) - due to above transformed previous clean up to the current patch 2 - added a new patch, i.e. patch 3 - added commit IDs to patch 4 (Adrian) - mentioned dependencies on previous patches in patch 5 and 6 (Adrian) Andy Shevchenko (5): mmc: sdhci: Deduplicate sdhci_get_cd_nogpio() mmc: sdhci: Remove unused prototype declaration in the header mmc: sdhci-pci: Remove dead code (struct sdhci_pci_data et al) mmc: sdhci-pci: Remove dead code (cd_gpio, cd_irq et al) mmc: sdhci-pci: Remove dead code (rst_n_gpio et al) drivers/mmc/host/Makefile | 1 - drivers/mmc/host/sdhci-acpi.c | 14 +-- drivers/mmc/host/sdhci-pci-core.c | 152 +---------------------------- drivers/mmc/host/sdhci-pci-data.c | 6 -- drivers/mmc/host/sdhci-pci.h | 5 - drivers/mmc/host/sdhci.c | 19 ++++ drivers/mmc/host/sdhci.h | 2 +- include/linux/mmc/sdhci-pci-data.h | 18 ---- 8 files changed, 26 insertions(+), 191 deletions(-) delete mode 100644 drivers/mmc/host/sdhci-pci-data.c delete mode 100644 include/linux/mmc/sdhci-pci-data.h -- 2.33.0