X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=extras%2Fpath_id%2Fpath_id;h=4941b88a452c73541dee747036013f94183e88f8;hp=0274be391ad95a7961cbb1a49230d059607f8558;hb=d7fea966f196e2eb5cd87b5e738bd4f39878c548;hpb=4809b49e4100e35b0dfb5d93cf501e020366de0b diff --git a/extras/path_id/path_id b/extras/path_id/path_id old mode 100755 new mode 100644 index 0274be391..4941b88a4 --- a/extras/path_id/path_id +++ b/extras/path_id/path_id @@ -96,6 +96,56 @@ handle_pci () { RESULT=0 } +handle_platform () { + local DEV=$1 + cd -P $1 + DEV=${PWD} + platform_id=${DEV##*/} + host_dev_path=$DEV + while [ ! -z "$host_dev_path" ] ; do + case "$host_dev_path" in + */platform*) + host_dev_path=${host_dev_path%/*} + ;; + *) + break + ;; + esac + done + if [ "$d" ]; then + d="platform-$platform_id-$d" + else + d="platform-$platform_id" + fi + D="$host_dev_path" + RESULT=0 +} + +handle_serio () { + local DEV=$1 + cd -P $1 + DEV=${PWD} + serio_id=${DEV##*/serio} + host_dev_path=$DEV + while [ ! -z "$host_dev_path" ] ; do + case "$host_dev_path" in + */serio*) + host_dev_path=${host_dev_path%/*} + ;; + *) + break + ;; + esac + done + if [ "$d" ]; then + d="serio-$serio_id-$d" + else + d="serio-$serio_id" + fi + D="$host_dev_path" + RESULT=0 +} + handle_ide () { : handle_ide $* local DEV=$1 @@ -232,7 +282,7 @@ handle_sas () { sas_phy_path="${sas_phy_path%%/target*}" sas_phy_id="${sas_phy_path%%/*}" sas_rphy_id="${sas_phy_path##*/}" - sas_phy_dev="${sas_host_path}/${sas_phy_id}/sas_phy:${sas_phy_id}" + sas_phy_dev="/sys/class/sas_phy/${sas_phy_id}" if [ -e "$sas_phy_dev/sas_address" ]; then read phy_address < $sas_phy_dev/sas_address read phy_port < $sas_phy_dev/port_identifier @@ -244,7 +294,7 @@ handle_sas () { return fi sas_phy_address="$phy_address:$phy_port:$phy_id" - sas_rphy_dev="${sas_host_path}/${sas_phy_id}/${sas_rphy_id}/sas_rphy:${sas_rphy_id}" + sas_rphy_dev="/sys/class/sas_device/${sas_rphy_id}" if [ -e "$sas_rphy_dev/sas_address" ]; then read rphy_address < $sas_rphy_dev/sas_address read rphy_id < $sas_rphy_dev/phy_identifier @@ -306,7 +356,7 @@ handle_device () { subsys="`pwd -P`" cd "$OPWD" subsys="${subsys##*/}" - if [ "$subsys" == "block" ]; then + if [ "$subsys" = "block" ]; then # parent is "block", it's a partition, move one up full_sysfs_path="${full_sysfs_path%/*}" fi @@ -372,6 +422,12 @@ handle_device () { */pci[0-9]*:[0-9]*) handle_pci "$D" ;; + */serio[0-9]*) + handle_serio "$D" + ;; + */platform/*) + handle_platform "$D" + ;; */devices) D= ;; @@ -382,7 +438,7 @@ handle_device () { ;; esac done - if [ "$TYPE" == "scsi_tape" ] ; then + if [ "$TYPE" = "scsi_tape" ] ; then devname=${full_sysfs_path##*/} rewind="${devname%%st*}" mode="${devname##*st}"