diff options
Diffstat (limited to 'drivers/pcmcia')
-rw-r--r-- | drivers/pcmcia/Kconfig | 2 | ||||
-rw-r--r-- | drivers/pcmcia/at91_cf.c | 1 | ||||
-rw-r--r-- | drivers/pcmcia/bfin_cf_pcmcia.c | 1 | ||||
-rw-r--r-- | drivers/pcmcia/db1xxx_ss.c | 1 | ||||
-rw-r--r-- | drivers/pcmcia/electra_cf.c | 1 | ||||
-rw-r--r-- | drivers/pcmcia/i82365.c | 1 | ||||
-rw-r--r-- | drivers/pcmcia/m32r_cfc.c | 1 | ||||
-rw-r--r-- | drivers/pcmcia/m32r_pcc.c | 1 | ||||
-rw-r--r-- | drivers/pcmcia/omap_cf.c | 1 | ||||
-rw-r--r-- | drivers/pcmcia/pxa2xx_base.c | 1 | ||||
-rw-r--r-- | drivers/pcmcia/pxa2xx_viper.c | 1 | ||||
-rw-r--r-- | drivers/pcmcia/sa1100_generic.c | 2 | ||||
-rw-r--r-- | drivers/pcmcia/sa1111_generic.c | 7 | ||||
-rw-r--r-- | drivers/pcmcia/sa11xx_base.c | 14 | ||||
-rw-r--r-- | drivers/pcmcia/soc_common.c | 4 | ||||
-rw-r--r-- | drivers/pcmcia/tcic.c | 1 | ||||
-rw-r--r-- | drivers/pcmcia/vrc4171_card.c | 1 | ||||
-rw-r--r-- | drivers/pcmcia/xxs1500_ss.c | 1 |
18 files changed, 24 insertions, 18 deletions
diff --git a/drivers/pcmcia/Kconfig b/drivers/pcmcia/Kconfig index b0ce7cdee0c2..910e90bf16c6 100644 --- a/drivers/pcmcia/Kconfig +++ b/drivers/pcmcia/Kconfig @@ -147,7 +147,6 @@ config TCIC config PCMCIA_ALCHEMY_DEVBOARD tristate "Alchemy Db/Pb1xxx PCMCIA socket services" depends on MIPS_ALCHEMY && PCMCIA - select 64BIT_PHYS_ADDR help Enable this driver of you want PCMCIA support on your Alchemy Db1000, Db/Pb1100, Db/Pb1500, Db/Pb1550, Db/Pb1200, DB1300 @@ -158,7 +157,6 @@ config PCMCIA_ALCHEMY_DEVBOARD config PCMCIA_XXS1500 tristate "MyCable XXS1500 PCMCIA socket support" depends on PCMCIA && MIPS_XXS1500 - select 64BIT_PHYS_ADDR help Support for the PCMCIA/CF socket interface on MyCable XXS1500 systems. diff --git a/drivers/pcmcia/at91_cf.c b/drivers/pcmcia/at91_cf.c index de24232c5191..bfb799c7b343 100644 --- a/drivers/pcmcia/at91_cf.c +++ b/drivers/pcmcia/at91_cf.c @@ -401,7 +401,6 @@ static int at91_cf_resume(struct platform_device *pdev) static struct platform_driver at91_cf_driver = { .driver = { .name = "at91_cf", - .owner = THIS_MODULE, .of_match_table = of_match_ptr(at91_cf_dt_ids), }, .probe = at91_cf_probe, diff --git a/drivers/pcmcia/bfin_cf_pcmcia.c b/drivers/pcmcia/bfin_cf_pcmcia.c index 971991bab975..bba1dcbb8075 100644 --- a/drivers/pcmcia/bfin_cf_pcmcia.c +++ b/drivers/pcmcia/bfin_cf_pcmcia.c @@ -304,7 +304,6 @@ static int bfin_cf_remove(struct platform_device *pdev) static struct platform_driver bfin_cf_driver = { .driver = { .name = driver_name, - .owner = THIS_MODULE, }, .probe = bfin_cf_probe, .remove = bfin_cf_remove, diff --git a/drivers/pcmcia/db1xxx_ss.c b/drivers/pcmcia/db1xxx_ss.c index a31e69ea99f3..4c2fa05b4589 100644 --- a/drivers/pcmcia/db1xxx_ss.c +++ b/drivers/pcmcia/db1xxx_ss.c @@ -574,7 +574,6 @@ static int db1x_pcmcia_socket_remove(struct platform_device *pdev) static struct platform_driver db1x_pcmcia_socket_driver = { .driver = { .name = "db1xxx_pcmcia", - .owner = THIS_MODULE, }, .probe = db1x_pcmcia_socket_probe, .remove = db1x_pcmcia_socket_remove, diff --git a/drivers/pcmcia/electra_cf.c b/drivers/pcmcia/electra_cf.c index 5ea64d0f61ab..7f9950d324df 100644 --- a/drivers/pcmcia/electra_cf.c +++ b/drivers/pcmcia/electra_cf.c @@ -360,7 +360,6 @@ MODULE_DEVICE_TABLE(of, electra_cf_match); static struct platform_driver electra_cf_driver = { .driver = { .name = driver_name, - .owner = THIS_MODULE, .of_match_table = electra_cf_match, }, .probe = electra_cf_probe, diff --git a/drivers/pcmcia/i82365.c b/drivers/pcmcia/i82365.c index e6f3d17dd2b4..a2c138719bac 100644 --- a/drivers/pcmcia/i82365.c +++ b/drivers/pcmcia/i82365.c @@ -1233,7 +1233,6 @@ static struct pccard_operations pcic_operations = { static struct platform_driver i82365_driver = { .driver = { .name = "i82365", - .owner = THIS_MODULE, }, }; diff --git a/drivers/pcmcia/m32r_cfc.c b/drivers/pcmcia/m32r_cfc.c index a26f38c6402a..0075bd7162ed 100644 --- a/drivers/pcmcia/m32r_cfc.c +++ b/drivers/pcmcia/m32r_cfc.c @@ -687,7 +687,6 @@ static struct pccard_operations pcc_operations = { static struct platform_driver pcc_driver = { .driver = { .name = "cfc", - .owner = THIS_MODULE, }, }; diff --git a/drivers/pcmcia/m32r_pcc.c b/drivers/pcmcia/m32r_pcc.c index 296514155cd5..a77e571b08b8 100644 --- a/drivers/pcmcia/m32r_pcc.c +++ b/drivers/pcmcia/m32r_pcc.c @@ -664,7 +664,6 @@ static struct pccard_operations pcc_operations = { static struct platform_driver pcc_driver = { .driver = { .name = "pcc", - .owner = THIS_MODULE, }, }; diff --git a/drivers/pcmcia/omap_cf.c b/drivers/pcmcia/omap_cf.c index 25c4b1993b3d..8170102d1e93 100644 --- a/drivers/pcmcia/omap_cf.c +++ b/drivers/pcmcia/omap_cf.c @@ -334,7 +334,6 @@ static int __exit omap_cf_remove(struct platform_device *pdev) static struct platform_driver omap_cf_driver = { .driver = { .name = (char *) driver_name, - .owner = THIS_MODULE, }, .remove = __exit_p(omap_cf_remove), }; diff --git a/drivers/pcmcia/pxa2xx_base.c b/drivers/pcmcia/pxa2xx_base.c index cfec9dd18ff5..984a8ff559d8 100644 --- a/drivers/pcmcia/pxa2xx_base.c +++ b/drivers/pcmcia/pxa2xx_base.c @@ -368,7 +368,6 @@ static struct platform_driver pxa2xx_pcmcia_driver = { .remove = pxa2xx_drv_pcmcia_remove, .driver = { .name = "pxa2xx-pcmcia", - .owner = THIS_MODULE, .pm = &pxa2xx_drv_pcmcia_pm_ops, }, }; diff --git a/drivers/pcmcia/pxa2xx_viper.c b/drivers/pcmcia/pxa2xx_viper.c index a76f495953ab..7ac6647d286e 100644 --- a/drivers/pcmcia/pxa2xx_viper.c +++ b/drivers/pcmcia/pxa2xx_viper.c @@ -172,7 +172,6 @@ static struct platform_driver viper_pcmcia_driver = { .remove = viper_pcmcia_remove, .driver = { .name = "arcom-pcmcia", - .owner = THIS_MODULE, }, .id_table = viper_pcmcia_id_table, }; diff --git a/drivers/pcmcia/sa1100_generic.c b/drivers/pcmcia/sa1100_generic.c index ff8a027a4afb..803945259da8 100644 --- a/drivers/pcmcia/sa1100_generic.c +++ b/drivers/pcmcia/sa1100_generic.c @@ -93,6 +93,7 @@ static int sa11x0_drv_pcmcia_remove(struct platform_device *dev) for (i = 0; i < sinfo->nskt; i++) soc_pcmcia_remove_one(&sinfo->skt[i]); + clk_put(sinfo->clk); kfree(sinfo); return 0; } @@ -100,7 +101,6 @@ static int sa11x0_drv_pcmcia_remove(struct platform_device *dev) static struct platform_driver sa11x0_pcmcia_driver = { .driver = { .name = "sa11x0-pcmcia", - .owner = THIS_MODULE, }, .probe = sa11x0_drv_pcmcia_probe, .remove = sa11x0_drv_pcmcia_remove, diff --git a/drivers/pcmcia/sa1111_generic.c b/drivers/pcmcia/sa1111_generic.c index 53299f866c5d..80b8e9d05275 100644 --- a/drivers/pcmcia/sa1111_generic.c +++ b/drivers/pcmcia/sa1111_generic.c @@ -145,6 +145,12 @@ int sa1111_pcmcia_add(struct sa1111_dev *dev, struct pcmcia_low_level *ops, return -ENOMEM; s->soc.nr = ops->first + i; + s->soc.clk = clk_get(&dev->dev, NULL); + if (IS_ERR(s->soc.clk)) { + ret = PTR_ERR(s->soc.clk); + kfree(s); + return ret; + } soc_pcmcia_init_one(&s->soc, ops, &dev->dev); s->dev = dev; if (s->soc.nr) { @@ -220,6 +226,7 @@ static int pcmcia_remove(struct sa1111_dev *dev) for (; s; s = next) { next = s->next; soc_pcmcia_remove_one(&s->soc); + clk_put(s->soc.clk); kfree(s); } diff --git a/drivers/pcmcia/sa11xx_base.c b/drivers/pcmcia/sa11xx_base.c index 54d3089d157b..cf6de2c2b329 100644 --- a/drivers/pcmcia/sa11xx_base.c +++ b/drivers/pcmcia/sa11xx_base.c @@ -135,14 +135,16 @@ sa1100_pcmcia_frequency_change(struct soc_pcmcia_socket *skt, static int sa1100_pcmcia_set_timing(struct soc_pcmcia_socket *skt) { - return sa1100_pcmcia_set_mecr(skt, cpufreq_get(0)); + unsigned long clk = clk_get_rate(skt->clk); + + return sa1100_pcmcia_set_mecr(skt, clk / 1000); } static int sa1100_pcmcia_show_timing(struct soc_pcmcia_socket *skt, char *buf) { struct soc_pcmcia_timing timing; - unsigned int clock = cpufreq_get(0); + unsigned int clock = clk_get_rate(skt->clk); unsigned long mecr = MECR; char *p = buf; @@ -218,6 +220,11 @@ int sa11xx_drv_pcmcia_probe(struct device *dev, struct pcmcia_low_level *ops, struct skt_dev_info *sinfo; struct soc_pcmcia_socket *skt; int i, ret = 0; + struct clk *clk; + + clk = clk_get(dev, NULL); + if (IS_ERR(clk)) + return PTR_ERR(clk); sa11xx_drv_pcmcia_ops(ops); @@ -226,12 +233,14 @@ int sa11xx_drv_pcmcia_probe(struct device *dev, struct pcmcia_low_level *ops, return -ENOMEM; sinfo->nskt = nr; + sinfo->clk = clk; /* Initialize processor specific parameters */ for (i = 0; i < nr; i++) { skt = &sinfo->skt[i]; skt->nr = first + i; + skt->clk = clk; soc_pcmcia_init_one(skt, ops, dev); ret = sa11xx_drv_pcmcia_add_one(skt); @@ -242,6 +251,7 @@ int sa11xx_drv_pcmcia_probe(struct device *dev, struct pcmcia_low_level *ops, if (ret) { while (--i >= 0) soc_pcmcia_remove_one(&sinfo->skt[i]); + clk_put(clk); kfree(sinfo); } else { dev_set_drvdata(dev, sinfo); diff --git a/drivers/pcmcia/soc_common.c b/drivers/pcmcia/soc_common.c index a2bc6ee1702e..933f4657515b 100644 --- a/drivers/pcmcia/soc_common.c +++ b/drivers/pcmcia/soc_common.c @@ -120,6 +120,8 @@ static void __soc_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt, if (skt->ops->hw_shutdown) skt->ops->hw_shutdown(skt); + + clk_disable_unprepare(skt->clk); } static void soc_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt) @@ -131,6 +133,8 @@ static int soc_pcmcia_hw_init(struct soc_pcmcia_socket *skt) { int ret = 0, i; + clk_prepare_enable(skt->clk); + if (skt->ops->hw_init) { ret = skt->ops->hw_init(skt); if (ret) diff --git a/drivers/pcmcia/tcic.c b/drivers/pcmcia/tcic.c index cbe15fc37411..1ee63e5f0550 100644 --- a/drivers/pcmcia/tcic.c +++ b/drivers/pcmcia/tcic.c @@ -349,7 +349,6 @@ static int __init get_tcic_id(void) static struct platform_driver tcic_driver = { .driver = { .name = "tcic-pcmcia", - .owner = THIS_MODULE, }, }; diff --git a/drivers/pcmcia/vrc4171_card.c b/drivers/pcmcia/vrc4171_card.c index d98a08612492..21973d55a055 100644 --- a/drivers/pcmcia/vrc4171_card.c +++ b/drivers/pcmcia/vrc4171_card.c @@ -709,7 +709,6 @@ __setup("vrc4171_card=", vrc4171_card_setup); static struct platform_driver vrc4171_card_driver = { .driver = { .name = vrc4171_card_name, - .owner = THIS_MODULE, }, }; diff --git a/drivers/pcmcia/xxs1500_ss.c b/drivers/pcmcia/xxs1500_ss.c index 95f5b270ad44..4c04360f378b 100644 --- a/drivers/pcmcia/xxs1500_ss.c +++ b/drivers/pcmcia/xxs1500_ss.c @@ -314,7 +314,6 @@ static int xxs1500_pcmcia_remove(struct platform_device *pdev) static struct platform_driver xxs1500_pcmcia_socket_driver = { .driver = { .name = "xxs1500_pcmcia", - .owner = THIS_MODULE, }, .probe = xxs1500_pcmcia_probe, .remove = xxs1500_pcmcia_remove, |