diff options
Diffstat (limited to 'recipes/hdparm/hdparm-6.9')
-rw-r--r-- | recipes/hdparm/hdparm-6.9/bswap.patch | 39 | ||||
-rw-r--r-- | recipes/hdparm/hdparm-6.9/uclibc.patch | 62 |
2 files changed, 101 insertions, 0 deletions
diff --git a/recipes/hdparm/hdparm-6.9/bswap.patch b/recipes/hdparm/hdparm-6.9/bswap.patch new file mode 100644 index 0000000000..3281c33954 --- /dev/null +++ b/recipes/hdparm/hdparm-6.9/bswap.patch @@ -0,0 +1,39 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +Index: hdparm-6.9/hdparm.c +=================================================================== +--- hdparm-6.9.orig/hdparm.c 2006-10-25 16:41:33.000000000 +0200 ++++ hdparm-6.9/hdparm.c 2007-03-05 14:02:03.000000000 +0100 +@@ -19,8 +19,9 @@ + #include <linux/types.h> + #include <linux/hdreg.h> + #include <linux/major.h> +-#include <asm/byteorder.h> +-//#include <endian.h> ++#include <byteswap.h> ++ ++#define le16_to_cpus(x) bswap_16(htons(x)) + + #include "hdparm.h" + +@@ -1328,7 +1329,7 @@ + } + } else { + for(i = 0; i < 0x100; ++i) { +- __le16_to_cpus(&id[i]); ++ le16_to_cpus(&id[i]); + } + identify((void *)id); + } +@@ -1608,7 +1609,7 @@ + && ishex(d[++digit] = getchar()) + && ishex(d[++digit] = getchar())) { + sbuf[wc] = (fromhex(d[0]) << 12) | (fromhex(d[1]) << 8) | (fromhex(d[2]) << 4) | fromhex(d[3]); +- __le16_to_cpus((__u16 *)(&sbuf[wc])); ++ le16_to_cpus((__u16 *)(&sbuf[wc])); + ++wc; + } else if (d[digit] == EOF) { + goto eof; diff --git a/recipes/hdparm/hdparm-6.9/uclibc.patch b/recipes/hdparm/hdparm-6.9/uclibc.patch new file mode 100644 index 0000000000..b1d8e4aa47 --- /dev/null +++ b/recipes/hdparm/hdparm-6.9/uclibc.patch @@ -0,0 +1,62 @@ +Index: hdparm-6.9/hdparm.c +=================================================================== +--- hdparm-6.9.orig/hdparm.c 2007-05-20 20:12:58.000000000 +0200 ++++ hdparm-6.9/hdparm.c 2007-05-20 20:13:31.000000000 +0200 +@@ -16,7 +16,9 @@ + #include <sys/times.h> + #include <sys/types.h> + #include <sys/mount.h> ++#ifndef __UCLIBC__ + #include <linux/types.h> ++#endif + #include <linux/hdreg.h> + #include <linux/major.h> + #include <byteswap.h> +@@ -1311,7 +1313,7 @@ + perror(" HDIO_GET_IDENTITY failed"); + } + if (get_IDentity) { +- __u16 *id; ++ uint16_t *id; + unsigned char args[4+512] = {WIN_IDENTIFY,0,0,1,}; // FIXME? + unsigned i; + if (ioctl(fd, HDIO_DRIVE_CMD, &args)) { +@@ -1321,7 +1323,7 @@ + goto identify_abort; + } + } +- id = (__u16 *)&args[4]; ++ id = (uint16_t *)&args[4]; + if (get_IDentity == 2) { + for (i = 0; i < (256/8); ++i) { + printf("%04x %04x %04x %04x %04x %04x %04x %04x\n", id[0], id[1], id[2], id[3], id[4], id[5], id[6], id[7]); +@@ -1609,7 +1611,7 @@ + && ishex(d[++digit] = getchar()) + && ishex(d[++digit] = getchar())) { + sbuf[wc] = (fromhex(d[0]) << 12) | (fromhex(d[1]) << 8) | (fromhex(d[2]) << 4) | fromhex(d[3]); +- le16_to_cpus((__u16 *)(&sbuf[wc])); ++ le16_to_cpus((uint16_t *)(&sbuf[wc])); + ++wc; + } else if (d[digit] == EOF) { + goto eof; +Index: hdparm-6.9/hdparm.h +=================================================================== +--- hdparm-6.9.orig/hdparm.h 2006-04-28 16:33:01.000000000 +0200 ++++ hdparm-6.9/hdparm.h 2007-05-20 20:12:58.000000000 +0200 +@@ -1,6 +1,6 @@ + /* Some prototypes for extern functions. */ + +-#include <linux/types.h> /* for __u16 */ ++#include <stdint.h> + + #if !defined(__GNUC__) && !defined(__attribute__) + #define __attribute__(x) /* if not using GCC, turn off the __attribute__ +@@ -11,7 +11,7 @@ + others, though, were declared in hdparm.c with global scope; since other + functions in that file have static (file) scope, I assume the difference is + intentional. */ +-extern void identify (__u16 *id_supplied); ++extern void identify (uint16_t *id_supplied); + + extern void usage_error(int out) __attribute__((noreturn)); + extern int main(int argc, char **argv) __attribute__((noreturn)); |