if (rv)
                return rv;
 
-       rv = device_property_read_string(dev, "chip-name", &name);
+       rv = device_property_read_string(dev, "chip-label", &name);
        if (rv)
-               name = NULL;
+               name = dev_name(dev);
 
        chip = devm_kzalloc(dev, sizeof(*chip), GFP_KERNEL);
        if (!chip)
                return -ENOMEM;
 
-       if (!name) {
-               name = devm_kasprintf(dev, GFP_KERNEL,
-                                     "%s-%c", pdev->name, pdev->id + 'A');
-               if (!name)
-                       return -ENOMEM;
-       }
-
        mutex_init(&chip->lock);
 
        gc = &chip->gc;
        int i, prop, num_chips, err = 0, base;
        struct platform_device_info pdevinfo;
        struct platform_device *pdev;
+       char chip_label[32];
        u16 ngpio;
 
        if ((gpio_mockup_num_ranges < 2) ||
                memset(&pdevinfo, 0, sizeof(pdevinfo));
                prop = 0;
 
+               snprintf(chip_label, sizeof(chip_label),
+                        "gpio-mockup-%c", i + 'A');
+               properties[prop++] = PROPERTY_ENTRY_STRING("chip-label",
+                                                          chip_label);
+
                base = gpio_mockup_range_base(i);
                if (base >= 0)
                        properties[prop++] = PROPERTY_ENTRY_U32("gpio-base",