files[] not working on module_name.info I am having problems making my module work.

module_name.info

...

files[] = module_name.module
files[] = module_name.pages.inc
files[] = module_name.admin.inc
files[] = module_name.install
files[] = module_name.controller.inc

...


But when the module should access to functions stored on module_name.module I get this error, saying the function has not been found. 

Warning: call_user_func_array() expects parameter 1 to be a valid callback....not found or invalid function name in call_user_func_array() (line 517 of /path_to_modules/module_name/includes/menu.inc). =&gt;


If I put the functions on the module_name.module file, everything works fine. Apparently is not loading the files[]

Update: I've followed this example:
https://github.com/LearningDrupal7Development/artwork

Any idea?
files[] is only used to register files containing classes or interfaces, not functions. The docs explain it well:


  Drupal now supports a dynamic-loading code registry. To support it, all modules must now declare any code files containing class or interface declarations in the .info file, like so:

name = Really Neat Widget
...
files[] = example.test

  
  When a module is enabled, Drupal will rescan all declared files and index all the classes and interfaces that it finds. Classes will be loaded automatically by PHP when they are first accessed.


emphasis mine. Unless you have classes in any of those files (including the .module and .install file) that you want to be auto-loaded, you don't need an entry for them in the .info file; it just won't do anything.

If you need to pull other files in you can use module_load_include(), e.g.

module_load_include('inc', 'module_name', 'module_name.controller');