static const struct sunxi_pinctrl_desc sun4i_a10_pinctrl_data = {
        .pins = sun4i_a10_pins,
        .npins = ARRAY_SIZE(sun4i_a10_pins),
+       .irq_banks = 1,
 };
 
 static int sun4i_a10_pinctrl_probe(struct platform_device *pdev)
 
 static const struct sunxi_pinctrl_desc sun5i_a10s_pinctrl_data = {
        .pins = sun5i_a10s_pins,
        .npins = ARRAY_SIZE(sun5i_a10s_pins),
+       .irq_banks = 1,
 };
 
 static int sun5i_a10s_pinctrl_probe(struct platform_device *pdev)
 
 static const struct sunxi_pinctrl_desc sun5i_a13_pinctrl_data = {
        .pins = sun5i_a13_pins,
        .npins = ARRAY_SIZE(sun5i_a13_pins),
+       .irq_banks = 1,
 };
 
 static int sun5i_a13_pinctrl_probe(struct platform_device *pdev)
 
        .pins = sun6i_a31_r_pins,
        .npins = ARRAY_SIZE(sun6i_a31_r_pins),
        .pin_base = PL_BASE,
+       .irq_banks = 2,
 };
 
 static int sun6i_a31_r_pinctrl_probe(struct platform_device *pdev)
 
 static const struct sunxi_pinctrl_desc sun6i_a31_pinctrl_data = {
        .pins = sun6i_a31_pins,
        .npins = ARRAY_SIZE(sun6i_a31_pins),
+       .irq_banks = 4,
 };
 
 static int sun6i_a31_pinctrl_probe(struct platform_device *pdev)
 
 static const struct sunxi_pinctrl_desc sun7i_a20_pinctrl_data = {
        .pins = sun7i_a20_pins,
        .npins = ARRAY_SIZE(sun7i_a20_pins),
+       .irq_banks = 1,
 };
 
 static int sun7i_a20_pinctrl_probe(struct platform_device *pdev)
 
        const struct sunxi_desc_pin     *pins;
        int                             npins;
        unsigned                        pin_base;
+       unsigned                        irq_banks;
 };
 
 struct sunxi_pinctrl_function {