/* fill command */
        preq->body.set_tune.req.proc_id = cpu_to_le16(CONTROL_PROC_SETTUNE);
-       preq->body.set_tune.req.args.freq = cpu_to_le32(ptune->freq);
+       preq->body.set_tune.req.args.freq = (__force __u32)cpu_to_le32(ptune->freq);
        preq->body.set_tune.req.args.bandwidth = ptune->bandwidth;
        preq->body.set_tune.req.args.hier_select = ptune->hier_select;
        preq->body.set_tune.req.args.modulation = ptune->modulation;
        /* Response OK -> get response data */
        pstatus->tune_state = prsp->body.get_tune_status.rsp.sts.tune_state;
        pstatus->signal_strength  =
-               le16_to_cpu(prsp->body.get_tune_status.rsp.sts.signal_strength);
-       pstatus->PER = le16_to_cpu(prsp->body.get_tune_status.rsp.sts.PER);
-       pstatus->BER = le16_to_cpu(prsp->body.get_tune_status.rsp.sts.BER);
+               le16_to_cpu((__force __le16)prsp->body.get_tune_status.rsp.sts.signal_strength);
+       pstatus->PER = le16_to_cpu((__force __le16)prsp->body.get_tune_status.rsp.sts.PER);
+       pstatus->BER = le16_to_cpu((__force __le16)prsp->body.get_tune_status.rsp.sts.BER);
 
 out:
        return error;
        ptps->transmission_mode  = prsp->body.get_tps.rsp.tps.transmission_mode;
        ptps->DVBH_mask_HP = prsp->body.get_tps.rsp.tps.DVBH_mask_HP;
        ptps->DVBH_mask_LP = prsp->body.get_tps.rsp.tps.DVBH_mask_LP;
-       ptps->cell_ID = le16_to_cpu(prsp->body.get_tps.rsp.tps.cell_ID);
+       ptps->cell_ID = le16_to_cpu((__force __le16)prsp->body.get_tps.rsp.tps.cell_ID);
 
 out:
        return error;
 
        /* Response OK -> get response data */
        pdemod_stats->frame_count =
-               le32_to_cpu(prsp->body.get_demod_stats.rsp.stats.frame_count);
+               le32_to_cpu((__force __le32)prsp->body.get_demod_stats.rsp.stats.frame_count);
        pdemod_stats->bad_frame_count =
-               le32_to_cpu(prsp->body.get_demod_stats.rsp.stats.bad_frame_count);
+               le32_to_cpu((__force __le32)prsp->body.get_demod_stats.rsp.stats.bad_frame_count);
        pdemod_stats->bytes_fixed_by_rs =
-               le32_to_cpu(prsp->body.get_demod_stats.rsp.stats.bytes_fixed_by_rs);
+               le32_to_cpu((__force __le32)prsp->body.get_demod_stats.rsp.stats.bytes_fixed_by_rs);
        pdemod_stats->mer =
-               le16_to_cpu(prsp->body.get_demod_stats.rsp.stats.mer);
+               le16_to_cpu((__force __le16)prsp->body.get_demod_stats.rsp.stats.mer);
        pdemod_stats->has_started =
                prsp->body.get_demod_stats.rsp.stats.has_started;
 
 
        /* request */
        struct {
                /* request identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
        } __packed req;
        /* response */
        struct {
                /* response identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
                /* error */
                uint8_t error;
        } __packed rsp;
        /* request */
        struct {
                /* request identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
        } __packed req;
        /* response */
        struct {
                /* response identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
                /* error */
                uint8_t err;
        } __packed rsp;
        /* request */
        struct {
                /* request identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
                /* tune params */
                struct as10x_tune_args args;
        } __packed req;
        /* response */
        struct {
                /* response identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
                /* response error */
                uint8_t error;
        } __packed rsp;
        /* request */
        struct {
                /* request identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
        } __packed req;
        /* response */
        struct {
                /* response identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
                /* response error */
                uint8_t error;
                /* tune status */
        /* request */
        struct {
                /* request identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
        } __packed req;
        /* response */
        struct {
                /* response identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
                /* response error */
                uint8_t error;
                /* tps details */
        /* request */
        struct {
                /* request identifier */
-               uint16_t  proc_id;
+               __le16  proc_id;
        } __packed req;
        /* response */
        struct {
                /* response identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
                /* response error */
                uint8_t error;
        } __packed rsp;
        /* request */
        struct {
                /* request identifier */
-               uint16_t  proc_id;
+               __le16  proc_id;
                /* PID to filter */
-               uint16_t  pid;
+               __le16  pid;
                /* stream type (MPE, PSI/SI or PES )*/
                uint8_t stream_type;
                /* PID index in filter table */
        /* response */
        struct {
                /* response identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
                /* response error */
                uint8_t error;
                /* Filter id */
        /* request */
        struct {
                /* request identifier */
-               uint16_t  proc_id;
+               __le16  proc_id;
                /* PID to remove */
-               uint16_t  pid;
+               __le16  pid;
        } __packed req;
        /* response */
        struct {
                /* response identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
                /* response error */
                uint8_t error;
        } __packed rsp;
        /* request */
        struct {
                /* request identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
        } __packed req;
        /* response */
        struct {
                /* response identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
                /* error */
                uint8_t error;
        } __packed rsp;
        /* request */
        struct {
                /* request identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
        } __packed req;
        /* response */
        struct {
                /* response identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
                /* error */
                uint8_t error;
        } __packed rsp;
        /* request */
        struct {
                /* request identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
        } __packed req;
        /* response */
        struct {
                /* response identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
                /* error */
                uint8_t error;
                /* demod stats */
        /* request */
        struct {
                /* request identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
        } __packed req;
        /* response */
        struct {
                /* response identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
                /* error */
                uint8_t error;
                /* impulse response ready */
        /* request */
        struct {
                /* request identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
                /* value to write (for set context)*/
                struct as10x_register_value reg_val;
                /* context tag */
-               uint16_t tag;
+               __le16 tag;
                /* context request type */
-               uint16_t type;
+               __le16 type;
        } __packed req;
        /* response */
        struct {
                /* response identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
                /* value read (for get context) */
                struct as10x_register_value reg_val;
                /* context request type */
-               uint16_t type;
+               __le16 type;
                /* error */
                uint8_t error;
        } __packed rsp;
        /* request */
        struct {
                /* response identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
                /* register description */
                struct as10x_register_addr reg_addr;
                /* register content */
        /* response */
        struct {
                /* response identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
                /* error */
                uint8_t error;
        } __packed rsp;
        /* request */
        struct {
                /* response identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
                /* register description */
                struct as10x_register_addr reg_addr;
        } __packed req;
        /* response */
        struct {
                /* response identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
                /* error */
                uint8_t error;
                /* register content */
        /* request */
        struct {
                /* request identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
                /* mode */
                uint8_t mode;
        } __packed req;
        /* response */
        struct {
                /* response identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
                /* error */
                uint8_t error;
        } __packed rsp;
 } __packed;
 
 struct as10x_cmd_header_t {
-       uint16_t req_id;
-       uint16_t prog;
-       uint16_t version;
-       uint16_t data_len;
+       __le16 req_id;
+       __le16 prog;
+       __le16 version;
+       __le16 data_len;
 } __packed;
 
 #define DUMP_BLOCK_SIZE 16
        /* request */
        struct {
                /* request identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
                /* dump memory type request */
                uint8_t dump_req;
                /* register description */
                struct as10x_register_addr reg_addr;
                /* nb blocks to read */
-               uint16_t num_blocks;
+               __le16 num_blocks;
        } __packed req;
        /* response */
        struct {
                /* response identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
                /* error */
                uint8_t error;
                /* dump response */
                /* data */
                union {
                        uint8_t  data8[DUMP_BLOCK_SIZE];
-                       uint16_t data16[DUMP_BLOCK_SIZE / sizeof(uint16_t)];
-                       uint32_t data32[DUMP_BLOCK_SIZE / sizeof(uint32_t)];
+                       __le16 data16[DUMP_BLOCK_SIZE / sizeof(__le16)];
+                       __le32 data32[DUMP_BLOCK_SIZE / sizeof(__le32)];
                } __packed u;
        } __packed rsp;
 } __packed;
 union as10x_dumplog_memory {
        struct {
                /* request identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
                /* dump memory type request */
                uint8_t dump_req;
        } __packed req;
        struct {
                /* request identifier */
-               uint16_t proc_id;
+               __le16 proc_id;
                /* error */
                uint8_t error;
                /* dump response */
 union as10x_raw_data {
        /* request */
        struct {
-               uint16_t proc_id;
+               __le16 proc_id;
                uint8_t data[64 - sizeof(struct as10x_cmd_header_t)
                             - 2 /* proc_id */];
        } __packed req;
        /* response */
        struct {
-               uint16_t proc_id;
+               __le16 proc_id;
                uint8_t error;
                uint8_t data[64 - sizeof(struct as10x_cmd_header_t)
                             - 2 /* proc_id */ - 1 /* rc */];
 
 
        if (error == 0) {
                /* Response OK -> get response data */
-               *pvalue = le32_to_cpu(prsp->body.context.rsp.reg_val.u.value32);
+               *pvalue = le32_to_cpu((__force __le32)prsp->body.context.rsp.reg_val.u.value32);
                /* value returned is always a 32-bit value */
        }
 
        /* fill command */
        pcmd->body.context.req.proc_id = cpu_to_le16(CONTROL_PROC_CONTEXT);
        /* pcmd->body.context.req.reg_val.mode initialization is not required */
-       pcmd->body.context.req.reg_val.u.value32 = cpu_to_le32(value);
+       pcmd->body.context.req.reg_val.u.value32 = (__force u32)cpu_to_le32(value);
        pcmd->body.context.req.tag = cpu_to_le16(tag);
        pcmd->body.context.req.type = cpu_to_le16(SET_CONTEXT_DATA);