if (of_property_read_u32(dn, "abilis,ngpio", &ngpio))
                return -EINVAL;
 
-       mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (!mem) {
-               dev_err(&pdev->dev, "No memory resource defined.\n");
-               return -EINVAL;
-       }
-
        tb10x_gpio = devm_kzalloc(&pdev->dev, sizeof(*tb10x_gpio), GFP_KERNEL);
        if (tb10x_gpio == NULL)
                return -ENOMEM;
 
        spin_lock_init(&tb10x_gpio->spinlock);
 
+       mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        tb10x_gpio->base = devm_ioremap_resource(&pdev->dev, mem);
        if (IS_ERR(tb10x_gpio->base))
                return PTR_ERR(tb10x_gpio->base);