[PATCH] minor cleanups.
This commit is contained in:
parent
1331c889c3
commit
63dde9f8eb
40
udev-add.c
40
udev-add.c
|
@ -34,8 +34,6 @@
|
||||||
#include "libsysfs/libsysfs.h"
|
#include "libsysfs/libsysfs.h"
|
||||||
|
|
||||||
|
|
||||||
static char sysfs_path[SYSFS_PATH_MAX];
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Right now the major/minor of a device is stored in a file called
|
* Right now the major/minor of a device is stored in a file called
|
||||||
* "dev" in sysfs.
|
* "dev" in sysfs.
|
||||||
|
@ -103,8 +101,18 @@ static int create_node(char *name, char type, int major, int minor, int mode)
|
||||||
|
|
||||||
struct sysfs_class_device *get_class_dev(char *device_name)
|
struct sysfs_class_device *get_class_dev(char *device_name)
|
||||||
{
|
{
|
||||||
|
char sysfs_path[SYSFS_PATH_MAX];
|
||||||
char dev_path[SYSFS_PATH_MAX];
|
char dev_path[SYSFS_PATH_MAX];
|
||||||
struct sysfs_class_device *class_dev;
|
int retval;
|
||||||
|
struct sysfs_class_device *class_dev = NULL;
|
||||||
|
|
||||||
|
|
||||||
|
retval = sysfs_get_mnt_path(sysfs_path, SYSFS_PATH_MAX);
|
||||||
|
dbg("sysfs_path = %s", sysfs_path);
|
||||||
|
if (retval) {
|
||||||
|
dbg("sysfs_get_mnt_path failed");
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
|
||||||
strcpy(dev_path, sysfs_path);
|
strcpy(dev_path, sysfs_path);
|
||||||
strcat(dev_path, device_name);
|
strcat(dev_path, device_name);
|
||||||
|
@ -115,46 +123,34 @@ struct sysfs_class_device *get_class_dev(char *device_name)
|
||||||
class_dev = sysfs_open_class_device(dev_path);
|
class_dev = sysfs_open_class_device(dev_path);
|
||||||
if (class_dev == NULL) {
|
if (class_dev == NULL) {
|
||||||
dbg ("sysfs_open_class_device failed");
|
dbg ("sysfs_open_class_device failed");
|
||||||
return NULL;
|
goto exit;
|
||||||
}
|
}
|
||||||
dbg("class_dev->name = %s", class_dev->name);
|
dbg("class_dev->name = %s", class_dev->name);
|
||||||
|
|
||||||
|
exit:
|
||||||
return class_dev;
|
return class_dev;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int udev_init(void)
|
|
||||||
{
|
|
||||||
int retval;
|
|
||||||
|
|
||||||
retval = sysfs_get_mnt_path(sysfs_path, SYSFS_PATH_MAX);
|
|
||||||
dbg("sysfs_path = %s", sysfs_path);
|
|
||||||
return retval;
|
|
||||||
}
|
|
||||||
|
|
||||||
int udev_add_device(char *device, char *subsystem)
|
int udev_add_device(char *device, char *subsystem)
|
||||||
{
|
{
|
||||||
struct sysfs_class_device *class_dev;
|
struct sysfs_class_device *class_dev;
|
||||||
struct device_attr attr;
|
struct device_attr attr;
|
||||||
//char *name;
|
|
||||||
int major;
|
int major;
|
||||||
int minor;
|
int minor;
|
||||||
char type;
|
char type;
|
||||||
//int mode;
|
|
||||||
int retval = -EINVAL;
|
int retval = -EINVAL;
|
||||||
|
|
||||||
/* sleep for a second or two to give the kernel a chance to
|
|
||||||
* create the dev file
|
|
||||||
*/
|
|
||||||
sleep(1);
|
|
||||||
|
|
||||||
udev_init();
|
|
||||||
|
|
||||||
/* for now, the block layer is the only place where block devices are */
|
/* for now, the block layer is the only place where block devices are */
|
||||||
if (strcmp(subsystem, "block") == 0)
|
if (strcmp(subsystem, "block") == 0)
|
||||||
type = 'b';
|
type = 'b';
|
||||||
else
|
else
|
||||||
type = 'c';
|
type = 'c';
|
||||||
|
|
||||||
|
/* sleep for a second or two to give the kernel a chance to
|
||||||
|
* create the dev file
|
||||||
|
*/
|
||||||
|
sleep(1);
|
||||||
|
|
||||||
class_dev = get_class_dev(device);
|
class_dev = get_class_dev(device);
|
||||||
if (class_dev == NULL)
|
if (class_dev == NULL)
|
||||||
goto exit;
|
goto exit;
|
||||||
|
|
Loading…
Reference in a new issue