Commit 5b703683 authored by Pavel Machek's avatar Pavel Machek Committed by Dominik Brodowski

pcmcia vs. MECR on pxa25x/sa1111

After 2.6.34 changes, __pxa2xx_drv_pcmcia_probe() was replaced by
sa1111_pcmcia_add(). That unfortunately means that configure_sockets()
is not called, leading to MECR not being set properly, leading to
strange crashes.

Tested on pxa255+sa1111, I do not have lubbock board nearby. Perhaps
cleaner solution exists?
Signed-off-by: default avatarPavel Machek <pma@sysgo.com>
Signed-off-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
parent d5bb2923
...@@ -215,7 +215,7 @@ pxa2xx_pcmcia_frequency_change(struct soc_pcmcia_socket *skt, ...@@ -215,7 +215,7 @@ pxa2xx_pcmcia_frequency_change(struct soc_pcmcia_socket *skt,
} }
#endif #endif
static void pxa2xx_configure_sockets(struct device *dev) void pxa2xx_configure_sockets(struct device *dev)
{ {
struct pcmcia_low_level *ops = dev->platform_data; struct pcmcia_low_level *ops = dev->platform_data;
/* /*
......
int pxa2xx_drv_pcmcia_add_one(struct soc_pcmcia_socket *skt); int pxa2xx_drv_pcmcia_add_one(struct soc_pcmcia_socket *skt);
void pxa2xx_drv_pcmcia_ops(struct pcmcia_low_level *ops); void pxa2xx_drv_pcmcia_ops(struct pcmcia_low_level *ops);
void pxa2xx_configure_sockets(struct device *dev);
...@@ -226,6 +226,7 @@ int pcmcia_lubbock_init(struct sa1111_dev *sadev) ...@@ -226,6 +226,7 @@ int pcmcia_lubbock_init(struct sa1111_dev *sadev)
lubbock_set_misc_wr((1 << 15) | (1 << 14), 0); lubbock_set_misc_wr((1 << 15) | (1 << 14), 0);
pxa2xx_drv_pcmcia_ops(&lubbock_pcmcia_ops); pxa2xx_drv_pcmcia_ops(&lubbock_pcmcia_ops);
pxa2xx_configure_sockets(&sadev->dev);
ret = sa1111_pcmcia_add(sadev, &lubbock_pcmcia_ops, ret = sa1111_pcmcia_add(sadev, &lubbock_pcmcia_ops,
pxa2xx_drv_pcmcia_add_one); pxa2xx_drv_pcmcia_add_one);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment