diff options
author | Hamad Kadmany <hkadmany@codeaurora.org> | 2012-07-24 08:36:11 +0300 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2015-10-06 03:42:24 -0700 |
commit | ecfbe4c386d3a6f3bd36da81e277decc17678be0 (patch) | |
tree | 605b57801048ae14f6040181433ffb914bcd9e1b /init | |
parent | 7c93b040acbc048a25ea873609cb7374903ce9f4 (diff) | |
download | system_core-ecfbe4c386d3a6f3bd36da81e277decc17678be0.zip system_core-ecfbe4c386d3a6f3bd36da81e277decc17678be0.tar.gz system_core-ecfbe4c386d3a6f3bd36da81e277decc17678be0.tar.bz2 |
system: core: Add uevent support for dvb devices
Change-Id: I9a31183014cc370a2d948dbd1d6a36a6e89b4c13
Diffstat (limited to 'init')
-rw-r--r-- | init/devices.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/init/devices.cpp b/init/devices.cpp index 9151f06..96607a4 100644 --- a/init/devices.cpp +++ b/init/devices.cpp @@ -731,6 +731,27 @@ static void handle_generic_device_event(struct uevent *uevent) base = "/dev/log/"; make_dir(base, 0755); name += 4; + } else if (!strncmp(uevent->subsystem, "dvb", 3)) { + /* This imitates the file system that would be created + * if we were using devfs instead to preserve backward compatibility + * for users of dvb devices + */ + int adapter_id; + char dev_name[20] = {0}; + + sscanf(name, "dvb%d.%s", &adapter_id, dev_name); + + /* build dvb directory */ + base = "/dev/dvb"; + mkdir(base, 0755); + + /* build adapter directory */ + snprintf(devpath, sizeof(devpath), "/dev/dvb/adapter%d", adapter_id); + mkdir(devpath, 0755); + + /* build actual device directory */ + snprintf(devpath, sizeof(devpath), "/dev/dvb/adapter%d/%s", + adapter_id, dev_name); } else base = "/dev/"; links = get_character_device_symlinks(uevent); |