summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--toolchain/kernel-headers/linux-2.6.32-scsi-use-__uX-types-for-headers-exported-to-user-space.patch89
1 files changed, 89 insertions, 0 deletions
diff --git a/toolchain/kernel-headers/linux-2.6.32-scsi-use-__uX-types-for-headers-exported-to-user-space.patch b/toolchain/kernel-headers/linux-2.6.32-scsi-use-__uX-types-for-headers-exported-to-user-space.patch
new file mode 100644
index 000000000..ac9875dd7
--- /dev/null
+++ b/toolchain/kernel-headers/linux-2.6.32-scsi-use-__uX-types-for-headers-exported-to-user-space.patch
@@ -0,0 +1,89 @@
+From 5e0675efcec309617ba2d334c68ddb250ef942b2 Mon Sep 17 00:00:00 2001
+From: Peter Korsgaard <jacmet@sunsite.dk>
+Date: Fri, 27 Nov 2009 11:20:54 +0100
+Subject: [PATCH] scsi: use __uX types for headers exported to user space
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Commit 9e4f5e29 (FC Pass Thru support) exported a number of header files
+in include/scsi to user space, but didn't change the uX types to the
+userspace-compatible __uX types. Without that you'll get compile errors
+when including them - E.G.:
+
+/tmp/include/scsi/scsi.h:145: error: expected specifier-qualifier-list
+before ‘u8’
+
+Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
+---
+ include/scsi/scsi.h | 8 ++++----
+ include/scsi/scsi_netlink.h | 20 ++++++++++----------
+ 2 files changed, 14 insertions(+), 14 deletions(-)
+
+diff --git a/include/scsi/scsi.h b/include/scsi/scsi.h
+index 34c46ab..b3cffec 100644
+--- a/include/scsi/scsi.h
++++ b/include/scsi/scsi.h
+@@ -145,10 +145,10 @@ struct scsi_cmnd;
+
+ /* defined in T10 SCSI Primary Commands-2 (SPC2) */
+ struct scsi_varlen_cdb_hdr {
+- u8 opcode; /* opcode always == VARIABLE_LENGTH_CMD */
+- u8 control;
+- u8 misc[5];
+- u8 additional_cdb_length; /* total cdb length - 8 */
++ __u8 opcode; /* opcode always == VARIABLE_LENGTH_CMD */
++ __u8 control;
++ __u8 misc[5];
++ __u8 additional_cdb_length; /* total cdb length - 8 */
+ __be16 service_action;
+ /* service specific data follows */
+ };
+diff --git a/include/scsi/scsi_netlink.h b/include/scsi/scsi_netlink.h
+index 536752c..7445c46 100644
+--- a/include/scsi/scsi_netlink.h
++++ b/include/scsi/scsi_netlink.h
+@@ -105,8 +105,8 @@ struct scsi_nl_host_vendor_msg {
+ * PCI : ID data is the 16 bit PCI Registered Vendor ID
+ */
+ #define SCSI_NL_VID_TYPE_SHIFT 56
+-#define SCSI_NL_VID_TYPE_MASK ((u64)0xFF << SCSI_NL_VID_TYPE_SHIFT)
+-#define SCSI_NL_VID_TYPE_PCI ((u64)0x01 << SCSI_NL_VID_TYPE_SHIFT)
++#define SCSI_NL_VID_TYPE_MASK ((__u64)0xFF << SCSI_NL_VID_TYPE_SHIFT)
++#define SCSI_NL_VID_TYPE_PCI ((__u64)0x01 << SCSI_NL_VID_TYPE_SHIFT)
+ #define SCSI_NL_VID_ID_MASK (~ SCSI_NL_VID_TYPE_MASK)
+
+
+@@ -125,21 +125,21 @@ struct scsi_nl_host_vendor_msg {
+ #include <scsi/scsi_host.h>
+
+ /* Exported Kernel Interfaces */
+-int scsi_nl_add_transport(u8 tport,
++int scsi_nl_add_transport(__u8 tport,
+ int (*msg_handler)(struct sk_buff *),
+ void (*event_handler)(struct notifier_block *, unsigned long, void *));
+-void scsi_nl_remove_transport(u8 tport);
++void scsi_nl_remove_transport(__u8 tport);
+
+-int scsi_nl_add_driver(u64 vendor_id, struct scsi_host_template *hostt,
++int scsi_nl_add_driver(__u64 vendor_id, struct scsi_host_template *hostt,
+ int (*nlmsg_handler)(struct Scsi_Host *shost, void *payload,
+- u32 len, u32 pid),
++ __u32 len, __u32 pid),
+ void (*nlevt_handler)(struct notifier_block *nb,
+ unsigned long event, void *notify_ptr));
+-void scsi_nl_remove_driver(u64 vendor_id);
++void scsi_nl_remove_driver(__u64 vendor_id);
+
+-void scsi_nl_send_transport_msg(u32 pid, struct scsi_nl_hdr *hdr);
+-int scsi_nl_send_vendor_msg(u32 pid, unsigned short host_no, u64 vendor_id,
+- char *data_buf, u32 data_len);
++void scsi_nl_send_transport_msg(__u32 pid, struct scsi_nl_hdr *hdr);
++int scsi_nl_send_vendor_msg(__u32 pid, unsigned short host_no, __u64 vendor_id,
++ char *data_buf, __u32 data_len);
+
+ #endif /* __KERNEL__ */
+
+--
+1.6.5
+