summaryrefslogtreecommitdiff
path: root/xpp/utils/zconf/Zaptel/Hardware.pm
diff options
context:
space:
mode:
authortzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2007-10-16 17:55:05 +0000
committertzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2007-10-16 17:55:05 +0000
commit6bc1dbffe9f77eb3c85a655ffeaff64d963c6b43 (patch)
treee94ccfa1c5bf43ffac9eb4ec251eee58ae8fe39a /xpp/utils/zconf/Zaptel/Hardware.pm
parent37886eb9069e5a088d721f41202e7c3dd4ca0a09 (diff)
xpp r4892:
* Zaptel/Hardware perl modules: - Use sysfs directly. Don't rely on lspci/lsusb. - Each device has a description and driver name. - Zaptel::Hardware::drivers() to show the list of required drivers for this system (see zaptel_drivers). - zaptel_hardware shows a description and a (suggested?) driver. * zt_registration sorts by Serial first and only then by connector. * USB_FW.hex replaces all the USB_11x0.hex . - Separate USB interface for the management processor. - Hence fpga_load can now work even with drivers loaded. * Fix firmware upgrading. * Fix manual firmware loading while auto-loading. git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.2@3142 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'xpp/utils/zconf/Zaptel/Hardware.pm')
-rw-r--r--xpp/utils/zconf/Zaptel/Hardware.pm11
1 files changed, 11 insertions, 0 deletions
diff --git a/xpp/utils/zconf/Zaptel/Hardware.pm b/xpp/utils/zconf/Zaptel/Hardware.pm
index 39305fb..8423c18 100644
--- a/xpp/utils/zconf/Zaptel/Hardware.pm
+++ b/xpp/utils/zconf/Zaptel/Hardware.pm
@@ -18,6 +18,7 @@ sub device_detected($$) {
my $name = shift || die;
warn "Device '$name' already known\n"
if grep { $_->hardware_name eq $name } @zaptel_devices;
+ $dev->{'HARDWARE_NAME'} = $name;
push(@zaptel_devices, $dev);
}
@@ -34,6 +35,16 @@ sub devices($) {
return @zaptel_devices;
}
+sub drivers($) {
+ my $pack = shift or die "Wasn't called as a class method\n";
+ my @devs = $pack->devices();
+ my @drvs = map { $_->{DRIVER} } @devs;
+ # Make unique
+ my %drivers;
+ @drivers{@drvs} = 1;
+ return sort keys %drivers;
+}
+
sub scan_hardware($) {
my $pack = shift || die;