mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-19 03:31:26 +00:00
scst: fix compilation on older kernels
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6960 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
@@ -678,4 +678,19 @@ static inline int scsi_bidi_cmnd(struct scsi_cmnd *cmd)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 9, 0)) && \
|
||||
(LINUX_VERSION_CODE < KERNEL_VERSION(3, 16, 0))
|
||||
/**
|
||||
* ktime_before - Compare if a ktime_t value is smaller than another one.
|
||||
* @cmp1: comparable1
|
||||
* @cmp2: comparable2
|
||||
*
|
||||
* Return: true if cmp1 happened before cmp2.
|
||||
*/
|
||||
static inline bool ktime_before(const ktime_t cmp1, const ktime_t cmp2)
|
||||
{
|
||||
return ktime_compare(cmp1, cmp2) < 0;
|
||||
}
|
||||
#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 9, 0)) && (LINUX_VERSION_CODE < KERNEL_VERSION(3, 16, 0)) */
|
||||
|
||||
#endif /* _SCST_BACKPORT_H_ */
|
||||
|
||||
@@ -121,7 +121,9 @@ unsigned long scst_trace_flag;
|
||||
|
||||
unsigned long scst_flags;
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 9, 0)
|
||||
unsigned long scst_poll_ns = SCST_DEF_POLL_NS;
|
||||
#endif
|
||||
|
||||
int scst_max_tasklet_cmd = SCST_DEF_MAX_TASKLET_CMD;
|
||||
|
||||
|
||||
@@ -183,8 +183,10 @@ extern unsigned int scst_setup_id;
|
||||
#define SCST_DEF_MAX_TASKLET_CMD 10
|
||||
extern int scst_max_tasklet_cmd;
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 9, 0)
|
||||
#define SCST_DEF_POLL_NS 0
|
||||
extern unsigned long scst_poll_ns;
|
||||
#endif
|
||||
|
||||
extern spinlock_t scst_init_lock;
|
||||
extern struct list_head scst_init_cmd_list;
|
||||
|
||||
@@ -7077,6 +7077,8 @@ static struct kobj_attribute scst_max_tasklet_cmd_attr =
|
||||
__ATTR(max_tasklet_cmd, S_IRUGO | S_IWUSR, scst_max_tasklet_cmd_show,
|
||||
scst_max_tasklet_cmd_store);
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 9, 0)
|
||||
|
||||
static ssize_t scst_poll_us_show(struct kobject *kobj,
|
||||
struct kobj_attribute *attr, char *buf)
|
||||
{
|
||||
@@ -7124,6 +7126,8 @@ static struct kobj_attribute scst_poll_us_attr =
|
||||
__ATTR(poll_us, S_IRUGO | S_IWUSR, scst_poll_us_show,
|
||||
scst_poll_us_store);
|
||||
|
||||
#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3, 9, 0) */
|
||||
|
||||
static ssize_t scst_suspend_show(struct kobject *kobj,
|
||||
struct kobj_attribute *attr, char *buf)
|
||||
{
|
||||
@@ -7398,7 +7402,9 @@ static struct attribute *scst_sysfs_root_default_attrs[] = {
|
||||
&scst_threads_attr.attr,
|
||||
&scst_setup_id_attr.attr,
|
||||
&scst_max_tasklet_cmd_attr.attr,
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 9, 0)
|
||||
&scst_poll_us_attr.attr,
|
||||
#endif
|
||||
&scst_suspend_attr.attr,
|
||||
#if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
|
||||
&scst_main_trace_level_attr.attr,
|
||||
|
||||
@@ -5620,6 +5620,7 @@ again:
|
||||
thr_locked = false;
|
||||
}
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 9, 0)
|
||||
if (scst_poll_ns > 0) {
|
||||
struct timespec ts;
|
||||
ktime_t end, kt;
|
||||
@@ -5652,6 +5653,7 @@ again:
|
||||
}
|
||||
|
||||
go:
|
||||
#endif
|
||||
spin_lock_irq(&p_cmd_threads->cmd_list_lock);
|
||||
spin_lock(&thr->thr_cmd_list_lock);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user