unsigned i, pin;
 
        seq_printf(s, "registered pins: %d\n", pctldev->desc->npins);
-       seq_printf(s, "max pin number: %d\n", pctldev->desc->maxpin);
 
        /* The pin number can be retrived from the pin controller descriptor */
        for (i = 0; i < pctldev->desc->npins; i++) {
 
        .name = DRIVER_NAME,
        .pins = sirfsoc_pads,
        .npins = ARRAY_SIZE(sirfsoc_pads),
-       .maxpin = SIRFSOC_NUM_PADS - 1,
        .pctlops = &sirfsoc_pctrl_ops,
        .pmxops = &sirfsoc_pinmux_ops,
        .owner = THIS_MODULE,
 
        .name = DRIVER_NAME,
        .pins = u300_pads,
        .npins = ARRAY_SIZE(u300_pads),
-       .maxpin = U300_NUM_PADS-1,
        .pctlops = &u300_pctrl_ops,
        .pmxops = &u300_pmx_ops,
        .owner = THIS_MODULE,
 
  *     this pin controller
  * @npins: number of descriptors in the array, usually just ARRAY_SIZE()
  *     of the pins field above
- * @maxpin: since pin spaces may be sparse, there can he "holes" in the
- *     pin range, this attribute gives the maximum pin number in the
- *     total range. This should not be lower than npins for example,
- *     but may be equal to npins if you have no holes in the pin range.
  * @pctlops: pin control operation vtable, to support global concepts like
  *     grouping of pins, this is optional.
  * @pmxops: pinmux operations vtable, if you support pinmuxing in your driver
        const char *name;
        struct pinctrl_pin_desc const *pins;
        unsigned int npins;
-       unsigned int maxpin;
        struct pinctrl_ops *pctlops;
        struct pinmux_ops *pmxops;
        struct pinconf_ops *confops;