Como mencionado por 0andriy, você pode usar bind / unbind. Eu estou fazendo algo semelhante, mas isso será diferente, pois depende do hardware. Para desvincular meu módulo wi-fi sdio eu uso:
echo -n "2190000.usdhc" > /sys/devices/soc0/soc/2100000.aips-bus/2190000.usdhc/driver/unbind
Isso lhe dará algo como mmc1: card 0001 removed
no dmesg.
Eu então alterno um gpio pin para redefinir meu módulo wifi
Em seguida, para religar:
echo -n "2190000.usdhc" > /sys/bus/soc/devices/soc0/soc/2100000.aips-bus/2190000.usdhc/subsystem/drivers/sdhci-esdhc-imx/bind
Nesse ponto, o dmesg imprimirá algo como:
mmc1: SDHCI controller on 2190000.usdhc [2190000.usdhc] using ADMA
mmc1: new high speed SDIO card at address 0001
O processo de encadernação / desvinculação é bem explicado por este antigo artigo do LWN.net .