| From b315376573778b195e640a163675fb9f5937ddca Mon Sep 17 00:00:00 2001 |
| From: Peter Griffin <peter.griffin@linaro.org> |
| Date: Fri, 15 Aug 2014 14:02:15 +0100 |
| Subject: mmc: sdhci-pxav3: set_uhs_signaling is initialized twice differently |
| |
| From: Peter Griffin <peter.griffin@linaro.org> |
| |
| commit b315376573778b195e640a163675fb9f5937ddca upstream. |
| |
| .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> |
| Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/mmc/host/sdhci-pxav3.c | 3 +-- |
| 1 file changed, 1 insertion(+), 2 deletions(-) |
| |
| --- a/drivers/mmc/host/sdhci-pxav3.c |
| +++ b/drivers/mmc/host/sdhci-pxav3.c |
| @@ -224,12 +224,11 @@ static void pxav3_set_uhs_signaling(stru |
| |
| static const struct sdhci_ops pxav3_sdhci_ops = { |
| .set_clock = sdhci_set_clock, |
| - .set_uhs_signaling = pxav3_set_uhs_signaling, |
| .platform_send_init_74_clocks = pxav3_gen_init_74_clocks, |
| .get_max_clock = sdhci_pltfm_clk_get_max_clock, |
| .set_bus_width = sdhci_set_bus_width, |
| .reset = pxav3_reset, |
| - .set_uhs_signaling = sdhci_set_uhs_signaling, |
| + .set_uhs_signaling = pxav3_set_uhs_signaling, |
| }; |
| |
| static struct sdhci_pltfm_data sdhci_pxav3_pdata = { |