master/module.c
changeset 1029 61ffe5f22306
parent 1014 d39d430cfdc4
child 1189 acc6430bfb32
equal deleted inserted replaced
1028:afdd4bdbb7ec 1029:61ffe5f22306
   482     master->reserved = 1;
   482     master->reserved = 1;
   483     up(&master_sem);
   483     up(&master_sem);
   484 
   484 
   485     down(&master->device_sem);
   485     down(&master->device_sem);
   486     
   486     
   487     if (master->mode != EC_MASTER_MODE_IDLE) {
   487     if (master->phase != EC_IDLE) {
   488         up(&master->device_sem);
   488         up(&master->device_sem);
   489         EC_ERR("Master %u still waiting for devices!\n", master_index);
   489         EC_ERR("Master %u still waiting for devices!\n", master_index);
   490         goto out_release;
   490         goto out_release;
   491     }
   491     }
   492 
   492 
   496         goto out_release;
   496         goto out_release;
   497     }
   497     }
   498 
   498 
   499     up(&master->device_sem);
   499     up(&master->device_sem);
   500 
   500 
   501     if (ec_master_enter_operation_mode(master)) {
   501     if (ec_master_enter_operation_phase(master)) {
   502         EC_ERR("Failed to enter OPERATION mode!\n");
   502         EC_ERR("Failed to enter OPERATION phase!\n");
   503         goto out_module_put;
   503         goto out_module_put;
   504     }
   504     }
   505 
   505 
   506     EC_INFO("Successfully requested master %u.\n", master_index);
   506     EC_INFO("Successfully requested master %u.\n", master_index);
   507     return master;
   507     return master;
   523     if (!master->reserved) {
   523     if (!master->reserved) {
   524         EC_WARN("Master %u was was not requested!\n", master->index);
   524         EC_WARN("Master %u was was not requested!\n", master->index);
   525         return;
   525         return;
   526     }
   526     }
   527 
   527 
   528     ec_master_leave_operation_mode(master);
   528     ec_master_leave_operation_phase(master);
   529 
   529 
   530     module_put(master->main_device.module);
   530     module_put(master->main_device.module);
   531     master->reserved = 0;
   531     master->reserved = 0;
   532 
   532 
   533     EC_INFO("Released master %u.\n", master->index);
   533     EC_INFO("Released master %u.\n", master->index);