PCI: spear: Drop __initdata from spear13xx_pcie_driver
authorMatwey V. Kornilov <matwey@sai.msu.ru>
Thu, 19 Feb 2015 17:41:48 +0000 (20:41 +0300)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 6 Mar 2015 17:47:28 +0000 (11:47 -0600)
commita43f32d647273023edddb0dc8f91c4c6378b252b
tree82eb305a0ba4dd653c864c7b35e26796a7cd343b
parent085a68d0010ffa57603b93c2b09fdf98bf74218c
PCI: spear: Drop __initdata from spear13xx_pcie_driver

Struct spear13xx_pcie_driver was in initdata, but we passed a pointer to it
to platform_driver_register(), which can use the pointer at arbitrary times
in the future, even after the initdata is freed.  That leads to crashes.

Move spear13xx_pcie_driver and things referenced by it
(spear13xx_pcie_probe() and dw_pcie_host_init()) out of initdata.

[bhelgaas: changelog]
Fixes: 6675ef212dac ("PCI: spear: Fix Section mismatch compilation warning for probe()")
Signed-off-by: Matwey V. Kornilov <matwey@sai.msu.ru>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
CC: stable@vger.kernel.org # v3.17+
drivers/pci/host/pcie-designware.c
drivers/pci/host/pcie-spear13xx.c