Patchwork net/ehea: use consistent type

login
register
mail settings
Submitter Stephen Rothwell
Date Dec. 31, 2008, 3:17 a.m.
Message ID <20081231141730.81449124.sfr@canb.auug.org.au>
Download mbox | patch
Permalink /patch/16111/
State Accepted, archived
Commit 8be35bdeb2969b6dcb9a2e4f756e193325c4db33
Headers show

Comments

Stephen Rothwell - Dec. 31, 2008, 3:17 a.m.
ehea_plpar_hcall9() takes an unsigned long array, so pass that.

This change will avoid some warnings when we change u64 to unsigned
long long.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 drivers/net/ehea/ehea_phyp.c |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)
David Miller - Dec. 31, 2008, 5:51 a.m.
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Wed, 31 Dec 2008 14:17:30 +1100

> ehea_plpar_hcall9() takes an unsigned long array, so pass that.
> 
> This change will avoid some warnings when we change u64 to unsigned
> long long.
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>

Patch rejected, for the same reasons as the other driver
change.

We're not going to poop up some drivers with the assumption that long
is 64-bit.

Thanks ;-)
Benjamin Herrenschmidt - Dec. 31, 2008, 9:09 a.m.
On Tue, 2008-12-30 at 21:51 -0800, David Miller wrote:
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Wed, 31 Dec 2008 14:17:30 +1100
> 
> > ehea_plpar_hcall9() takes an unsigned long array, so pass that.
> > 
> > This change will avoid some warnings when we change u64 to unsigned
> > long long.
> > 
> > Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> 
> Patch rejected, for the same reasons as the other driver
> change.
> 
> We're not going to poop up some drivers with the assumption that long
> is 64-bit.

Well, in that case, this patch is actually correct without considering
the u64 change. The array is what lands in the registers of the pHyp
call, so strictly speaking, it's an array of unsigned long's (ie, 32-bit
on a 32-bit platform, 64-bit on a 64-bit platform), not an array of
u64's. This function being a wrapper on that pHyp call, it may as well
use the right type.

Cheers,
Ben.
Stephen Rothwell - Jan. 6, 2009, 12:05 a.m.
Hi Dave,

On Wed, 31 Dec 2008 20:09:01 +1100 Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
>
> On Tue, 2008-12-30 at 21:51 -0800, David Miller wrote:
> > From: Stephen Rothwell <sfr@canb.auug.org.au>
> > Date: Wed, 31 Dec 2008 14:17:30 +1100
> > 
> > > ehea_plpar_hcall9() takes an unsigned long array, so pass that.
> > > 
> > > This change will avoid some warnings when we change u64 to unsigned
> > > long long.
> > > 
> > > Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> > 
> > Patch rejected, for the same reasons as the other driver
> > change.
> > 
> > We're not going to poop up some drivers with the assumption that long
> > is 64-bit.
> 
> Well, in that case, this patch is actually correct without considering
> the u64 change. The array is what lands in the registers of the pHyp
> call, so strictly speaking, it's an array of unsigned long's (ie, 32-bit
> on a 32-bit platform, 64-bit on a 64-bit platform), not an array of
> u64's. This function being a wrapper on that pHyp call, it may as well
> use the right type.

So, any response?
David Miller - Jan. 6, 2009, 12:19 a.m.
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Tue, 6 Jan 2009 11:05:11 +1100

> Hi Dave,
> 
> On Wed, 31 Dec 2008 20:09:01 +1100 Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
> >
> > Well, in that case, this patch is actually correct without considering
> > the u64 change. The array is what lands in the registers of the pHyp
> > call, so strictly speaking, it's an array of unsigned long's (ie, 32-bit
> > on a 32-bit platform, 64-bit on a 64-bit platform), not an array of
> > u64's. This function being a wrapper on that pHyp call, it may as well
> > use the right type.
> 
> So, any response?

Please resubmit, I'll take another look :-)

Patch

diff --git a/drivers/net/ehea/ehea_phyp.c b/drivers/net/ehea/ehea_phyp.c
index 2a33a61..8fe9dca 100644
--- a/drivers/net/ehea/ehea_phyp.c
+++ b/drivers/net/ehea/ehea_phyp.c
@@ -214,7 +214,7 @@  u64 ehea_h_alloc_resource_qp(const u64 adapter_handle,
 			     u64 *qp_handle, struct h_epas *h_epas)
 {
 	u64 hret;
-	u64 outs[PLPAR_HCALL9_BUFSIZE];
+	unsigned long outs[PLPAR_HCALL9_BUFSIZE];
 
 	u64 allocate_controls =
 	    EHEA_BMASK_SET(H_ALL_RES_QP_EQPO, init_attr->low_lat_rq1 ? 1 : 0)
@@ -312,7 +312,7 @@  u64 ehea_h_alloc_resource_cq(const u64 adapter_handle,
 			     u64 *cq_handle, struct h_epas *epas)
 {
 	u64 hret;
-	u64 outs[PLPAR_HCALL9_BUFSIZE];
+	unsigned long outs[PLPAR_HCALL9_BUFSIZE];
 
 	hret = ehea_plpar_hcall9(H_ALLOC_HEA_RESOURCE,
 				 outs,
@@ -374,7 +374,7 @@  u64 ehea_h_alloc_resource_eq(const u64 adapter_handle,
 			     struct ehea_eq_attr *eq_attr, u64 *eq_handle)
 {
 	u64 hret, allocate_controls;
-	u64 outs[PLPAR_HCALL9_BUFSIZE];
+	unsigned long outs[PLPAR_HCALL9_BUFSIZE];
 
 	/* resource type */
 	allocate_controls =
@@ -407,7 +407,7 @@  u64 ehea_h_modify_ehea_qp(const u64 adapter_handle, const u8 cat,
 			  u16 *out_swr, u16 *out_rwr)
 {
 	u64 hret;
-	u64 outs[PLPAR_HCALL9_BUFSIZE];
+	unsigned long outs[PLPAR_HCALL9_BUFSIZE];
 
 	hret = ehea_plpar_hcall9(H_MODIFY_HEA_QP,
 				 outs,
@@ -449,7 +449,7 @@  u64 ehea_h_register_smr(const u64 adapter_handle, const u64 orig_mr_handle,
 			struct ehea_mr *mr)
 {
 	u64 hret;
-	u64 outs[PLPAR_HCALL9_BUFSIZE];
+	unsigned long outs[PLPAR_HCALL9_BUFSIZE];
 
 	hret = ehea_plpar_hcall9(H_REGISTER_SMR,
 				 outs,
@@ -468,7 +468,7 @@  u64 ehea_h_register_smr(const u64 adapter_handle, const u64 orig_mr_handle,
 
 u64 ehea_h_disable_and_get_hea(const u64 adapter_handle, const u64 qp_handle)
 {
-	u64 outs[PLPAR_HCALL9_BUFSIZE];
+	unsigned long outs[PLPAR_HCALL9_BUFSIZE];
 
 	return ehea_plpar_hcall9(H_DISABLE_AND_GET_HEA,
 				 outs,
@@ -493,7 +493,7 @@  u64 ehea_h_alloc_resource_mr(const u64 adapter_handle, const u64 vaddr,
 			     const u32 pd, u64 *mr_handle, u32 *lkey)
 {
 	u64 hret;
-	u64 outs[PLPAR_HCALL9_BUFSIZE];
+	unsigned long outs[PLPAR_HCALL9_BUFSIZE];
 
 	hret = ehea_plpar_hcall9(H_ALLOC_HEA_RESOURCE,
 				 outs,
@@ -564,7 +564,7 @@  u64 ehea_h_modify_ehea_port(const u64 adapter_handle, const u16 port_num,
 			    const u8 cb_cat, const u64 select_mask,
 			    void *cb_addr)
 {
-	u64 outs[PLPAR_HCALL9_BUFSIZE];
+	unsigned long outs[PLPAR_HCALL9_BUFSIZE];
 	u64 port_info;
 	u64 arr_index = 0;
 	u64 cb_logaddr = virt_to_abs(cb_addr);