OSDN Git Service

greybus: use little-endian in PWM requests
authorAlex Elder <elder@linaro.org>
Tue, 2 Dec 2014 21:48:09 +0000 (15:48 -0600)
committerGreg Kroah-Hartman <greg@kroah.com>
Tue, 2 Dec 2014 22:45:56 +0000 (14:45 -0800)
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>
drivers/staging/greybus/pwm-gb.c

index bd1379f..9678b64 100644 (file)
@@ -62,8 +62,8 @@ struct gb_pwm_deactivate_request {
 
 struct gb_pwm_config_request {
        __u8    which;
-       __u32   duty;
-       __u32   period;
+       __le32  duty;
+       __le32  period;
 };
 
 struct gb_pwm_polarity_request {
@@ -152,8 +152,8 @@ static int gb_pwm_config_operation(struct gb_pwm_chip *pwmc,
                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);
 }