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: Pavel Machek <pma@sysgo.com> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
This commit is contained in:
parent
d5bb2923cf
commit
5b703683b6
|
@ -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;
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
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)
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user