From 61cea8b50edf0d0076b8f8d733bc55ec0997eb58 Mon Sep 17 00:00:00 2001 From: "Shih-Yuan Lee (FourDollars)" Date: Mon, 17 Mar 2014 14:47:50 +0800 Subject: [PATCH] Add subsystem ID support for LP: #1255813. --- debian/nvidia_supported | 16 ++++++++++++---- debian/rules | 13 +++++++++---- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/debian/nvidia_supported b/debian/nvidia_supported index eb39781..9ee81eb 100644 --- a/debian/nvidia_supported +++ b/debian/nvidia_supported @@ -23,8 +23,11 @@ device_ids() { local diff="$(mktemp)" sed -nr '/^Appendix .\. Supported NVIDIA /,/legacy/ { - s/.* 0x([0-9a-fA-F]{4})( .*|$)/\1/p + s/.* 0x([0-9a-fA-F]{4}) 0x([0-9a-fA-F]{4})( .*|$)/\1 \2/p }' "$readme" | tr A-F a-f | sort | uniq >"$readme_list" + sed -nr '/^Appendix .\. Supported NVIDIA /,/legacy/ { + s/.* 0x([0-9a-fA-F]{4})( .*|$)/\1/p + }' "$readme" | tr A-F a-f | sort | uniq >>"$readme_list" local readme_length="$(grep -Ec . "$readme_list")" @@ -73,9 +76,14 @@ device_ids() { # We failed to extract the ids from the blob. Use the ones in README.txt # as a fallback printf '%s\n' '# List generated by nvidia_supported. Do not edit manually.' - while read id; do - printf 'alias pci:v%08Xd%08Xsv*sd*bc03sc*i* %s %s\n' \ - 0x10de "0x$id" "$modname" "$pkgname" + while read id sid; do + if [ -z "$sid" ]; then + printf 'alias pci:v%08Xd%08Xsv*sd*bc03sc*i* %s %s\n' \ + 0x10de "0x$id" "$modname" "$pkgname" + else + printf 'alias pci:v%08Xd%08Xsv*sd%08Xbc03sc*i* %s %s\n' \ + 0x10de "0x$id" "0x$sid" "$modname" "$pkgname" + fi done <"$readme_list" ret=0 diff --git a/debian/rules b/debian/rules index 032fd0e..d82f4ba 100755 --- a/debian/rules +++ b/debian/rules @@ -366,10 +366,15 @@ endif $(dirname)/kernel/nv-kernel.o \ > $(CURDIR)/debian/$(PKG_driver).modaliases # Take additional card ids from a text file - for id in $(shell cat $(CURDIR)/debian/additional_card_ids); do \ - printf 'alias pci:v%08Xd%08Xsv*sd*bc03sc*i* %s %s\n' \ - 0x10de "0x$$id" "$(PKG_module)" "$(PKG_driver)" \ - >> $(CURDIR)/debian/$(PKG_driver).modaliases; done + while read id sid; do \ + if [ -z $$sid ]; then \ + printf 'alias pci:v%08Xd%08Xsv*sd*bc03sc*i* %s %s\n' \ + 0x10de "0x$$id" "$(PKG_module)" "$(PKG_driver)" \ + ;else \ + printf 'alias pci:v%08Xd%08Xsv*sd%08Xbc03sc*i* %s %s\n' \ + 0x10de "0x$$id" "0x$$sid" "$(PKG_module)" "$(PKG_driver)" \ + ;fi \ + done <$(CURDIR)/debian/additional_card_ids >>$(CURDIR)/debian/$(PKG_driver).modaliases dh_modaliases rm -f $(CURDIR)/debian/$(PKG_driver).modaliases -- 1.8.3.2