On Mon, 2020-03-09 at 09:20 +0200, Adrian Hunter wrote: > > -static void xenon_set_power(struct sdhci_host *host, unsigned char mode, > > - unsigned short vdd) > > -{ > > - struct mmc_host *mmc = host->mmc; > > - u8 pwr = host->pwr; > > - > > - sdhci_set_power_noreg(host, mode, vdd); > > - > > - if (host->pwr == pwr) > > - return; > > - > > - if (host->pwr == 0) > > - vdd = 0; > > - > > - if (!IS_ERR(mmc->supply.vmmc)) > > - mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, vdd); > > -} > > This code is different. The commit message should explain why it is > equivalent. Has it been tested? Yes, I should've pointed it out. The rationale behind including sdhci-xenon and sdhci-pxav3 is based on xenon's original commit message (99c14fc360dbb): mmc: sdhci-xenon: add set_power callback Xenon sdh controller requests proper SD bus voltage select bits programmed even with vmmc power supply. Any reserved value(100b-000b) programmed in this field will lead to controller ignore SD bus power bit and keep its value at zero. Add set_power callback to handle this. I can't test it, but it felt to me as the implementation differences are only there as different people wrote the code. Ultimately, I'll be happy to drop them from the series if you feel it's too much of an assumption, I can see how the controllers could react badly to the ordering change. If not I can send a v3 with fixed commit messages. Regards, Nicolas