files[] not working on module_name.info
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');