equal
deleted
inserted
replaced
99 Master constructor. |
99 Master constructor. |
100 \return 0 in case of success, else < 0 |
100 \return 0 in case of success, else < 0 |
101 */ |
101 */ |
102 |
102 |
103 int ec_master_init(ec_master_t *master, /**< EtherCAT master */ |
103 int ec_master_init(ec_master_t *master, /**< EtherCAT master */ |
104 unsigned int index, /**< master index */ |
104 struct kobject *module_kobj, /**< kobject of the master module */ |
105 const ec_device_id_t *main_id, /**< ID of main device */ |
105 unsigned int index, /**< master index */ |
106 const ec_device_id_t *backup_id, /**< ID of main device */ |
106 const ec_device_id_t *main_id, /**< ID of main device */ |
107 unsigned int eoeif_count /**< number of EoE interfaces */ |
107 const ec_device_id_t *backup_id, /**< ID of main device */ |
108 ) |
108 unsigned int eoeif_count /**< number of EoE interfaces */ |
|
109 ) |
109 { |
110 { |
110 ec_eoe_t *eoe, *next_eoe; |
111 ec_eoe_t *eoe, *next_eoe; |
111 unsigned int i; |
112 unsigned int i; |
112 |
113 |
113 atomic_set(&master->available, 1); |
114 atomic_set(&master->available, 1); |
190 |
191 |
191 // init kobject and add it to the hierarchy |
192 // init kobject and add it to the hierarchy |
192 memset(&master->kobj, 0x00, sizeof(struct kobject)); |
193 memset(&master->kobj, 0x00, sizeof(struct kobject)); |
193 kobject_init(&master->kobj); |
194 kobject_init(&master->kobj); |
194 master->kobj.ktype = &ktype_ec_master; |
195 master->kobj.ktype = &ktype_ec_master; |
195 if (kobject_set_name(&master->kobj, "ethercat%i", index)) { |
196 master->kobj.parent = module_kobj; |
196 EC_ERR("Failed to set kobj name.\n"); |
197 |
|
198 if (kobject_set_name(&master->kobj, "master%i", index)) { |
|
199 EC_ERR("Failed to set master kobject name.\n"); |
197 kobject_put(&master->kobj); |
200 kobject_put(&master->kobj); |
198 return -1; |
201 return -1; |
199 } |
202 } |
|
203 |
200 if (kobject_add(&master->kobj)) { |
204 if (kobject_add(&master->kobj)) { |
201 EC_ERR("Failed to add master kobj.\n"); |
205 EC_ERR("Failed to add master kobject.\n"); |
202 kobject_put(&master->kobj); |
206 kobject_put(&master->kobj); |
203 return -1; |
207 return -1; |
204 } |
208 } |
205 |
209 |
206 return 0; |
210 return 0; |