master/slave_config.c
branchstable-1.5
changeset 2438 9c3e629a220c
parent 2434 fa52128477f6
child 2443 2c3ccdde3919
equal deleted inserted replaced
2437:7b8078c1ad36 2438:9c3e629a220c
    86 
    86 
    87     INIT_LIST_HEAD(&sc->sdo_configs);
    87     INIT_LIST_HEAD(&sc->sdo_configs);
    88     INIT_LIST_HEAD(&sc->sdo_requests);
    88     INIT_LIST_HEAD(&sc->sdo_requests);
    89     INIT_LIST_HEAD(&sc->voe_handlers);
    89     INIT_LIST_HEAD(&sc->voe_handlers);
    90     INIT_LIST_HEAD(&sc->soe_configs);
    90     INIT_LIST_HEAD(&sc->soe_configs);
       
    91 
       
    92     ec_coe_emerg_ring_init(&sc->emerg_ring, sc);
    91 }
    93 }
    92 
    94 
    93 /*****************************************************************************/
    95 /*****************************************************************************/
    94 
    96 
    95 /** Slave configuration destructor.
    97 /** Slave configuration destructor.
   136     list_for_each_entry_safe(soe, next_soe, &sc->soe_configs, list) {
   138     list_for_each_entry_safe(soe, next_soe, &sc->soe_configs, list) {
   137         list_del(&soe->list);
   139         list_del(&soe->list);
   138         ec_soe_request_clear(soe);
   140         ec_soe_request_clear(soe);
   139         kfree(soe);
   141         kfree(soe);
   140     }
   142     }
       
   143 
       
   144     ec_coe_emerg_ring_clear(&sc->emerg_ring);
   141 }
   145 }
   142 
   146 
   143 /*****************************************************************************/
   147 /*****************************************************************************/
   144 
   148 
   145 /** Prepares an FMMU configuration.
   149 /** Prepares an FMMU configuration.
   875 
   879 
   876     down(&sc->master->master_sem);
   880     down(&sc->master->master_sem);
   877     list_add_tail(&req->list, &sc->sdo_configs);
   881     list_add_tail(&req->list, &sc->sdo_configs);
   878     up(&sc->master->master_sem);
   882     up(&sc->master->master_sem);
   879     return 0;
   883     return 0;
       
   884 }
       
   885 
       
   886 /*****************************************************************************/
       
   887 
       
   888 int ecrt_slave_config_emerg_size(ec_slave_config_t *sc, size_t elements)
       
   889 {
       
   890     return ec_coe_emerg_ring_size(&sc->emerg_ring, elements);
       
   891 }
       
   892 
       
   893 /*****************************************************************************/
       
   894 
       
   895 int ecrt_slave_config_emerg_pop(ec_slave_config_t *sc, uint8_t *target)
       
   896 {
       
   897     return ec_coe_emerg_ring_pop(&sc->emerg_ring, target);
       
   898 }
       
   899 
       
   900 /*****************************************************************************/
       
   901 
       
   902 int ecrt_slave_config_emerg_clear(ec_slave_config_t *sc)
       
   903 {
       
   904     return ec_coe_emerg_ring_clear_ring(&sc->emerg_ring);
       
   905 }
       
   906 
       
   907 /*****************************************************************************/
       
   908 
       
   909 int ecrt_slave_config_emerg_overruns(ec_slave_config_t *sc)
       
   910 {
       
   911     return ec_coe_emerg_ring_overruns(&sc->emerg_ring);
   880 }
   912 }
   881 
   913 
   882 /*****************************************************************************/
   914 /*****************************************************************************/
   883 
   915 
   884 /** Same as ecrt_slave_config_create_sdo_request(), but with ERR_PTR() return
   916 /** Same as ecrt_slave_config_create_sdo_request(), but with ERR_PTR() return
  1061 EXPORT_SYMBOL(ecrt_slave_config_sdo);
  1093 EXPORT_SYMBOL(ecrt_slave_config_sdo);
  1062 EXPORT_SYMBOL(ecrt_slave_config_sdo8);
  1094 EXPORT_SYMBOL(ecrt_slave_config_sdo8);
  1063 EXPORT_SYMBOL(ecrt_slave_config_sdo16);
  1095 EXPORT_SYMBOL(ecrt_slave_config_sdo16);
  1064 EXPORT_SYMBOL(ecrt_slave_config_sdo32);
  1096 EXPORT_SYMBOL(ecrt_slave_config_sdo32);
  1065 EXPORT_SYMBOL(ecrt_slave_config_complete_sdo);
  1097 EXPORT_SYMBOL(ecrt_slave_config_complete_sdo);
       
  1098 EXPORT_SYMBOL(ecrt_slave_config_emerg_size);
       
  1099 EXPORT_SYMBOL(ecrt_slave_config_emerg_pop);
       
  1100 EXPORT_SYMBOL(ecrt_slave_config_emerg_clear);
       
  1101 EXPORT_SYMBOL(ecrt_slave_config_emerg_overruns);
  1066 EXPORT_SYMBOL(ecrt_slave_config_create_sdo_request);
  1102 EXPORT_SYMBOL(ecrt_slave_config_create_sdo_request);
  1067 EXPORT_SYMBOL(ecrt_slave_config_create_voe_handler);
  1103 EXPORT_SYMBOL(ecrt_slave_config_create_voe_handler);
  1068 EXPORT_SYMBOL(ecrt_slave_config_state);
  1104 EXPORT_SYMBOL(ecrt_slave_config_state);
  1069 EXPORT_SYMBOL(ecrt_slave_config_idn);
  1105 EXPORT_SYMBOL(ecrt_slave_config_idn);
  1070 
  1106