Message ID | 20081231141730.81449124.sfr@canb.auug.org.au (mailing list archive) |
---|---|
State | Accepted, archived |
Commit | 8be35bdeb2969b6dcb9a2e4f756e193325c4db33 |
Headers | show |
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 ;-)
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.
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?
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 :-)
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);
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(-)