diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2015-06-04 07:12:16 -0400 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2015-06-17 06:44:47 -0400 |
commit | ede9269572da9206249f02ebe031ded025b84fd3 (patch) | |
tree | 024b2c3e33732aca92358bafa2ed1dbc25cd096d | |
parent | f5a1a1f8e41e93584935d4ae62a84280dcdbe778 (diff) |
OMAPDSS: remove uses of __init/__exit
The following patches will add component handling to omapdss, improving
the handling of deferred probing. However, at the moment we're using
quite a lot of __inits and __exits in the driver, which prevent normal
dynamic probing and removal.
This patch removes most of the uses of __init and __exit, so that we can
register drivers after module init, and so that we can unregister
drivers even if the module is built-in.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-rw-r--r-- | drivers/video/fbdev/omap2/dss/dispc.c | 20 | ||||
-rw-r--r-- | drivers/video/fbdev/omap2/dss/dpi.c | 14 | ||||
-rw-r--r-- | drivers/video/fbdev/omap2/dss/dsi.c | 6 | ||||
-rw-r--r-- | drivers/video/fbdev/omap2/dss/dss.c | 26 | ||||
-rw-r--r-- | drivers/video/fbdev/omap2/dss/dss.h | 32 | ||||
-rw-r--r-- | drivers/video/fbdev/omap2/dss/hdmi4.c | 6 | ||||
-rw-r--r-- | drivers/video/fbdev/omap2/dss/hdmi5.c | 6 | ||||
-rw-r--r-- | drivers/video/fbdev/omap2/dss/rfbi.c | 8 | ||||
-rw-r--r-- | drivers/video/fbdev/omap2/dss/sdi.c | 12 | ||||
-rw-r--r-- | drivers/video/fbdev/omap2/dss/venc.c | 8 |
10 files changed, 69 insertions, 69 deletions
diff --git a/drivers/video/fbdev/omap2/dss/dispc.c b/drivers/video/fbdev/omap2/dss/dispc.c index f4fc77d9d3bf..e3417af63451 100644 --- a/drivers/video/fbdev/omap2/dss/dispc.c +++ b/drivers/video/fbdev/omap2/dss/dispc.c | |||
@@ -3692,7 +3692,7 @@ static void _omap_dispc_initial_config(void) | |||
3692 | dispc_init_mflag(); | 3692 | dispc_init_mflag(); |
3693 | } | 3693 | } |
3694 | 3694 | ||
3695 | static const struct dispc_features omap24xx_dispc_feats __initconst = { | 3695 | static const struct dispc_features omap24xx_dispc_feats = { |
3696 | .sw_start = 5, | 3696 | .sw_start = 5, |
3697 | .fp_start = 15, | 3697 | .fp_start = 15, |
3698 | .bp_start = 27, | 3698 | .bp_start = 27, |
@@ -3711,7 +3711,7 @@ static const struct dispc_features omap24xx_dispc_feats __initconst = { | |||
3711 | .set_max_preload = false, | 3711 | .set_max_preload = false, |
3712 | }; | 3712 | }; |
3713 | 3713 | ||
3714 | static const struct dispc_features omap34xx_rev1_0_dispc_feats __initconst = { | 3714 | static const struct dispc_features omap34xx_rev1_0_dispc_feats = { |
3715 | .sw_start = 5, | 3715 | .sw_start = 5, |
3716 | .fp_start = 15, | 3716 | .fp_start = 15, |
3717 | .bp_start = 27, | 3717 | .bp_start = 27, |
@@ -3731,7 +3731,7 @@ static const struct dispc_features omap34xx_rev1_0_dispc_feats __initconst = { | |||
3731 | .set_max_preload = false, | 3731 | .set_max_preload = false, |
3732 | }; | 3732 | }; |
3733 | 3733 | ||
3734 | static const struct dispc_features omap34xx_rev3_0_dispc_feats __initconst = { | 3734 | static const struct dispc_features omap34xx_rev3_0_dispc_feats = { |
3735 | .sw_start = 7, | 3735 | .sw_start = 7, |
3736 | .fp_start = 19, | 3736 | .fp_start = 19, |
3737 | .bp_start = 31, | 3737 | .bp_start = 31, |
@@ -3751,7 +3751,7 @@ static const struct dispc_features omap34xx_rev3_0_dispc_feats __initconst = { | |||
3751 | .set_max_preload = false, | 3751 | .set_max_preload = false, |
3752 | }; | 3752 | }; |
3753 | 3753 | ||
3754 | static const struct dispc_features omap44xx_dispc_feats __initconst = { | 3754 | static const struct dispc_features omap44xx_dispc_feats = { |
3755 | .sw_start = 7, | 3755 | .sw_start = 7, |
3756 | .fp_start = 19, | 3756 | .fp_start = 19, |
3757 | .bp_start = 31, | 3757 | .bp_start = 31, |
@@ -3771,7 +3771,7 @@ static const struct dispc_features omap44xx_dispc_feats __initconst = { | |||
3771 | .set_max_preload = true, | 3771 | .set_max_preload = true, |
3772 | }; | 3772 | }; |
3773 | 3773 | ||
3774 | static const struct dispc_features omap54xx_dispc_feats __initconst = { | 3774 | static const struct dispc_features omap54xx_dispc_feats = { |
3775 | .sw_start = 7, | 3775 | .sw_start = 7, |
3776 | .fp_start = 19, | 3776 | .fp_start = 19, |
3777 | .bp_start = 31, | 3777 | .bp_start = 31, |
@@ -3792,7 +3792,7 @@ static const struct dispc_features omap54xx_dispc_feats __initconst = { | |||
3792 | .set_max_preload = true, | 3792 | .set_max_preload = true, |
3793 | }; | 3793 | }; |
3794 | 3794 | ||
3795 | static int __init dispc_init_features(struct platform_device *pdev) | 3795 | static int dispc_init_features(struct platform_device *pdev) |
3796 | { | 3796 | { |
3797 | const struct dispc_features *src; | 3797 | const struct dispc_features *src; |
3798 | struct dispc_features *dst; | 3798 | struct dispc_features *dst; |
@@ -3882,7 +3882,7 @@ void dispc_free_irq(void *dev_id) | |||
3882 | EXPORT_SYMBOL(dispc_free_irq); | 3882 | EXPORT_SYMBOL(dispc_free_irq); |
3883 | 3883 | ||
3884 | /* DISPC HW IP initialisation */ | 3884 | /* DISPC HW IP initialisation */ |
3885 | static int __init omap_dispchw_probe(struct platform_device *pdev) | 3885 | static int omap_dispchw_probe(struct platform_device *pdev) |
3886 | { | 3886 | { |
3887 | u32 rev; | 3887 | u32 rev; |
3888 | int r = 0; | 3888 | int r = 0; |
@@ -3955,7 +3955,7 @@ err_runtime_get: | |||
3955 | return r; | 3955 | return r; |
3956 | } | 3956 | } |
3957 | 3957 | ||
3958 | static int __exit omap_dispchw_remove(struct platform_device *pdev) | 3958 | static int omap_dispchw_remove(struct platform_device *pdev) |
3959 | { | 3959 | { |
3960 | pm_runtime_disable(&pdev->dev); | 3960 | pm_runtime_disable(&pdev->dev); |
3961 | 3961 | ||
@@ -4013,7 +4013,7 @@ static const struct of_device_id dispc_of_match[] = { | |||
4013 | }; | 4013 | }; |
4014 | 4014 | ||
4015 | static struct platform_driver omap_dispchw_driver = { | 4015 | static struct platform_driver omap_dispchw_driver = { |
4016 | .remove = __exit_p(omap_dispchw_remove), | 4016 | .remove = omap_dispchw_remove, |
4017 | .driver = { | 4017 | .driver = { |
4018 | .name = "omapdss_dispc", | 4018 | .name = "omapdss_dispc", |
4019 | .pm = &dispc_pm_ops, | 4019 | .pm = &dispc_pm_ops, |
@@ -4027,7 +4027,7 @@ int __init dispc_init_platform_driver(void) | |||
4027 | return platform_driver_probe(&omap_dispchw_driver, omap_dispchw_probe); | 4027 | return platform_driver_probe(&omap_dispchw_driver, omap_dispchw_probe); |
4028 | } | 4028 | } |
4029 | 4029 | ||
4030 | void __exit dispc_uninit_platform_driver(void) | 4030 | void dispc_uninit_platform_driver(void) |
4031 | { | 4031 | { |
4032 | platform_driver_unregister(&omap_dispchw_driver); | 4032 | platform_driver_unregister(&omap_dispchw_driver); |
4033 | } | 4033 | } |
diff --git a/drivers/video/fbdev/omap2/dss/dpi.c b/drivers/video/fbdev/omap2/dss/dpi.c index f83e7b030249..a06e7558280f 100644 --- a/drivers/video/fbdev/omap2/dss/dpi.c +++ b/drivers/video/fbdev/omap2/dss/dpi.c | |||
@@ -731,7 +731,7 @@ static void dpi_init_output(struct platform_device *pdev) | |||
731 | omapdss_register_output(out); | 731 | omapdss_register_output(out); |
732 | } | 732 | } |
733 | 733 | ||
734 | static void __exit dpi_uninit_output(struct platform_device *pdev) | 734 | static void dpi_uninit_output(struct platform_device *pdev) |
735 | { | 735 | { |
736 | struct dpi_data *dpi = dpi_get_data_from_pdev(pdev); | 736 | struct dpi_data *dpi = dpi_get_data_from_pdev(pdev); |
737 | struct omap_dss_device *out = &dpi->output; | 737 | struct omap_dss_device *out = &dpi->output; |
@@ -775,7 +775,7 @@ static void dpi_init_output_port(struct platform_device *pdev, | |||
775 | omapdss_register_output(out); | 775 | omapdss_register_output(out); |
776 | } | 776 | } |
777 | 777 | ||
778 | static void __exit dpi_uninit_output_port(struct device_node *port) | 778 | static void dpi_uninit_output_port(struct device_node *port) |
779 | { | 779 | { |
780 | struct dpi_data *dpi = port->data; | 780 | struct dpi_data *dpi = port->data; |
781 | struct omap_dss_device *out = &dpi->output; | 781 | struct omap_dss_device *out = &dpi->output; |
@@ -802,7 +802,7 @@ static int omap_dpi_probe(struct platform_device *pdev) | |||
802 | return 0; | 802 | return 0; |
803 | } | 803 | } |
804 | 804 | ||
805 | static int __exit omap_dpi_remove(struct platform_device *pdev) | 805 | static int omap_dpi_remove(struct platform_device *pdev) |
806 | { | 806 | { |
807 | dpi_uninit_output(pdev); | 807 | dpi_uninit_output(pdev); |
808 | 808 | ||
@@ -811,7 +811,7 @@ static int __exit omap_dpi_remove(struct platform_device *pdev) | |||
811 | 811 | ||
812 | static struct platform_driver omap_dpi_driver = { | 812 | static struct platform_driver omap_dpi_driver = { |
813 | .probe = omap_dpi_probe, | 813 | .probe = omap_dpi_probe, |
814 | .remove = __exit_p(omap_dpi_remove), | 814 | .remove = omap_dpi_remove, |
815 | .driver = { | 815 | .driver = { |
816 | .name = "omapdss_dpi", | 816 | .name = "omapdss_dpi", |
817 | .suppress_bind_attrs = true, | 817 | .suppress_bind_attrs = true, |
@@ -823,12 +823,12 @@ int __init dpi_init_platform_driver(void) | |||
823 | return platform_driver_register(&omap_dpi_driver); | 823 | return platform_driver_register(&omap_dpi_driver); |
824 | } | 824 | } |
825 | 825 | ||
826 | void __exit dpi_uninit_platform_driver(void) | 826 | void dpi_uninit_platform_driver(void) |
827 | { | 827 | { |
828 | platform_driver_unregister(&omap_dpi_driver); | 828 | platform_driver_unregister(&omap_dpi_driver); |
829 | } | 829 | } |
830 | 830 | ||
831 | int __init dpi_init_port(struct platform_device *pdev, struct device_node *port) | 831 | int dpi_init_port(struct platform_device *pdev, struct device_node *port) |
832 | { | 832 | { |
833 | struct dpi_data *dpi; | 833 | struct dpi_data *dpi; |
834 | struct device_node *ep; | 834 | struct device_node *ep; |
@@ -870,7 +870,7 @@ err_datalines: | |||
870 | return r; | 870 | return r; |
871 | } | 871 | } |
872 | 872 | ||
873 | void __exit dpi_uninit_port(struct device_node *port) | 873 | void dpi_uninit_port(struct device_node *port) |
874 | { | 874 | { |
875 | struct dpi_data *dpi = port->data; | 875 | struct dpi_data *dpi = port->data; |
876 | 876 | ||
diff --git a/drivers/video/fbdev/omap2/dss/dsi.c b/drivers/video/fbdev/omap2/dss/dsi.c index 28b0bc11669d..c4c27c09c62f 100644 --- a/drivers/video/fbdev/omap2/dss/dsi.c +++ b/drivers/video/fbdev/omap2/dss/dsi.c | |||
@@ -5484,7 +5484,7 @@ err_runtime_get: | |||
5484 | return r; | 5484 | return r; |
5485 | } | 5485 | } |
5486 | 5486 | ||
5487 | static int __exit omap_dsihw_remove(struct platform_device *dsidev) | 5487 | static int omap_dsihw_remove(struct platform_device *dsidev) |
5488 | { | 5488 | { |
5489 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | 5489 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); |
5490 | 5490 | ||
@@ -5570,7 +5570,7 @@ static const struct of_device_id dsi_of_match[] = { | |||
5570 | 5570 | ||
5571 | static struct platform_driver omap_dsihw_driver = { | 5571 | static struct platform_driver omap_dsihw_driver = { |
5572 | .probe = omap_dsihw_probe, | 5572 | .probe = omap_dsihw_probe, |
5573 | .remove = __exit_p(omap_dsihw_remove), | 5573 | .remove = omap_dsihw_remove, |
5574 | .driver = { | 5574 | .driver = { |
5575 | .name = "omapdss_dsi", | 5575 | .name = "omapdss_dsi", |
5576 | .pm = &dsi_pm_ops, | 5576 | .pm = &dsi_pm_ops, |
@@ -5584,7 +5584,7 @@ int __init dsi_init_platform_driver(void) | |||
5584 | return platform_driver_register(&omap_dsihw_driver); | 5584 | return platform_driver_register(&omap_dsihw_driver); |
5585 | } | 5585 | } |
5586 | 5586 | ||
5587 | void __exit dsi_uninit_platform_driver(void) | 5587 | void dsi_uninit_platform_driver(void) |
5588 | { | 5588 | { |
5589 | platform_driver_unregister(&omap_dsihw_driver); | 5589 | platform_driver_unregister(&omap_dsihw_driver); |
5590 | } | 5590 | } |
diff --git a/drivers/video/fbdev/omap2/dss/dss.c b/drivers/video/fbdev/omap2/dss/dss.c index 28e6ff053b47..3397cbf484b0 100644 --- a/drivers/video/fbdev/omap2/dss/dss.c +++ b/drivers/video/fbdev/omap2/dss/dss.c | |||
@@ -819,7 +819,7 @@ static const enum omap_display_type dra7xx_ports[] = { | |||
819 | OMAP_DISPLAY_TYPE_DPI, | 819 | OMAP_DISPLAY_TYPE_DPI, |
820 | }; | 820 | }; |
821 | 821 | ||
822 | static const struct dss_features omap24xx_dss_feats __initconst = { | 822 | static const struct dss_features omap24xx_dss_feats = { |
823 | /* | 823 | /* |
824 | * fck div max is really 16, but the divider range has gaps. The range | 824 | * fck div max is really 16, but the divider range has gaps. The range |
825 | * from 1 to 6 has no gaps, so let's use that as a max. | 825 | * from 1 to 6 has no gaps, so let's use that as a max. |
@@ -832,7 +832,7 @@ static const struct dss_features omap24xx_dss_feats __initconst = { | |||
832 | .num_ports = ARRAY_SIZE(omap2plus_ports), | 832 | .num_ports = ARRAY_SIZE(omap2plus_ports), |
833 | }; | 833 | }; |
834 | 834 | ||
835 | static const struct dss_features omap34xx_dss_feats __initconst = { | 835 | static const struct dss_features omap34xx_dss_feats = { |
836 | .fck_div_max = 16, | 836 | .fck_div_max = 16, |
837 | .dss_fck_multiplier = 2, | 837 | .dss_fck_multiplier = 2, |
838 | .parent_clk_name = "dpll4_ck", | 838 | .parent_clk_name = "dpll4_ck", |
@@ -841,7 +841,7 @@ static const struct dss_features omap34xx_dss_feats __initconst = { | |||
841 | .num_ports = ARRAY_SIZE(omap34xx_ports), | 841 | .num_ports = ARRAY_SIZE(omap34xx_ports), |
842 | }; | 842 | }; |
843 | 843 | ||
844 | static const struct dss_features omap3630_dss_feats __initconst = { | 844 | static const struct dss_features omap3630_dss_feats = { |
845 | .fck_div_max = 32, | 845 | .fck_div_max = 32, |
846 | .dss_fck_multiplier = 1, | 846 | .dss_fck_multiplier = 1, |
847 | .parent_clk_name = "dpll4_ck", | 847 | .parent_clk_name = "dpll4_ck", |
@@ -850,7 +850,7 @@ static const struct dss_features omap3630_dss_feats __initconst = { | |||
850 | .num_ports = ARRAY_SIZE(omap2plus_ports), | 850 | .num_ports = ARRAY_SIZE(omap2plus_ports), |
851 | }; | 851 | }; |
852 | 852 | ||
853 | static const struct dss_features omap44xx_dss_feats __initconst = { | 853 | static const struct dss_features omap44xx_dss_feats = { |
854 | .fck_div_max = 32, | 854 | .fck_div_max = 32, |
855 | .dss_fck_multiplier = 1, | 855 | .dss_fck_multiplier = 1, |
856 | .parent_clk_name = "dpll_per_x2_ck", | 856 | .parent_clk_name = "dpll_per_x2_ck", |
@@ -859,7 +859,7 @@ static const struct dss_features omap44xx_dss_feats __initconst = { | |||
859 | .num_ports = ARRAY_SIZE(omap2plus_ports), | 859 | .num_ports = ARRAY_SIZE(omap2plus_ports), |
860 | }; | 860 | }; |
861 | 861 | ||
862 | static const struct dss_features omap54xx_dss_feats __initconst = { | 862 | static const struct dss_features omap54xx_dss_feats = { |
863 | .fck_div_max = 64, | 863 | .fck_div_max = 64, |
864 | .dss_fck_multiplier = 1, | 864 | .dss_fck_multiplier = 1, |
865 | .parent_clk_name = "dpll_per_x2_ck", | 865 | .parent_clk_name = "dpll_per_x2_ck", |
@@ -868,7 +868,7 @@ static const struct dss_features omap54xx_dss_feats __initconst = { | |||
868 | .num_ports = ARRAY_SIZE(omap2plus_ports), | 868 | .num_ports = ARRAY_SIZE(omap2plus_ports), |
869 | }; | 869 | }; |
870 | 870 | ||
871 | static const struct dss_features am43xx_dss_feats __initconst = { | 871 | static const struct dss_features am43xx_dss_feats = { |
872 | .fck_div_max = 0, | 872 | .fck_div_max = 0, |
873 | .dss_fck_multiplier = 0, | 873 | .dss_fck_multiplier = 0, |
874 | .parent_clk_name = NULL, | 874 | .parent_clk_name = NULL, |
@@ -877,7 +877,7 @@ static const struct dss_features am43xx_dss_feats __initconst = { | |||
877 | .num_ports = ARRAY_SIZE(omap2plus_ports), | 877 | .num_ports = ARRAY_SIZE(omap2plus_ports), |
878 | }; | 878 | }; |
879 | 879 | ||
880 | static const struct dss_features dra7xx_dss_feats __initconst = { | 880 | static const struct dss_features dra7xx_dss_feats = { |
881 | .fck_div_max = 64, | 881 | .fck_div_max = 64, |
882 | .dss_fck_multiplier = 1, | 882 | .dss_fck_multiplier = 1, |
883 | .parent_clk_name = "dpll_per_x2_ck", | 883 | .parent_clk_name = "dpll_per_x2_ck", |
@@ -886,7 +886,7 @@ static const struct dss_features dra7xx_dss_feats __initconst = { | |||
886 | .num_ports = ARRAY_SIZE(dra7xx_ports), | 886 | .num_ports = ARRAY_SIZE(dra7xx_ports), |
887 | }; | 887 | }; |
888 | 888 | ||
889 | static int __init dss_init_features(struct platform_device *pdev) | 889 | static int dss_init_features(struct platform_device *pdev) |
890 | { | 890 | { |
891 | const struct dss_features *src; | 891 | const struct dss_features *src; |
892 | struct dss_features *dst; | 892 | struct dss_features *dst; |
@@ -940,7 +940,7 @@ static int __init dss_init_features(struct platform_device *pdev) | |||
940 | return 0; | 940 | return 0; |
941 | } | 941 | } |
942 | 942 | ||
943 | static int __init dss_init_ports(struct platform_device *pdev) | 943 | static int dss_init_ports(struct platform_device *pdev) |
944 | { | 944 | { |
945 | struct device_node *parent = pdev->dev.of_node; | 945 | struct device_node *parent = pdev->dev.of_node; |
946 | struct device_node *port; | 946 | struct device_node *port; |
@@ -984,7 +984,7 @@ static int __init dss_init_ports(struct platform_device *pdev) | |||
984 | return 0; | 984 | return 0; |
985 | } | 985 | } |
986 | 986 | ||
987 | static void __exit dss_uninit_ports(struct platform_device *pdev) | 987 | static void dss_uninit_ports(struct platform_device *pdev) |
988 | { | 988 | { |
989 | struct device_node *parent = pdev->dev.of_node; | 989 | struct device_node *parent = pdev->dev.of_node; |
990 | struct device_node *port; | 990 | struct device_node *port; |
@@ -1088,7 +1088,7 @@ static int dss_video_pll_probe(struct platform_device *pdev) | |||
1088 | } | 1088 | } |
1089 | 1089 | ||
1090 | /* DSS HW IP initialisation */ | 1090 | /* DSS HW IP initialisation */ |
1091 | static int __init omap_dsshw_probe(struct platform_device *pdev) | 1091 | static int omap_dsshw_probe(struct platform_device *pdev) |
1092 | { | 1092 | { |
1093 | struct resource *dss_mem; | 1093 | struct resource *dss_mem; |
1094 | u32 rev; | 1094 | u32 rev; |
@@ -1182,7 +1182,7 @@ err_setup_clocks: | |||
1182 | return r; | 1182 | return r; |
1183 | } | 1183 | } |
1184 | 1184 | ||
1185 | static int __exit omap_dsshw_remove(struct platform_device *pdev) | 1185 | static int omap_dsshw_remove(struct platform_device *pdev) |
1186 | { | 1186 | { |
1187 | dss_initialized = false; | 1187 | dss_initialized = false; |
1188 | 1188 | ||
@@ -1243,7 +1243,7 @@ static const struct of_device_id dss_of_match[] = { | |||
1243 | MODULE_DEVICE_TABLE(of, dss_of_match); | 1243 | MODULE_DEVICE_TABLE(of, dss_of_match); |
1244 | 1244 | ||
1245 | static struct platform_driver omap_dsshw_driver = { | 1245 | static struct platform_driver omap_dsshw_driver = { |
1246 | .remove = __exit_p(omap_dsshw_remove), | 1246 | .remove = omap_dsshw_remove, |
1247 | .driver = { | 1247 | .driver = { |
1248 | .name = "omapdss_dss", | 1248 | .name = "omapdss_dss", |
1249 | .pm = &dss_pm_ops, | 1249 | .pm = &dss_pm_ops, |
diff --git a/drivers/video/fbdev/omap2/dss/dss.h b/drivers/video/fbdev/omap2/dss/dss.h index 4812eee2622a..2406bcdb831a 100644 --- a/drivers/video/fbdev/omap2/dss/dss.h +++ b/drivers/video/fbdev/omap2/dss/dss.h | |||
@@ -309,18 +309,18 @@ bool dss_div_calc(unsigned long pck, unsigned long fck_min, | |||
309 | 309 | ||
310 | /* SDI */ | 310 | /* SDI */ |
311 | int sdi_init_platform_driver(void) __init; | 311 | int sdi_init_platform_driver(void) __init; |
312 | void sdi_uninit_platform_driver(void) __exit; | 312 | void sdi_uninit_platform_driver(void); |
313 | 313 | ||
314 | #ifdef CONFIG_OMAP2_DSS_SDI | 314 | #ifdef CONFIG_OMAP2_DSS_SDI |
315 | int sdi_init_port(struct platform_device *pdev, struct device_node *port) __init; | 315 | int sdi_init_port(struct platform_device *pdev, struct device_node *port); |
316 | void sdi_uninit_port(struct device_node *port) __exit; | 316 | void sdi_uninit_port(struct device_node *port); |
317 | #else | 317 | #else |
318 | static inline int __init sdi_init_port(struct platform_device *pdev, | 318 | static inline int sdi_init_port(struct platform_device *pdev, |
319 | struct device_node *port) | 319 | struct device_node *port) |
320 | { | 320 | { |
321 | return 0; | 321 | return 0; |
322 | } | 322 | } |
323 | static inline void __exit sdi_uninit_port(struct device_node *port) | 323 | static inline void sdi_uninit_port(struct device_node *port) |
324 | { | 324 | { |
325 | } | 325 | } |
326 | #endif | 326 | #endif |
@@ -333,7 +333,7 @@ struct dentry; | |||
333 | struct file_operations; | 333 | struct file_operations; |
334 | 334 | ||
335 | int dsi_init_platform_driver(void) __init; | 335 | int dsi_init_platform_driver(void) __init; |
336 | void dsi_uninit_platform_driver(void) __exit; | 336 | void dsi_uninit_platform_driver(void); |
337 | 337 | ||
338 | void dsi_dump_clocks(struct seq_file *s); | 338 | void dsi_dump_clocks(struct seq_file *s); |
339 | 339 | ||
@@ -350,25 +350,25 @@ static inline u8 dsi_get_pixel_size(enum omap_dss_dsi_pixel_format fmt) | |||
350 | 350 | ||
351 | /* DPI */ | 351 | /* DPI */ |
352 | int dpi_init_platform_driver(void) __init; | 352 | int dpi_init_platform_driver(void) __init; |
353 | void dpi_uninit_platform_driver(void) __exit; | 353 | void dpi_uninit_platform_driver(void); |
354 | 354 | ||
355 | #ifdef CONFIG_OMAP2_DSS_DPI | 355 | #ifdef CONFIG_OMAP2_DSS_DPI |
356 | int dpi_init_port(struct platform_device *pdev, struct device_node *port) __init; | 356 | int dpi_init_port(struct platform_device *pdev, struct device_node *port); |
357 | void dpi_uninit_port(struct device_node *port) __exit; | 357 | void dpi_uninit_port(struct device_node *port); |
358 | #else | 358 | #else |
359 | static inline int __init dpi_init_port(struct platform_device *pdev, | 359 | static inline int dpi_init_port(struct platform_device *pdev, |
360 | struct device_node *port) | 360 | struct device_node *port) |
361 | { | 361 | { |
362 | return 0; | 362 | return 0; |
363 | } | 363 | } |
364 | static inline void __exit dpi_uninit_port(struct device_node *port) | 364 | static inline void dpi_uninit_port(struct device_node *port) |
365 | { | 365 | { |
366 | } | 366 | } |
367 | #endif | 367 | #endif |
368 | 368 | ||
369 | /* DISPC */ | 369 | /* DISPC */ |
370 | int dispc_init_platform_driver(void) __init; | 370 | int dispc_init_platform_driver(void) __init; |
371 | void dispc_uninit_platform_driver(void) __exit; | 371 | void dispc_uninit_platform_driver(void); |
372 | void dispc_dump_clocks(struct seq_file *s); | 372 | void dispc_dump_clocks(struct seq_file *s); |
373 | 373 | ||
374 | void dispc_enable_sidle(void); | 374 | void dispc_enable_sidle(void); |
@@ -418,18 +418,18 @@ int dispc_wb_setup(const struct omap_dss_writeback_info *wi, | |||
418 | 418 | ||
419 | /* VENC */ | 419 | /* VENC */ |
420 | int venc_init_platform_driver(void) __init; | 420 | int venc_init_platform_driver(void) __init; |
421 | void venc_uninit_platform_driver(void) __exit; | 421 | void venc_uninit_platform_driver(void); |
422 | 422 | ||
423 | /* HDMI */ | 423 | /* HDMI */ |
424 | int hdmi4_init_platform_driver(void) __init; | 424 | int hdmi4_init_platform_driver(void) __init; |
425 | void hdmi4_uninit_platform_driver(void) __exit; | 425 | void hdmi4_uninit_platform_driver(void); |
426 | 426 | ||
427 | int hdmi5_init_platform_driver(void) __init; | 427 | int hdmi5_init_platform_driver(void) __init; |
428 | void hdmi5_uninit_platform_driver(void) __exit; | 428 | void hdmi5_uninit_platform_driver(void); |
429 | 429 | ||
430 | /* RFBI */ | 430 | /* RFBI */ |
431 | int rfbi_init_platform_driver(void) __init; | 431 | int rfbi_init_platform_driver(void) __init; |
432 | void rfbi_uninit_platform_driver(void) __exit; | 432 | void rfbi_uninit_platform_driver(void); |
433 | 433 | ||
434 | 434 | ||
435 | #ifdef CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS | 435 | #ifdef CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS |
diff --git a/drivers/video/fbdev/omap2/dss/hdmi4.c b/drivers/video/fbdev/omap2/dss/hdmi4.c index 916d47978f41..31deebbc32dc 100644 --- a/drivers/video/fbdev/omap2/dss/hdmi4.c +++ b/drivers/video/fbdev/omap2/dss/hdmi4.c | |||
@@ -713,7 +713,7 @@ err: | |||
713 | return r; | 713 | return r; |
714 | } | 714 | } |
715 | 715 | ||
716 | static int __exit omapdss_hdmihw_remove(struct platform_device *pdev) | 716 | static int omapdss_hdmihw_remove(struct platform_device *pdev) |
717 | { | 717 | { |
718 | if (hdmi.audio_pdev) | 718 | if (hdmi.audio_pdev) |
719 | platform_device_unregister(hdmi.audio_pdev); | 719 | platform_device_unregister(hdmi.audio_pdev); |
@@ -757,7 +757,7 @@ static const struct of_device_id hdmi_of_match[] = { | |||
757 | 757 | ||
758 | static struct platform_driver omapdss_hdmihw_driver = { | 758 | static struct platform_driver omapdss_hdmihw_driver = { |
759 | .probe = omapdss_hdmihw_probe, | 759 | .probe = omapdss_hdmihw_probe, |
760 | .remove = __exit_p(omapdss_hdmihw_remove), | 760 | .remove = omapdss_hdmihw_remove, |
761 | .driver = { | 761 | .driver = { |
762 | .name = "omapdss_hdmi", | 762 | .name = "omapdss_hdmi", |
763 | .pm = &hdmi_pm_ops, | 763 | .pm = &hdmi_pm_ops, |
@@ -771,7 +771,7 @@ int __init hdmi4_init_platform_driver(void) | |||
771 | return platform_driver_register(&omapdss_hdmihw_driver); | 771 | return platform_driver_register(&omapdss_hdmihw_driver); |
772 | } | 772 | } |
773 | 773 | ||
774 | void __exit hdmi4_uninit_platform_driver(void) | 774 | void hdmi4_uninit_platform_driver(void) |
775 | { | 775 | { |
776 | platform_driver_unregister(&omapdss_hdmihw_driver); | 776 | platform_driver_unregister(&omapdss_hdmihw_driver); |
777 | } | 777 | } |
diff --git a/drivers/video/fbdev/omap2/dss/hdmi5.c b/drivers/video/fbdev/omap2/dss/hdmi5.c index 3f0b34a7031a..a57f5e8f9aea 100644 --- a/drivers/video/fbdev/omap2/dss/hdmi5.c +++ b/drivers/video/fbdev/omap2/dss/hdmi5.c | |||
@@ -748,7 +748,7 @@ err: | |||
748 | return r; | 748 | return r; |
749 | } | 749 | } |
750 | 750 | ||
751 | static int __exit omapdss_hdmihw_remove(struct platform_device *pdev) | 751 | static int omapdss_hdmihw_remove(struct platform_device *pdev) |
752 | { | 752 | { |
753 | if (hdmi.audio_pdev) | 753 | if (hdmi.audio_pdev) |
754 | platform_device_unregister(hdmi.audio_pdev); | 754 | platform_device_unregister(hdmi.audio_pdev); |
@@ -793,7 +793,7 @@ static const struct of_device_id hdmi_of_match[] = { | |||
793 | 793 | ||
794 | static struct platform_driver omapdss_hdmihw_driver = { | 794 | static struct platform_driver omapdss_hdmihw_driver = { |
795 | .probe = omapdss_hdmihw_probe, | 795 | .probe = omapdss_hdmihw_probe, |
796 | .remove = __exit_p(omapdss_hdmihw_remove), | 796 | .remove = omapdss_hdmihw_remove, |
797 | .driver = { | 797 | .driver = { |
798 | .name = "omapdss_hdmi5", | 798 | .name = "omapdss_hdmi5", |
799 | .pm = &hdmi_pm_ops, | 799 | .pm = &hdmi_pm_ops, |
@@ -807,7 +807,7 @@ int __init hdmi5_init_platform_driver(void) | |||
807 | return platform_driver_register(&omapdss_hdmihw_driver); | 807 | return platform_driver_register(&omapdss_hdmihw_driver); |
808 | } | 808 | } |
809 | 809 | ||
810 | void __exit hdmi5_uninit_platform_driver(void) | 810 | void hdmi5_uninit_platform_driver(void) |
811 | { | 811 | { |
812 | platform_driver_unregister(&omapdss_hdmihw_driver); | 812 | platform_driver_unregister(&omapdss_hdmihw_driver); |
813 | } | 813 | } |
diff --git a/drivers/video/fbdev/omap2/dss/rfbi.c b/drivers/video/fbdev/omap2/dss/rfbi.c index 065effca9236..8ec810bce0b6 100644 --- a/drivers/video/fbdev/omap2/dss/rfbi.c +++ b/drivers/video/fbdev/omap2/dss/rfbi.c | |||
@@ -938,7 +938,7 @@ static void rfbi_init_output(struct platform_device *pdev) | |||
938 | omapdss_register_output(out); | 938 | omapdss_register_output(out); |
939 | } | 939 | } |
940 | 940 | ||
941 | static void __exit rfbi_uninit_output(struct platform_device *pdev) | 941 | static void rfbi_uninit_output(struct platform_device *pdev) |
942 | { | 942 | { |
943 | struct omap_dss_device *out = &rfbi.output; | 943 | struct omap_dss_device *out = &rfbi.output; |
944 | 944 | ||
@@ -1005,7 +1005,7 @@ err_runtime_get: | |||
1005 | return r; | 1005 | return r; |
1006 | } | 1006 | } |
1007 | 1007 | ||
1008 | static int __exit omap_rfbihw_remove(struct platform_device *pdev) | 1008 | static int omap_rfbihw_remove(struct platform_device *pdev) |
1009 | { | 1009 | { |
1010 | rfbi_uninit_output(pdev); | 1010 | rfbi_uninit_output(pdev); |
1011 | 1011 | ||
@@ -1039,7 +1039,7 @@ static const struct dev_pm_ops rfbi_pm_ops = { | |||
1039 | 1039 | ||
1040 | static struct platform_driver omap_rfbihw_driver = { | 1040 | static struct platform_driver omap_rfbihw_driver = { |
1041 | .probe = omap_rfbihw_probe, | 1041 | .probe = omap_rfbihw_probe, |
1042 | .remove = __exit_p(omap_rfbihw_remove), | 1042 | .remove = omap_rfbihw_remove, |
1043 | .driver = { | 1043 | .driver = { |
1044 | .name = "omapdss_rfbi", | 1044 | .name = "omapdss_rfbi", |
1045 | .pm = &rfbi_pm_ops, | 1045 | .pm = &rfbi_pm_ops, |
@@ -1052,7 +1052,7 @@ int __init rfbi_init_platform_driver(void) | |||
1052 | return platform_driver_register(&omap_rfbihw_driver); | 1052 | return platform_driver_register(&omap_rfbihw_driver); |
1053 | } | 1053 | } |
1054 | 1054 | ||
1055 | void __exit rfbi_uninit_platform_driver(void) | 1055 | void rfbi_uninit_platform_driver(void) |
1056 | { | 1056 | { |
1057 | platform_driver_unregister(&omap_rfbihw_driver); | 1057 | platform_driver_unregister(&omap_rfbihw_driver); |
1058 | } | 1058 | } |
diff --git a/drivers/video/fbdev/omap2/dss/sdi.c b/drivers/video/fbdev/omap2/dss/sdi.c index 5c2ccab5a958..a873118f1e0e 100644 --- a/drivers/video/fbdev/omap2/dss/sdi.c +++ b/drivers/video/fbdev/omap2/dss/sdi.c | |||
@@ -350,7 +350,7 @@ static void sdi_init_output(struct platform_device *pdev) | |||
350 | omapdss_register_output(out); | 350 | omapdss_register_output(out); |
351 | } | 351 | } |
352 | 352 | ||
353 | static void __exit sdi_uninit_output(struct platform_device *pdev) | 353 | static void sdi_uninit_output(struct platform_device *pdev) |
354 | { | 354 | { |
355 | struct omap_dss_device *out = &sdi.output; | 355 | struct omap_dss_device *out = &sdi.output; |
356 | 356 | ||
@@ -366,7 +366,7 @@ static int omap_sdi_probe(struct platform_device *pdev) | |||
366 | return 0; | 366 | return 0; |
367 | } | 367 | } |
368 | 368 | ||
369 | static int __exit omap_sdi_remove(struct platform_device *pdev) | 369 | static int omap_sdi_remove(struct platform_device *pdev) |
370 | { | 370 | { |
371 | sdi_uninit_output(pdev); | 371 | sdi_uninit_output(pdev); |
372 | 372 | ||
@@ -375,7 +375,7 @@ static int __exit omap_sdi_remove(struct platform_device *pdev) | |||
375 | 375 | ||
376 | static struct platform_driver omap_sdi_driver = { | 376 | static struct platform_driver omap_sdi_driver = { |
377 | .probe = omap_sdi_probe, | 377 | .probe = omap_sdi_probe, |
378 | .remove = __exit_p(omap_sdi_remove), | 378 | .remove = omap_sdi_remove, |
379 | .driver = { | 379 | .driver = { |
380 | .name = "omapdss_sdi", | 380 | .name = "omapdss_sdi", |
381 | .suppress_bind_attrs = true, | 381 | .suppress_bind_attrs = true, |
@@ -387,12 +387,12 @@ int __init sdi_init_platform_driver(void) | |||
387 | return platform_driver_register(&omap_sdi_driver); | 387 | return platform_driver_register(&omap_sdi_driver); |
388 | } | 388 | } |
389 | 389 | ||
390 | void __exit sdi_uninit_platform_driver(void) | 390 | void sdi_uninit_platform_driver(void) |
391 | { | 391 | { |
392 | platform_driver_unregister(&omap_sdi_driver); | 392 | platform_driver_unregister(&omap_sdi_driver); |
393 | } | 393 | } |
394 | 394 | ||
395 | int __init sdi_init_port(struct platform_device *pdev, struct device_node *port) | 395 | int sdi_init_port(struct platform_device *pdev, struct device_node *port) |
396 | { | 396 | { |
397 | struct device_node *ep; | 397 | struct device_node *ep; |
398 | u32 datapairs; | 398 | u32 datapairs; |
@@ -426,7 +426,7 @@ err_datapairs: | |||
426 | return r; | 426 | return r; |
427 | } | 427 | } |
428 | 428 | ||
429 | void __exit sdi_uninit_port(struct device_node *port) | 429 | void sdi_uninit_port(struct device_node *port) |
430 | { | 430 | { |
431 | if (!sdi.port_initialized) | 431 | if (!sdi.port_initialized) |
432 | return; | 432 | return; |
diff --git a/drivers/video/fbdev/omap2/dss/venc.c b/drivers/video/fbdev/omap2/dss/venc.c index ef7fd925e7f2..e7fad0e19d43 100644 --- a/drivers/video/fbdev/omap2/dss/venc.c +++ b/drivers/video/fbdev/omap2/dss/venc.c | |||
@@ -802,7 +802,7 @@ static void venc_init_output(struct platform_device *pdev) | |||
802 | omapdss_register_output(out); | 802 | omapdss_register_output(out); |
803 | } | 803 | } |
804 | 804 | ||
805 | static void __exit venc_uninit_output(struct platform_device *pdev) | 805 | static void venc_uninit_output(struct platform_device *pdev) |
806 | { | 806 | { |
807 | struct omap_dss_device *out = &venc.output; | 807 | struct omap_dss_device *out = &venc.output; |
808 | 808 | ||
@@ -912,7 +912,7 @@ err_runtime_get: | |||
912 | return r; | 912 | return r; |
913 | } | 913 | } |
914 | 914 | ||
915 | static int __exit omap_venchw_remove(struct platform_device *pdev) | 915 | static int omap_venchw_remove(struct platform_device *pdev) |
916 | { | 916 | { |
917 | venc_uninit_output(pdev); | 917 | venc_uninit_output(pdev); |
918 | 918 | ||
@@ -960,7 +960,7 @@ static const struct of_device_id venc_of_match[] = { | |||
960 | 960 | ||
961 | static struct platform_driver omap_venchw_driver = { | 961 | static struct platform_driver omap_venchw_driver = { |
962 | .probe = omap_venchw_probe, | 962 | .probe = omap_venchw_probe, |
963 | .remove = __exit_p(omap_venchw_remove), | 963 | .remove = omap_venchw_remove, |
964 | .driver = { | 964 | .driver = { |
965 | .name = "omapdss_venc", | 965 | .name = "omapdss_venc", |
966 | .pm = &venc_pm_ops, | 966 | .pm = &venc_pm_ops, |
@@ -974,7 +974,7 @@ int __init venc_init_platform_driver(void) | |||
974 | return platform_driver_register(&omap_venchw_driver); | 974 | return platform_driver_register(&omap_venchw_driver); |
975 | } | 975 | } |
976 | 976 | ||
977 | void __exit venc_uninit_platform_driver(void) | 977 | void venc_uninit_platform_driver(void) |
978 | { | 978 | { |
979 | platform_driver_unregister(&omap_venchw_driver); | 979 | platform_driver_unregister(&omap_venchw_driver); |
980 | } | 980 | } |