Adding a .platform_init callback to sdhci_arasan_ops

From: Sebastian Frias
Date: Fri Nov 25 2016 - 10:25:02 EST


When using the Arasan SDHCI HW IP, there is a set of parameters called
"Hardware initialized registers"

(Table 7, Section "Pin Signals", page 56 of Arasan "SD3.0/SDIO3.0/eMMC4.4
AHB Host Controller", revision 6.0 document)

In some platforms those signals are connected to registers that need to
be programmed at some point for proper driver/HW initialisation.

I found that the 'struct sdhci_ops' contains a '.platform_init' callback
that is called from within 'sdhci_pltfm_init', and that seems a good
candidate for a place to program those registers (*).

Do you agree?

Best regards,


(*): This has been prototyped on 4.7 as working properly.
However, upstream commit:

commit 3ea4666e8d429223fbb39c1dccee7599ef7657d5
Author: Douglas Anderson <dianders@xxxxxxxxxxxx>
Date: Mon Jun 20 10:56:47 2016 -0700

mmc: sdhci-of-arasan: Properly set corecfg_baseclkfreq on rk3399

could affect this solution because of the way the 'sdhci_arasan_of_match'
struct is used after that commit.