1 diff -u -p linux/include/net/irda/parameters.d2.h linux/include/net/irda/parameters.h
2 --- linux/include/net/irda/parameters.d2.h Thu Nov 1 14:15:51 2001
3 +++ linux/include/net/irda/parameters.h Mon Nov 5 18:57:28 2001
5 * along with this program; if not, write to the Free Software
6 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
9 + * Michel Dänzer <daenzer@debian.org>, 10/2001
10 + * - simplify irda_pv_t to avoid endianness issues
12 ********************************************************************/
14 @@ -55,11 +58,7 @@ typedef enum {
26 diff -u -p linux/net/irda/parameters.d2.c linux/net/irda/parameters.c
27 --- linux/net/irda/parameters.d2.c Thu Nov 1 14:17:32 2001
28 +++ linux/net/irda/parameters.c Mon Nov 5 18:57:13 2001
29 @@ -167,14 +167,14 @@ static int irda_insert_integer(void *sel
30 IRDA_DEBUG(2, __FUNCTION__ "(), pi=%#x, pl=%d, pi=%d\n", p.pi, p.pl, p.pv.i);
33 - n += irda_param_pack(buf, "bbb", p.pi, p.pl, p.pv.b);
34 + n += irda_param_pack(buf, "bbb", p.pi, p.pl, (__u8) p.pv.i);
37 if (type & PV_BIG_ENDIAN)
38 - cpu_to_be16s(&p.pv.s);
39 + p.pv.i = cpu_to_be16((__u16) p.pv.i);
41 - cpu_to_le16s(&p.pv.s);
42 - n += irda_param_pack(buf, "bbs", p.pi, p.pl, p.pv.s);
43 + p.pv.i = cpu_to_le16((__u16) p.pv.i);
44 + n += irda_param_pack(buf, "bbs", p.pi, p.pl, (__u16) p.pv.i);
47 if (type & PV_BIG_ENDIAN)
48 @@ -230,16 +230,17 @@ static int irda_extract_integer(void *se
55 - n += irda_param_unpack(buf+2, "b", &p.pv.b);
56 + n += irda_param_unpack(buf+2, "b", &p.pv.i);
59 - n += irda_param_unpack(buf+2, "s", &p.pv.s);
60 + n += irda_param_unpack(buf+2, "s", &p.pv.i);
61 if (type & PV_BIG_ENDIAN)
62 - be16_to_cpus(&p.pv.s);
63 + p.pv.i = be16_to_cpu((__u16) p.pv.i);
65 - le16_to_cpus(&p.pv.s);
66 + p.pv.i = le16_to_cpu((__u16) p.pv.i);
69 n += irda_param_unpack(buf+2, "i", &p.pv.i);
70 @@ -255,6 +256,7 @@ static int irda_extract_integer(void *se
74 + IRDA_DEBUG(2, __FUNCTION__ "(), pi=%#x, pl=%d, pi=%d\n", p.pi, p.pl, p.pv.i);
75 /* Call handler for this parameter */
76 err = (*func)(self, &p, PV_PUT);
78 @@ -359,8 +361,8 @@ int irda_param_pack(__u8 *buf, char *fmt
79 buf[n++] = (__u8)va_arg(args, int);
81 case 's': /* 16 bits unsigned short */
82 - arg.s = (__u16)va_arg(args, int);
83 - put_unaligned(arg.s, (__u16 *)(buf+n)); n+=2;
84 + arg.i = (__u16)va_arg(args, int);
85 + put_unaligned((__u16)arg.i, (__u16 *)(buf+n)); n+=2;
87 case 'i': /* 32 bits unsigned integer */
88 arg.i = va_arg(args, __u32);
89 @@ -402,12 +404,12 @@ int irda_param_unpack(__u8 *buf, char *f
90 for (p = fmt; *p != '\0'; p++) {
92 case 'b': /* 8 bits byte */
93 - arg.bp = va_arg(args, __u8 *);
95 + arg.ip = va_arg(args, __u32 *);
98 case 's': /* 16 bits short */
99 - arg.sp = va_arg(args, __u16 *);
100 - *arg.sp = get_unaligned((__u16 *)(buf+n)); n+=2;
101 + arg.ip = va_arg(args, __u32 *);
102 + *arg.ip = get_unaligned((__u16 *)(buf+n)); n+=2;
104 case 'i': /* 32 bits unsigned integer */
105 arg.ip = va_arg(args, __u32 *);
106 diff -u -p linux/net/irda/qos.d2.c linux/net/irda/qos.c
107 --- linux/net/irda/qos.d2.c Thu Nov 1 14:17:42 2001
108 +++ linux/net/irda/qos.c Mon Nov 5 18:45:07 2001
111 * Copyright (c) 1998-2000 Dag Brattli <dagb@cs.uit.no>,
112 * All Rights Reserved.
113 + * Copyright (c) 2000-2001 Jean Tourrilhes <jt@hpl.hp.com>
115 * This program is free software; you can redistribute it and/or
116 * modify it under the terms of the GNU General Public License as
117 @@ -455,8 +456,8 @@ static int irlap_param_baud_rate(void *i
118 * Stations must agree on baud rate, so calculate
121 - IRDA_DEBUG(2, "Requested BAUD_RATE: 0x%04x\n", param->pv.s);
122 - final = param->pv.s & self->qos_rx.baud_rate.bits;
123 + IRDA_DEBUG(2, "Requested BAUD_RATE: 0x%04x\n", (__u16) param->pv.i);
124 + final = (__u16) param->pv.i & self->qos_rx.baud_rate.bits;
126 IRDA_DEBUG(2, "Final BAUD_RATE: 0x%04x\n", final);
127 self->qos_tx.baud_rate.bits = final;
128 @@ -483,14 +484,14 @@ static int irlap_param_link_disconnect(v
129 ASSERT(self->magic == LAP_MAGIC, return -1;);
132 - param->pv.b = self->qos_rx.link_disc_time.bits;
133 + param->pv.i = self->qos_rx.link_disc_time.bits;
136 * Stations must agree on link disconnect/threshold
139 - IRDA_DEBUG(2, "LINK_DISC: %02x\n", param->pv.b);
140 - final = param->pv.b & self->qos_rx.link_disc_time.bits;
141 + IRDA_DEBUG(2, "LINK_DISC: %02x\n", (__u8) param->pv.i);
142 + final = (__u8) param->pv.i & self->qos_rx.link_disc_time.bits;
144 IRDA_DEBUG(2, "Final LINK_DISC: %02x\n", final);
145 self->qos_tx.link_disc_time.bits = final;
146 @@ -515,9 +516,9 @@ static int irlap_param_max_turn_time(voi
147 ASSERT(self->magic == LAP_MAGIC, return -1;);
150 - param->pv.b = self->qos_rx.max_turn_time.bits;
151 + param->pv.i = self->qos_rx.max_turn_time.bits;
153 - self->qos_tx.max_turn_time.bits = param->pv.b;
154 + self->qos_tx.max_turn_time.bits = (__u8) param->pv.i;
158 @@ -537,9 +538,9 @@ static int irlap_param_data_size(void *i
159 ASSERT(self->magic == LAP_MAGIC, return -1;);
162 - param->pv.b = self->qos_rx.data_size.bits;
163 + param->pv.i = self->qos_rx.data_size.bits;
165 - self->qos_tx.data_size.bits = param->pv.b;
166 + self->qos_tx.data_size.bits = (__u8) param->pv.i;
170 @@ -560,9 +561,9 @@ static int irlap_param_window_size(void
171 ASSERT(self->magic == LAP_MAGIC, return -1;);
174 - param->pv.b = self->qos_rx.window_size.bits;
175 + param->pv.i = self->qos_rx.window_size.bits;
177 - self->qos_tx.window_size.bits = param->pv.b;
178 + self->qos_tx.window_size.bits = (__u8) param->pv.i;
182 @@ -581,9 +582,9 @@ static int irlap_param_additional_bofs(v
183 ASSERT(self->magic == LAP_MAGIC, return -1;);
186 - param->pv.b = self->qos_rx.additional_bofs.bits;
187 + param->pv.i = self->qos_rx.additional_bofs.bits;
189 - self->qos_tx.additional_bofs.bits = param->pv.b;
190 + self->qos_tx.additional_bofs.bits = (__u8) param->pv.i;
194 @@ -603,9 +604,9 @@ static int irlap_param_min_turn_time(voi
195 ASSERT(self->magic == LAP_MAGIC, return -1;);
198 - param->pv.b = self->qos_rx.min_turn_time.bits;
199 + param->pv.i = self->qos_rx.min_turn_time.bits;
201 - self->qos_tx.min_turn_time.bits = param->pv.b;
202 + self->qos_tx.min_turn_time.bits = (__u8) param->pv.i;
206 diff -u -p linux/net/irda/ircomm/ircomm_param.d2.c linux/net/irda/ircomm/ircomm_param.c
207 --- linux/net/irda/ircomm/ircomm_param.d2.c Thu Nov 1 14:17:19 2001
208 +++ linux/net/irda/ircomm/ircomm_param.c Thu Nov 1 14:18:17 2001
209 @@ -182,13 +182,13 @@ static int ircomm_param_service_type(voi
212 struct ircomm_tty_cb *self = (struct ircomm_tty_cb *) instance;
213 - __u8 service_type = param->pv.b; /* We know it's a one byte integer */
214 + __u8 service_type = (__u8) param->pv.i;
216 ASSERT(self != NULL, return -1;);
217 ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
220 - param->pv.b = self->settings.service_type;
221 + param->pv.i = self->settings.service_type;
225 @@ -246,9 +246,9 @@ static int ircomm_param_port_type(void *
226 ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
229 - param->pv.b = IRCOMM_SERIAL;
230 + param->pv.i = IRCOMM_SERIAL;
232 - self->settings.port_type = param->pv.b;
233 + self->settings.port_type = (__u8) param->pv.i;
235 IRDA_DEBUG(0, __FUNCTION__ "(), port type=%d\n",
236 self->settings.port_type);
237 @@ -317,9 +317,9 @@ static int ircomm_param_data_format(void
238 ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
241 - param->pv.b = self->settings.data_format;
242 + param->pv.i = self->settings.data_format;
244 - self->settings.data_format = param->pv.b;
245 + self->settings.data_format = (__u8) param->pv.i;
249 @@ -339,11 +339,11 @@ static int ircomm_param_flow_control(voi
250 ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
253 - param->pv.b = self->settings.flow_control;
254 + param->pv.i = self->settings.flow_control;
256 - self->settings.flow_control = param->pv.b;
257 + self->settings.flow_control = (__u8) param->pv.i;
259 - IRDA_DEBUG(1, __FUNCTION__ "(), flow control = 0x%02x\n", param->pv.b);
260 + IRDA_DEBUG(1, __FUNCTION__ "(), flow control = 0x%02x\n", (__u8) param->pv.i);
264 @@ -362,15 +362,15 @@ static int ircomm_param_xon_xoff(void *i
265 ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
268 - param->pv.s = self->settings.xonxoff[0];
269 - param->pv.s |= self->settings.xonxoff[1] << 8;
270 + param->pv.i = self->settings.xonxoff[0];
271 + param->pv.i |= self->settings.xonxoff[1] << 8;
273 - self->settings.xonxoff[0] = param->pv.s & 0xff;
274 - self->settings.xonxoff[1] = param->pv.s >> 8;
275 + self->settings.xonxoff[0] = (__u16) param->pv.i & 0xff;
276 + self->settings.xonxoff[1] = (__u16) param->pv.i >> 8;
279 IRDA_DEBUG(0, __FUNCTION__ "(), XON/XOFF = 0x%02x,0x%02x\n",
280 - param->pv.s & 0xff, param->pv.s >> 8);
281 + param->pv.i & 0xff, param->pv.i >> 8);
285 @@ -389,15 +389,15 @@ static int ircomm_param_enq_ack(void *in
286 ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
289 - param->pv.s = self->settings.enqack[0];
290 - param->pv.s |= self->settings.enqack[1] << 8;
291 + param->pv.i = self->settings.enqack[0];
292 + param->pv.i |= self->settings.enqack[1] << 8;
294 - self->settings.enqack[0] = param->pv.s & 0xff;
295 - self->settings.enqack[1] = param->pv.s >> 8;
296 + self->settings.enqack[0] = (__u16) param->pv.i & 0xff;
297 + self->settings.enqack[1] = (__u16) param->pv.i >> 8;
300 IRDA_DEBUG(0, __FUNCTION__ "(), ENQ/ACK = 0x%02x,0x%02x\n",
301 - param->pv.s & 0xff, param->pv.s >> 8);
302 + param->pv.i & 0xff, param->pv.i >> 8);
306 @@ -431,9 +431,9 @@ static int ircomm_param_dte(void *instan
307 ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
310 - param->pv.b = self->settings.dte;
311 + param->pv.i = self->settings.dte;
314 + dte = (__u8) param->pv.i;
316 if (dte & IRCOMM_DELTA_DTR)
317 self->settings.dce |= (IRCOMM_DELTA_DSR|
318 @@ -470,9 +470,9 @@ static int ircomm_param_dce(void *instan
319 struct ircomm_tty_cb *self = (struct ircomm_tty_cb *) instance;
322 - IRDA_DEBUG(1, __FUNCTION__ "(), dce = 0x%02x\n", param->pv.b);
323 + IRDA_DEBUG(1, __FUNCTION__ "(), dce = 0x%02x\n", (__u8) param->pv.i);
326 + dce = (__u8) param->pv.i;
328 ASSERT(self != NULL, return -1;);
329 ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);