diff options
author | David Brownell <david-b@pacbell.net> | 2006-12-26 17:45:26 -0500 |
---|---|---|
committer | Pierre Ossman <drzeus@drzeus.cx> | 2007-01-04 01:03:57 -0500 |
commit | a26b498c96f87130559005151539f5fd9e43fff6 (patch) | |
tree | cd2ec99840d6bc0ee81b8ac590662283cdf7de6c | |
parent | 3947a3907f9cb88ebd492b6348a251036c4e81c7 (diff) |
MMC: at91 mmc linkage updates
Linker level tweaks for the AT91 MMC driver:
- fix a wrongly-exported symbol
- move probe() to init section
- move remove() to exit section
When this driver is statically linked, this patch shrinks the driver's
runtime I-space footprint by over 20% (950 bytes).
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
-rw-r--r-- | drivers/mmc/at91_mci.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/mmc/at91_mci.c b/drivers/mmc/at91_mci.c index 08a33c33f6ed..aa152f31851e 100644 --- a/drivers/mmc/at91_mci.c +++ b/drivers/mmc/at91_mci.c | |||
@@ -768,7 +768,7 @@ static irqreturn_t at91_mmc_det_irq(int irq, void *_host) | |||
768 | return IRQ_HANDLED; | 768 | return IRQ_HANDLED; |
769 | } | 769 | } |
770 | 770 | ||
771 | int at91_mci_get_ro(struct mmc_host *mmc) | 771 | static int at91_mci_get_ro(struct mmc_host *mmc) |
772 | { | 772 | { |
773 | int read_only = 0; | 773 | int read_only = 0; |
774 | struct at91mci_host *host = mmc_priv(mmc); | 774 | struct at91mci_host *host = mmc_priv(mmc); |
@@ -794,7 +794,7 @@ static const struct mmc_host_ops at91_mci_ops = { | |||
794 | /* | 794 | /* |
795 | * Probe for the device | 795 | * Probe for the device |
796 | */ | 796 | */ |
797 | static int at91_mci_probe(struct platform_device *pdev) | 797 | static int __init at91_mci_probe(struct platform_device *pdev) |
798 | { | 798 | { |
799 | struct mmc_host *mmc; | 799 | struct mmc_host *mmc; |
800 | struct at91mci_host *host; | 800 | struct at91mci_host *host; |
@@ -910,7 +910,7 @@ static int at91_mci_probe(struct platform_device *pdev) | |||
910 | /* | 910 | /* |
911 | * Remove a device | 911 | * Remove a device |
912 | */ | 912 | */ |
913 | static int at91_mci_remove(struct platform_device *pdev) | 913 | static int __exit at91_mci_remove(struct platform_device *pdev) |
914 | { | 914 | { |
915 | struct mmc_host *mmc = platform_get_drvdata(pdev); | 915 | struct mmc_host *mmc = platform_get_drvdata(pdev); |
916 | struct at91mci_host *host; | 916 | struct at91mci_host *host; |
@@ -972,8 +972,7 @@ static int at91_mci_resume(struct platform_device *pdev) | |||
972 | #endif | 972 | #endif |
973 | 973 | ||
974 | static struct platform_driver at91_mci_driver = { | 974 | static struct platform_driver at91_mci_driver = { |
975 | .probe = at91_mci_probe, | 975 | .remove = __exit_p(at91_mci_remove), |
976 | .remove = at91_mci_remove, | ||
977 | .suspend = at91_mci_suspend, | 976 | .suspend = at91_mci_suspend, |
978 | .resume = at91_mci_resume, | 977 | .resume = at91_mci_resume, |
979 | .driver = { | 978 | .driver = { |
@@ -984,7 +983,7 @@ static struct platform_driver at91_mci_driver = { | |||
984 | 983 | ||
985 | static int __init at91_mci_init(void) | 984 | static int __init at91_mci_init(void) |
986 | { | 985 | { |
987 | return platform_driver_register(&at91_mci_driver); | 986 | return platform_driver_probe(&at91_mci_driver, at91_mci_probe); |
988 | } | 987 | } |
989 | 988 | ||
990 | static void __exit at91_mci_exit(void) | 989 | static void __exit at91_mci_exit(void) |