Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f14e2e29 authored by James Smart's avatar James Smart Committed by James Bottomley
Browse files

[SCSI] SCSI & FC transport: extend event vendor id's to 64bits



During discussions with Mike Christie, I became convinced that we needed
a larger vendor id. This patch extends the id from 32 to 64 bits.

This applies on top of the prior patches that add SCSI transport events
via netlink.

Signed-off-by: default avatarJames Smart <James.Smart@emulex.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent 84314fd4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -513,7 +513,7 @@ EXPORT_SYMBOL(fc_host_post_event);
 **/
void
fc_host_post_vendor_event(struct Scsi_Host *shost, u32 event_number,
		u32 data_len, char * data_buf, u32 vendor_id)
		u32 data_len, char * data_buf, u64 vendor_id)
{
	struct sk_buff *skb;
	struct nlmsghdr	*nlh;
+4 −3
Original line number Diff line number Diff line
@@ -67,9 +67,10 @@ struct scsi_nl_hdr {
 *   Identifiers for each type:
 *    PCI :  ID data is the 16 bit PCI Registered Vendor ID
 */
#define SCSI_NL_VID_ID_MASK			0x00FFFFFF
#define SCSI_NL_VID_TYPE_MASK			0xFF000000
#define SCSI_NL_VID_TYPE_PCI			0x01000000
#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_ID_MASK		(~ SCSI_NL_VID_TYPE_MASK)


#define INIT_SCSI_NL_HDR(hdr, t, mtype, mlen)			\
+1 −1
Original line number Diff line number Diff line
@@ -58,7 +58,7 @@
struct fc_nl_event {
	struct scsi_nl_hdr snlh;		/* must be 1st element ! */
	uint64_t seconds;
	uint32_t vendor_id;
	uint64_t vendor_id;
	uint16_t host_no;
	uint16_t event_datalen;
	uint32_t event_num;
+1 −1
Original line number Diff line number Diff line
@@ -555,7 +555,7 @@ u32 fc_get_event_number(void);
void fc_host_post_event(struct Scsi_Host *shost, u32 event_number,
		enum fc_host_event_code event_code, u32 event_data);
void fc_host_post_vendor_event(struct Scsi_Host *shost, u32 event_number,
		u32 data_len, char * data_buf, u32 vendor_id);
		u32 data_len, char * data_buf, u64 vendor_id);
	/* Note: when specifying vendor_id to fc_host_post_vendor_event()
	 *   be sure to read the Vendor Type and ID formatting requirements
	 *   specified in scsi_netlink.h