greybus: use little-endian in PWM requests
The PWM config request defines two 32-bit values using u32. All
over-the-wire values have to be in little-endian format. Fix this.
Signed-off-by: Alex Elder <elder@linaro.org>
Acked-by: Matt Porter <mporter@linaro.org>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
diff --git a/drivers/staging/greybus/pwm-gb.c b/drivers/staging/greybus/pwm-gb.c
index bd1379f..9678b64 100644
--- a/drivers/staging/greybus/pwm-gb.c
+++ b/drivers/staging/greybus/pwm-gb.c
@@ -62,8 +62,8 @@
struct gb_pwm_config_request {
__u8 which;
- __u32 duty;
- __u32 period;
+ __le32 duty;
+ __le32 period;
};
struct gb_pwm_polarity_request {
@@ -152,8 +152,8 @@
return -EINVAL;
request.which = which;
- request.duty = duty;
- request.period = period;
+ request.duty = cpu_to_le32(duty);
+ request.period = cpu_to_le32(period);
return gb_operation_sync(pwmc->connection, GB_PWM_TYPE_CONFIG,
&request, sizeof(request), NULL, 0);
}