struct dev_header dev_header[0];
 };
 
-static u8 one __initdata = 1;
-
 static void __init unmarshal_key_value_pairs(struct dev_header *dev_header,
                                             struct device *dev, void *ptr,
                                             struct property_entry entry[])
                             key_len - sizeof(key_len));
 
                entry[i].name = key;
-               entry[i].is_array = true;
                entry[i].length = val_len - sizeof(val_len);
+               entry[i].is_array = !!entry[i].length;
                entry[i].pointer.raw_data = ptr + key_len + sizeof(val_len);
-               if (!entry[i].length) {
-                       /* driver core doesn't accept empty properties */
-                       entry[i].length = 1;
-                       entry[i].pointer.raw_data = &one;
-               }
 
                if (dump_properties) {
                        dev_info(dev, "property: %s\n", entry[i].name);