From owner-svn-src-all@FreeBSD.ORG Sat Jun 25 15:22:45 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4D8941065673; Sat, 25 Jun 2011 15:22:45 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 340AB8FC08; Sat, 25 Jun 2011 15:22:45 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5PFMjAS012211; Sat, 25 Jun 2011 15:22:45 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5PFMjja012207; Sat, 25 Jun 2011 15:22:45 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201106251522.p5PFMjja012207@svn.freebsd.org> From: Hans Petter Selasky Date: Sat, 25 Jun 2011 15:22:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223535 - head/tools/tools/bus_autoconf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Jun 2011 15:22:45 -0000 Author: hselasky Date: Sat Jun 25 15:22:44 2011 New Revision: 223535 URL: http://svn.freebsd.org/changeset/base/223535 Log: - Need to respect the module name and the USB mode when accumulating device ID's. - Be more verbose on file seek failures. Allow a file size of zero. - Improve the wrapper shell. MFC after: 14 days Modified: head/tools/tools/bus_autoconf/bus_autoconf.sh head/tools/tools/bus_autoconf/bus_load_file.c head/tools/tools/bus_autoconf/bus_usb.c Modified: head/tools/tools/bus_autoconf/bus_autoconf.sh ============================================================================== --- head/tools/tools/bus_autoconf/bus_autoconf.sh Sat Jun 25 13:44:05 2011 (r223534) +++ head/tools/tools/bus_autoconf/bus_autoconf.sh Sat Jun 25 15:22:44 2011 (r223535) @@ -28,6 +28,7 @@ OS=FreeBSD DOLLAR=$ +OBJCOPY=objcopy cat < /dev/null -[ -f temp.ids ] && cat temp.ids >> bus_autoconf_format.bin +${OBJCOPY} -j bus_autoconf_format -O binary ${F} bus_autoconf.ids 2> /dev/null +[ -f bus_autoconf.ids ] && cat bus_autoconf.ids >> bus_autoconf_format.bin # USB Host mode -objcopy -j usb_host_id -O binary ${F} "usb_host_id,${G}" 2> /dev/null +${OBJCOPY} -j usb_host_id -O binary ${F} "usb_host_id,${G}" 2> /dev/null [ -f "usb_host_id,${G}" ] && (echo -n " -i usb_host_id,${G}" >> bus_autoconf_args.txt) # USB Device mode -objcopy -j usb_device_id -O binary ${F} "usb_device_id,${G}" 2> /dev/null +${OBJCOPY} -j usb_device_id -O binary ${F} "usb_device_id,${G}" 2> /dev/null [ -f "usb_device_id,${G}" ] && (echo -n " -i usb_device_id,${G}" >> bus_autoconf_args.txt) # USB Dual mode -objcopy -j usb_dual_id -O binary ${F} "usb_dual_id,${G}" 2> /dev/null +${OBJCOPY} -j usb_dual_id -O binary ${F} "usb_dual_id,${G}" 2> /dev/null [ -f "usb_dual_id,${G}" ] && (echo -n " -i usb_dual_id,${G}" >> bus_autoconf_args.txt) done @@ -69,4 +71,8 @@ done bus_autoconf -F bus_autoconf_format.bin $(cat bus_autoconf_args.txt) # Cleanup -rm -f -- bus_autoconf_format.bin $(cat bus_autoconf_args.txt) +rm -f -- \ + $(cat bus_autoconf_args.txt) \ + bus_autoconf_args.txt \ + bus_autoconf_format.bin \ + bus_autoconf.ids Modified: head/tools/tools/bus_autoconf/bus_load_file.c ============================================================================== --- head/tools/tools/bus_autoconf/bus_load_file.c Sat Jun 25 13:44:05 2011 (r223534) +++ head/tools/tools/bus_autoconf/bus_load_file.c Sat Jun 25 15:22:44 2011 (r223535) @@ -48,11 +48,15 @@ load_file(const char *fname, uint8_t **p err(EX_NOINPUT, "Cannot open file '%s'", fname); off = lseek(f, 0, SEEK_END); - if (off <= 0) - err(EX_NOINPUT, "Cannot seek to end of file"); - - if (lseek(f, 0, SEEK_SET) < 0) - err(EX_NOINPUT, "Cannot seek to beginning of file"); + if (off < 0) { + err(EX_NOINPUT, "Cannot seek to " + "end of file '%s'", fname); + } + + if (lseek(f, 0, SEEK_SET) < 0) { + err(EX_NOINPUT, "Cannot seek to " + "beginning of file '%s'", fname); + } len = off; if (len != off) Modified: head/tools/tools/bus_autoconf/bus_usb.c ============================================================================== --- head/tools/tools/bus_autoconf/bus_usb.c Sat Jun 25 13:44:05 2011 (r223534) +++ head/tools/tools/bus_autoconf/bus_usb.c Sat Jun 25 15:22:44 2011 (r223535) @@ -276,6 +276,10 @@ usb_dump(struct usb_device_id *id, uint3 break; if (id[n].idVendor != id[0].idVendor) break; + if (strcmp(id[n].module_name, id[0].module_name)) + break; + if (strcmp(id[n].module_mode, id[0].module_mode)) + break; n++; } }