On Wed, Jun 12, 2024 at 04:01:59PM +0100, Anatoly Burakov wrote: > To avoid triggering compile errors reported on some targets, use > explicit type casts to specify type conversion. > > Signed-off-by: Anatoly Burakov <anatoly.bura...@intel.com> > --- > drivers/net/ice/base/ice_flow.h | 2 +- > drivers/net/ice/base/ice_parser.c | 7 ++++--- > drivers/net/ice/base/ice_ptp_hw.c | 9 +++++---- > drivers/net/ice/base/ice_switch.c | 7 ++++--- > 4 files changed, 14 insertions(+), 11 deletions(-) > > diff --git a/drivers/net/ice/base/ice_flow.h b/drivers/net/ice/base/ice_flow.h > index fd2ec39c1e..65b261beca 100644 > --- a/drivers/net/ice/base/ice_flow.h > +++ b/drivers/net/ice/base/ice_flow.h > @@ -485,7 +485,7 @@ struct ice_flow_entry { > u8 acts_cnt; > }; > > -#define ICE_FLOW_ENTRY_HNDL(e) ((intptr_t)e) > +#define ICE_FLOW_ENTRY_HNDL(e) ((u64)e) > #define ICE_FLOW_ENTRY_PTR(h) ((struct ice_flow_entry *)(h)) > > struct ice_flow_prof { > diff --git a/drivers/net/ice/base/ice_parser.c > b/drivers/net/ice/base/ice_parser.c > index c9bcf9ea5e..e242fa8353 100644 > --- a/drivers/net/ice/base/ice_parser.c > +++ b/drivers/net/ice/base/ice_parser.c > @@ -96,7 +96,7 @@ void *ice_parser_sect_item_get(u32 sect_type, void *section, > if (index >= LE16_TO_CPU(hdr->count)) > return NULL; > > - return (void *)((uintptr_t)section + data_off + index * size); > + return (void *)((u64)section + data_off + index * size); > } >
This change (and below) gives compilation errors with 32-bit, since you are casting from a 64-bit int to a 32-bit pointer. Better to keep as uintptr_t. > /** > @@ -146,9 +146,10 @@ void *ice_parser_create_table(struct ice_hw *hw, u32 > sect_type, > if (no_offset) > idx++; > else > - idx = hdr->offset + state.entry_idx; > + idx = LE16_TO_CPU(hdr->offset) + > + state.entry_idx; > parse_item(hw, idx, > - (void *)((uintptr_t)table + idx * item_size), > + (void *)((u64)table + idx * item_size), > data, item_size); > } > } while (data); /Bruce