equal
deleted
inserted
replaced
207 unsigned long arg /**< Userspace address to store the results. */ |
207 unsigned long arg /**< Userspace address to store the results. */ |
208 ) |
208 ) |
209 { |
209 { |
210 ec_ioctl_slave_t data; |
210 ec_ioctl_slave_t data; |
211 const ec_slave_t *slave; |
211 const ec_slave_t *slave; |
|
212 int i; |
212 |
213 |
213 if (copy_from_user(&data, (void __user *) arg, sizeof(data))) { |
214 if (copy_from_user(&data, (void __user *) arg, sizeof(data))) { |
214 return -EFAULT; |
215 return -EFAULT; |
215 } |
216 } |
216 |
217 |
240 data.mailbox_protocols = slave->sii.mailbox_protocols; |
241 data.mailbox_protocols = slave->sii.mailbox_protocols; |
241 data.has_general_category = slave->sii.has_general; |
242 data.has_general_category = slave->sii.has_general; |
242 data.coe_details = slave->sii.coe_details; |
243 data.coe_details = slave->sii.coe_details; |
243 data.general_flags = slave->sii.general_flags; |
244 data.general_flags = slave->sii.general_flags; |
244 data.current_on_ebus = slave->sii.current_on_ebus; |
245 data.current_on_ebus = slave->sii.current_on_ebus; |
|
246 for (i = 0; i < EC_MAX_PORTS; i++) { |
|
247 data.ports[i] = slave->base_ports[i]; |
|
248 } |
|
249 data.fmmu_bit = slave->base_fmmu_bit_operation; |
|
250 data.dc_supported = slave->base_dc_supported; |
|
251 data.dc_range = slave->base_dc_range; |
245 data.al_state = slave->current_state; |
252 data.al_state = slave->current_state; |
246 data.error_flag = slave->error_flag; |
253 data.error_flag = slave->error_flag; |
247 |
254 |
248 data.sync_count = slave->sii.sync_count; |
255 data.sync_count = slave->sii.sync_count; |
249 data.sdo_count = ec_slave_sdo_count(slave); |
256 data.sdo_count = ec_slave_sdo_count(slave); |