+ /* check presence of keys according to method type */
+ switch (dev.type) {
+ case LABEL:
+ dbg_parse(TYPE_LABEL " name='%s', bus='%s', "
+ "sysfs_file='%s', sysfs_value='%s', symlink='%s'",
+ dev.name, dev.bus, dev.sysfs_file,
+ dev.sysfs_value, dev.symlink);
+ if ((*dev.name == '\0') ||
+ (*dev.bus == '\0') ||
+ (*dev.sysfs_file == '\0') ||
+ (*dev.sysfs_value == '\0'))
+ goto error;
+ break;
+ case NUMBER:
+ dbg_parse(TYPE_NUMBER "name='%s', bus='%s', id='%s', symlink='%s'",
+ dev.name, dev.bus, dev.id, dev.symlink);
+ if ((*dev.name == '\0') ||
+ (*dev.bus == '\0') ||
+ (*dev.id == '\0'))
+ goto error;
+ break;
+ case TOPOLOGY:
+ dbg_parse(TYPE_TOPOLOGY "name='%s', bus='%s', "
+ "place='%s', symlink='%s'",
+ dev.name, dev.bus, dev.place, dev.symlink);
+ if ((*dev.name == '\0') ||
+ (*dev.bus == '\0') ||
+ (*dev.place == '\0'))
+ goto error;
+ break;
+ case REPLACE:
+ dbg_parse(TYPE_REPLACE "name='%s', kernel_name='%s', symlink='%s'",
+ dev.name, dev.kernel_name, dev.symlink);
+ if ((*dev.name == '\0') ||
+ (*dev.kernel_name == '\0'))
+ goto error;
+ break;
+ case CALLOUT:
+ dbg_parse(TYPE_CALLOUT "name='%s', bus='%s', program='%s', "