Merge tag 'drm-intel-fixes-2014-02-06' of ssh://git.freedesktop.org/git/drm-intel...
[cascardo/linux.git] / include / scsi / scsi_device.h
index a44954c..d65fbec 100644 (file)
@@ -52,8 +52,15 @@ enum scsi_device_state {
 
 enum scsi_device_event {
        SDEV_EVT_MEDIA_CHANGE   = 1,    /* media has changed */
+       SDEV_EVT_INQUIRY_CHANGE_REPORTED,               /* 3F 03  UA reported */
+       SDEV_EVT_CAPACITY_CHANGE_REPORTED,              /* 2A 09  UA reported */
+       SDEV_EVT_SOFT_THRESHOLD_REACHED_REPORTED,       /* 38 07  UA reported */
+       SDEV_EVT_MODE_PARAMETER_CHANGE_REPORTED,        /* 2A 01  UA reported */
+       SDEV_EVT_LUN_CHANGE_REPORTED,                   /* 3F 0E  UA reported */
+
+       SDEV_EVT_FIRST          = SDEV_EVT_MEDIA_CHANGE,
+       SDEV_EVT_LAST           = SDEV_EVT_LUN_CHANGE_REPORTED,
 
-       SDEV_EVT_LAST           = SDEV_EVT_MEDIA_CHANGE,
        SDEV_EVT_MAXBITS        = SDEV_EVT_LAST + 1
 };
 
@@ -164,6 +171,7 @@ struct scsi_device {
        atomic_t disk_events_disable_depth; /* disable depth for disk events */
 
        DECLARE_BITMAP(supported_events, SDEV_EVT_MAXBITS); /* supported events */
+       DECLARE_BITMAP(pending_events, SDEV_EVT_MAXBITS); /* pending events */
        struct list_head event_list;    /* asserted events */
        struct work_struct event_work;
 
@@ -261,6 +269,9 @@ struct scsi_target {
                                                 * means no lun present. */
        unsigned int            no_report_luns:1;       /* Don't use
                                                 * REPORT LUNS for scanning. */
+       unsigned int            expecting_lun_change:1; /* A device has reported
+                                                * a 3F/0E UA, other devices on
+                                                * the same target will also. */
        /* commands actually active on LLD. protected by host lock. */
        unsigned int            target_busy;
        /*