f55531
From ee2efd8e1b4cae38cb8264ce1b8e110d937e8061 Mon Sep 17 00:00:00 2001
f55531
From: Chad Dupuis <chad.dupuis@qlogic.com>
f55531
Date: Thu, 13 Mar 2014 14:16:40 -0400
f55531
Subject: [PATCH] [SCSI] qla2xxx: Fix build errors related to invalid print
f55531
 fields on some architectures.
f55531
f55531
Fixes some build warnings such as:
f55531
drivers/scsi/qla2xxx/qla_attr.c:162:6: warning: format '%lx' expects argument of
f55531
type 'long unsigned int', but argument 6 has type 'size_t'"
f55531
and
f55531
drivers/scsi/qla2xxx/qla_init.c:5198:7: warning: format '%lx' expects argument
f55531
of type 'long unsigned int', but argument 5 has type 'uint32_t' [-Wformat]
f55531
f55531
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
f55531
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
f55531
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
f55531
---
f55531
 drivers/scsi/qla2xxx/qla_attr.c |  6 +++---
f55531
 drivers/scsi/qla2xxx/qla_init.c | 12 ++++++------
f55531
 2 files changed, 9 insertions(+), 9 deletions(-)
f55531
f55531
diff --git a/drivers/scsi/qla2xxx/qla_attr.c b/drivers/scsi/qla2xxx/qla_attr.c
f55531
index deca736..ecadd80 100644
f55531
--- a/drivers/scsi/qla2xxx/qla_attr.c
f55531
+++ b/drivers/scsi/qla2xxx/qla_attr.c
f55531
@@ -159,7 +159,7 @@ qla2x00_sysfs_read_fw_dump_template(struct file *filp, struct kobject *kobj,
f55531
 		return 0;
f55531
 
f55531
 	ql_dbg(ql_dbg_user, vha, 0x70e2,
f55531
-	    "chunk <- off=%llx count=%lx\n", off, count);
f55531
+	    "chunk <- off=%llx count=%zx\n", off, count);
f55531
 	return memory_read_from_buffer(buf, count, &off,
f55531
 	    ha->fw_dump_template, ha->fw_dump_template_len);
f55531
 }
f55531
@@ -200,11 +200,11 @@ qla2x00_sysfs_write_fw_dump_template(struct file *filp, struct kobject *kobj,
f55531
 	if (off + count > ha->fw_dump_template_len) {
f55531
 		count = ha->fw_dump_template_len - off;
f55531
 		ql_dbg(ql_dbg_user, vha, 0x70d3,
f55531
-		    "chunk -> truncating to %lx bytes.\n", count);
f55531
+		    "chunk -> truncating to %zx bytes.\n", count);
f55531
 	}
f55531
 
f55531
 	ql_dbg(ql_dbg_user, vha, 0x70d4,
f55531
-	    "chunk -> off=%llx count=%lx\n", off, count);
f55531
+	    "chunk -> off=%llx count=%zx\n", off, count);
f55531
 	memcpy(ha->fw_dump_template + off, buf, count);
f55531
 
f55531
 	if (off + count == ha->fw_dump_template_len) {
f55531
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
f55531
index 8e36bb5..e6cc187 100644
f55531
--- a/drivers/scsi/qla2xxx/qla_init.c
f55531
+++ b/drivers/scsi/qla2xxx/qla_init.c
f55531
@@ -5343,8 +5343,8 @@ qla24xx_load_risc_flash(scsi_qla_host_t *vha, uint32_t *srisc_addr,
f55531
 	    "-> template size %x bytes\n", dlen);
f55531
 	if (dlen > risc_size * sizeof(*dcode)) {
f55531
 		ql_log(ql_log_warn, vha, 0x0167,
f55531
-		    "Failed fwdump template exceeds array by %lx bytes\n",
f55531
-		    dlen - risc_size * sizeof(*dcode));
f55531
+		    "Failed fwdump template exceeds array by %x bytes\n",
f55531
+		    (uint32_t)(dlen - risc_size * sizeof(*dcode)));
f55531
 		goto default_template;
f55531
 	}
f55531
 	ha->fw_dump_template_len = dlen;
f55531
@@ -5610,8 +5610,8 @@ qla24xx_load_risc_blob(scsi_qla_host_t *vha, uint32_t *srisc_addr)
f55531
 	ha->fw_dump_template_len = 0;
f55531
 
f55531
 	ql_dbg(ql_dbg_init, vha, 0x171,
f55531
-	    "Loading fwdump template from %lx\n",
f55531
-	    (void *)fwcode - (void *)blob->fw->data);
f55531
+	    "Loading fwdump template from %x\n",
f55531
+	    (uint32_t)((void *)fwcode - (void *)blob->fw->data));
f55531
 	risc_size = be32_to_cpu(fwcode[2]);
f55531
 	ql_dbg(ql_dbg_init, vha, 0x172,
f55531
 	    "-> array size %x dwords\n", risc_size);
f55531
@@ -5645,8 +5645,8 @@ qla24xx_load_risc_blob(scsi_qla_host_t *vha, uint32_t *srisc_addr)
f55531
 	    "-> template size %x bytes\n", dlen);
f55531
 	if (dlen > risc_size * sizeof(*fwcode)) {
f55531
 		ql_log(ql_log_warn, vha, 0x0177,
f55531
-		    "Failed fwdump template exceeds array by %lx bytes\n",
f55531
-		    dlen - risc_size * sizeof(*fwcode));
f55531
+		    "Failed fwdump template exceeds array by %x bytes\n",
f55531
+		    (uint32_t)(dlen - risc_size * sizeof(*fwcode)));
f55531
 		goto default_template;
f55531
 	}
f55531
 	ha->fw_dump_template_len = dlen;
f55531
-- 
f55531
1.8.3.1
f55531
f55531
From 7a21a71e1c702b523676267fa09048f21918636f Mon Sep 17 00:00:00 2001
f55531
From: Paul Bolle <pebolle@tiscali.nl>
f55531
Date: Mon, 30 Jun 2014 16:32:29 +0200
f55531
Subject: [PATCH] x86: Remove unused variable "polling"
f55531
f55531
Compile tested. "polling" is unused since commit f80c5b39b80a
f55531
("sched/idle, x86: Switch from TS_POLLING to TIF_POLLING_NRFLAG").
f55531
f55531
Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
f55531
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
f55531
Cc: Jiri Kosina <jkosina@suse.cz>
f55531
Link: http://lkml.kernel.org/r/1404138749.2978.6.camel@x41
f55531
Signed-off-by: Ingo Molnar <mingo@kernel.org>
f55531
---
f55531
 arch/x86/kernel/apm_32.c | 1 -
f55531
 1 file changed, 1 deletion(-)
f55531
f55531
diff --git a/arch/x86/kernel/apm_32.c b/arch/x86/kernel/apm_32.c
f55531
index 8fdcec6..66d3b1f 100644
f55531
--- a/arch/x86/kernel/apm_32.c
f55531
+++ b/arch/x86/kernel/apm_32.c
f55531
@@ -841,7 +841,6 @@ static int apm_do_idle(void)
f55531
 	u32 eax;
f55531
 	u8 ret = 0;
f55531
 	int idled = 0;
f55531
-	int polling;
f55531
 	int err = 0;
f55531
 
f55531
 	if (!need_resched()) {
f55531
-- 
f55531
1.8.3.1
f55531
f55531
From f9cfccee5ef4d923e21394c852b7f75d9c5c4a61 Mon Sep 17 00:00:00 2001
f55531
From: John Stultz <john.stultz@linaro.org>
f55531
Date: Wed, 16 Jul 2014 21:03:56 +0000
f55531
Subject: [PATCH] ktime: Change ktime_set() to take 64bit seconds value
f55531
f55531
In order to support dates past 2038 on 32bit systems, ktime_set()
f55531
needs to handle 64bit second values.
f55531
f55531
[ tglx: Removed the BITS_PER_LONG check ]
f55531
f55531
Signed-off-by: John Stultz <john.stultz@linaro.org>
f55531
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
f55531
Signed-off-by: John Stultz <john.stultz@linaro.org>
f55531
---
f55531
 include/linux/ktime.h | 7 +++----
f55531
 1 file changed, 3 insertions(+), 4 deletions(-)
f55531
f55531
diff --git a/include/linux/ktime.h b/include/linux/ktime.h
f55531
index 320f5da..5fa1494 100644
f55531
--- a/include/linux/ktime.h
f55531
+++ b/include/linux/ktime.h
f55531
@@ -71,13 +71,12 @@ typedef union ktime ktime_t;		/* Kill this */
f55531
  *
f55531
  * Return the ktime_t representation of the value
f55531
  */
f55531
-static inline ktime_t ktime_set(const long secs, const unsigned long nsecs)
f55531
+static inline ktime_t ktime_set(const s64 secs, const unsigned long nsecs)
f55531
 {
f55531
-#if (BITS_PER_LONG == 64)
f55531
 	if (unlikely(secs >= KTIME_SEC_MAX))
f55531
 		return (ktime_t){ .tv64 = KTIME_MAX };
f55531
-#endif
f55531
-	return (ktime_t) { .tv64 = (s64)secs * NSEC_PER_SEC + (s64)nsecs };
f55531
+
f55531
+	return (ktime_t) { .tv64 = secs * NSEC_PER_SEC + (s64)nsecs };
f55531
 }
f55531
 
f55531
 /* Subtract two ktime_t variables. rem = lhs -rhs: */
f55531
-- 
f55531
1.8.3.1
f55531
f55531
From af80f3a91846c33852e97c18fd986d0db774d7f1 Mon Sep 17 00:00:00 2001
f55531
From: Richard Cochran <richardcochran@gmail.com>
f55531
Date: Sun, 29 Mar 2015 23:11:56 +0200
f55531
Subject: [PATCH] ptp: bnx2x: convert to the 64 bit get/set time methods.
f55531
f55531
This driver's clock is implemented using a timecounter, and so with
f55531
this patch the driver is ready for the year 2038.
f55531
f55531
Compile tested only.
f55531
f55531
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
f55531
Acked-by: Sony Chacko <sony.chacko@qlogic.com>
f55531
Signed-off-by: David S. Miller <davem@davemloft.net>
f55531
---
f55531
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 4 ++--
f55531
 1 file changed, 2 insertions(+), 2 deletions(-)
f55531
f55531
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
f55531
index dc20474..fb0ebc9 100644
f55531
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
f55531
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
f55531
@@ -13366,8 +13366,8 @@ static void bnx2x_register_phc(struct bnx2x *bp)
f55531
 	bp->ptp_clock_info.pps = 0;
f55531
 	bp->ptp_clock_info.adjfreq = bnx2x_ptp_adjfreq;
f55531
 	bp->ptp_clock_info.adjtime = bnx2x_ptp_adjtime;
f55531
-	bp->ptp_clock_info.gettime = bnx2x_ptp_gettime;
f55531
-	bp->ptp_clock_info.settime = bnx2x_ptp_settime;
f55531
+	bp->ptp_clock_info.gettime64 = bnx2x_ptp_gettime;
f55531
+	bp->ptp_clock_info.settime64 = bnx2x_ptp_settime;
f55531
 	bp->ptp_clock_info.enable = bnx2x_ptp_enable;
f55531
 
f55531
 	bp->ptp_clock = ptp_clock_register(&bp->ptp_clock_info, &bp->pdev->dev);
f55531
-- 
f55531
1.8.3.1
f55531
f55531
From 23e58ec4890fa12e6965fb79e4924a151c6072fd Mon Sep 17 00:00:00 2001
f55531
From: Richard Cochran <richardcochran@gmail.com>
f55531
Date: Sun, 29 Mar 2015 23:12:04 +0200
f55531
Subject: [PATCH] ptp: ixgbe: convert to the 64 bit get/set time methods.
f55531
f55531
This driver's clock is implemented using a timecounter, and so with
f55531
this patch the driver is ready for the year 2038.
f55531
f55531
Compile tested only.
f55531
f55531
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
f55531
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
f55531
Signed-off-by: David S. Miller <davem@davemloft.net>
f55531
---
f55531
 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 8 ++++----
f55531
 1 file changed, 4 insertions(+), 4 deletions(-)
f55531
f55531
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
f55531
index e70158c..e5ba040 100644
f55531
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
f55531
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
f55531
@@ -871,8 +871,8 @@ static int ixgbe_ptp_create_clock(struct ixgbe_adapter *adapter)
f55531
 		adapter->ptp_caps.pps = 1;
f55531
 		adapter->ptp_caps.adjfreq = ixgbe_ptp_adjfreq;
f55531
 		adapter->ptp_caps.adjtime = ixgbe_ptp_adjtime;
f55531
-		adapter->ptp_caps.gettime = ixgbe_ptp_gettime;
f55531
-		adapter->ptp_caps.settime = ixgbe_ptp_settime;
f55531
+		adapter->ptp_caps.gettime64 = ixgbe_ptp_gettime;
f55531
+		adapter->ptp_caps.settime64 = ixgbe_ptp_settime;
f55531
 		adapter->ptp_caps.enable = ixgbe_ptp_feature_enable;
f55531
 		break;
f55531
 	case ixgbe_mac_82599EB:
f55531
@@ -887,8 +887,8 @@ static int ixgbe_ptp_create_clock(struct ixgbe_adapter *adapter)
f55531
 		adapter->ptp_caps.pps = 0;
f55531
 		adapter->ptp_caps.adjfreq = ixgbe_ptp_adjfreq;
f55531
 		adapter->ptp_caps.adjtime = ixgbe_ptp_adjtime;
f55531
-		adapter->ptp_caps.gettime = ixgbe_ptp_gettime;
f55531
-		adapter->ptp_caps.settime = ixgbe_ptp_settime;
f55531
+		adapter->ptp_caps.gettime64 = ixgbe_ptp_gettime;
f55531
+		adapter->ptp_caps.settime64 = ixgbe_ptp_settime;
f55531
 		adapter->ptp_caps.enable = ixgbe_ptp_feature_enable;
f55531
 		break;
f55531
 	default:
f55531
-- 
f55531
1.8.3.1
f55531
f55531
From 51c2e67006049959ad5f983caf0e00ccef973b55 Mon Sep 17 00:00:00 2001
f55531
From: Florian Westphal <fw@strlen.de>
f55531
Date: Wed, 17 Jun 2015 23:58:28 +0200
f55531
Subject: [PATCH] netfilter: xtables: fix warnings on 32bit platforms
f55531
f55531
On 32bit archs gcc complains due to cast from void* to u64.
f55531
Add intermediate casts to long to silence these warnings.
f55531
f55531
include/linux/netfilter/x_tables.h:376:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
f55531
include/linux/netfilter/x_tables.h:384:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
f55531
include/linux/netfilter/x_tables.h:391:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
f55531
include/linux/netfilter/x_tables.h:400:22: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
f55531
f55531
Fixes: 71ae0dff02d756e ("netfilter: xtables: use percpu rule counters")
f55531
Reported-by: kbuild test robot <fengguang.wu@intel.com>
f55531
Signed-off-by: Florian Westphal <fw@strlen.de>
f55531
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
f55531
---
f55531
 include/linux/netfilter/x_tables.h | 8 ++++----
f55531
 1 file changed, 4 insertions(+), 4 deletions(-)
f55531
f55531
diff --git a/include/linux/netfilter/x_tables.h b/include/linux/netfilter/x_tables.h
f55531
index 88a9b35..1b6a065 100644
f55531
--- a/include/linux/netfilter/x_tables.h
f55531
+++ b/include/linux/netfilter/x_tables.h
f55531
@@ -377,7 +377,7 @@ static inline u64 xt_percpu_counter_alloc(void)
f55531
 		if (res == NULL)
f55531
 			return (u64) -ENOMEM;
f55531
 
f55531
-		return (__force u64) res;
f55531
+		return (u64) (__force unsigned long) res;
f55531
 	}
f55531
 
f55531
 	return 0;
f55531
@@ -385,14 +385,14 @@ static inline u64 xt_percpu_counter_alloc(void)
f55531
 static inline void xt_percpu_counter_free(u64 pcnt)
f55531
 {
f55531
 	if (nr_cpu_ids > 1)
f55531
-		free_percpu((void __percpu *) pcnt);
f55531
+		free_percpu((void __percpu *) (unsigned long) pcnt);
f55531
 }
f55531
 
f55531
 static inline struct xt_counters *
f55531
 xt_get_this_cpu_counter(struct xt_counters *cnt)
f55531
 {
f55531
 	if (nr_cpu_ids > 1)
f55531
-		return this_cpu_ptr((void __percpu *) cnt->pcnt);
f55531
+		return this_cpu_ptr((void __percpu *) (unsigned long) cnt->pcnt);
f55531
 
f55531
 	return cnt;
f55531
 }
f55531
@@ -401,7 +401,7 @@ static inline struct xt_counters *
f55531
 xt_get_per_cpu_counter(struct xt_counters *cnt, unsigned int cpu)
f55531
 {
f55531
 	if (nr_cpu_ids > 1)
f55531
-		return per_cpu_ptr((void __percpu *) cnt->pcnt, cpu);
f55531
+		return per_cpu_ptr((void __percpu *) (unsigned long) cnt->pcnt, cpu);
f55531
 
f55531
 	return cnt;
f55531
 }
f55531
-- 
f55531
1.8.3.1
f55531
f55531
From 1c0e600bbb7566eba7f3e29d3797de32d211330e Mon Sep 17 00:00:00 2001
f55531
From: Arnd Bergmann <arnd@arndb.de>
f55531
Date: Wed, 7 Oct 2015 14:10:04 +0200
f55531
Subject: [PATCH] RDMA/cxgb4: re-fix 32-bit build warning
f55531
f55531
Casting a pointer to __be64 produces a warning on 32-bit architectures:
f55531
f55531
drivers/infiniband/hw/cxgb4/mem.c:147:20: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
f55531
    req->wr.wr_lo = (__force __be64)&wr_wait;
f55531
f55531
This was fixed at least twice for this driver in different places,
f55531
and accidentally reverted once more. This puts the correct version
f55531
back in place.
f55531
f55531
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
f55531
Fixes: 6198dd8d7a6a7 ("iw_cxgb4: 32b platform fixes")
f55531
Signed-off-by: Doug Ledford <dledford@redhat.com>
f55531
---
f55531
 drivers/infiniband/hw/cxgb4/mem.c | 2 +-
f55531
 1 file changed, 1 insertion(+), 1 deletion(-)
f55531
f55531
diff --git a/drivers/infiniband/hw/cxgb4/mem.c b/drivers/infiniband/hw/cxgb4/mem.c
f55531
index 30f0720..65b2474 100644
f55531
--- a/drivers/infiniband/hw/cxgb4/mem.c
f55531
+++ b/drivers/infiniband/hw/cxgb4/mem.c
f55531
@@ -137,7 +137,7 @@ static int _c4iw_write_mem_inline(struct c4iw_rdev *rdev, u32 addr, u32 len,
f55531
 		if (i == (num_wqe-1)) {
f55531
 			req->wr.wr_hi = cpu_to_be32(FW_WR_OP_V(FW_ULPTX_WR) |
f55531
 						    FW_WR_COMPL_F);
f55531
-			req->wr.wr_lo = (__force __be64)&wr_wait;
f55531
+			req->wr.wr_lo = (__force __be64)(unsigned long)&wr_wait;
f55531
 		} else
f55531
 			req->wr.wr_hi = cpu_to_be32(FW_WR_OP_V(FW_ULPTX_WR));
f55531
 		req->wr.wr_mid = cpu_to_be32(
f55531
-- 
f55531
1.8.3.1
f55531
f55531
From 11eee7bee939b945f9daca56c2347c1d8d680a95 Mon Sep 17 00:00:00 2001
f55531
From: Arnd Bergmann <arnd@arndb.de>
f55531
Date: Wed, 7 Oct 2015 14:29:51 +0200
f55531
Subject: [PATCH] IB/core: avoid 32-bit warning
f55531
f55531
The INIT_UDATA() macro requires a pointer or unsigned long argument for
f55531
both input and output buffer, and all callers had a cast from when
f55531
the code was merged until a recent restructuring, so now we get
f55531
f55531
core/uverbs_cmd.c: In function 'ib_uverbs_create_cq':
f55531
core/uverbs_cmd.c:1481:66: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
f55531
f55531
This makes the code behave as before by adding back the cast to
f55531
unsigned long.
f55531
f55531
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
f55531
Fixes: 565197dd8fb1 ("IB/core: Extend ib_uverbs_create_cq")
f55531
Reviewed-by: Yann Droneaud <ydroneaud@opteya.com>
f55531
Signed-off-by: Doug Ledford <dledford@redhat.com>
f55531
---
f55531
 drivers/infiniband/core/uverbs_cmd.c | 2 +-
f55531
 1 file changed, 1 insertion(+), 1 deletion(-)
f55531
f55531
diff --git a/drivers/infiniband/core/uverbs_cmd.c b/drivers/infiniband/core/uverbs_cmd.c
f55531
index bbb02ff..30f3011 100644
f55531
--- a/drivers/infiniband/core/uverbs_cmd.c
f55531
+++ b/drivers/infiniband/core/uverbs_cmd.c
f55531
@@ -1463,7 +1463,7 @@ ssize_t ib_uverbs_create_cq(struct ib_uverbs_file *file,
f55531
 	if (copy_from_user(&cmd, buf, sizeof(cmd)))
f55531
 		return -EFAULT;
f55531
 
f55531
-	INIT_UDATA(&ucore, buf, cmd.response, sizeof(cmd), sizeof(resp));
f55531
+	INIT_UDATA(&ucore, buf, (unsigned long)cmd.response, sizeof(cmd), sizeof(resp));
f55531
 
f55531
 	INIT_UDATA(&uhw, buf + sizeof(cmd),
f55531
 		   (unsigned long)cmd.response + sizeof(resp),
f55531
-- 
f55531
1.8.3.1