diff options
author | Peter Griffin <peter.griffin@linaro.org> | 2014-08-15 09:02:15 -0400 |
---|---|---|
committer | Ulf Hansson <ulf.hansson@linaro.org> | 2014-09-09 07:59:06 -0400 |
commit | b315376573778b195e640a163675fb9f5937ddca (patch) | |
tree | 1df134c608df7a6925906564c3454698763c386c /drivers/mmc/host/sdhci-pxav3.c | |
parent | 1d75f74b14dbeee1bd9f1e96efa1cbebeb2804cb (diff) |
mmc: sdhci-pxav3: set_uhs_signaling is initialized twice differently
.set_uhs_signaling field is currently initialised twice once to the
arch specific callback pxav3_set_uhs_signaling, and also to the generic
sdhci_set_uhs_signaling callback.
This means that uhs is currently broken for this platform currently, as pxav3
has some special constriants which means it can't use the generic callback.
This happened in
commit 96d7b78cfc2f ("mmc: sdhci: convert sdhci_set_uhs_signaling() into a library function")
commit a702c8abb2a9 ("mmc: host: split up sdhci-pxa, create sdhci-pxav3.c")'
Fix this and hopefully prevent it happening in the future by ensuring named
initialisers always follow the declaration order in the structure definition.
Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Cc: <stable@vger.kernel.org> # v3.16+
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/mmc/host/sdhci-pxav3.c')
-rw-r--r-- | drivers/mmc/host/sdhci-pxav3.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/mmc/host/sdhci-pxav3.c b/drivers/mmc/host/sdhci-pxav3.c index cca08b0c8c3e..46c94d88fa93 100644 --- a/drivers/mmc/host/sdhci-pxav3.c +++ b/drivers/mmc/host/sdhci-pxav3.c | |||
@@ -224,12 +224,11 @@ static void pxav3_set_uhs_signaling(struct sdhci_host *host, unsigned int uhs) | |||
224 | 224 | ||
225 | static const struct sdhci_ops pxav3_sdhci_ops = { | 225 | static const struct sdhci_ops pxav3_sdhci_ops = { |
226 | .set_clock = sdhci_set_clock, | 226 | .set_clock = sdhci_set_clock, |
227 | .set_uhs_signaling = pxav3_set_uhs_signaling, | ||
228 | .platform_send_init_74_clocks = pxav3_gen_init_74_clocks, | 227 | .platform_send_init_74_clocks = pxav3_gen_init_74_clocks, |
229 | .get_max_clock = sdhci_pltfm_clk_get_max_clock, | 228 | .get_max_clock = sdhci_pltfm_clk_get_max_clock, |
230 | .set_bus_width = sdhci_set_bus_width, | 229 | .set_bus_width = sdhci_set_bus_width, |
231 | .reset = pxav3_reset, | 230 | .reset = pxav3_reset, |
232 | .set_uhs_signaling = sdhci_set_uhs_signaling, | 231 | .set_uhs_signaling = pxav3_set_uhs_signaling, |
233 | }; | 232 | }; |
234 | 233 | ||
235 | static struct sdhci_pltfm_data sdhci_pxav3_pdata = { | 234 | static struct sdhci_pltfm_data sdhci_pxav3_pdata = { |