[...] > >>> > >>> Combining your suggestions we could do roughly: > >>> > >>> in mmc_sdio_init_card(): > >>> > >>> if (host->ops->init_card) > >>> host->ops->init_card(host, card); > >>> else > >>> mmc_fixup_device(host, sdio_prepare_fixups_methods); > >> > >> I think I mostly agree, but why you don't call mmc_fixup_device() if > >> init_card is defined? (BTW, mmc_fixup_device() takes a card as > >> first parameter) > > > > Because I want to get rid of init_card. It is host specific and not client > > specific. > > Ah, on a second though we can do that independently. Either there is > some init_card - or something in the fixup tables. Why not both... > So the else clause is not needed. I agree, I definitely want to get rid of ->init_card() as well, but let's deal with that from changes on top. [...] Kind regards Uffe