Messages in this thread | | | Date | Tue, 21 Jul 2015 12:59:32 -0700 | From | Guenter Roeck <> | Subject | Re: [PATCH v2] iommu-common: Do not use 64 bit constant 0xffffffffffffffffl for computing align_mask |
| |
On Tue, Jul 21, 2015 at 06:49:41AM +0200, Sowmini Varadhan wrote: > Using a 64 bit constant generates "warning: integer constant is too > large for 'long' type" on 32 bit platforms. Instead use ~0ul and > BITS_PER_LONG. > > Detected by Andrew Morton on ARMD. > > Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Looks ok afaics.
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> --- > v2: use BITS_PER_LONG and ulong as discussed on mailing list. > > lib/iommu-common.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/lib/iommu-common.c b/lib/iommu-common.c > index df30632..ff19f66 100644 > --- a/lib/iommu-common.c > +++ b/lib/iommu-common.c > @@ -119,7 +119,7 @@ unsigned long iommu_tbl_range_alloc(struct device *dev, > unsigned long align_mask = 0; > > if (align_order > 0) > - align_mask = 0xffffffffffffffffl >> (64 - align_order); > + align_mask = ~0ul >> (BITS_PER_LONG - align_order); > > /* Sanity check */ > if (unlikely(npages == 0)) { > -- > 1.7.1 >
| |