diff options
Diffstat (limited to 'meta/packages/hdparm')
-rw-r--r-- | meta/packages/hdparm/hdparm-6.3/bswap.patch | 36 | ||||
-rw-r--r-- | meta/packages/hdparm/hdparm-6.3/uclibc.patch | 32 | ||||
-rw-r--r-- | meta/packages/hdparm/hdparm_6.3.bb | 14 |
3 files changed, 82 insertions, 0 deletions
diff --git a/meta/packages/hdparm/hdparm-6.3/bswap.patch b/meta/packages/hdparm/hdparm-6.3/bswap.patch new file mode 100644 index 000000000..37fbcb7b3 --- /dev/null +++ b/meta/packages/hdparm/hdparm-6.3/bswap.patch @@ -0,0 +1,36 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- hdparm-5.8/hdparm.c~bswap ++++ hdparm-5.8/hdparm.c +@@ -20,7 +20,9 @@ + #include <linux/types.h> + #include <linux/hdreg.h> + #include <linux/major.h> +-#include <asm/byteorder.h> ++#include <byteswap.h> ++ ++#define le16_to_cpus(x) bswap_16(htons(x)) + + #include "hdparm.h" + +@@ -1160,7 +1162,7 @@ + } + } else { + for(i = 0; i < 0x100; ++i) { +- __le16_to_cpus(&id[i]); ++ le16_to_cpus(&id[i]); + } + identify((void *)id, NULL); + } +@@ -1380,7 +1382,7 @@ + } + for (i = 0; count >= 4; ++i) { + sbuf[i] = (fromhex(b[0]) << 12) | (fromhex(b[1]) << 8) | (fromhex(b[2]) << 4) | fromhex(b[3]); +- __le16_to_cpus((__u16 *)(&sbuf[i])); ++ le16_to_cpus((__u16 *)(&sbuf[i])); + b += 5; + count -= 5; + } diff --git a/meta/packages/hdparm/hdparm-6.3/uclibc.patch b/meta/packages/hdparm/hdparm-6.3/uclibc.patch new file mode 100644 index 000000000..495d7491b --- /dev/null +++ b/meta/packages/hdparm/hdparm-6.3/uclibc.patch @@ -0,0 +1,32 @@ +--- hdparm-5.8/hdparm.c.ark 2005-05-22 19:48:34.000000000 +0000 ++++ hdparm-5.8/hdparm.c 2005-05-22 19:52:18.000000000 +0000 +@@ -17,7 +17,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> +--- hdparm-5.8/hdparm.h.ark 2005-05-22 19:51:49.000000000 +0000 ++++ hdparm-5.8/hdparm.h 2005-05-22 19:54:54.000000000 +0000 +@@ -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, const char *devname); ++extern void identify (uint16_t *id_supplied, const char *devname); + + extern void usage_error(int out) __attribute__((noreturn)); + extern int main(int argc, char **argv) __attribute__((noreturn)); + diff --git a/meta/packages/hdparm/hdparm_6.3.bb b/meta/packages/hdparm/hdparm_6.3.bb new file mode 100644 index 000000000..94d1e6e9b --- /dev/null +++ b/meta/packages/hdparm/hdparm_6.3.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "hdparm is a Linux shell utility for viewing \ +and manipulating various IDE drive and driver parameters." +SECTION = "console/utils" +PRIORITY = "optional" +LICENSE = "BSD" + +SRC_URI = "${SOURCEFORGE_MIRROR}/hdparm/hdparm-${PV}.tar.gz \ + file://bswap.patch;patch=1 \ + file://uclibc.patch;patch=1" + +do_install () { + install -d ${D}/${sbindir} ${D}/${mandir}/man8 + oe_runmake 'DESTDIR=${D}' install +} |