- /* we only care about class devices and block stuff */
- if (!strstr(devpath, "class") &&
- !strstr(devpath, "block")) {
- dbg("not a block or class device");
+ sysfs_init();
+
+ /* remove /sys if given */
+ if (strncmp(argv[1], sysfs_path, strlen(sysfs_path)) == 0)
+ devpath = &argv[1][strlen(sysfs_path)];
+ else
+ devpath = argv[1];
+
+ udev_rules_init(&rules, 0);
+
+ dev = sysfs_device_get(devpath);
+ if (dev == NULL) {
+ info("unable to open '%s'", devpath);
+ rc = 2;