- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
case MOTO_ACCY_IOCTL_SET_CHARGER_LOAD_LINE:
/* Copy the load line setting from user space */
retval = copy_from_user ((void *)&data, (void *)arg, sizeof(data));
/* If the copy failed, return an error */
if (retval != 0)
{
retval = -EFAULT;
}
/* Else, configure the hardware for the requested load line setting */
else
{
/* Acquire the lock to prevent changes to connected_accessories */
spin_lock (&connected_lock);
/* Verify that the 3G fast charger is connected */
if (ACCY_BITMASK_ISSET(connected_accessories, MOTO_ACCY_TYPE_CHARGER_FAST_3G))
{
/* This charger is the only charger that supports an adjustable load line */
/* TBD */
}
/* Else, the appropriate charger type is not connected */
else
{
/* Return error: No such device */
retval = -ENODEV;
}
/* Release the lock for connected_accessories */
spin_unlock (&connected_lock);
}
break;