diff -uNr thinkpad-5.9.orig/2.6/drivers/rtcmosram.c thinkpad-5.9/2.6/drivers/rtcmosram.c --- thinkpad-5.9.orig/2.6/drivers/rtcmosram.c 2006-03-24 18:45:52.000000000 +0100 +++ thinkpad-5.9/2.6/drivers/rtcmosram.c 2006-03-24 18:50:36.000000000 +0100 @@ -52,7 +52,6 @@ /****** variables ******/ static const char _szMyName[] = "rtcmosram"; -static const char _szImName[] = "rtcmosram_do"; static const char _szMyVersion[] = "5.0"; static const char _szProcfile[] = "driver/thinkpad/rtcmosram"; static struct resource *_presourceRtcmosram; @@ -226,8 +225,6 @@ } /* proc entry created */ - inter_module_register( _szImName, THIS_MODULE, &rtcmosram_do ); - return 0; } @@ -235,8 +232,6 @@ static void __exit rtcmosram_exit( void ) { - inter_module_unregister( _szImName ); - remove_proc_entry( _szProcfile, NULL ); if ( _presourceRtcmosram != NULL ) release_resource( _presourceRtcmosram ); @@ -244,5 +239,6 @@ return; } +EXPORT_SYMBOL(rtcmosram_do); module_init(rtcmosram_init); module_exit(rtcmosram_exit); diff -uNr thinkpad-5.9.orig/2.6/drivers/smapi_core.c thinkpad-5.9/2.6/drivers/smapi_core.c --- thinkpad-5.9.orig/2.6/drivers/smapi_core.c 2006-03-24 18:45:52.000000000 +0100 +++ thinkpad-5.9/2.6/drivers/smapi_core.c 2006-03-24 18:53:55.000000000 +0100 @@ -52,7 +52,6 @@ /****** variables ******/ static const char _szMyName[] = "smapi"; -static const char _szImName[] = "smapi_do"; static const char _szMyVersion[] = "5.0"; static const char _szProcfile[] = "driver/thinkpad/smapi"; @@ -298,8 +297,6 @@ } /* proc entry created */ - inter_module_register( _szImName, THIS_MODULE, &smapi_do ); - return 0; } @@ -307,12 +304,11 @@ static void __exit smapi_exit( void ) { - inter_module_unregister( _szImName ); - remove_proc_entry( _szProcfile, NULL ); return; } +EXPORT_SYMBOL(smapi_do); module_init(smapi_init); module_exit(smapi_exit); diff -uNr thinkpad-5.9.orig/2.6/drivers/superio.c thinkpad-5.9/2.6/drivers/superio.c --- thinkpad-5.9.orig/2.6/drivers/superio.c 2006-03-24 18:45:52.000000000 +0100 +++ thinkpad-5.9/2.6/drivers/superio.c 2006-03-24 18:53:06.000000000 +0100 @@ -52,7 +52,6 @@ /****** variables ******/ static const char _szMyName[] = "superio"; -static const char _szImName[] = "superio_do"; static const char _szMyVersion[] = "5.0"; static const char _szProcfile[] = "driver/thinkpad/superio"; static word _wPortIndex, _wPortData; @@ -887,8 +886,6 @@ } /* proc entry created */ - inter_module_register( _szImName, THIS_MODULE, &superio_do ); - return 0; } @@ -896,8 +893,6 @@ static void __exit superio_exit( void ) { - inter_module_unregister( _szImName ); - remove_proc_entry( _szProcfile, NULL ); if ( _presourceSuperio != NULL ) release_resource( _presourceSuperio ); @@ -905,5 +900,6 @@ return; } +EXPORT_SYMBOL(superio_do); module_init(superio_init); module_exit(superio_exit); diff -uNr thinkpad-5.9.orig/2.6/drivers/thinkpad.c thinkpad-5.9/2.6/drivers/thinkpad.c --- thinkpad-5.9.orig/2.6/drivers/thinkpad.c 2006-03-24 18:45:52.000000000 +0100 +++ thinkpad-5.9/2.6/drivers/thinkpad.c 2006-03-24 18:58:40.000000000 +0100 @@ -230,13 +230,13 @@ pxint_do_t pxint_doSmapi; int intRet; if ( ! enable_smapi ) return -ETHINKPAD_MODULE_DISABLED; - pxint_doSmapi = (pxint_do_t)inter_module_get_request( "smapi_do" , _szSmapiName ); + pxint_doSmapi = (pxint_do_t)try_then_request_module( __symbol_get("smapi_do") , _szSmapiName ); if ( pxint_doSmapi == NULL ) return -ETHINKPAD_MODULE_NOT_FOUND; intRet = (*pxint_doSmapi)( ulongIoctlArg, caller_has_w( pfileThe ) ); - inter_module_put("smapi_do"); + __symbol_put("smapi_do"); if ( intRet > 0 ) intRet = -ETHINKPAD_PROGRAMMING; return intRet; } @@ -245,13 +245,13 @@ pxint_do_t pxint_doSuperio; int intRet; if ( ! enable_superio ) return -ETHINKPAD_MODULE_DISABLED; - pxint_doSuperio = (pxint_do_t)inter_module_get_request( "superio_do" , _szSuperioName ); + pxint_doSuperio = (pxint_do_t)try_then_request_module( __symbol_get("superio_do") , _szSuperioName ); if ( pxint_doSuperio == NULL ) return -ETHINKPAD_MODULE_NOT_FOUND; intRet = (*pxint_doSuperio)( ulongIoctlArg, caller_has_w( pfileThe ) ); - inter_module_put("superio_do"); + __symbol_put("superio_do"); if ( intRet > 0 ) intRet = -ETHINKPAD_PROGRAMMING; return intRet; } @@ -260,13 +260,13 @@ pxint_do_t pxint_doRtcmosram; int intRet; if ( ! enable_rtcmosram ) return -ETHINKPAD_MODULE_DISABLED; - pxint_doRtcmosram = (pxint_do_t)inter_module_get_request( "rtcmosram_do" , _szRtcmosramName ); + pxint_doRtcmosram = (pxint_do_t)try_then_request_module( __symbol_get("rtcmosram_do") , _szRtcmosramName ); if ( pxint_doRtcmosram == NULL ) return -ETHINKPAD_MODULE_NOT_FOUND; intRet = (*pxint_doRtcmosram)( ulongIoctlArg, caller_has_w( pfileThe ) ); - inter_module_put("rtcmosram_do"); + __symbol_put("rtcmosram_do"); if ( intRet > 0 ) intRet = -ETHINKPAD_PROGRAMMING; return intRet; } diff -uNr thinkpad-5.9.orig/2.6/drivers/thinkpadpm.c thinkpad-5.9/2.6/drivers/thinkpadpm.c --- thinkpad-5.9.orig/2.6/drivers/thinkpadpm.c 2006-03-24 18:45:52.000000000 +0100 +++ thinkpad-5.9/2.6/drivers/thinkpadpm.c 2006-03-24 18:52:04.000000000 +0100 @@ -57,7 +57,6 @@ /****** variables ******/ static const char _szMyName[] = "thinkpadpm"; -static const char _szImName[] = "thinkpadpm_do"; static const char _szMyVersion[] = "5.9"; static const char _szProcfile[] = "driver/thinkpad/thinkpadpm"; @@ -516,21 +515,18 @@ } /* proc entry created */ - inter_module_register( _szImName, THIS_MODULE, &thinkpadpm_do ); - return 0; } static void __exit thinkpadpm_exit( void ) { - - inter_module_unregister( _szImName ); - + remove_proc_entry( _szProcfile, NULL ); return; } +EXPORT_SYMBOL(thinkpadpm_do); module_init(thinkpadpm_init); module_exit(thinkpadpm_exit);