## All lines beginning with `## DP:' are a description of the patch. ## DP: Description: Allow modular built of ide-pnp ## DP: Patch author: Herbert Xu, Christoph Hellwig ## DP: Upstream status: submitted # diff -aurN a/drivers/ide/Kconfig b/drivers/ide/Kconfig --- a/drivers/ide/Kconfig 2005-06-06 11:22:29.000000000 -0400 +++ b/drivers/ide/Kconfig 2005-06-15 22:15:06.000000000 -0400 @@ -315,7 +315,7 @@ Otherwise say N. config BLK_DEV_IDEPNP - bool "PNP EIDE support" + tristate "PNP EIDE support" depends on PNP help If you have a PnP (Plug and Play) compatible EIDE card and diff -aurN a/drivers/ide/Makefile b/drivers/ide/Makefile --- a/drivers/ide/Makefile 2005-06-06 11:22:29.000000000 -0400 +++ b/drivers/ide/Makefile 2005-06-15 22:15:06.000000000 -0400 @@ -23,6 +23,5 @@ ide-core-$(CONFIG_BLK_DEV_IDEDMA) += ide-dma.o ide-core-$(CONFIG_PROC_FS) += ide-proc.o -ide-core-$(CONFIG_BLK_DEV_IDEPNP) += ide-pnp.o # built-in only drivers from arm/ ide-core-$(CONFIG_IDE_ARM) += arm/ide_arm.o @@ -43,6 +42,7 @@ obj-$(CONFIG_BLK_DEV_IDE) += ide-core.o obj-$(CONFIG_IDE_GENERIC) += ide-generic.o +obj-$(CONFIG_BLK_DEV_IDEPNP) += ide-pnp.o obj-$(CONFIG_BLK_DEV_IDEDISK) += ide-disk.o obj-$(CONFIG_BLK_DEV_IDECD) += ide-cd.o diff -aurN a/drivers/ide/ide-pnp.c b/drivers/ide/ide-pnp.c --- a/drivers/ide/ide-pnp.c 2005-06-06 11:22:29.000000000 -0400 +++ b/drivers/ide/ide-pnp.c 2005-06-15 22:15:06.000000000 -0400 @@ -69,7 +69,21 @@ .remove = idepnp_remove, }; -void __init pnpide_init(void) +int __init pnpide_init(void) { - pnp_register_driver(&idepnp_driver); + return pnp_register_driver(&idepnp_driver); } + +#ifdef MODULE +static void __exit pnpide_exit(void) +{ + pnp_unregister_driver(&idepnp_driver); +} + +module_init(pnpide_init); +module_exit(pnpide_exit); +#endif + +MODULE_AUTHOR("Andrey Panin"); +MODULE_DESCRIPTION("Enabler for ISAPNP IDE devices"); +MODULE_LICENSE("GPL"); diff -aurN a/drivers/ide/ide.c b/drivers/ide/ide.c --- a/drivers/ide/ide.c 2005-06-06 11:22:29.000000000 -0400 +++ b/drivers/ide/ide.c 2005-06-15 22:15:06.000000000 -0400 @@ -1789,7 +1789,7 @@ return 1; } -extern void pnpide_init(void); +extern int pnpide_init(void); extern void h8300_ide_init(void); /*