master/cdev.c
changeset 1379 cbceb0e2f2a0
parent 1363 11c0b2caa253
child 1381 f592fe7e799d
equal deleted inserted replaced
1378:1853f6c0b9b2 1379:cbceb0e2f2a0
   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);