I know this topic was discussed many times before but I can't find a solution for me.
I updated fro kernel 3.6.11 to 4.1.12. Now pretty much everything works fine, but my integrated SD/MMC card reader.

My main laptop also has a Realtek controller for the memory card slot, albeit not a 5209. I had to make some changes in order to get it working. I'm not using a 4.* kernel yet, but perhaps the following description of what I did might be of some help to you:

ronny-reiner-rambo linux # cat .config | grep -i hotplug
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTPLUG_SPARSE=y
CONFIG_HOTPLUG_CPU=y
# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_HOTPLUG_MEMORY=y
CONFIG_ACPI_HOTPLUG_IOAPIC=y
# CONFIG_HOTPLUG_PCI_PCIE is not set
CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_ACPI=y
# CONFIG_HOTPLUG_PCI_ACPI_IBM is not set
CONFIG_HOTPLUG_PCI_CPCI=y
# CONFIG_HOTPLUG_PCI_CPCI_ZT5550 is not set
# CONFIG_HOTPLUG_PCI_CPCI_GENERIC is not set
CONFIG_HOTPLUG_PCI_SHPC=y

The "unassigned class" is not a problem of the kernel or driver, it is just that lspci has no database entry for it.

Do you get anything new in dmesg when you plug in a card?
If nothing happens: I am not sure whether the rtsx_pci driver should drive both devices, can you ensure that the rtsx_pci driver loads before the sdhci one at boot?

clevow230ss fitzcarraldo # grep -i hotplug /usr/src/linux/.config
# CONFIG_MEMORY_HOTPLUG is not set
CONFIG_HOTPLUG_CPU=y
# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_HOTPLUG_PCI_PCIE=y
CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_ACPI=y
# CONFIG_HOTPLUG_PCI_ACPI_IBM is not set
# CONFIG_HOTPLUG_PCI_CPCI is not set
# CONFIG_HOTPLUG_PCI_SHPC is not set
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"

Is the Realtek memory card controller a PCIE card in your machine? I believe my laptop has a PCIE card:

ich put my PCI ID in here: http://kmuto.jp/debian/hcl/index.rhtmlx and i got as a result: Driver: rts_pstor.
This is in the package: sys-block/rts_pstor, but not available in the kernel config (which I don't understand :/ )
After install lspci -v lokks like that:

That's It! rmmod rts_pstor && modprobe rts_pstor did it
So could I remove sdhci_pci,... or is this still needed and why are bot listed in my lspci -v (see post above)? Could a deive load/need two kernel modules?