unsigned int regbase = mc->regbase;
        unsigned int regcount = mc->regcount;
        unsigned int regwshift = component->val_bytes * BITS_PER_BYTE;
-       unsigned int regwmask = (1<<regwshift)-1;
+       unsigned int regwmask = (1UL<<regwshift)-1;
        unsigned int invert = mc->invert;
        unsigned long mask = (1UL<<mc->nbits)-1;
        long min = mc->min;
        unsigned int regbase = mc->regbase;
        unsigned int regcount = mc->regcount;
        unsigned int regwshift = component->val_bytes * BITS_PER_BYTE;
-       unsigned int regwmask = (1<<regwshift)-1;
+       unsigned int regwmask = (1UL<<regwshift)-1;
        unsigned int invert = mc->invert;
        unsigned long mask = (1UL<<mc->nbits)-1;
        long max = mc->max;