Re: [PATCH] cosa.h ioctl numbers

From: Jan Kasprzak
Date: Thu Jan 06 2005 - 05:04:24 EST


Linus Torvalds wrote:
: On Thu, 2 Dec 2004, Andreas Schwab wrote:
: > This has nothing to do with this, but everything to do with
: > sizeof(sizeof(foo)) == sizeof(size_t). And COSAIODOWNLD does not expect a
: > pointer to a pointer but a pointer to struct cosa_download, which means
: > that _IOW('C',0xf2,struct cosa_download *) would be completely wrong
: > anyway.
:
: We have similar "broken due to historical reasons" in other places.
: There's no good way to fix them up, and it doesn't really matter _what_
: fake type you use, as long as it happens to be the same size as the
: original broken type on all architectures where it matters.
[...]
: Sounds like it doesn't much matter in this case, any of the above would
: work.
[...]
OK, then please apply the attached patch:

Description: Make COSA ioctl numbers compatible with previous kernels.

Signed-off-by: Jan "Yenya" Kasprzak <kas@xxxxxxxxxx>

--- linux-2.6.10-rc2/drivers/net/wan/cosa.h.orig 2004-12-02 13:34:24.142501564 +0100
+++ linux-2.6.10-rc2/drivers/net/wan/cosa.h 2004-12-02 14:09:23.000860524 +0100
@@ -76,10 +76,16 @@
#define COSAIOSTRT _IOW('C',0xf1, int)

/* Read the block from the device memory */
-#define COSAIORMEM _IOWR('C',0xf2, struct cosa_download)
+#define COSAIORMEM _IOWR('C',0xf2, struct cosa_download *)
+ /* actually the struct cosa_download itself; this is to keep
+ * the ioctl number same as in 2.4 in order to keep the user-space
+ * utils compatible. */

/* Write the block to the device memory (i.e. download the microcode) */
-#define COSAIODOWNLD _IOW('C',0xf2, struct cosa_download)
+#define COSAIODOWNLD _IOW('C',0xf2, struct cosa_download *)
+ /* actually the struct cosa_download itself; this is to keep
+ * the ioctl number same as in 2.4 in order to keep the user-space
+ * utils compatible. */

/* Read the device type (one of "srp", "cosa", and "cosa8" for now) */
#define COSAIORTYPE _IOR('C',0xf3, char *)

--
| Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net - private}> |
| GPG: ID 1024/D3498839 Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E |
| http://www.fi.muni.cz/~kas/ Czech Linux Homepage: http://www.linux.cz/ |
> Whatever the Java applications and desktop dances may lead to, Unix will <
> still be pushing the packets around for a quite a while. --Rob Pike <
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/