On Wed, Oct 10, 2018 at 8:49 AM Wolfram Sang <wsa@xxxxxxxxxxxxx> wrote: > > > > +static void tmio_mmc_reset(struct tmio_mmc_host *host) > > +{ > > + /* FIXME - should we set stop clock reg here */ > > + sd_ctrl_write16(host, CTL_RESET_SD, 0x0000); > > + sd_ctrl_write16(host, CTL_RESET_SDIO, 0x0000); > > + usleep_range(10000, 11000); > > + sd_ctrl_write16(host, CTL_RESET_SD, 0x0001); > > + sd_ctrl_write16(host, CTL_RESET_SDIO, 0x0001); > > + usleep_range(10000, 11000); > > + > > + if (host->pdata->flags & TMIO_MMC_SDIO_IRQ) { > > + sd_ctrl_write16(host, CTL_SDIO_IRQ_MASK, host->sdio_irq_mask); > > + sd_ctrl_write16(host, CTL_TRANSACTION_CTL, 0x0001); > > + } > > +} > > Yes, looks much safer now. > > > + host->reset = tmio_mmc_reset; > > So, you populate the new pointer here... > > > + if (!_host->reset) > > + _host->reset = tmio_mmc_reset; > > ... and here. But it seems never used anywhere? Or am I missing > something? > Bummer. I am totally screwed up. V3 is right away. Thanks! -- Best Regards Masahiro Yamada