提交 f99640de 编写于 作者: A Axel Lin 提交者: David Woodhouse

mtd: convert drivers/mtd/* to use module_platform_driver()

This patch converts the drivers in drivers/mtd/* to use the
module_platform_driver() macro which makes the code smaller and a bit
simpler.
Signed-off-by: NAxel Lin <axel.lin@gmail.com>
Acked by: Haojian Zhuang <haojian.zhuang@gmail.com>
Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@linux.intel.com>
Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
上级 1f9327fc
...@@ -257,18 +257,7 @@ static struct platform_driver bcm63xx_mtd_dev = { ...@@ -257,18 +257,7 @@ static struct platform_driver bcm63xx_mtd_dev = {
}, },
}; };
static int __init bcm963xx_mtd_init(void) module_platform_driver(bcm63xx_mtd_dev);
{
return platform_driver_register(&bcm63xx_mtd_dev);
}
static void __exit bcm963xx_mtd_exit(void)
{
platform_driver_unregister(&bcm63xx_mtd_dev);
}
module_init(bcm963xx_mtd_init);
module_exit(bcm963xx_mtd_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("Broadcom BCM63xx MTD driver for CFE and RedBoot"); MODULE_DESCRIPTION("Broadcom BCM63xx MTD driver for CFE and RedBoot");
......
...@@ -190,17 +190,7 @@ static struct platform_driver bfin_flash_driver = { ...@@ -190,17 +190,7 @@ static struct platform_driver bfin_flash_driver = {
}, },
}; };
static int __init bfin_flash_init(void) module_platform_driver(bfin_flash_driver);
{
return platform_driver_register(&bfin_flash_driver);
}
module_init(bfin_flash_init);
static void __exit bfin_flash_exit(void)
{
platform_driver_unregister(&bfin_flash_driver);
}
module_exit(bfin_flash_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("MTD map driver for Blackfins with flash/ethernet on same async bank"); MODULE_DESCRIPTION("MTD map driver for Blackfins with flash/ethernet on same async bank");
...@@ -279,17 +279,7 @@ static struct platform_driver gpio_flash_driver = { ...@@ -279,17 +279,7 @@ static struct platform_driver gpio_flash_driver = {
}, },
}; };
static int __init gpio_flash_init(void) module_platform_driver(gpio_flash_driver);
{
return platform_driver_register(&gpio_flash_driver);
}
module_init(gpio_flash_init);
static void __exit gpio_flash_exit(void)
{
platform_driver_unregister(&gpio_flash_driver);
}
module_exit(gpio_flash_exit);
MODULE_AUTHOR("Mike Frysinger <vapier@gentoo.org>"); MODULE_AUTHOR("Mike Frysinger <vapier@gentoo.org>");
MODULE_DESCRIPTION("MTD map driver for flashes addressed physically and with gpios"); MODULE_DESCRIPTION("MTD map driver for flashes addressed physically and with gpios");
......
...@@ -246,18 +246,8 @@ static struct platform_driver ixp2000_flash_driver = { ...@@ -246,18 +246,8 @@ static struct platform_driver ixp2000_flash_driver = {
}, },
}; };
static int __init ixp2000_flash_init(void) module_platform_driver(ixp2000_flash_driver);
{
return platform_driver_register(&ixp2000_flash_driver);
}
static void __exit ixp2000_flash_exit(void)
{
platform_driver_unregister(&ixp2000_flash_driver);
}
module_init(ixp2000_flash_init);
module_exit(ixp2000_flash_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_AUTHOR("Deepak Saxena <dsaxena@plexity.net>"); MODULE_AUTHOR("Deepak Saxena <dsaxena@plexity.net>");
MODULE_ALIAS("platform:IXP2000-Flash"); MODULE_ALIAS("platform:IXP2000-Flash");
...@@ -270,19 +270,7 @@ static struct platform_driver ixp4xx_flash_driver = { ...@@ -270,19 +270,7 @@ static struct platform_driver ixp4xx_flash_driver = {
}, },
}; };
static int __init ixp4xx_flash_init(void) module_platform_driver(ixp4xx_flash_driver);
{
return platform_driver_register(&ixp4xx_flash_driver);
}
static void __exit ixp4xx_flash_exit(void)
{
platform_driver_unregister(&ixp4xx_flash_driver);
}
module_init(ixp4xx_flash_init);
module_exit(ixp4xx_flash_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("MTD map driver for Intel IXP4xx systems"); MODULE_DESCRIPTION("MTD map driver for Intel IXP4xx systems");
......
...@@ -223,17 +223,7 @@ static struct platform_driver latch_addr_flash_driver = { ...@@ -223,17 +223,7 @@ static struct platform_driver latch_addr_flash_driver = {
}, },
}; };
static int __init latch_addr_flash_init(void) module_platform_driver(latch_addr_flash_driver);
{
return platform_driver_register(&latch_addr_flash_driver);
}
module_init(latch_addr_flash_init);
static void __exit latch_addr_flash_exit(void)
{
platform_driver_unregister(&latch_addr_flash_driver);
}
module_exit(latch_addr_flash_exit);
MODULE_AUTHOR("David Griego <dgriego@mvista.com>"); MODULE_AUTHOR("David Griego <dgriego@mvista.com>");
MODULE_DESCRIPTION("MTD map driver for flashes addressed physically with upper " MODULE_DESCRIPTION("MTD map driver for flashes addressed physically with upper "
......
...@@ -338,18 +338,7 @@ static struct platform_driver of_flash_driver = { ...@@ -338,18 +338,7 @@ static struct platform_driver of_flash_driver = {
.remove = of_flash_remove, .remove = of_flash_remove,
}; };
static int __init of_flash_init(void) module_platform_driver(of_flash_driver);
{
return platform_driver_register(&of_flash_driver);
}
static void __exit of_flash_exit(void)
{
platform_driver_unregister(&of_flash_driver);
}
module_init(of_flash_init);
module_exit(of_flash_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_AUTHOR("Vitaly Wool <vwool@ru.mvista.com>"); MODULE_AUTHOR("Vitaly Wool <vwool@ru.mvista.com>");
......
...@@ -142,18 +142,7 @@ static struct platform_driver pxa2xx_flash_driver = { ...@@ -142,18 +142,7 @@ static struct platform_driver pxa2xx_flash_driver = {
.shutdown = pxa2xx_flash_shutdown, .shutdown = pxa2xx_flash_shutdown,
}; };
static int __init init_pxa2xx_flash(void) module_platform_driver(pxa2xx_flash_driver);
{
return platform_driver_register(&pxa2xx_flash_driver);
}
static void __exit cleanup_pxa2xx_flash(void)
{
platform_driver_unregister(&pxa2xx_flash_driver);
}
module_init(init_pxa2xx_flash);
module_exit(cleanup_pxa2xx_flash);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_AUTHOR("Nicolas Pitre <nico@fluxnic.net>"); MODULE_AUTHOR("Nicolas Pitre <nico@fluxnic.net>");
......
...@@ -137,18 +137,7 @@ static struct platform_driver rbtx4939_flash_driver = { ...@@ -137,18 +137,7 @@ static struct platform_driver rbtx4939_flash_driver = {
}, },
}; };
static int __init rbtx4939_flash_init(void) module_platform_driver(rbtx4939_flash_driver);
{
return platform_driver_register(&rbtx4939_flash_driver);
}
static void __exit rbtx4939_flash_exit(void)
{
platform_driver_unregister(&rbtx4939_flash_driver);
}
module_init(rbtx4939_flash_init);
module_exit(rbtx4939_flash_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("RBTX4939 MTD map driver"); MODULE_DESCRIPTION("RBTX4939 MTD map driver");
......
...@@ -394,18 +394,7 @@ static struct platform_driver sa1100_mtd_driver = { ...@@ -394,18 +394,7 @@ static struct platform_driver sa1100_mtd_driver = {
}, },
}; };
static int __init sa1100_mtd_init(void) module_platform_driver(sa1100_mtd_driver);
{
return platform_driver_register(&sa1100_mtd_driver);
}
static void __exit sa1100_mtd_exit(void)
{
platform_driver_unregister(&sa1100_mtd_driver);
}
module_init(sa1100_mtd_init);
module_exit(sa1100_mtd_exit);
MODULE_AUTHOR("Nicolas Pitre"); MODULE_AUTHOR("Nicolas Pitre");
MODULE_DESCRIPTION("SA1100 CFI map driver"); MODULE_DESCRIPTION("SA1100 CFI map driver");
......
...@@ -158,15 +158,4 @@ static struct platform_driver uflash_driver = { ...@@ -158,15 +158,4 @@ static struct platform_driver uflash_driver = {
.remove = __devexit_p(uflash_remove), .remove = __devexit_p(uflash_remove),
}; };
static int __init uflash_init(void) module_platform_driver(uflash_driver);
{
return platform_driver_register(&uflash_driver);
}
static void __exit uflash_exit(void)
{
platform_driver_unregister(&uflash_driver);
}
module_init(uflash_init);
module_exit(uflash_exit);
...@@ -280,17 +280,7 @@ static struct platform_driver ams_delta_nand_driver = { ...@@ -280,17 +280,7 @@ static struct platform_driver ams_delta_nand_driver = {
}, },
}; };
static int __init ams_delta_nand_init(void) module_platform_driver(ams_delta_nand_driver);
{
return platform_driver_register(&ams_delta_nand_driver);
}
module_init(ams_delta_nand_init);
static void __exit ams_delta_nand_exit(void)
{
platform_driver_unregister(&ams_delta_nand_driver);
}
module_exit(ams_delta_nand_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_AUTHOR("Jonathan McDowell <noodles@earth.li>"); MODULE_AUTHOR("Jonathan McDowell <noodles@earth.li>");
......
...@@ -546,18 +546,7 @@ static struct platform_driver nand_driver = { ...@@ -546,18 +546,7 @@ static struct platform_driver nand_driver = {
.resume = bcm_umi_nand_resume, .resume = bcm_umi_nand_resume,
}; };
static int __init nand_init(void) module_platform_driver(nand_driver);
{
return platform_driver_register(&nand_driver);
}
static void __exit nand_exit(void)
{
platform_driver_unregister(&nand_driver);
}
module_init(nand_init);
module_exit(nand_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_AUTHOR("Broadcom"); MODULE_AUTHOR("Broadcom");
......
...@@ -971,18 +971,7 @@ static struct platform_driver fsl_elbc_nand_driver = { ...@@ -971,18 +971,7 @@ static struct platform_driver fsl_elbc_nand_driver = {
.remove = fsl_elbc_nand_remove, .remove = fsl_elbc_nand_remove,
}; };
static int __init fsl_elbc_nand_init(void) module_platform_driver(fsl_elbc_nand_driver);
{
return platform_driver_register(&fsl_elbc_nand_driver);
}
static void __exit fsl_elbc_nand_exit(void)
{
platform_driver_unregister(&fsl_elbc_nand_driver);
}
module_init(fsl_elbc_nand_init);
module_exit(fsl_elbc_nand_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_AUTHOR("Freescale"); MODULE_AUTHOR("Freescale");
......
...@@ -353,17 +353,7 @@ static struct platform_driver of_fun_driver = { ...@@ -353,17 +353,7 @@ static struct platform_driver of_fun_driver = {
.remove = __devexit_p(fun_remove), .remove = __devexit_p(fun_remove),
}; };
static int __init fun_module_init(void) module_platform_driver(of_fun_driver);
{
return platform_driver_register(&of_fun_driver);
}
module_init(fun_module_init);
static void __exit fun_module_exit(void)
{
platform_driver_unregister(&of_fun_driver);
}
module_exit(fun_module_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_AUTHOR("Anton Vorontsov <avorontsov@ru.mvista.com>"); MODULE_AUTHOR("Anton Vorontsov <avorontsov@ru.mvista.com>");
......
...@@ -423,17 +423,7 @@ static struct platform_driver jz_nand_driver = { ...@@ -423,17 +423,7 @@ static struct platform_driver jz_nand_driver = {
}, },
}; };
static int __init jz_nand_init(void) module_platform_driver(jz_nand_driver);
{
return platform_driver_register(&jz_nand_driver);
}
module_init(jz_nand_init);
static void __exit jz_nand_exit(void)
{
platform_driver_unregister(&jz_nand_driver);
}
module_exit(jz_nand_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>"); MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>");
......
...@@ -879,19 +879,7 @@ static struct platform_driver mpc5121_nfc_driver = { ...@@ -879,19 +879,7 @@ static struct platform_driver mpc5121_nfc_driver = {
}, },
}; };
static int __init mpc5121_nfc_init(void) module_platform_driver(mpc5121_nfc_driver);
{
return platform_driver_register(&mpc5121_nfc_driver);
}
module_init(mpc5121_nfc_init);
static void __exit mpc5121_nfc_cleanup(void)
{
platform_driver_unregister(&mpc5121_nfc_driver);
}
module_exit(mpc5121_nfc_cleanup);
MODULE_AUTHOR("Freescale Semiconductor, Inc."); MODULE_AUTHOR("Freescale Semiconductor, Inc.");
MODULE_DESCRIPTION("MPC5121 NAND MTD driver"); MODULE_DESCRIPTION("MPC5121 NAND MTD driver");
......
...@@ -294,18 +294,7 @@ static struct platform_driver ndfc_driver = { ...@@ -294,18 +294,7 @@ static struct platform_driver ndfc_driver = {
.remove = __devexit_p(ndfc_remove), .remove = __devexit_p(ndfc_remove),
}; };
static int __init ndfc_nand_init(void) module_platform_driver(ndfc_driver);
{
return platform_driver_register(&ndfc_driver);
}
static void __exit ndfc_nand_exit(void)
{
platform_driver_unregister(&ndfc_driver);
}
module_init(ndfc_nand_init);
module_exit(ndfc_nand_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_AUTHOR("Thomas Gleixner <tglx@linutronix.de>"); MODULE_AUTHOR("Thomas Gleixner <tglx@linutronix.de>");
......
...@@ -228,19 +228,7 @@ static struct platform_driver nomadik_nand_driver = { ...@@ -228,19 +228,7 @@ static struct platform_driver nomadik_nand_driver = {
}, },
}; };
static int __init nand_nomadik_init(void) module_platform_driver(nomadik_nand_driver);
{
pr_info("Nomadik NAND driver\n");
return platform_driver_register(&nomadik_nand_driver);
}
static void __exit nand_nomadik_exit(void)
{
platform_driver_unregister(&nomadik_nand_driver);
}
module_init(nand_nomadik_init);
module_exit(nand_nomadik_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_AUTHOR("ST Microelectronics (sachin.verma@st.com)"); MODULE_AUTHOR("ST Microelectronics (sachin.verma@st.com)");
......
...@@ -364,18 +364,7 @@ static struct platform_driver nuc900_nand_driver = { ...@@ -364,18 +364,7 @@ static struct platform_driver nuc900_nand_driver = {
}, },
}; };
static int __init nuc900_nand_init(void) module_platform_driver(nuc900_nand_driver);
{
return platform_driver_register(&nuc900_nand_driver);
}
static void __exit nuc900_nand_exit(void)
{
platform_driver_unregister(&nuc900_nand_driver);
}
module_init(nuc900_nand_init);
module_exit(nuc900_nand_exit);
MODULE_AUTHOR("Wan ZongShun <mcuos.com@gmail.com>"); MODULE_AUTHOR("Wan ZongShun <mcuos.com@gmail.com>");
MODULE_DESCRIPTION("w90p910/NUC9xx nand driver!"); MODULE_DESCRIPTION("w90p910/NUC9xx nand driver!");
......
...@@ -1145,20 +1145,7 @@ static struct platform_driver omap_nand_driver = { ...@@ -1145,20 +1145,7 @@ static struct platform_driver omap_nand_driver = {
}, },
}; };
static int __init omap_nand_init(void) module_platform_driver(omap_nand_driver);
{
pr_info("%s driver initializing\n", DRIVER_NAME);
return platform_driver_register(&omap_nand_driver);
}
static void __exit omap_nand_exit(void)
{
platform_driver_unregister(&omap_nand_driver);
}
module_init(omap_nand_init);
module_exit(omap_nand_exit);
MODULE_ALIAS("platform:" DRIVER_NAME); MODULE_ALIAS("platform:" DRIVER_NAME);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
......
...@@ -230,17 +230,7 @@ static struct platform_driver pasemi_nand_driver = ...@@ -230,17 +230,7 @@ static struct platform_driver pasemi_nand_driver =
.remove = pasemi_nand_remove, .remove = pasemi_nand_remove,
}; };
static int __init pasemi_nand_init(void) module_platform_driver(pasemi_nand_driver);
{
return platform_driver_register(&pasemi_nand_driver);
}
module_init(pasemi_nand_init);
static void __exit pasemi_nand_exit(void)
{
platform_driver_unregister(&pasemi_nand_driver);
}
module_exit(pasemi_nand_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_AUTHOR("Egor Martovetsky <egor@pasemi.com>"); MODULE_AUTHOR("Egor Martovetsky <egor@pasemi.com>");
......
...@@ -148,18 +148,7 @@ static struct platform_driver plat_nand_driver = { ...@@ -148,18 +148,7 @@ static struct platform_driver plat_nand_driver = {
}, },
}; };
static int __init plat_nand_init(void) module_platform_driver(plat_nand_driver);
{
return platform_driver_register(&plat_nand_driver);
}
static void __exit plat_nand_exit(void)
{
platform_driver_unregister(&plat_nand_driver);
}
module_init(plat_nand_init);
module_exit(plat_nand_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_AUTHOR("Vitaly Wool"); MODULE_AUTHOR("Vitaly Wool");
......
...@@ -1311,17 +1311,7 @@ static struct platform_driver pxa3xx_nand_driver = { ...@@ -1311,17 +1311,7 @@ static struct platform_driver pxa3xx_nand_driver = {
.resume = pxa3xx_nand_resume, .resume = pxa3xx_nand_resume,
}; };
static int __init pxa3xx_nand_init(void) module_platform_driver(pxa3xx_nand_driver);
{
return platform_driver_register(&pxa3xx_nand_driver);
}
module_init(pxa3xx_nand_init);
static void __exit pxa3xx_nand_exit(void)
{
platform_driver_unregister(&pxa3xx_nand_driver);
}
module_exit(pxa3xx_nand_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("PXA3xx NAND controller driver"); MODULE_DESCRIPTION("PXA3xx NAND controller driver");
...@@ -230,17 +230,7 @@ static struct platform_driver sharpsl_nand_driver = { ...@@ -230,17 +230,7 @@ static struct platform_driver sharpsl_nand_driver = {
.remove = __devexit_p(sharpsl_nand_remove), .remove = __devexit_p(sharpsl_nand_remove),
}; };
static int __init sharpsl_nand_init(void) module_platform_driver(sharpsl_nand_driver);
{
return platform_driver_register(&sharpsl_nand_driver);
}
module_init(sharpsl_nand_init);
static void __exit sharpsl_nand_exit(void)
{
platform_driver_unregister(&sharpsl_nand_driver);
}
module_exit(sharpsl_nand_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_AUTHOR("Richard Purdie <rpurdie@rpsys.net>"); MODULE_AUTHOR("Richard Purdie <rpurdie@rpsys.net>");
......
...@@ -273,18 +273,7 @@ static struct platform_driver socrates_nand_driver = { ...@@ -273,18 +273,7 @@ static struct platform_driver socrates_nand_driver = {
.remove = __devexit_p(socrates_nand_remove), .remove = __devexit_p(socrates_nand_remove),
}; };
static int __init socrates_nand_init(void) module_platform_driver(socrates_nand_driver);
{
return platform_driver_register(&socrates_nand_driver);
}
static void __exit socrates_nand_exit(void)
{
platform_driver_unregister(&socrates_nand_driver);
}
module_init(socrates_nand_init);
module_exit(socrates_nand_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_AUTHOR("Ilya Yanok"); MODULE_AUTHOR("Ilya Yanok");
......
...@@ -533,18 +533,7 @@ static struct platform_driver tmio_driver = { ...@@ -533,18 +533,7 @@ static struct platform_driver tmio_driver = {
.resume = tmio_resume, .resume = tmio_resume,
}; };
static int __init tmio_init(void) module_platform_driver(tmio_driver);
{
return platform_driver_register(&tmio_driver);
}
static void __exit tmio_exit(void)
{
platform_driver_unregister(&tmio_driver);
}
module_init(tmio_init);
module_exit(tmio_exit);
MODULE_LICENSE("GPL v2"); MODULE_LICENSE("GPL v2");
MODULE_AUTHOR("Ian Molton, Dirk Opfer, Chris Humbert, Dmitry Baryshkov"); MODULE_AUTHOR("Ian Molton, Dirk Opfer, Chris Humbert, Dmitry Baryshkov");
......
...@@ -115,21 +115,9 @@ static struct platform_driver generic_onenand_driver = { ...@@ -115,21 +115,9 @@ static struct platform_driver generic_onenand_driver = {
.remove = __devexit_p(generic_onenand_remove), .remove = __devexit_p(generic_onenand_remove),
}; };
MODULE_ALIAS("platform:" DRIVER_NAME); module_platform_driver(generic_onenand_driver);
static int __init generic_onenand_init(void)
{
return platform_driver_register(&generic_onenand_driver);
}
static void __exit generic_onenand_exit(void)
{
platform_driver_unregister(&generic_onenand_driver);
}
module_init(generic_onenand_init);
module_exit(generic_onenand_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_AUTHOR("Kyungmin Park <kyungmin.park@samsung.com>"); MODULE_AUTHOR("Kyungmin Park <kyungmin.park@samsung.com>");
MODULE_DESCRIPTION("Glue layer for OneNAND flash on generic boards"); MODULE_DESCRIPTION("Glue layer for OneNAND flash on generic boards");
MODULE_ALIAS("platform:" DRIVER_NAME);
...@@ -1133,18 +1133,7 @@ static struct platform_driver s3c_onenand_driver = { ...@@ -1133,18 +1133,7 @@ static struct platform_driver s3c_onenand_driver = {
.remove = __devexit_p(s3c_onenand_remove), .remove = __devexit_p(s3c_onenand_remove),
}; };
static int __init s3c_onenand_init(void) module_platform_driver(s3c_onenand_driver);
{
return platform_driver_register(&s3c_onenand_driver);
}
static void __exit s3c_onenand_exit(void)
{
platform_driver_unregister(&s3c_onenand_driver);
}
module_init(s3c_onenand_init);
module_exit(s3c_onenand_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_AUTHOR("Kyungmin Park <kyungmin.park@samsung.com>"); MODULE_AUTHOR("Kyungmin Park <kyungmin.park@samsung.com>");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册