greybus: control: move timesync-operation functions
Move the timesync-operation functions above the control-object management functions, which is where all other operation implementations reside. Signed-off-by: Johan Hovold <johan@hovoldconsulting.com> Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
parent
a530a8be39
commit
1ed8cdef40
|
@ -177,6 +177,42 @@ int gb_control_get_interface_version_operation(struct gb_interface *intf)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int gb_control_timesync_enable(struct gb_control *control, u8 count,
|
||||
u64 frame_time, u32 strobe_delay, u32 refclk)
|
||||
{
|
||||
struct gb_control_timesync_enable_request request;
|
||||
|
||||
request.count = count;
|
||||
request.frame_time = cpu_to_le64(frame_time);
|
||||
request.strobe_delay = cpu_to_le32(strobe_delay);
|
||||
request.refclk = cpu_to_le32(refclk);
|
||||
return gb_operation_sync(control->connection,
|
||||
GB_CONTROL_TYPE_TIMESYNC_ENABLE, &request,
|
||||
sizeof(request), NULL, 0);
|
||||
}
|
||||
|
||||
int gb_control_timesync_disable(struct gb_control *control)
|
||||
{
|
||||
return gb_operation_sync(control->connection,
|
||||
GB_CONTROL_TYPE_TIMESYNC_DISABLE, NULL, 0,
|
||||
NULL, 0);
|
||||
}
|
||||
|
||||
int gb_control_timesync_authoritative(struct gb_control *control,
|
||||
u64 *frame_time, u8 count)
|
||||
{
|
||||
struct gb_control_timesync_authoritative_request request;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < GB_TIMESYNC_MAX_STROBES; i++)
|
||||
request.frame_time[i] = cpu_to_le64(frame_time[i]);
|
||||
|
||||
return gb_operation_sync(control->connection,
|
||||
GB_CONTROL_TYPE_TIMESYNC_AUTHORITATIVE,
|
||||
&request, sizeof(request),
|
||||
NULL, 0);
|
||||
}
|
||||
|
||||
struct gb_control *gb_control_create(struct gb_interface *intf)
|
||||
{
|
||||
struct gb_control *control;
|
||||
|
@ -240,39 +276,3 @@ void gb_control_destroy(struct gb_control *control)
|
|||
gb_connection_destroy(control->connection);
|
||||
kfree(control);
|
||||
}
|
||||
|
||||
int gb_control_timesync_enable(struct gb_control *control, u8 count,
|
||||
u64 frame_time, u32 strobe_delay, u32 refclk)
|
||||
{
|
||||
struct gb_control_timesync_enable_request request;
|
||||
|
||||
request.count = count;
|
||||
request.frame_time = cpu_to_le64(frame_time);
|
||||
request.strobe_delay = cpu_to_le32(strobe_delay);
|
||||
request.refclk = cpu_to_le32(refclk);
|
||||
return gb_operation_sync(control->connection,
|
||||
GB_CONTROL_TYPE_TIMESYNC_ENABLE, &request,
|
||||
sizeof(request), NULL, 0);
|
||||
}
|
||||
|
||||
int gb_control_timesync_disable(struct gb_control *control)
|
||||
{
|
||||
return gb_operation_sync(control->connection,
|
||||
GB_CONTROL_TYPE_TIMESYNC_DISABLE, NULL, 0,
|
||||
NULL, 0);
|
||||
}
|
||||
|
||||
int gb_control_timesync_authoritative(struct gb_control *control,
|
||||
u64 *frame_time, u8 count)
|
||||
{
|
||||
struct gb_control_timesync_authoritative_request request;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < GB_TIMESYNC_MAX_STROBES; i++)
|
||||
request.frame_time[i] = cpu_to_le64(frame_time[i]);
|
||||
|
||||
return gb_operation_sync(control->connection,
|
||||
GB_CONTROL_TYPE_TIMESYNC_AUTHORITATIVE,
|
||||
&request, sizeof(request),
|
||||
NULL, 0);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue