diff --git a/0001-SPDX-bill-of-material-is-supposed-to-be-project_name.patch b/0001-SPDX-bill-of-material-is-supposed-to-be-project_name.patch deleted file mode 100644 index 95fca96..0000000 --- a/0001-SPDX-bill-of-material-is-supposed-to-be-project_name.patch +++ /dev/null @@ -1,20 +0,0 @@ -From 187ea8e53db652a29bc0b79cdd2d2ced146560ee Mon Sep 17 00:00:00 2001 -From: Greg Kroah-Hartman -Date: Tue, 15 May 2018 21:46:52 +0200 -Subject: [PATCH 1/9] SPDX bill-of-material is supposed to be project_name.spdx - -So rename bom.spdx to usbutils.spdx - -Signed-off-by: Greg Kroah-Hartman ---- - bom.spdx => usbutils.spdx | 0 - 1 file changed, 0 insertions(+), 0 deletions(-) - rename bom.spdx => usbutils.spdx (100%) - -diff --git a/bom.spdx b/usbutils.spdx -similarity index 100% -rename from bom.spdx -rename to usbutils.spdx --- -2.14.4 - diff --git a/0002-Makefile.am-add-files-with-licenses-to-archive.patch b/0002-Makefile.am-add-files-with-licenses-to-archive.patch deleted file mode 100644 index dc5ac8e..0000000 --- a/0002-Makefile.am-add-files-with-licenses-to-archive.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 747db4bc75e1e7380e2cf7aef4ac2076ae27017d Mon Sep 17 00:00:00 2001 -From: Lukas Nykryn -Date: Wed, 16 May 2018 11:05:41 +0200 -Subject: [PATCH 2/9] Makefile.am: add files with licenses to archive - ---- - Makefile.am | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/Makefile.am b/Makefile.am -index 60d1b79..57d0fee 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -48,7 +48,9 @@ EXTRA_DIST = \ - usb-devices.1.in \ - usb-devices \ - lsusb.py.in \ -- usbreset.c -+ usbreset.c \ -+ LICENSES/GPL-2.0.txt \ -+ LICENSES/GPL-3.0.txt - - lsusb.py: $(srcdir)/lsusb.py.in - sed 's|VERSION|$(VERSION)|g;s|@usbids@|$(datadir)/usb.ids|g' $< >$@ --- -2.14.4 - diff --git a/0003-usbutils.spdx-rerun-report-it-is-properly-sorted.patch b/0003-usbutils.spdx-rerun-report-it-is-properly-sorted.patch deleted file mode 100644 index 8ef55d9..0000000 --- a/0003-usbutils.spdx-rerun-report-it-is-properly-sorted.patch +++ /dev/null @@ -1,547 +0,0 @@ -From 077027f791b1d23b243bccf836b6d4b6d87a82e7 Mon Sep 17 00:00:00 2001 -From: Greg Kroah-Hartman -Date: Wed, 16 May 2018 19:20:53 +0200 -Subject: [PATCH 3/9] usbutils.spdx: rerun report, it is properly sorted. - -Signed-off-by: Greg Kroah-Hartman ---- - usbutils.spdx | 358 +++++++++++++++++++++++++++++----------------------------- - 1 file changed, 179 insertions(+), 179 deletions(-) - -diff --git a/usbutils.spdx b/usbutils.spdx -index b1ae34a..872abfc 100644 ---- a/usbutils.spdx -+++ b/usbutils.spdx -@@ -2,88 +2,85 @@ SPDXVersion: SPDX-2.1 - DataLicense: CC0-1.0 - SPDXID: SPDXRef-DOCUMENT - DocumentName: usbutils --DocumentNamespace: http://spdx.org/spdxdocs/spdx-v2.1-4e8b7ede-2ef4-4380-a63c-533dd02e4f47 -+DocumentNamespace: http://spdx.org/spdxdocs/spdx-v2.1-b022d760-8c39-4f7c-a6f9-83d822e47025 - Creator: Person: Anonymous () - Creator: Organization: Anonymous () --Creator: Tool: reuse-0.2.0 --Created: 2018-05-15T14:17:33Z -+Creator: Tool: reuse-0.3.0 -+Created: 2018-05-16T17:19:59Z - CreatorComment: This document was created automatically using available reuse information consistent with the REUSE Initiative. --Relationship: SPDXRef-DOCUMENT describes SPDXRef-6c17d1dd6beb0ac4e8dbdc1d3d89d077d1ed091f --Relationship: SPDXRef-DOCUMENT describes SPDXRef-d1f43f45055e4f55af9904a21c03f3ac2e23f780 -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-7445606fbf8f3683cd42bdc54b05d7a0bc2dfc44 -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-dea01dd89a3b602828e630677fde5d77c06441c8 - Relationship: SPDXRef-DOCUMENT describes SPDXRef-d5b4de16d947214ec306bd57bed1bd23a939b5f9 - Relationship: SPDXRef-DOCUMENT describes SPDXRef-9f621eb5fd3bcb2fa5c7bd228c9b1ad42edc46c8 --Relationship: SPDXRef-DOCUMENT describes SPDXRef-6c3981b5733e947489b6d6359cea90114e5edbca - Relationship: SPDXRef-DOCUMENT describes SPDXRef-8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d --Relationship: SPDXRef-DOCUMENT describes SPDXRef-d76c453f0eb741d665569f48cd3df8d69535edad --Relationship: SPDXRef-DOCUMENT describes SPDXRef-e375f2da25f0471168cc6c97a8ac35c43eb9e951 --Relationship: SPDXRef-DOCUMENT describes SPDXRef-01f9f98ab7d1aacab858a82f2243dfbc6ec781ff --Relationship: SPDXRef-DOCUMENT describes SPDXRef-acc196920bb7c53a8e1932c42e4ae88bdfbba913 --Relationship: SPDXRef-DOCUMENT describes SPDXRef-25ba0c97baff0f8a9d08ad328942a324acdc6523 --Relationship: SPDXRef-DOCUMENT describes SPDXRef-e736d76d2b41789dff55067923064015cedce1ae -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-152c3993c79ed609cfec1b4276c2eb31f4d518b3 -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-87db583be5c13c1f7b3c958b10e03d67b6a2ca06 - Relationship: SPDXRef-DOCUMENT describes SPDXRef-7b5d245d23c26fe4b0b395d0c0c1a91d2e68e16d - Relationship: SPDXRef-DOCUMENT describes SPDXRef-311ad8c899f518cdbe5ab94754d182f09d6ed6fc --Relationship: SPDXRef-DOCUMENT describes SPDXRef-c648c84097681019e5f1446c635b85ff2a486198 --Relationship: SPDXRef-DOCUMENT describes SPDXRef-87db583be5c13c1f7b3c958b10e03d67b6a2ca06 --Relationship: SPDXRef-DOCUMENT describes SPDXRef-f0c5c70d49864d35245e4b1a630182e33fb993ca --Relationship: SPDXRef-DOCUMENT describes SPDXRef-7445606fbf8f3683cd42bdc54b05d7a0bc2dfc44 -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-b5afcfeafd17ff89556dcde7e7d1baefc4b36c76 -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-e736d76d2b41789dff55067923064015cedce1ae -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-d76c453f0eb741d665569f48cd3df8d69535edad -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-9d45eba6476202ac65ec45c3ba12118d12f2ef84 -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-01f9f98ab7d1aacab858a82f2243dfbc6ec781ff -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-6c17d1dd6beb0ac4e8dbdc1d3d89d077d1ed091f -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-de5d0aaef5920a283d740908c6e021d40fe12de0 - Relationship: SPDXRef-DOCUMENT describes SPDXRef-f17f27205281653e3e67d0509a122b1861090085 --Relationship: SPDXRef-DOCUMENT describes SPDXRef-152c3993c79ed609cfec1b4276c2eb31f4d518b3 -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-6c3981b5733e947489b6d6359cea90114e5edbca -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-25ba0c97baff0f8a9d08ad328942a324acdc6523 - Relationship: SPDXRef-DOCUMENT describes SPDXRef-3063d6bd093390b22c258c36bc7d09aa42baf7f5 --Relationship: SPDXRef-DOCUMENT describes SPDXRef-306a1cc131ed293066f5657c413a396b70065483 --Relationship: SPDXRef-DOCUMENT describes SPDXRef-dea01dd89a3b602828e630677fde5d77c06441c8 --Relationship: SPDXRef-DOCUMENT describes SPDXRef-de5d0aaef5920a283d740908c6e021d40fe12de0 --Relationship: SPDXRef-DOCUMENT describes SPDXRef-9d45eba6476202ac65ec45c3ba12118d12f2ef84 --Relationship: SPDXRef-DOCUMENT describes SPDXRef-b5afcfeafd17ff89556dcde7e7d1baefc4b36c76 -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-e375f2da25f0471168cc6c97a8ac35c43eb9e951 -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-d1f43f45055e4f55af9904a21c03f3ac2e23f780 -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-c648c84097681019e5f1446c635b85ff2a486198 - Relationship: SPDXRef-DOCUMENT describes SPDXRef-727e654f9158303b2dddb5c435ccffb7df627d09 - Relationship: SPDXRef-DOCUMENT describes SPDXRef-534c09b61b58cbfef5a383f5be6864051db5bd1a - Relationship: SPDXRef-DOCUMENT describes SPDXRef-e7c1d0ffd0ba8ea407f4fcb7ee3717c2460456b8 --Relationship: SPDXRef-DOCUMENT describes SPDXRef-5edef310d5d94ad7293749401bc114eda84bdf27 - Relationship: SPDXRef-DOCUMENT describes SPDXRef-0ccb2a5e2004a47c238a1ad5f97a8b6b140f6609 -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-5edef310d5d94ad7293749401bc114eda84bdf27 -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-3bb3d8ca023b0861c7f6dfcc04e06f2c37fe1bb7 -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-d75a77accdc47f63ea09d5e541fb17c075259791 - Relationship: SPDXRef-DOCUMENT describes SPDXRef-f8ffd668553b011c77c049c23596f4ac16b2442b - Relationship: SPDXRef-DOCUMENT describes SPDXRef-c0d6c4c7b3ffddbebd269646cb37316dd18ce702 - Relationship: SPDXRef-DOCUMENT describes SPDXRef-c8becd4c81cfd2a2dec5bf5f98096f24dcea48e9 -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-a8e3a2d9873b55c84b0cb046855447674b65146e - Relationship: SPDXRef-DOCUMENT describes SPDXRef-d073c8d1cdb5b1f1c923af71a80f3317b21e62ed - Relationship: SPDXRef-DOCUMENT describes SPDXRef-6b2a3e275cae2f8322ff624e013951d8e7d23b83 - Relationship: SPDXRef-DOCUMENT describes SPDXRef-a66285338b82121f7347923b8ca006b160125d01 --Relationship: SPDXRef-DOCUMENT describes SPDXRef-a8e3a2d9873b55c84b0cb046855447674b65146e - Relationship: SPDXRef-DOCUMENT describes SPDXRef-3055f9d157f6ce27aef346c81bdf132fdd5bc2f8 --Relationship: SPDXRef-DOCUMENT describes SPDXRef-9ffeec08dbf2185c660fc69f401c6754cc250aff --Relationship: SPDXRef-DOCUMENT describes SPDXRef-4cb440034519ea41c61d5a741cf167faa947a5d5 --Relationship: SPDXRef-DOCUMENT describes SPDXRef-3bb3d8ca023b0861c7f6dfcc04e06f2c37fe1bb7 --Relationship: SPDXRef-DOCUMENT describes SPDXRef-d75a77accdc47f63ea09d5e541fb17c075259791 - Relationship: SPDXRef-DOCUMENT describes SPDXRef-7c44a8e2ff7c7482515cc94e0244db0c747da71d --Relationship: SPDXRef-DOCUMENT describes SPDXRef-73de39af2d0e901f694232da4801eb2c8a66d20b - Relationship: SPDXRef-DOCUMENT describes SPDXRef-a5f2edbd8b8b3304dea21ffd974c0bc9bd772af5 --Relationship: SPDXRef-DOCUMENT describes SPDXRef-e8ec4dd62c7540c8cb45b05a895c168bcc13048b - Relationship: SPDXRef-DOCUMENT describes SPDXRef-d57b0b3be1ce716faee2d4c80c5f9a91ba8f1ecc -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-e8ec4dd62c7540c8cb45b05a895c168bcc13048b -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-73de39af2d0e901f694232da4801eb2c8a66d20b - Relationship: SPDXRef-DOCUMENT describes SPDXRef-6454de685ba7cf12cfc0804a23c0bd7bdfa0bfd7 -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-9ffeec08dbf2185c660fc69f401c6754cc250aff -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-4cb440034519ea41c61d5a741cf167faa947a5d5 -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-f0c5c70d49864d35245e4b1a630182e33fb993ca -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-acc196920bb7c53a8e1932c42e4ae88bdfbba913 -+Relationship: SPDXRef-DOCUMENT describes SPDXRef-306a1cc131ed293066f5657c413a396b70065483 - --FileName: ./lsusb.c --SPDXID: SPDXRef-6c17d1dd6beb0ac4e8dbdc1d3d89d077d1ed091f --FileChecksum: SHA1: f36d9493b6aec212f8d1a8f498ae8e46fd1b4244 -+FileName: ./.gitmodules -+SPDXID: SPDXRef-7445606fbf8f3683cd42bdc54b05d7a0bc2dfc44 -+FileChecksum: SHA1: 1560d4ed9c29045a03ed4a1c660e15ffcf71b6d4 - LicenseConcluded: NOASSERTION - LicenseInfoInFile: GPL-2.0+ --FileCopyrightText: Copyright (C) 1999-2001, 2003 Thomas Sailer (t.sailer@alumni.ethz.ch) --FileCopyrightText: Copyright (C) 2003-2005 David Brownell -+FileCopyrightText: Copyright (c) 2010 Nikolai Kondrashov - --FileName: ./usb-devices.1.in --SPDXID: SPDXRef-d1f43f45055e4f55af9904a21c03f3ac2e23f780 --FileChecksum: SHA1: ec56b9e8c52cff364db5cca7215ac659dcecbd35 -+FileName: ./.travis.yml -+SPDXID: SPDXRef-dea01dd89a3b602828e630677fde5d77c06441c8 -+FileChecksum: SHA1: 7fe7e4ddb26f40832ddc33adf2733f6ddf8685b4 - LicenseConcluded: NOASSERTION - LicenseInfoInFile: GPL-2.0 --FileCopyrightText: Copyright (c) 2004 Frans Pop --FileCopyrightText: Copyright (c) 2004 Randy Dunlap --FileCopyrightText: Copyright (c) 2004 Greg Kroah-Hartman -+FileCopyrightText: Copyright 2016 Stephan Linz - - FileName: ./Makefile.am - SPDXID: SPDXRef-d5b4de16d947214ec306bd57bed1bd23a939b5f9 - FileChecksum: SHA1: c167455c7c1eea2d5e142c9690875a4514e0f0f9 - LicenseConcluded: NOASSERTION - LicenseInfoInFile: GPL-2.0+ -+FileCopyrightText: Copyright (c) 2004 Thomas Sailer - FileCopyrightText: Copyright (c) 2005-2006 David Brownell --FileCopyrightText: Copyright (c) 2009 Kay Sievers - FileCopyrightText: Copyright (c) 2009 Greg Kroah-Hartman --FileCopyrightText: Copyright (c) 2004 Thomas Sailer -+FileCopyrightText: Copyright (c) 2009 Kay Sievers - - FileName: ./NEWS - SPDXID: SPDXRef-9f621eb5fd3bcb2fa5c7bd228c9b1ad42edc46c8 -@@ -93,14 +90,6 @@ LicenseInfoInFile: GPL-2.0 - FileCopyrightText: Copyright (c) 2018 Greg Kroah-Hartman - FileCopyrightText: Copyright strings - --FileName: ./names.c --SPDXID: SPDXRef-6c3981b5733e947489b6d6359cea90114e5edbca --FileChecksum: SHA1: b09952044590cb5c7a6efd0f1cf4c2c8e9acd8cd --LicenseConcluded: NOASSERTION --LicenseInfoInFile: GPL-2.0+ --FileCopyrightText: Copyright (C) 1999, 2000 Thomas Sailer (sailer@ife.ee.ethz.ch) --FileCopyrightText: Copyright (C) 2013 Tom Gundersen (teg@jklm.no) -- - FileName: ./README.md - SPDXID: SPDXRef-8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d - FileChecksum: SHA1: 9ba7826a2617f4d769be0db957c6386d98377ca5 -@@ -108,106 +97,106 @@ LicenseConcluded: NOASSERTION - LicenseInfoInFile: GPL-2.0+ - FileCopyrightText: Copyright (c) 2018 Greg Kroah-Hartman - --FileName: ./list.h --SPDXID: SPDXRef-d76c453f0eb741d665569f48cd3df8d69535edad --FileChecksum: SHA1: ca31cb6d90c4bc81730910f6f48105c04dddb669 -+FileName: ./autogen.sh -+SPDXID: SPDXRef-152c3993c79ed609cfec1b4276c2eb31f4d518b3 -+FileChecksum: SHA1: 03131c461ea90b53e3813f7895da75116c04f426 - LicenseConcluded: NOASSERTION - LicenseInfoInFile: GPL-2.0 --FileCopyrightText: Copyright (c) 2004 Thomas Sailer -- --FileName: ./usb-devices --SPDXID: SPDXRef-e375f2da25f0471168cc6c97a8ac35c43eb9e951 --FileChecksum: SHA1: 0d407269e4572232221dac9487f95ead3256c627 --LicenseConcluded: NOASSERTION --LicenseInfoInFile: GPL-2.0+ --FileCopyrightText: Copyright (c) 2009 Frans Pop --FileCopyrightText: Copyright (c) 2009 Greg Kroah-Hartman --FileCopyrightText: Copyright (c) 2009 Randy Dunlap -+FileCopyrightText: Copyright (c) 2009,2010 Greg Kroah-Hartman - --FileName: ./lsusb.8.in --SPDXID: SPDXRef-01f9f98ab7d1aacab858a82f2243dfbc6ec781ff --FileChecksum: SHA1: cd01c90ca1b907d349e5f8f5c4229222121c46ed -+FileName: ./configure.ac -+SPDXID: SPDXRef-87db583be5c13c1f7b3c958b10e03d67b6a2ca06 -+FileChecksum: SHA1: 04ab423765541b3a34eca63f04a8688c2aef1816 - LicenseConcluded: NOASSERTION - LicenseInfoInFile: GPL-2.0 --FileCopyrightText: Copyright (c) 1999 Thomas Sailer -+FileCopyrightText: Copyright (c) 2009 Kay Sievers - --FileName: ./usbmisc.h --SPDXID: SPDXRef-acc196920bb7c53a8e1932c42e4ae88bdfbba913 --FileChecksum: SHA1: b12afc48068aba9913a06709c42153223bc11860 -+FileName: ./desc-defs.c -+SPDXID: SPDXRef-7b5d245d23c26fe4b0b395d0c0c1a91d2e68e16d -+FileChecksum: SHA1: c59f51b1fd5d62ba19a463afc5d671772394d30d - LicenseConcluded: NOASSERTION - LicenseInfoInFile: GPL-2.0+ --FileCopyrightText: Copyright (C) 2003 Aurelien Jarno (aurelien@aurel32.net) -+FileCopyrightText: Copyright (C) 2017 Michael Drake - --FileName: ./names.h --SPDXID: SPDXRef-25ba0c97baff0f8a9d08ad328942a324acdc6523 --FileChecksum: SHA1: 33d326b5b664bd6d586018d6a745cb23599f09a0 -+FileName: ./desc-defs.h -+SPDXID: SPDXRef-311ad8c899f518cdbe5ab94754d182f09d6ed6fc -+FileChecksum: SHA1: b918b79d00ced67534a755ba452603cc25da0f5f - LicenseConcluded: NOASSERTION - LicenseInfoInFile: GPL-2.0+ --FileCopyrightText: Copyright (C) 1999, 2000 Thomas Sailer (sailer@ife.ee.ethz.ch) -+FileCopyrightText: Copyright (C) 2017 Michael Drake - --FileName: ./desc-dump.h --SPDXID: SPDXRef-e736d76d2b41789dff55067923064015cedce1ae --FileChecksum: SHA1: 4d409e266e6c978ab2ee65232789bd345817a3cb -+FileName: ./desc-dump.c -+SPDXID: SPDXRef-b5afcfeafd17ff89556dcde7e7d1baefc4b36c76 -+FileChecksum: SHA1: 2402892718aacfdd9275e7428b288e863b8ea6bc - LicenseConcluded: NOASSERTION - LicenseInfoInFile: GPL-2.0+ - FileCopyrightText: Copyright (C) 2017 Michael Drake - --FileName: ./desc-defs.c --SPDXID: SPDXRef-7b5d245d23c26fe4b0b395d0c0c1a91d2e68e16d --FileChecksum: SHA1: c59f51b1fd5d62ba19a463afc5d671772394d30d -+FileName: ./desc-dump.h -+SPDXID: SPDXRef-e736d76d2b41789dff55067923064015cedce1ae -+FileChecksum: SHA1: 4d409e266e6c978ab2ee65232789bd345817a3cb - LicenseConcluded: NOASSERTION - LicenseInfoInFile: GPL-2.0+ - FileCopyrightText: Copyright (C) 2017 Michael Drake - --FileName: ./desc-defs.h --SPDXID: SPDXRef-311ad8c899f518cdbe5ab94754d182f09d6ed6fc --FileChecksum: SHA1: b918b79d00ced67534a755ba452603cc25da0f5f -+FileName: ./list.h -+SPDXID: SPDXRef-d76c453f0eb741d665569f48cd3df8d69535edad -+FileChecksum: SHA1: ca31cb6d90c4bc81730910f6f48105c04dddb669 - LicenseConcluded: NOASSERTION --LicenseInfoInFile: GPL-2.0+ --FileCopyrightText: Copyright (C) 2017 Michael Drake -+LicenseInfoInFile: GPL-2.0 -+FileCopyrightText: Copyright (c) 2004 Thomas Sailer - --FileName: ./usb-spec.h --SPDXID: SPDXRef-c648c84097681019e5f1446c635b85ff2a486198 --FileChecksum: SHA1: 8caa588edf7307bb5bdc0556b5d80696ed4e7cfc -+FileName: ./lsusb-t.c -+SPDXID: SPDXRef-9d45eba6476202ac65ec45c3ba12118d12f2ef84 -+FileChecksum: SHA1: 9366eda2ceb3abed27c60c4db816af4245d0b350 - LicenseConcluded: NOASSERTION --LicenseInfoInFile: GPL-2.0+ --FileCopyrightText: Copyright (C) 2013 Tom Gundersen -+LicenseInfoInFile: GPL-2.0 -+FileCopyrightText: Copyright (c) 2009 Greg Kroah-Hartman - --FileName: ./configure.ac --SPDXID: SPDXRef-87db583be5c13c1f7b3c958b10e03d67b6a2ca06 --FileChecksum: SHA1: 04ab423765541b3a34eca63f04a8688c2aef1816 -+FileName: ./lsusb.8.in -+SPDXID: SPDXRef-01f9f98ab7d1aacab858a82f2243dfbc6ec781ff -+FileChecksum: SHA1: cd01c90ca1b907d349e5f8f5c4229222121c46ed - LicenseConcluded: NOASSERTION - LicenseInfoInFile: GPL-2.0 --FileCopyrightText: Copyright (c) 2009 Kay Sievers -+FileCopyrightText: Copyright (c) 1999 Thomas Sailer - --FileName: ./usbmisc.c --SPDXID: SPDXRef-f0c5c70d49864d35245e4b1a630182e33fb993ca --FileChecksum: SHA1: a13c902ebe2e7086c985dfde4cc2bad0b77c613a -+FileName: ./lsusb.c -+SPDXID: SPDXRef-6c17d1dd6beb0ac4e8dbdc1d3d89d077d1ed091f -+FileChecksum: SHA1: f36d9493b6aec212f8d1a8f498ae8e46fd1b4244 - LicenseConcluded: NOASSERTION - LicenseInfoInFile: GPL-2.0+ --FileCopyrightText: Copyright (C) 2003 Aurelien Jarno (aurelien@aurel32.net) -+FileCopyrightText: Copyright (C) 1999-2001, 2003 Thomas Sailer (t.sailer@alumni.ethz.ch) -+FileCopyrightText: Copyright (C) 2003-2005 David Brownell - --FileName: ./.gitmodules --SPDXID: SPDXRef-7445606fbf8f3683cd42bdc54b05d7a0bc2dfc44 --FileChecksum: SHA1: 1560d4ed9c29045a03ed4a1c660e15ffcf71b6d4 -+FileName: ./lsusb.h -+SPDXID: SPDXRef-de5d0aaef5920a283d740908c6e021d40fe12de0 -+FileChecksum: SHA1: b703a54ba37b7f77816f77365034b9800c0da613 - LicenseConcluded: NOASSERTION - LicenseInfoInFile: GPL-2.0+ --FileCopyrightText: Copyright (c) 2010 Nikolai Kondrashov -+FileCopyrightText: Copyright 2011 (c) Greg Kroah-Hartman - - FileName: ./lsusb.py.in - SPDXID: SPDXRef-f17f27205281653e3e67d0509a122b1861090085 - FileChecksum: SHA1: 59e8b90ae66abc28f863824f40304ddc023ab0b2 - LicenseConcluded: NOASSERTION - LicenseInfoInFile: GPL-2.0 OR GPL-3.0 --FileCopyrightText: Copyright (c) 2013 Kurt Garloff - FileCopyrightText: Copyright (c) 2009 Kurt Garloff -+FileCopyrightText: Copyright (c) 2013 Kurt Garloff - --FileName: ./autogen.sh --SPDXID: SPDXRef-152c3993c79ed609cfec1b4276c2eb31f4d518b3 --FileChecksum: SHA1: 03131c461ea90b53e3813f7895da75116c04f426 -+FileName: ./names.c -+SPDXID: SPDXRef-6c3981b5733e947489b6d6359cea90114e5edbca -+FileChecksum: SHA1: b09952044590cb5c7a6efd0f1cf4c2c8e9acd8cd - LicenseConcluded: NOASSERTION --LicenseInfoInFile: GPL-2.0 --FileCopyrightText: Copyright (c) 2009,2010 Greg Kroah-Hartman -+LicenseInfoInFile: GPL-2.0+ -+FileCopyrightText: Copyright (C) 1999, 2000 Thomas Sailer (sailer@ife.ee.ethz.ch) -+FileCopyrightText: Copyright (C) 2013 Tom Gundersen (teg@jklm.no) -+ -+FileName: ./names.h -+SPDXID: SPDXRef-25ba0c97baff0f8a9d08ad328942a324acdc6523 -+FileChecksum: SHA1: 33d326b5b664bd6d586018d6a745cb23599f09a0 -+LicenseConcluded: NOASSERTION -+LicenseInfoInFile: GPL-2.0+ -+FileCopyrightText: Copyright (C) 1999, 2000 Thomas Sailer (sailer@ife.ee.ethz.ch) - - FileName: ./travis-autogen.sh - SPDXID: SPDXRef-3063d6bd093390b22c258c36bc7d09aa42baf7f5 -@@ -216,40 +205,30 @@ LicenseConcluded: NOASSERTION - LicenseInfoInFile: GPL-2.0 - FileCopyrightText: Copyright 2016 Stephan Linz - --FileName: ./usbreset.c --SPDXID: SPDXRef-306a1cc131ed293066f5657c413a396b70065483 --FileChecksum: SHA1: 3640969c413e0468eff2130aaf4015fab42c4a4f --LicenseConcluded: NOASSERTION --LicenseInfoInFile: GPL-2.0 --FileCopyrightText: Copyright (c) 2009-2016 Alan Stern -- --FileName: ./.travis.yml --SPDXID: SPDXRef-dea01dd89a3b602828e630677fde5d77c06441c8 --FileChecksum: SHA1: 7fe7e4ddb26f40832ddc33adf2733f6ddf8685b4 --LicenseConcluded: NOASSERTION --LicenseInfoInFile: GPL-2.0 --FileCopyrightText: Copyright 2016 Stephan Linz -- --FileName: ./lsusb.h --SPDXID: SPDXRef-de5d0aaef5920a283d740908c6e021d40fe12de0 --FileChecksum: SHA1: b703a54ba37b7f77816f77365034b9800c0da613 -+FileName: ./usb-devices -+SPDXID: SPDXRef-e375f2da25f0471168cc6c97a8ac35c43eb9e951 -+FileChecksum: SHA1: 0d407269e4572232221dac9487f95ead3256c627 - LicenseConcluded: NOASSERTION - LicenseInfoInFile: GPL-2.0+ --FileCopyrightText: Copyright 2011 (c) Greg Kroah-Hartman -+FileCopyrightText: Copyright (c) 2009 Frans Pop -+FileCopyrightText: Copyright (c) 2009 Greg Kroah-Hartman -+FileCopyrightText: Copyright (c) 2009 Randy Dunlap - --FileName: ./lsusb-t.c --SPDXID: SPDXRef-9d45eba6476202ac65ec45c3ba12118d12f2ef84 --FileChecksum: SHA1: 9366eda2ceb3abed27c60c4db816af4245d0b350 -+FileName: ./usb-devices.1.in -+SPDXID: SPDXRef-d1f43f45055e4f55af9904a21c03f3ac2e23f780 -+FileChecksum: SHA1: ec56b9e8c52cff364db5cca7215ac659dcecbd35 - LicenseConcluded: NOASSERTION - LicenseInfoInFile: GPL-2.0 --FileCopyrightText: Copyright (c) 2009 Greg Kroah-Hartman -+FileCopyrightText: Copyright (c) 2004 Frans Pop -+FileCopyrightText: Copyright (c) 2004 Greg Kroah-Hartman -+FileCopyrightText: Copyright (c) 2004 Randy Dunlap - --FileName: ./desc-dump.c --SPDXID: SPDXRef-b5afcfeafd17ff89556dcde7e7d1baefc4b36c76 --FileChecksum: SHA1: 2402892718aacfdd9275e7428b288e863b8ea6bc -+FileName: ./usb-spec.h -+SPDXID: SPDXRef-c648c84097681019e5f1446c635b85ff2a486198 -+FileChecksum: SHA1: 8caa588edf7307bb5bdc0556b5d80696ed4e7cfc - LicenseConcluded: NOASSERTION - LicenseInfoInFile: GPL-2.0+ --FileCopyrightText: Copyright (C) 2017 Michael Drake -+FileCopyrightText: Copyright (C) 2013 Tom Gundersen - - FileName: ./usbhid-dump/Makefile.am - SPDXID: SPDXRef-727e654f9158303b2dddb5c435ccffb7df627d09 -@@ -269,17 +248,29 @@ FileChecksum: SHA1: 783567bddef5cfee242810cec17a2dd1da8d2a9a - LicenseConcluded: NOASSERTION - FileCopyrightText: NONE - -+FileName: ./usbhid-dump/bootstrap -+SPDXID: SPDXRef-0ccb2a5e2004a47c238a1ad5f97a8b6b140f6609 -+FileChecksum: SHA1: 4d3b5ad4b4eddfb431dff0e932636f9de4ab3d93 -+LicenseConcluded: NOASSERTION -+FileCopyrightText: Copyright (c) 2010 Nikolai Kondrashov -+ - FileName: ./usbhid-dump/configure.ac - SPDXID: SPDXRef-5edef310d5d94ad7293749401bc114eda84bdf27 - FileChecksum: SHA1: 2b7a78bb3b06bd10a384dfaafd3a68309efa6a22 - LicenseConcluded: NOASSERTION - FileCopyrightText: Copyright (C) 2010-2011 Nikolai Kondrashov - --FileName: ./usbhid-dump/bootstrap --SPDXID: SPDXRef-0ccb2a5e2004a47c238a1ad5f97a8b6b140f6609 --FileChecksum: SHA1: 4d3b5ad4b4eddfb431dff0e932636f9de4ab3d93 -+FileName: ./usbhid-dump/doc/Makefile.am -+SPDXID: SPDXRef-3bb3d8ca023b0861c7f6dfcc04e06f2c37fe1bb7 -+FileChecksum: SHA1: 9be240875c99a8abc4703dee8d184e28f84a1cb9 - LicenseConcluded: NOASSERTION --FileCopyrightText: Copyright (c) 2010 Nikolai Kondrashov -+FileCopyrightText: Copyright (C) 2010 Nikolai Kondrashov -+ -+FileName: ./usbhid-dump/doc/usbhid-dump.8 -+SPDXID: SPDXRef-d75a77accdc47f63ea09d5e541fb17c075259791 -+FileChecksum: SHA1: 366ab4785a54650ddcfb4f8663ff5b9630fe4e62 -+LicenseConcluded: NOASSERTION -+FileCopyrightText: NONE - - FileName: ./usbhid-dump/include/Makefile.am - SPDXID: SPDXRef-f8ffd668553b011c77c049c23596f4ac16b2442b -@@ -299,6 +290,12 @@ FileChecksum: SHA1: 715b1e0ae2eff0104a379a92f6ea0f117c992c97 - LicenseConcluded: NOASSERTION - FileCopyrightText: Copyright (C) 2010-2011 Nikolai Kondrashov - -+FileName: ./usbhid-dump/include/uhd/dev_list.h -+SPDXID: SPDXRef-a8e3a2d9873b55c84b0cb046855447674b65146e -+FileChecksum: SHA1: 529334bc310028933bed64be6ae6e54dd3ebf3a5 -+LicenseConcluded: NOASSERTION -+FileCopyrightText: Copyright (C) 2010-2011 Nikolai Kondrashov -+ - FileName: ./usbhid-dump/include/uhd/iface.h - SPDXID: SPDXRef-d073c8d1cdb5b1f1c923af71a80f3317b21e62ed - FileChecksum: SHA1: da7f40ed9dfdc03048af1512fa96f1e166bf1ba7 -@@ -317,69 +314,39 @@ FileChecksum: SHA1: 29b0e137d8d9ebc27534d6d62a9a778759eefb0d - LicenseConcluded: NOASSERTION - FileCopyrightText: Copyright (C) 2010-2011 Nikolai Kondrashov - --FileName: ./usbhid-dump/include/uhd/dev_list.h --SPDXID: SPDXRef-a8e3a2d9873b55c84b0cb046855447674b65146e --FileChecksum: SHA1: 529334bc310028933bed64be6ae6e54dd3ebf3a5 --LicenseConcluded: NOASSERTION --FileCopyrightText: Copyright (C) 2010-2011 Nikolai Kondrashov -- - FileName: ./usbhid-dump/include/uhd/misc.h - SPDXID: SPDXRef-3055f9d157f6ce27aef346c81bdf132fdd5bc2f8 - FileChecksum: SHA1: 5d77ac9550fdf8eb747288791847ac8dc49043ac - LicenseConcluded: NOASSERTION - FileCopyrightText: Copyright (C) 2010 Nikolai Kondrashov - --FileName: ./usbhid-dump/src/Makefile.am --SPDXID: SPDXRef-9ffeec08dbf2185c660fc69f401c6754cc250aff --FileChecksum: SHA1: 0a472632a048aa27df19971060f70541d39998df --LicenseConcluded: NOASSERTION --FileCopyrightText: Copyright (C) 2010 Nikolai Kondrashov -- --FileName: ./usbhid-dump/src/usbhid-dump.c --SPDXID: SPDXRef-4cb440034519ea41c61d5a741cf167faa947a5d5 --FileChecksum: SHA1: f766dc2ec7821f9a24b7ed54798e820e3a2e81cb --LicenseConcluded: NOASSERTION --FileCopyrightText: Copyright (C) 2010-2011 Nikolai Kondrashov -- --FileName: ./usbhid-dump/doc/Makefile.am --SPDXID: SPDXRef-3bb3d8ca023b0861c7f6dfcc04e06f2c37fe1bb7 --FileChecksum: SHA1: 9be240875c99a8abc4703dee8d184e28f84a1cb9 --LicenseConcluded: NOASSERTION --FileCopyrightText: Copyright (C) 2010 Nikolai Kondrashov -- --FileName: ./usbhid-dump/doc/usbhid-dump.8 --SPDXID: SPDXRef-d75a77accdc47f63ea09d5e541fb17c075259791 --FileChecksum: SHA1: 366ab4785a54650ddcfb4f8663ff5b9630fe4e62 --LicenseConcluded: NOASSERTION --FileCopyrightText: NONE -- - FileName: ./usbhid-dump/lib/Makefile.am - SPDXID: SPDXRef-7c44a8e2ff7c7482515cc94e0244db0c747da71d - FileChecksum: SHA1: edaa1c6500e6144af33a259d4334d95130aa5d13 - LicenseConcluded: NOASSERTION - FileCopyrightText: Copyright (C) 2009-2010 Nikolai Kondrashov - --FileName: ./usbhid-dump/lib/iface_list.c --SPDXID: SPDXRef-73de39af2d0e901f694232da4801eb2c8a66d20b --FileChecksum: SHA1: 26fbfbadf28b0a4a6219873464594ddd4d95f145 --LicenseConcluded: NOASSERTION --FileCopyrightText: Copyright (C) 2010 Nikolai Kondrashov -- - FileName: ./usbhid-dump/lib/dev.c - SPDXID: SPDXRef-a5f2edbd8b8b3304dea21ffd974c0bc9bd772af5 - FileChecksum: SHA1: 0a03aec4473b8bf11917d6d6955eb1a81e687aca - LicenseConcluded: NOASSERTION - FileCopyrightText: Copyright (C) 2010 Nikolai Kondrashov - -+FileName: ./usbhid-dump/lib/dev_list.c -+SPDXID: SPDXRef-d57b0b3be1ce716faee2d4c80c5f9a91ba8f1ecc -+FileChecksum: SHA1: 2fc4fd5b6c8fcfde7a563b56cf0ba639cdad679b -+LicenseConcluded: NOASSERTION -+FileCopyrightText: Copyright (C) 2010 Nikolai Kondrashov -+ - FileName: ./usbhid-dump/lib/iface.c - SPDXID: SPDXRef-e8ec4dd62c7540c8cb45b05a895c168bcc13048b - FileChecksum: SHA1: b3c828cceeaea8d20fd440f6f7e5225d5ec26146 - LicenseConcluded: NOASSERTION - FileCopyrightText: Copyright (C) 2010 Nikolai Kondrashov - --FileName: ./usbhid-dump/lib/dev_list.c --SPDXID: SPDXRef-d57b0b3be1ce716faee2d4c80c5f9a91ba8f1ecc --FileChecksum: SHA1: 2fc4fd5b6c8fcfde7a563b56cf0ba639cdad679b -+FileName: ./usbhid-dump/lib/iface_list.c -+SPDXID: SPDXRef-73de39af2d0e901f694232da4801eb2c8a66d20b -+FileChecksum: SHA1: 26fbfbadf28b0a4a6219873464594ddd4d95f145 - LicenseConcluded: NOASSERTION - FileCopyrightText: Copyright (C) 2010 Nikolai Kondrashov - -@@ -388,3 +355,36 @@ SPDXID: SPDXRef-6454de685ba7cf12cfc0804a23c0bd7bdfa0bfd7 - FileChecksum: SHA1: 58f7d1c78541bfd310e46e24435540a0ec83d3c4 - LicenseConcluded: NOASSERTION - FileCopyrightText: Copyright (C) 2010 Nikolai Kondrashov -+ -+FileName: ./usbhid-dump/src/Makefile.am -+SPDXID: SPDXRef-9ffeec08dbf2185c660fc69f401c6754cc250aff -+FileChecksum: SHA1: 0a472632a048aa27df19971060f70541d39998df -+LicenseConcluded: NOASSERTION -+FileCopyrightText: Copyright (C) 2010 Nikolai Kondrashov -+ -+FileName: ./usbhid-dump/src/usbhid-dump.c -+SPDXID: SPDXRef-4cb440034519ea41c61d5a741cf167faa947a5d5 -+FileChecksum: SHA1: f766dc2ec7821f9a24b7ed54798e820e3a2e81cb -+LicenseConcluded: NOASSERTION -+FileCopyrightText: Copyright (C) 2010-2011 Nikolai Kondrashov -+ -+FileName: ./usbmisc.c -+SPDXID: SPDXRef-f0c5c70d49864d35245e4b1a630182e33fb993ca -+FileChecksum: SHA1: a13c902ebe2e7086c985dfde4cc2bad0b77c613a -+LicenseConcluded: NOASSERTION -+LicenseInfoInFile: GPL-2.0+ -+FileCopyrightText: Copyright (C) 2003 Aurelien Jarno (aurelien@aurel32.net) -+ -+FileName: ./usbmisc.h -+SPDXID: SPDXRef-acc196920bb7c53a8e1932c42e4ae88bdfbba913 -+FileChecksum: SHA1: b12afc48068aba9913a06709c42153223bc11860 -+LicenseConcluded: NOASSERTION -+LicenseInfoInFile: GPL-2.0+ -+FileCopyrightText: Copyright (C) 2003 Aurelien Jarno (aurelien@aurel32.net) -+ -+FileName: ./usbreset.c -+SPDXID: SPDXRef-306a1cc131ed293066f5657c413a396b70065483 -+FileChecksum: SHA1: 3640969c413e0468eff2130aaf4015fab42c4a4f -+LicenseConcluded: NOASSERTION -+LicenseInfoInFile: GPL-2.0 -+FileCopyrightText: Copyright (c) 2009-2016 Alan Stern --- -2.14.4 - diff --git a/0004-lsusb.py-fix-up-Python-3-conversion.patch b/0004-lsusb.py-fix-up-Python-3-conversion.patch deleted file mode 100644 index 406c141..0000000 --- a/0004-lsusb.py-fix-up-Python-3-conversion.patch +++ /dev/null @@ -1,148 +0,0 @@ -From a7c25eadbc998bf359e5b7dac03aaea8c30d2932 Mon Sep 17 00:00:00 2001 -From: Georg Brandl -Date: Thu, 17 May 2018 08:51:27 +0200 -Subject: [PATCH 4/9] lsusb.py: fix up Python 3 conversion - -- Use open() and ignore encoding errors -- Replace removed __cmp__ by rich comparison methods -- Convert commented-out print statements, remove unused future import - -Fixes #68 ---- - lsusb.py.in | 50 ++++++++++++++++++++++---------------------------- - 1 file changed, 22 insertions(+), 28 deletions(-) - -diff --git a/lsusb.py.in b/lsusb.py.in -index 0f4d318..083b512 100644 ---- a/lsusb.py.in -+++ b/lsusb.py.in -@@ -12,8 +12,6 @@ - - import os, sys, re, getopt - --# from __future__ import print_function -- - # Global options - showint = False - showhubint = False -@@ -53,15 +51,12 @@ class UsbClass: - self.desc = str - def __repr__(self): - return self.desc -- def __cmp__(self, oth): -- # Works only on 64bit systems: -- #return self.pclass*0x10000+self.subclass*0x100+self.proto \ -- # - oth.pclass*0x10000-oth.subclass*0x100-oth.proto -- if self.pclass != oth.pclass: -- return self.pclass - oth.pclass -- if self.subclass != oth.subclass: -- return self.subclass - oth.subclass -- return self.proto - oth.proto -+ def __lt__(self, oth): -+ return (self.pclass, self.subclass, self.proto) < \ -+ (oth.pclass, oth.subclass, oth.proto) -+ def __eq__(self, oth): -+ return (self.pclass, self.subclass, self.proto) == \ -+ (oth.pclass, oth.subclass, oth.proto) - - class UsbVendor: - "Container for USB Vendors" -@@ -70,8 +65,10 @@ class UsbVendor: - self.vname = vname - def __repr__(self): - return self.vname -- def __cmp__(self, oth): -- return self.vid - oth.vid -+ def __lt__(self, oth): -+ return self.vid < oth.vid -+ def __eq__(self, oth): -+ return self.vid == oth.vid - - class UsbProduct: - "Container for USB VID:PID devices" -@@ -81,13 +78,10 @@ class UsbProduct: - self.pname = pname - def __repr__(self): - return self.pname -- def __cmp__(self, oth): -- # Works only on 64bit systems: -- # return self.vid*0x10000 + self.pid \ -- # - oth.vid*0x10000 - oth.pid -- if self.vid != oth.vid: -- return self.vid - oth.vid -- return self.pid - oth.pid -+ def __lt__(self, oth): -+ return (self.vid, self.pid) < (oth.vid, oth.pid) -+ def __eq__(self, oth): -+ return (self.vid, self.pid) == (oth.vid, oth.pid) - - usbvendors = [] - usbproducts = [] -@@ -107,7 +101,7 @@ def parse_usb_ids(): - mode = 0 - strg = "" - cstrg = "" -- for ln in file(usbids, "r").readlines(): -+ for ln in open(usbids, "r", errors="ignore"): - if ln[0] == '#': - continue - ln = ln.rstrip('\n') -@@ -146,7 +140,7 @@ def parse_usb_ids(): - - def bin_search(first, last, item, list): - "binary search on list, returns -1 on fail, match idx otherwise, recursive" -- #print "bin_search(%i,%i)" % (first, last) -+ #print("bin_search(%i,%i)" % (first, last)) - if first == last: - return -1 - if first == last-1: -@@ -233,7 +227,7 @@ def find_dev(driver, usbname): - for nm in devlst: - dir = prefix + usbname - prep = "" -- #print nm -+ #print(nm) - idx = nm.find('/') - if idx != -1: - prep = nm[:idx+1] -@@ -404,8 +398,8 @@ class UsbDevice: - try: - self.nointerfaces = int(readattr(fname, "bNumInterfaces")) - except: -- #print "ERROR: %s/bNumInterfaces = %s" % (fname, -- # readattr(fname, "bNumInterfaces"))a -+ #print("ERROR: %s/bNumInterfaces = %s" % (fname, -+ # readattr(fname, "bNumInterfaces"))) - self.nointerfaces = 0 - try: - self.driver = readlink(fname, "driver") -@@ -421,7 +415,7 @@ class UsbDevice: - for dirent in os.listdir(prefix + self.fname): - if not dirent[0:1].isdigit(): - continue -- #print dirent -+ #print(dirent) - if os.access(prefix + dirent + "/bInterfaceClass", os.R_OK): - iface = UsbInterface(self, self.level+1) - iface.read(dirent) -@@ -532,7 +526,7 @@ def usage(): - def read_usb(): - "Read toplevel USB entries and print" - for dirent in os.listdir(prefix): -- #print dirent, -+ #print(dirent) - if not dirent[0:3] == "usb": - continue - usbdev = UsbDevice(None, 0) -@@ -590,7 +584,7 @@ def main(argv): - fix_usbclass() - except: - print(" WARNING: Failure to read usb.ids", file=sys.stderr) -- #print >>sys.stderr, sys.exc_info() -+ #print(sys.exc_info(), file=sys.stderr) - read_usb() - - # Entry point --- -2.14.4 - diff --git a/0005-lsusb-Split-out-routine-that-fetches-value-for-given.patch b/0005-lsusb-Split-out-routine-that-fetches-value-for-given.patch deleted file mode 100644 index 3019641..0000000 --- a/0005-lsusb-Split-out-routine-that-fetches-value-for-given.patch +++ /dev/null @@ -1,166 +0,0 @@ -From e497fcd9d69f2ba6b8672e430ee273db4afbea17 Mon Sep 17 00:00:00 2001 -From: Michael Drake -Date: Thu, 7 Jun 2018 11:01:37 +0100 -Subject: [PATCH 5/9] lsusb: Split out routine that fetches value for given - field. - -Field value lookup was done in multiple places, so it's useful -as a helper function. - -Signed-off-by: Michael Drake ---- - desc-dump.c | 106 +++++++++++++++++++++++++++++++++--------------------------- - 1 file changed, 58 insertions(+), 48 deletions(-) - -diff --git a/desc-dump.c b/desc-dump.c -index 9210df7..393ff70 100644 ---- a/desc-dump.c -+++ b/desc-dump.c -@@ -2,7 +2,7 @@ - /* - * USB descriptor dumping - * -- * Copyright (C) 2017 Michael Drake -+ * Copyright (C) 2017-2018 Michael Drake - */ - - #include "config.h" -@@ -109,6 +109,57 @@ static unsigned long long get_n_bytes_as_ull( - return ret; - } - -+/** -+ * Get the size of a descriptor field in bytes. -+ * -+ * Normally the size is provided in the entry's size parameter, but some -+ * fields have a variable size, with the actual size being stored in as -+ * the value of another field. -+ * -+ * \param[in] buf Descriptor data. -+ * \param[in] desc First field in the descriptor definition array. -+ * \param[in] entry The descriptor definition field to get size for. -+ * \return Size of the field in bytes. -+ */ -+static unsigned int get_entry_size( -+ const unsigned char *buf, -+ const struct desc *desc, -+ const struct desc *entry); -+ -+/** -+ * Read a value from a field of given name. -+ * -+ * \param[in] buf Descriptor data. -+ * \param[in] desc First field in the descriptor definition array. -+ * \param[in] field The name of the field to get the value for. -+ * \return The value from the given field. -+ */ -+static unsigned long long get_value_from_field( -+ const unsigned char *buf, -+ const struct desc *desc, -+ const char *field) -+{ -+ size_t offset = 0; -+ const struct desc *current; -+ unsigned long long value = 0; -+ -+ /* Search descriptor definition array for the field who's value -+ * gives the value of the entry we're interested in. */ -+ for (current = desc; current->field != NULL; current++) { -+ if (strcmp(current->field, field) == 0) { -+ value = get_n_bytes_as_ull(buf, offset, -+ current->size); -+ break; -+ } -+ -+ /* Keep track of our offset in the descriptor data -+ * as we look for the field we want. */ -+ offset += get_entry_size(buf, desc, current); -+ } -+ -+ return value; -+} -+ - /** - * Dump a number as hex to stdout. - * -@@ -270,18 +321,7 @@ static void value_renderer( - } - } - --/** -- * Get the size of a descriptor field in bytes. -- * -- * Normally the size is provided in the entry's size parameter, but some -- * fields have a variable size, with the actual size being stored in as -- * the value of another field. -- * -- * \param[in] buf Descriptor data. -- * \param[in] desc First field in the descriptor definition array. -- * \param[in] entry The descriptor definition field to get size for. -- * \return Size of the field in bytes. -- */ -+/* Documented at forward declaration above. */ - static unsigned int get_entry_size( - const unsigned char *buf, - const struct desc *desc, -@@ -292,24 +332,7 @@ static unsigned int get_entry_size( - - if (entry->size_field != NULL) { - /* Variable field length, given by `size_field`'s value. */ -- size_t offset = 0; -- -- /* Search descriptor definition array for the field who's value -- * gives the size of the entry we're interested in. */ -- for (current = desc; current->field != NULL; current++) { -- if (strcmp(current->field, entry->size_field) == 0) { -- /* Found the field who's value gives us the -- * size of, so read that field's value out of -- * the descriptor data buffer. */ -- size = get_n_bytes_as_ull(buf, offset, -- current->size); -- break; -- } -- -- /* Keep track of our offset in the descriptor data -- * as we look for the field we want. */ -- offset += get_entry_size(buf, desc, current); -- } -+ size = get_value_from_field(buf, desc, entry->size_field); - } - - if (size == 0) { -@@ -347,27 +370,14 @@ static unsigned int get_array_entry_count( - - if (array_entry->array.length_field1) { - /* We can get the array size from the length_field1. */ -- size_t offset = 0; -- for (current = desc; current->field != NULL; current++) { -- if (strcmp(current->field, array_entry->array.length_field1) == 0) { -- entries = get_n_bytes_as_ull(buf, offset, current->size); -- break; -- } -+ entries = get_value_from_field(buf, desc, -+ array_entry->array.length_field1); - -- offset += get_entry_size(buf, desc, current); -- } -- offset = 0; /* skip first three common 1-byte fields */ - if (array_entry->array.length_field2 != NULL) { - /* There's a second field specifying length. The two - * lengths are multiplied. */ -- for (current = desc; current->field != NULL; current++) { -- if (strcmp(current->field, array_entry->array.length_field2) == 0) { -- entries *= get_n_bytes_as_ull(buf, offset, current->size); -- break; -- } -- -- offset += get_entry_size(buf, desc, current); -- } -+ entries *= get_value_from_field(buf, desc, -+ array_entry->array.length_field2); - } - - /* If the bits flag is set, then the entry count so far --- -2.14.4 - diff --git a/0006-lsusb-Split-out-field-name-rendering.patch b/0006-lsusb-Split-out-field-name-rendering.patch deleted file mode 100644 index 2ebe906..0000000 --- a/0006-lsusb-Split-out-field-name-rendering.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 80843d0818c61823bd9dd4c365442d29a8a6f2af Mon Sep 17 00:00:00 2001 -From: Michael Drake -Date: Thu, 7 Jun 2018 12:37:13 +0100 -Subject: [PATCH 6/9] lsusb: Split out field name rendering. - -Splits out the rendering of fields from desc_dump() since it -is a single unit of functionality and the desc_dump() function -had grown quite complex. - -Signed-off-by: Michael Drake ---- - desc-dump.c | 45 +++++++++++++++++++++++++++++++++------------ - 1 file changed, 33 insertions(+), 12 deletions(-) - -diff --git a/desc-dump.c b/desc-dump.c -index 393ff70..2f92768 100644 ---- a/desc-dump.c -+++ b/desc-dump.c -@@ -446,6 +446,35 @@ static unsigned int get_char_count_for_array_index(unsigned int array_entries) - return 3; - } - -+/** -+ * Render a field's name. -+ * -+ * \param[in] entry Current entry number (for arrays). -+ * \param[in] entries Entry count (for arrays). -+ * \param[in] field_len Character width of field name space for alignment. -+ * \param[in] current Descriptor definition of field to render. -+ * \param[in] indent Current indent level. -+ */ -+static void field_render( -+ unsigned int entry, -+ unsigned int entries, -+ unsigned int field_len, -+ const struct desc *current, -+ unsigned int indent) -+{ -+ if (current->array.array) { -+ unsigned int needed_chars = field_len - -+ get_char_count_for_array_index(entries) - -+ strlen(current->field); -+ printf("%*s%s(%u)%*s", indent * 2, "", -+ current->field, entry, -+ needed_chars, ""); -+ } else { -+ printf("%*s%-*s", indent * 2, "", -+ field_len, current->field); -+ } -+} -+ - /* Function documented in desc-dump.h */ - void desc_dump( - libusb_device_handle *dev, -@@ -506,19 +535,11 @@ void desc_dump( - printf("\n"); - return; - } -+ - /* Dump the field name */ -- if (current->array.array) { -- needed_chars = field_len - -- get_char_count_for_array_index( -- entries) - -- strlen(current->field); -- printf("%*s%s(%u)%*s", indent * 2, "", -- current->field, entry, -- needed_chars, ""); -- } else { -- printf("%*s%-*s", indent * 2, "", -- field_len, current->field); -- } -+ field_render(entry, entries, field_len, -+ current, indent); -+ - /* Dump the value */ - value_renderer(dev, current, current_size, buf, - indent, offset); --- -2.14.4 - diff --git a/0007-lsusb-Add-support-for-descriptor-extensions.patch b/0007-lsusb-Add-support-for-descriptor-extensions.patch deleted file mode 100644 index 494166e..0000000 --- a/0007-lsusb-Add-support-for-descriptor-extensions.patch +++ /dev/null @@ -1,207 +0,0 @@ -From 4f2a365e20831076816b8672735118f654ccfcd8 Mon Sep 17 00:00:00 2001 -From: Michael Drake -Date: Thu, 7 Jun 2018 12:41:16 +0100 -Subject: [PATCH 7/9] lsusb: Add support for descriptor extensions. - -These allow descriptors with common fields at the start, one of -which common fields specifies a field whos value determines which -of a set of descriptor extensions should be used to render the -remainder of the descriptor. - -Signed-off-by: Michael Drake ---- - desc-defs.c | 11 ++++++++++- - desc-defs.h | 39 ++++++++++++++++++++++++++++++++++++++- - desc-dump.c | 52 +++++++++++++++++++++++++++++++++++++++++++++------- - 3 files changed, 93 insertions(+), 9 deletions(-) - -diff --git a/desc-defs.c b/desc-defs.c -index 4c374e0..60cc603 100644 ---- a/desc-defs.c -+++ b/desc-defs.c -@@ -2,7 +2,7 @@ - /* - * USB descriptor definitions - * -- * Copyright (C) 2017 Michael Drake -+ * Copyright (C) 2017-2018 Michael Drake - */ - - #include "config.h" -@@ -441,6 +441,15 @@ static const struct desc desc_audio_2_ac_processing_unit[] = { - { .field = NULL } - }; - -+/** -+ * Undefined descriptor -+ * -+ * Ensures remaining data is dumped as garbage at end of descriptor. -+ */ -+const struct desc desc_undefined[] = { -+ { .field = NULL } -+}; -+ - /** UAC3: 4.5.2.10 Processing Unit Descriptor; Table 4-38. */ - static const struct desc desc_audio_3_ac_processing_unit[] = { - { .field = "bUnitID", .size = 1, .type = DESC_NUMBER }, -diff --git a/desc-defs.h b/desc-defs.h -index 99d5caa..aa695e4 100644 ---- a/desc-defs.h -+++ b/desc-defs.h -@@ -2,7 +2,7 @@ - /* - * USB descriptor definitions - * -- * Copyright (C) 2017 Michael Drake -+ * Copyright (C) 2017-2018 Michael Drake - */ - - #ifndef _DESC_DEFS_H -@@ -33,6 +33,7 @@ enum desc_type { - DESC_TERMINAL_STR, /**< Audio terminal string. */ - DESC_BITMAP_STRINGS, /**< Bitfield with string per bit. */ - DESC_NUMBER_STRINGS, /**< Use for enum-style value to string. */ -+ DESC_EXTENSION, /**< Various possible descriptor extensions. */ - DESC_SNOWFLAKE, /**< Value with custom annotation callback function. */ - }; - -@@ -95,6 +96,39 @@ struct desc { - * Must be a '\0' terminated string. - */ - const char *number_postfix; -+ /** -+ * Corresponds to type DESC_EXTENSION. -+ * -+ * This allows the value of this field to be processed by -+ * another descriptor definition. The definition used to -+ * process the value of this field can be controlled by -+ * the value of another field. -+ */ -+ struct { -+ /** -+ * Name of field specifying descriptor type to select. -+ */ -+ const char *type_field; -+ /** -+ * Array of descriptor definitions and their -+ * associated types values. Array must be terminated -+ * by entry with NULL `desc` member. -+ */ -+ const struct desc_ext { -+ /** -+ * Array of descriptor field definitions. -+ * Terminated by entry with NULL `field` member. -+ */ -+ const struct desc *desc; -+ /** -+ * Type value for this descriptor definition. -+ * If it matches the type read from the -+ * field `type_field`, then this descriptor -+ * definition will be used to decode this value. -+ */ -+ unsigned int type; -+ } *d; -+ } extension; - /** - * Corresponds to type DESC_SNOWFLAKE. - * -@@ -116,6 +150,9 @@ struct desc { - - /* ---------------------------------------------------------------------- */ - -+/* Undefined descriptor */ -+extern const struct desc desc_undefined[]; -+ - /* Audio Control (AC) descriptor definitions */ - extern const struct desc * const desc_audio_ac_header[3]; - extern const struct desc * const desc_audio_ac_effect_unit[3]; -diff --git a/desc-dump.c b/desc-dump.c -index 2f92768..19d2cc7 100644 ---- a/desc-dump.c -+++ b/desc-dump.c -@@ -211,8 +211,10 @@ static void number_renderer( - * - * \param[in] dev LibUSB device handle. - * \param[in] current Descriptor definition field to render. -- * \param[in] current_size Descriptor definition field to render. -+ * \param[in] current_size Size of value to render. - * \param[in] buf Byte array containing the descriptor date to dump. -+ * \param[in] buf_len Byte length of `buf`. -+ * \param[in] desc First field in the descriptor definition. - * \param[in] indent Current indent level. - * \param[in] offset Offset to current value in `buf`. - */ -@@ -221,6 +223,8 @@ static void value_renderer( - const struct desc *current, - unsigned int current_size, - const unsigned char *buf, -+ unsigned int buf_len, -+ const struct desc *desc, - unsigned int indent, - size_t offset) - { -@@ -312,6 +316,31 @@ static void value_renderer( - printf(" %s\n", names_audioterminal( - get_n_bytes_as_ull(buf, offset, current_size))); - break; -+ case DESC_EXTENSION: { -+ unsigned int type = get_value_from_field(buf, desc, -+ current->extension.type_field); -+ const struct desc *ext_desc; -+ const struct desc_ext *ext; -+ -+ /* Lookup the extention descriptor definitions to use, */ -+ for (ext = current->extension.d; ext->desc != NULL; ext++) { -+ if (ext->type == type) { -+ ext_desc = ext->desc; -+ break; -+ } -+ } -+ -+ /* If the type didn't match a known type, use the -+ * undefined descriptor. */ -+ if (ext->desc == NULL) { -+ ext_desc = desc_undefined; -+ } -+ -+ desc_dump(dev, ext_desc, buf + offset, -+ buf_len - offset, indent); -+ -+ break; -+ } - case DESC_SNOWFLAKE: - number_renderer(buf, size_chars, offset, current_size); - current->snowflake( -@@ -537,14 +566,23 @@ void desc_dump( - } - - /* Dump the field name */ -- field_render(entry, entries, field_len, -- current, indent); -+ if (current->type != DESC_EXTENSION) { -+ field_render(entry, entries, field_len, -+ current, indent); -+ } - - /* Dump the value */ -- value_renderer(dev, current, current_size, buf, -- indent, offset); -- /* Advance offset in buffer */ -- offset += current_size; -+ value_renderer(dev, current, current_size, buf, buf_len, -+ desc, indent, offset); -+ -+ if (current->type == DESC_EXTENSION) { -+ /* A desc extension consumes all remaining -+ * value buffer. */ -+ offset = buf_len; -+ } else { -+ /* Advance offset in buffer */ -+ offset += current_size; -+ } - } - } - --- -2.14.4 - diff --git a/0008-lsusb-Add-support-for-audio-processing-unit-type-spe.patch b/0008-lsusb-Add-support-for-audio-processing-unit-type-spe.patch deleted file mode 100644 index 89ce6ff..0000000 --- a/0008-lsusb-Add-support-for-audio-processing-unit-type-spe.patch +++ /dev/null @@ -1,250 +0,0 @@ -From e5b6d24c5de9039606953bf8159f94ea6611e84d Mon Sep 17 00:00:00 2001 -From: Michael Drake -Date: Thu, 7 Jun 2018 11:40:30 +0100 -Subject: [PATCH 8/9] lsusb: Add support for audio processing unit - type-specific fields. - -Previously the data was rendered as hex as a "Process-specific" -array type field. Now the data is interpreted properly as -descriptor fields. - -Signed-off-by: Michael Drake ---- - desc-defs.c | 177 +++++++++++++++++++++++++++++++++++++++++++++++++++++------- - 1 file changed, 159 insertions(+), 18 deletions(-) - -diff --git a/desc-defs.c b/desc-defs.c -index 60cc603..d348abc 100644 ---- a/desc-defs.c -+++ b/desc-defs.c -@@ -16,6 +16,15 @@ - /** Macro for computing number of elements in array. */ - #define ARRAY_LEN(a) ((sizeof(a)) / (sizeof(a[0]))) - -+/** -+ * Undefined descriptor -+ * -+ * Ensures remaining data is dumped as garbage at end of descriptor. -+ */ -+const struct desc desc_undefined[] = { -+ { .field = NULL } -+}; -+ - /** USB Audio Device Class 1 Channel Names. (Note: Order matters.) */ - static const char * const uac1_channel_names[] = { - "Left Front (L)", "Right Front (R)", "Center Front (C)", -@@ -401,10 +410,38 @@ const struct desc * const desc_audio_ac_selector_unit[3] = { - desc_audio_3_ac_selector_unit, - }; - -+/** UAC1: Table A-7: Processing Unit Process Types */ -+static const char * const uac1_proc_unit_types[] = { -+ [0] = "Undefined", -+ [1] = "Up/Down-mix", -+ [2] = "Dolby Prologic", -+ [3] = "3D Stereo Extender", -+ [4] = "Reverberation", -+ [5] = "Chorus", -+ [6] = "Dyn Range Comp", -+ [7] = NULL -+}; -+ -+/** UAC1: Up/Down-mix and Dolby Prologic proc unit descriptor extensions Table 4-9, Table 4-10. */ -+static const struct desc desc_audio_1_ac_proc_unit_extended[] = { -+ { .field = "bNrModes", .size = 1, .type = DESC_NUMBER }, -+ { .field = "waModes", .size = 2, .type = DESC_BITMAP, -+ .array = { .array = true, .length_field1 = "bNrModes" } }, -+ { .field = NULL } -+}; -+ -+/** UAC1: Table A-7: Processing Unit Process Types */ -+static const struct desc_ext desc_audio_1_ac_proc_unit_specific[] = { -+ { .type = 1, .desc = desc_audio_1_ac_proc_unit_extended }, -+ { .type = 2, .desc = desc_audio_1_ac_proc_unit_extended }, -+ { .desc = NULL } -+}; -+ - /** UAC1: 4.3.2.6 Processing Unit Descriptor; Table 4-8. */ - static const struct desc desc_audio_1_ac_processing_unit[] = { - { .field = "bUnitID", .size = 1, .type = DESC_NUMBER }, -- { .field = "wProcessType", .size = 2, .type = DESC_CONSTANT }, -+ { .field = "wProcessType", .size = 2, .type = DESC_NUMBER_STRINGS, -+ .number_strings = uac1_proc_unit_types }, - { .field = "bNrInPins", .size = 1, .type = DESC_NUMBER }, - { .field = "baSourceID", .size = 1, .type = DESC_NUMBER, - .array = { .array = true, .length_field1 = "bNrInPins" } }, -@@ -416,15 +453,48 @@ static const struct desc desc_audio_1_ac_processing_unit[] = { - { .field = "bmControls", .size = 1, .type = DESC_BITMAP, - .array = { .array = true, .length_field1 = "bControlSize" } }, - { .field = "iProcessing", .size = 1, .type = DESC_STR_DESC_INDEX }, -- { .field = "Process-specific", .size = 1, .type = DESC_BITMAP, -- .array = { .array = true } }, -+ { .field = "Process-specific", .size = 1, .type = DESC_EXTENSION, -+ .extension = { .type_field = "wProcessType", .d = desc_audio_1_ac_proc_unit_specific } }, -+ { .field = NULL } -+}; -+ -+/** UAC2: 4.7.2.11.1 Up/Down-mix Processing Unit Descriptor; Table 4-21. */ -+static const struct desc desc_audio_2_ac_proc_unit_up_down_mix[] = { -+ { .field = "bNrModes", .size = 1, .type = DESC_NUMBER }, -+ { .field = "daModes", .size = 4, .type = DESC_BITMAP, -+ .array = { .array = true, .length_field1 = "bNrModes" } }, -+ { .field = NULL } -+}; -+ -+/** UAC2: 4.7.2.11.2 Dolby prologic Processing Unit Descriptor; Table 4-22. */ -+static const struct desc desc_audio_2_ac_proc_unit_dolby_prologic[] = { -+ { .field = "bNrModes", .size = 1, .type = DESC_NUMBER }, -+ { .field = "daModes", .size = 4, .type = DESC_BITMAP, -+ .array = { .array = true, .length_field1 = "bNrModes" } }, - { .field = NULL } - }; - -+/** UAC2: Table A-12: Processing Unit Process Types */ -+static const struct desc_ext desc_audio_2_ac_proc_unit_specific[] = { -+ { .type = 1, .desc = desc_audio_2_ac_proc_unit_up_down_mix }, -+ { .type = 2, .desc = desc_audio_2_ac_proc_unit_dolby_prologic }, -+ { .desc = NULL } -+}; -+ -+/** UAC2: Table A-12: Processing Unit Process Types */ -+static const char * const uac2_proc_unit_types[] = { -+ [0] = "Undefined", -+ [1] = "Up/Down-mix", -+ [2] = "Dolby Prologic", -+ [3] = "Stereo Extender", -+ [4] = NULL -+}; -+ - /** UAC2: 4.7.2.11 Processing Unit Descriptor; Table 4-20. */ - static const struct desc desc_audio_2_ac_processing_unit[] = { - { .field = "bUnitID", .size = 1, .type = DESC_NUMBER }, -- { .field = "wProcessType", .size = 2, .type = DESC_CONSTANT }, -+ { .field = "wProcessType", .size = 2, .type = DESC_NUMBER_STRINGS, -+ .number_strings = uac2_proc_unit_types }, - { .field = "bNrInPins", .size = 1, .type = DESC_NUMBER }, - { .field = "baSourceID", .size = 1, .type = DESC_NUMBER, - .array = { .array = true, .length_field1 = "bNrInPins" } }, -@@ -432,34 +502,105 @@ static const struct desc desc_audio_2_ac_processing_unit[] = { - { .field = "bmChannelConfig", .size = 4, .type = DESC_BITMAP_STRINGS, - .bitmap_strings = { .strings = uac2_channel_names, .count = 26 } }, - { .field = "iChannelNames", .size = 1, .type = DESC_STR_DESC_INDEX }, -- { .field = "bControlSize", .size = 1, .type = DESC_NUMBER }, -- { .field = "bmControls", .size = 2, .type = DESC_BITMAP, -- .array = { .array = true, .length_field1 = "bControlSize" } }, -+ { .field = "bmControls", .size = 2, .type = DESC_BITMAP }, - { .field = "iProcessing", .size = 1, .type = DESC_STR_DESC_INDEX }, -- { .field = "Process-specific", .size = 1, .type = DESC_BITMAP, -- .array = { .array = true } }, -+ { .field = "Process-specific", .size = 1, .type = DESC_EXTENSION, -+ .extension = { .type_field = "wProcessType", .d = desc_audio_2_ac_proc_unit_specific } }, - { .field = NULL } - }; - --/** -- * Undefined descriptor -- * -- * Ensures remaining data is dumped as garbage at end of descriptor. -- */ --const struct desc desc_undefined[] = { -+/** Processor unit Up/Down-mix bmControls; Human readable bit meanings. */ -+static const char * const uac3_proc_unit_up_down_mix_bmcontrols[] = { -+ [0] = "Mode Select", -+ [1] = "Underflow", -+ [2] = "Overflow", -+ [3] = NULL -+}; -+ -+/** UAC3: 4.5.2.10.1 Up/Down-mix Processing Unit Descriptor; Table 4-39. */ -+static const struct desc desc_audio_3_ac_proc_unit_up_down_mix[] = { -+ { .field = "bmControls", .size = 4, .type = DESC_BMCONTROL_2, -+ .bmcontrol = uac3_proc_unit_up_down_mix_bmcontrols }, -+ { .field = "bNrModes", .size = 1, .type = DESC_NUMBER }, -+ { .field = "waClusterDescrID", .size = 2, .type = DESC_NUMBER, -+ .array = { .array = true, .length_field1 = "bNrModes" } }, -+ { .field = NULL } -+}; -+ -+/** Processor unit stereo extender bmControls; Human readable bit meanings. */ -+static const char * const uac3_proc_unit_stereo_extender_bmcontrols[] = { -+ [0] = "Width", -+ [1] = "Underflow", -+ [2] = "Overflow", -+ [3] = NULL -+}; -+ -+/** UAC3: 4.5.2.10.2 Stereo Extender Processing Unit Descriptor; Table 4-40. */ -+static const struct desc desc_audio_3_ac_proc_unit_stereo_extender[] = { -+ { .field = "bmControls", .size = 4, .type = DESC_BMCONTROL_2, -+ .bmcontrol = uac3_proc_unit_stereo_extender_bmcontrols }, -+ { .field = NULL } -+}; -+ -+/** UAC3: 4.5.2.10.3 Multi Func Proc Unit Descriptor; Algorithms; Table 4-41. */ -+static const char *uac3_proc_unit_multi_func_algorithms[] = { -+ [0] = "Algorithm Undefined.", -+ [1] = "Beam Forming.", -+ [2] = "Acoustic Echo Cancellation.", -+ [3] = "Active Noise Cancellation.", -+ [4] = "Blind Source Separation.", -+ [5] = "Noise Suppression/Reduction.", -+ [6] = NULL -+}; -+ -+/** Processor unit Multi Func bmControls; Human readable bit meanings. */ -+static const char * const uac3_proc_unit_multi_func_bmcontrols[] = { -+ [0] = "Underflow", -+ [1] = "Overflow", -+ [2] = NULL -+}; -+ -+/** UAC3: 4.5.2.10.3 Multi Function Processing Unit Descriptor; Table 4-41. */ -+static const struct desc desc_audio_3_ac_proc_unit_multi_function[] = { -+ { .field = "bmControls", .size = 4, .type = DESC_BMCONTROL_2, -+ .bmcontrol = uac3_proc_unit_multi_func_bmcontrols }, -+ { .field = "wClusterDescrID", .size = 2, .type = DESC_NUMBER, }, -+ { .field = "bmAlgorithms", .size = 4, .type = DESC_BITMAP_STRINGS, -+ .bitmap_strings = { -+ .strings = uac3_proc_unit_multi_func_algorithms, -+ .count = 6 -+ } }, - { .field = NULL } - }; - -+/** UAC3: Table A-20: Processing Unit Process Types */ -+static const char * const uac3_proc_unit_types[] = { -+ [0] = "Undefined", -+ [1] = "Up/Down-mix", -+ [2] = "Stereo Extender", -+ [3] = "Multi-Function", -+ [4] = NULL -+}; -+ -+/** UAC3: Table A-20: Processing Unit Process Types */ -+static const struct desc_ext desc_audio_3_ac_proc_unit_specific[] = { -+ { .type = 1, .desc = desc_audio_3_ac_proc_unit_up_down_mix }, -+ { .type = 2, .desc = desc_audio_3_ac_proc_unit_stereo_extender }, -+ { .type = 3, .desc = desc_audio_3_ac_proc_unit_multi_function }, -+ { .desc = NULL } -+}; -+ - /** UAC3: 4.5.2.10 Processing Unit Descriptor; Table 4-38. */ - static const struct desc desc_audio_3_ac_processing_unit[] = { - { .field = "bUnitID", .size = 1, .type = DESC_NUMBER }, -- { .field = "wProcessType", .size = 2, .type = DESC_CONSTANT }, -+ { .field = "wProcessType", .size = 2, .type = DESC_NUMBER_STRINGS, -+ .number_strings = uac3_proc_unit_types }, - { .field = "bNrInPins", .size = 1, .type = DESC_NUMBER }, - { .field = "baSourceID", .size = 1, .type = DESC_NUMBER, - .array = { .array = true, .length_field1 = "bNrInPins" } }, - { .field = "wProcessingDescrStr", .size = 2, .type = DESC_CS_STR_DESC_ID }, -- { .field = "Process-specific", .size = 1, .type = DESC_BITMAP, -- .array = { .array = true } }, -+ { .field = "Process-specific", .size = 1, .type = DESC_EXTENSION, -+ .extension = { .type_field = "wProcessType", .d = desc_audio_3_ac_proc_unit_specific } }, - { .field = NULL } - }; - --- -2.14.4 - diff --git a/0009-desc-dump.c-fix-compiler-warning-about-unused-variab.patch b/0009-desc-dump.c-fix-compiler-warning-about-unused-variab.patch deleted file mode 100644 index fd3d079..0000000 --- a/0009-desc-dump.c-fix-compiler-warning-about-unused-variab.patch +++ /dev/null @@ -1,27 +0,0 @@ -From e63347dfecc90c6658229d8636b8d1e50a126b31 Mon Sep 17 00:00:00 2001 -From: Greg Kroah-Hartman -Date: Thu, 7 Jun 2018 19:04:44 +0200 -Subject: [PATCH 9/9] desc-dump.c: fix compiler warning about unused variable - -Left over from the descriptor changes that just got merged. - -Signed-off-by: Greg Kroah-Hartman ---- - desc-dump.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/desc-dump.c b/desc-dump.c -index 19d2cc7..a8759f4 100644 ---- a/desc-dump.c -+++ b/desc-dump.c -@@ -356,7 +356,6 @@ static unsigned int get_entry_size( - const struct desc *desc, - const struct desc *entry) - { -- const struct desc *current; - unsigned int size = entry->size; - - if (entry->size_field != NULL) { --- -2.14.4 - diff --git a/sources b/sources index 78654e2..2998d74 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (usbutils-010.tar.xz) = 8bc197307bc34b38c406c58c939be32f0b20ce9d3e7c977472fe4c3d47e791765432e381fd8d7393df621bbd4bf159ca24a08b22441770e7ae464e767f99a2e3 +SHA512 (usbutils-012.tar.xz) = e26a60229e6eed5de670d6511dd1fa5ee3453cc5a848820531b46a1678b69378a2a45c29e24a218a8e7065c2c345356f03a2992f8298ddae6c8026d181f8de66 diff --git a/usbutils.spec b/usbutils.spec index 1475b5a..01e60f8 100644 --- a/usbutils.spec +++ b/usbutils.spec @@ -1,7 +1,7 @@ Name: usbutils +Version: 012 +Release: 1%{?dist} Summary: Linux USB utilities -Version: 010 -Release: 3%{?dist} URL: http://www.linux-usb.org/ License: GPLv2+ @@ -9,22 +9,12 @@ Source0: https://www.kernel.org/pub/linux/utils/usb/usbutils/%{name}-%{version}. Source1: GPL-2.0.txt Source2: GPL-3.0.txt -#Patch1: 0001-SPDX-bill-of-material-is-supposed-to-be-project_name.patch -#Patch2: 0002-Makefile.am-add-files-with-licenses-to-archive.patch -Patch3: 0003-usbutils.spdx-rerun-report-it-is-properly-sorted.patch -Patch4: 0004-lsusb.py-fix-up-Python-3-conversion.patch -Patch5: 0005-lsusb-Split-out-routine-that-fetches-value-for-given.patch -Patch6: 0006-lsusb-Split-out-field-name-rendering.patch -Patch7: 0007-lsusb-Add-support-for-descriptor-extensions.patch -Patch8: 0008-lsusb-Add-support-for-audio-processing-unit-type-spe.patch -Patch9: 0009-desc-dump.c-fix-compiler-warning-about-unused-variab.patch - -%global num_patches %{lua: c=0; for i,p in ipairs(patches) do c=c+1; end; print(c);} - +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: gcc +BuildRequires: libtool BuildRequires: libusbx-devel BuildRequires: systemd-devel -BuildRequires: git -BuildRequires: gcc Requires: hwdata %description @@ -32,34 +22,20 @@ This package contains utilities for inspecting devices connected to a USB bus. %prep -%setup -q - -%if %{num_patches} -git init -git config user.email "usbutils@redhat.com" -git config user.name "usbutils" -git add . -git commit -a -q -m "%{version} baseline." - -# Apply all the patches. -git am --exclude=project_name.spdx --exclude=bom.spdx --exclude=usbutils.spdx %{patches} -%endif +%autosetup -p1 +install -m 0644 %{SOURCE1} . +install -m 0644 %{SOURCE2} . %build +autoreconf -vif %configure --sbindir=%{_sbindir} --datadir=%{_datadir}/hwdata --disable-usbids -make %{?_smp_mflags} +%make_build %install -make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p" +%make_install rm -rf %{buildroot}/%{_libdir}/pkgconfig/usbutils.pc -#FIXME: remove with usbutils-011 -mkdir -p %{buildroot}%{_prefix}/share/licenses/usbutils/ -install -m 0644 %{SOURCE1} %{buildroot}%{_prefix}/share/licenses/usbutils/ -install -m 0644 %{SOURCE2} %{buildroot}%{_prefix}/share/licenses/usbutils/ - %files -%{!?_licensedir:%global license %%doc} %license GPL-2.0.txt GPL-3.0.txt %doc NEWS %{_mandir}/*/*