-/* wait for the "dev" file to show up in the directory in sysfs.
- * If it doesn't happen in about 10 seconds, give up.
- */
-#define SECONDS_TO_WAIT_FOR_FILE 10
-static int sleep_for_file(const char *path, char* file)
-{
- char filename[SYSFS_PATH_MAX + 6];
- int loop = SECONDS_TO_WAIT_FOR_FILE;
- int retval;
-
- strfieldcpy(filename, sysfs_path);
- strfieldcat(filename, path);
- strfieldcat(filename, file);
-
- while (loop--) {
- struct stat buf;
-
- dbg("looking for '%s'", filename);
- retval = stat(filename, &buf);
- if (retval == 0)
- goto exit;
-
- /* sleep to give the kernel a chance to create the dev file */
- sleep(1);
- }
- retval = -ENODEV;
-exit:
- return retval;
-}
-