int mali_module_init(void) { int err = 0; MALI_DEBUG_PRINT(2, ("Inserting Mali v%d device driver. \n",_MALI_API_VERSION)); MALI_DEBUG_PRINT(2, ("Compiled: %s, time: %s.\n", __DATE__, __TIME__)); MALI_DEBUG_PRINT(2, ("Driver revision: %s\n", SVN_REV_STRING)); /* Initialize module wide settings */ mali_osk_low_level_mem_init(); #if defined(MALI_FAKE_PLATFORM_DEVICE) MALI_DEBUG_PRINT(2, ("mali_module_init() registering device\n")); err = mali_platform_device_register(); if (0 != err) { return err; } #endif err = sun7i_mali_platform_device_register(); if (0 != err){ return err; } MALI_DEBUG_PRINT(2, ("mali_module_init() registering driver\n")); err = platform_driver_register(&mali_platform_driver); if (0 != err) { MALI_DEBUG_PRINT(2, ("mali_module_init() Failed to register driver (%d)\n", err)); #if defined(MALI_FAKE_PLATFORM_DEVICE) mali_platform_device_unregister(); #endif mali_platform_device = NULL; return err; } #if defined(CONFIG_MALI400_INTERNAL_PROFILING) err = _mali_internal_profiling_init(mali_boot_profiling ? MALI_TRUE : MALI_FALSE); if (0 != err) { /* No biggie if we wheren't able to initialize the profiling */ MALI_PRINT_ERROR(("Failed to initialize profiling, feature will be unavailable\n")); } #endif MALI_PRINT(("Mali device driver loaded\n")); return 0; /* Success */ }
void mali_module_exit(void) { MALI_DEBUG_PRINT(2, ("Unloading Mali v%d device driver.\n",_MALI_API_VERSION)); MALI_DEBUG_PRINT(2, ("mali_module_exit() unregistering driver\n")); #if defined(CONFIG_MALI400_INTERNAL_PROFILING) _mali_internal_profiling_term(); #endif platform_driver_unregister(&mali_platform_driver); #if defined(MALI_FAKE_PLATFORM_DEVICE) MALI_DEBUG_PRINT(2, ("mali_module_exit() unregistering device\n")); mali_platform_device_unregister(); #endif mali_osk_low_level_mem_term(); MALI_PRINT(("Mali device driver unloaded\n")); }