From 186fa09689c6e7ff782317051659159cfd1a0ca8 Mon Sep 17 00:00:00 2001 From: Kevin Bracey <kbracey@gitlab.riscosopen.org> Date: Mon, 16 Feb 2004 15:43:51 +0000 Subject: [PATCH] Fixes from John Ballance: Version 0.23. Tagged as 'NetBSD-0_23' --- VersionNum | 22 +- build/Makefile | 554 +++++++++++++++++++++++++++++++- build/Resources/UK/OHCIMessages | Bin 61 -> 46 bytes build/Resources/UK/USBMessages | Bin 1792 -> 1825 bytes build/c/usbmodule | 91 ++++-- build/c/usbmouse | 8 +- dev/usb/c/ohci | 16 +- dev/usb/c/usb_subr | 5 +- dev/usb/h/usbdivar | 6 +- 9 files changed, 642 insertions(+), 60 deletions(-) diff --git a/VersionNum b/VersionNum index 1775272..66d88dc 100644 --- a/VersionNum +++ b/VersionNum @@ -1,23 +1,23 @@ -/* (0.22) +/* (0.23) * * This file is automatically maintained by srccommit, do not edit manually. - * Last processed by srccommit version: 1.2. + * Last processed by srccommit version: 1.68. * */ -#define Module_MajorVersion_CMHG 0.22 +#define Module_MajorVersion_CMHG 0.23 #define Module_MinorVersion_CMHG -#define Module_Date_CMHG 21 Jan 2004 +#define Module_Date_CMHG 16 Feb 2004 -#define Module_MajorVersion "0.22" -#define Module_Version 22 +#define Module_MajorVersion "0.23" +#define Module_Version 23 #define Module_MinorVersion "" -#define Module_Date "21 Jan 2004" +#define Module_Date "16 Feb 2004" -#define Module_ApplicationDate "21-Jan-04" +#define Module_ApplicationDate "16-Feb-04" #define Module_ComponentName "NetBSD" #define Module_ComponentPath "RiscOS/Sources/HWSupport/USB/NetBSD" -#define Module_FullVersion "0.22" -#define Module_HelpVersion "0.22 (21 Jan 2004)" -#define Module_LibraryVersionInfo "0:22" +#define Module_FullVersion "0.23" +#define Module_HelpVersion "0.23 (16 Feb 2004)" +#define Module_LibraryVersionInfo "0:23" diff --git a/build/Makefile b/build/Makefile index e0d3b3d..b5f0700 100644 --- a/build/Makefile +++ b/build/Makefile @@ -21,7 +21,8 @@ TARGET = ${COMPONENT} DIRS = o._dirs MSGLOC = Resources.${COMPONENT}.Messages DEVICELIST = Resources.<Locale>.USBDevs -LIBS = ${DEBUGLIB} ${NET5LIBS} ${CALLXLIB} ${ASMUTILS} ${TBOXLIBS} +#LIBS = ${DEBUGLIB} ${NET5LIBS} ${CALLXLIB} ${ASMUTILS} ${TBOXLIBS} +LIBS = ${DEBUGLIB} ${MODMALLOCLIB} ${WILDLIB} ${DDTLIB} ${DESKLIB} ${NET5LIBS} ${CALLXLIB} ${ASMUTILS} ${TBOXLIBS} RDIR = ${RESDIR}.${COMPONENT} USBDIR = <Lib$Dir>.USB @@ -150,3 +151,554 @@ listing: i.ohci i.ohcimodule i.usb i.usbdi i.usbdi_util i.usb_subr i.ugen i.usbm # Dynamic dependencies: +o.usb: ^.dev.usb.c.usb +o.usb: TCPIPLibs:sys.h.cdefs +o.usb: TCPIPLibs:sys.h.param +o.usb: TCPIPLibs:sys.h.types +o.usb: TCPIPLibs:sys.h.cdefs +o.usb: TCPIPLibs:machine.h.endian +o.usb: TCPIPLibs:machine.h.ansi +o.usb: TCPIPLibs:machine.h.types +o.usb: TCPIPLibs:sys.h.syslimits +o.usb: TCPIPLibs:sys.h.cdefs +o.usb: TCPIPLibs:sys.h.errno +o.usb: TCPIPLibs:sys.h.time +o.usb: TCPIPLibs:sys.h.resource +o.usb: TCPIPLibs:sys.h.types +o.usb: TCPIPLibs:sys.h.ucred +o.usb: TCPIPLibs:sys.h.uio +o.usb: TCPIPLibs:sys.h.rtprio +o.usb: TCPIPLibs:sys.h.signal +o.usb: TCPIPLibs:machine.h.signal +o.usb: TCPIPLibs:machine.h.param +o.usb: TCPIPLibs:machine.h.limits +o.usb: TCPIPLibs:sys.h.systm +o.usb: TCPIPLibs:machine.h.cpufunc +o.usb: TCPIPLibs:machine.h.stdarg +o.usb: TCPIPLibs:sys.h.callout +o.usb: TCPIPLibs:sys.h.queue +o.usb: TCPIPLibs:sys.h.kernel +o.usb: TCPIPLibs:sys.h.linker_set +o.usb: TCPIPLibs:sys.h.malloc +o.usb: ^.sys.h.device +o.usb: TCPIPLibs:sys.h.queue +o.usb: TCPIPLibs:sys.h.proc +o.usb: TCPIPLibs:machine.h.proc +o.usb: TCPIPLibs:sys.h.queue +o.usb: TCPIPLibs:sys.h.rtprio +o.usb: TCPIPLibs:sys.h.select +o.usb: TCPIPLibs:sys.h.time +o.usb: TCPIPLibs:sys.h.conf +o.usb: TCPIPLibs:sys.h.fcntl +o.usb: ^.sys.h.poll +o.usb: TCPIPLibs:sys.h.select +o.usb: TCPIPLibs:sys.h.vnode +o.usb: TCPIPLibs:sys.h.queue +o.usb: TCPIPLibs:sys.h.signalvar +o.usb: ^.dev.usb.h.usb +o.usb: TCPIPLibs:sys.h.types +o.usb: TCPIPLibs:sys.h.time +o.usb: ^.dev.usb.h.usb_port +o.usb: h.opt_usbverbose +o.usb: ^.sys.h.device +o.usb: TCPIPLibs:h.errno +o.usb: TCPIPLibs:sys.h.ioccom +o.usb: ^.dev.usb.h.usbdi +o.usb: ^.dev.usb.h.usbdi_util +o.usb: ^.machine.h.bus +o.usb: TCPIPLibs:sys.h.types +o.usb: ^.dev.usb.h.usbdivar +o.usb: ^.dev.usb.h.usb_quirks +o.usbdi: ^.dev.usb.c.usbdi +o.usbdi: TCPIPLibs:sys.h.cdefs +o.usbdi: TCPIPLibs:sys.h.param +o.usbdi: TCPIPLibs:sys.h.types +o.usbdi: TCPIPLibs:sys.h.cdefs +o.usbdi: TCPIPLibs:machine.h.endian +o.usbdi: TCPIPLibs:machine.h.ansi +o.usbdi: TCPIPLibs:machine.h.types +o.usbdi: TCPIPLibs:sys.h.syslimits +o.usbdi: TCPIPLibs:sys.h.cdefs +o.usbdi: TCPIPLibs:sys.h.errno +o.usbdi: TCPIPLibs:sys.h.time +o.usbdi: TCPIPLibs:sys.h.resource +o.usbdi: TCPIPLibs:sys.h.types +o.usbdi: TCPIPLibs:sys.h.ucred +o.usbdi: TCPIPLibs:sys.h.uio +o.usbdi: TCPIPLibs:sys.h.rtprio +o.usbdi: TCPIPLibs:sys.h.signal +o.usbdi: TCPIPLibs:machine.h.signal +o.usbdi: TCPIPLibs:machine.h.param +o.usbdi: TCPIPLibs:machine.h.limits +o.usbdi: TCPIPLibs:sys.h.systm +o.usbdi: TCPIPLibs:machine.h.cpufunc +o.usbdi: TCPIPLibs:machine.h.stdarg +o.usbdi: TCPIPLibs:sys.h.callout +o.usbdi: TCPIPLibs:sys.h.queue +o.usbdi: TCPIPLibs:sys.h.malloc +o.usbdi: TCPIPLibs:sys.h.proc +o.usbdi: TCPIPLibs:machine.h.proc +o.usbdi: TCPIPLibs:sys.h.queue +o.usbdi: TCPIPLibs:sys.h.rtprio +o.usbdi: TCPIPLibs:sys.h.select +o.usbdi: TCPIPLibs:sys.h.time +o.usbdi: ^.machine.h.bus +o.usbdi: TCPIPLibs:sys.h.types +o.usbdi: ^.dev.usb.h.usb +o.usbdi: TCPIPLibs:sys.h.types +o.usbdi: TCPIPLibs:sys.h.time +o.usbdi: ^.dev.usb.h.usb_port +o.usbdi: h.opt_usbverbose +o.usbdi: ^.sys.h.device +o.usbdi: TCPIPLibs:sys.h.queue +o.usbdi: TCPIPLibs:h.errno +o.usbdi: TCPIPLibs:sys.h.ioccom +o.usbdi: ^.dev.usb.h.usbdi +o.usbdi: ^.dev.usb.h.usbdi_util +o.usbdi: ^.dev.usb.h.usbdivar +o.usbdi: ^.dev.usb.h.usb_mem +o.usb_subr: ^.dev.usb.c.usb_subr +o.usb_subr: TCPIPLibs:sys.h.cdefs +o.usb_subr: TCPIPLibs:sys.h.param +o.usb_subr: TCPIPLibs:sys.h.types +o.usb_subr: TCPIPLibs:sys.h.cdefs +o.usb_subr: TCPIPLibs:machine.h.endian +o.usb_subr: TCPIPLibs:machine.h.ansi +o.usb_subr: TCPIPLibs:machine.h.types +o.usb_subr: TCPIPLibs:sys.h.syslimits +o.usb_subr: TCPIPLibs:sys.h.cdefs +o.usb_subr: TCPIPLibs:sys.h.errno +o.usb_subr: TCPIPLibs:sys.h.time +o.usb_subr: TCPIPLibs:sys.h.resource +o.usb_subr: TCPIPLibs:sys.h.types +o.usb_subr: TCPIPLibs:sys.h.ucred +o.usb_subr: TCPIPLibs:sys.h.uio +o.usb_subr: TCPIPLibs:sys.h.rtprio +o.usb_subr: TCPIPLibs:sys.h.signal +o.usb_subr: TCPIPLibs:machine.h.signal +o.usb_subr: TCPIPLibs:machine.h.param +o.usb_subr: TCPIPLibs:machine.h.limits +o.usb_subr: TCPIPLibs:sys.h.systm +o.usb_subr: TCPIPLibs:machine.h.cpufunc +o.usb_subr: TCPIPLibs:machine.h.stdarg +o.usb_subr: TCPIPLibs:sys.h.callout +o.usb_subr: TCPIPLibs:sys.h.queue +o.usb_subr: TCPIPLibs:sys.h.kernel +o.usb_subr: TCPIPLibs:sys.h.linker_set +o.usb_subr: TCPIPLibs:sys.h.malloc +o.usb_subr: TCPIPLibs:sys.h.proc +o.usb_subr: TCPIPLibs:machine.h.proc +o.usb_subr: TCPIPLibs:sys.h.queue +o.usb_subr: TCPIPLibs:sys.h.rtprio +o.usb_subr: TCPIPLibs:sys.h.select +o.usb_subr: TCPIPLibs:sys.h.time +o.usb_subr: ^.machine.h.bus +o.usb_subr: TCPIPLibs:sys.h.types +o.usb_subr: ^.dev.usb.h.usb +o.usb_subr: TCPIPLibs:sys.h.types +o.usb_subr: TCPIPLibs:sys.h.time +o.usb_subr: ^.dev.usb.h.usb_port +o.usb_subr: h.opt_usbverbose +o.usb_subr: ^.sys.h.device +o.usb_subr: TCPIPLibs:sys.h.queue +o.usb_subr: TCPIPLibs:h.errno +o.usb_subr: TCPIPLibs:sys.h.ioccom +o.usb_subr: ^.dev.usb.h.usbdi +o.usb_subr: ^.dev.usb.h.usbdi_util +o.usb_subr: ^.dev.usb.h.usbdivar +o.usb_subr: ^.dev.usb.h.usbdevs +o.usb_subr: ^.dev.usb.h.usb_quirks +o.usbdi_util: ^.dev.usb.c.usbdi_util +o.usbdi_util: TCPIPLibs:sys.h.cdefs +o.usbdi_util: TCPIPLibs:sys.h.param +o.usbdi_util: TCPIPLibs:sys.h.types +o.usbdi_util: TCPIPLibs:sys.h.cdefs +o.usbdi_util: TCPIPLibs:machine.h.endian +o.usbdi_util: TCPIPLibs:machine.h.ansi +o.usbdi_util: TCPIPLibs:machine.h.types +o.usbdi_util: TCPIPLibs:sys.h.syslimits +o.usbdi_util: TCPIPLibs:sys.h.cdefs +o.usbdi_util: TCPIPLibs:sys.h.errno +o.usbdi_util: TCPIPLibs:sys.h.time +o.usbdi_util: TCPIPLibs:sys.h.resource +o.usbdi_util: TCPIPLibs:sys.h.types +o.usbdi_util: TCPIPLibs:sys.h.ucred +o.usbdi_util: TCPIPLibs:sys.h.uio +o.usbdi_util: TCPIPLibs:sys.h.rtprio +o.usbdi_util: TCPIPLibs:sys.h.signal +o.usbdi_util: TCPIPLibs:machine.h.signal +o.usbdi_util: TCPIPLibs:machine.h.param +o.usbdi_util: TCPIPLibs:machine.h.limits +o.usbdi_util: TCPIPLibs:sys.h.systm +o.usbdi_util: TCPIPLibs:machine.h.cpufunc +o.usbdi_util: TCPIPLibs:machine.h.stdarg +o.usbdi_util: TCPIPLibs:sys.h.callout +o.usbdi_util: TCPIPLibs:sys.h.queue +o.usbdi_util: TCPIPLibs:sys.h.kernel +o.usbdi_util: TCPIPLibs:sys.h.linker_set +o.usbdi_util: TCPIPLibs:sys.h.malloc +o.usbdi_util: TCPIPLibs:sys.h.proc +o.usbdi_util: TCPIPLibs:machine.h.proc +o.usbdi_util: TCPIPLibs:sys.h.queue +o.usbdi_util: TCPIPLibs:sys.h.rtprio +o.usbdi_util: TCPIPLibs:sys.h.select +o.usbdi_util: TCPIPLibs:sys.h.time +o.usbdi_util: ^.sys.h.device +o.usbdi_util: TCPIPLibs:sys.h.queue +o.usbdi_util: ^.dev.usb.h.usb +o.usbdi_util: TCPIPLibs:sys.h.types +o.usbdi_util: TCPIPLibs:sys.h.time +o.usbdi_util: ^.dev.usb.h.usb_port +o.usbdi_util: h.opt_usbverbose +o.usbdi_util: ^.sys.h.device +o.usbdi_util: TCPIPLibs:h.errno +o.usbdi_util: TCPIPLibs:sys.h.ioccom +o.usbdi_util: ^.dev.usb.h.usbhid +o.usbdi_util: ^.dev.usb.h.usbdi +o.usbdi_util: ^.dev.usb.h.usbdi_util +o.uhub: ^.dev.usb.c.uhub +o.uhub: TCPIPLibs:sys.h.cdefs +o.uhub: TCPIPLibs:sys.h.param +o.uhub: TCPIPLibs:sys.h.types +o.uhub: TCPIPLibs:sys.h.cdefs +o.uhub: TCPIPLibs:machine.h.endian +o.uhub: TCPIPLibs:machine.h.ansi +o.uhub: TCPIPLibs:machine.h.types +o.uhub: TCPIPLibs:sys.h.syslimits +o.uhub: TCPIPLibs:sys.h.cdefs +o.uhub: TCPIPLibs:sys.h.errno +o.uhub: TCPIPLibs:sys.h.time +o.uhub: TCPIPLibs:sys.h.resource +o.uhub: TCPIPLibs:sys.h.types +o.uhub: TCPIPLibs:sys.h.ucred +o.uhub: TCPIPLibs:sys.h.uio +o.uhub: TCPIPLibs:sys.h.rtprio +o.uhub: TCPIPLibs:sys.h.signal +o.uhub: TCPIPLibs:machine.h.signal +o.uhub: TCPIPLibs:machine.h.param +o.uhub: TCPIPLibs:machine.h.limits +o.uhub: TCPIPLibs:sys.h.systm +o.uhub: TCPIPLibs:machine.h.cpufunc +o.uhub: TCPIPLibs:machine.h.stdarg +o.uhub: TCPIPLibs:sys.h.callout +o.uhub: TCPIPLibs:sys.h.queue +o.uhub: TCPIPLibs:sys.h.kernel +o.uhub: TCPIPLibs:sys.h.linker_set +o.uhub: TCPIPLibs:sys.h.malloc +o.uhub: ^.machine.h.bus +o.uhub: TCPIPLibs:sys.h.types +o.uhub: ^.dev.usb.h.usb +o.uhub: TCPIPLibs:sys.h.types +o.uhub: TCPIPLibs:sys.h.time +o.uhub: ^.dev.usb.h.usb_port +o.uhub: h.opt_usbverbose +o.uhub: ^.sys.h.device +o.uhub: TCPIPLibs:sys.h.queue +o.uhub: TCPIPLibs:h.errno +o.uhub: TCPIPLibs:sys.h.ioccom +o.uhub: ^.dev.usb.h.usbdi +o.uhub: ^.dev.usb.h.usbdi_util +o.uhub: ^.dev.usb.h.usbdivar +o.usbmodhead: cmhg.usbmodhead +o.usbmodhead: C:Global.h.Services +o.usbmodhead: cmhg.^.Version +o.ohcimodhead: cmhg.ohcimodhead +o.ohcimodhead: C:Global.h.RISCOS +o.ohcimodhead: C:Global.h.Services +o.ohcimodhead: cmhg.^.Version +o.ohci: ^.dev.usb.c.ohci +o.ohci: TCPIPLibs:sys.h.cdefs +o.ohci: TCPIPLibs:sys.h.param +o.ohci: TCPIPLibs:sys.h.types +o.ohci: TCPIPLibs:sys.h.cdefs +o.ohci: TCPIPLibs:machine.h.endian +o.ohci: TCPIPLibs:machine.h.ansi +o.ohci: TCPIPLibs:machine.h.types +o.ohci: TCPIPLibs:sys.h.syslimits +o.ohci: TCPIPLibs:sys.h.cdefs +o.ohci: TCPIPLibs:sys.h.errno +o.ohci: TCPIPLibs:sys.h.time +o.ohci: TCPIPLibs:sys.h.resource +o.ohci: TCPIPLibs:sys.h.types +o.ohci: TCPIPLibs:sys.h.ucred +o.ohci: TCPIPLibs:sys.h.uio +o.ohci: TCPIPLibs:sys.h.rtprio +o.ohci: TCPIPLibs:sys.h.signal +o.ohci: TCPIPLibs:machine.h.signal +o.ohci: TCPIPLibs:machine.h.param +o.ohci: TCPIPLibs:machine.h.limits +o.ohci: TCPIPLibs:sys.h.systm +o.ohci: TCPIPLibs:machine.h.cpufunc +o.ohci: TCPIPLibs:machine.h.stdarg +o.ohci: TCPIPLibs:sys.h.callout +o.ohci: TCPIPLibs:sys.h.queue +o.ohci: TCPIPLibs:sys.h.malloc +o.ohci: TCPIPLibs:sys.h.proc +o.ohci: TCPIPLibs:machine.h.proc +o.ohci: TCPIPLibs:sys.h.queue +o.ohci: TCPIPLibs:sys.h.rtprio +o.ohci: TCPIPLibs:sys.h.select +o.ohci: TCPIPLibs:sys.h.time +o.ohci: TCPIPLibs:sys.h.queue +o.ohci: ^.machine.h.bus +o.ohci: TCPIPLibs:sys.h.types +o.ohci: TCPIPLibs:machine.h.endian +o.ohci: ^.dev.usb.h.usb +o.ohci: TCPIPLibs:sys.h.types +o.ohci: TCPIPLibs:sys.h.time +o.ohci: ^.dev.usb.h.usb_port +o.ohci: h.opt_usbverbose +o.ohci: ^.sys.h.device +o.ohci: TCPIPLibs:sys.h.queue +o.ohci: TCPIPLibs:h.errno +o.ohci: TCPIPLibs:sys.h.ioccom +o.ohci: ^.dev.usb.h.usbdi +o.ohci: ^.dev.usb.h.usbdivar +o.ohci: ^.dev.usb.h.usb_mem +o.ohci: ^.dev.usb.h.usb_quirks +o.ohci: ^.dev.usb.h.ohcireg +o.ohci: ^.dev.usb.h.ohcivar +o.call_veneer: s.call_veneer +o.call_veneer: Hdr:ListOpts +o.call_veneer: Hdr:Macros +o.call_veneer: Hdr:System +o.call_veneer: Hdr:SWIs +o.call_veneer: Hdr:CPU.Generic26 +o.call_veneer: Hdr:Machine.<Machine> +o.call_veneer: Hdr:Machine.Machine +o.call_veneer: Hdr:CPU.Generic32 +o.call_veneer: Hdr:IO.GenericIO +o.call_veneer: Hdr:RISCOS +o.ehci: ^.dev.usb.c.ehci +o.ehci: TCPIPLibs:sys.h.cdefs +o.ehci: TCPIPLibs:sys.h.param +o.ehci: TCPIPLibs:sys.h.types +o.ehci: TCPIPLibs:sys.h.cdefs +o.ehci: TCPIPLibs:machine.h.endian +o.ehci: TCPIPLibs:machine.h.ansi +o.ehci: TCPIPLibs:machine.h.types +o.ehci: TCPIPLibs:sys.h.syslimits +o.ehci: TCPIPLibs:sys.h.cdefs +o.ehci: TCPIPLibs:sys.h.errno +o.ehci: TCPIPLibs:sys.h.time +o.ehci: TCPIPLibs:sys.h.resource +o.ehci: TCPIPLibs:sys.h.types +o.ehci: TCPIPLibs:sys.h.ucred +o.ehci: TCPIPLibs:sys.h.uio +o.ehci: TCPIPLibs:sys.h.rtprio +o.ehci: TCPIPLibs:sys.h.signal +o.ehci: TCPIPLibs:machine.h.signal +o.ehci: TCPIPLibs:machine.h.param +o.ehci: TCPIPLibs:machine.h.limits +o.ehci: TCPIPLibs:sys.h.systm +o.ehci: TCPIPLibs:machine.h.cpufunc +o.ehci: TCPIPLibs:machine.h.stdarg +o.ehci: TCPIPLibs:sys.h.callout +o.ehci: TCPIPLibs:sys.h.queue +o.ehci: TCPIPLibs:sys.h.kernel +o.ehci: TCPIPLibs:sys.h.linker_set +o.ehci: TCPIPLibs:sys.h.malloc +o.ehci: ^.sys.h.device +o.ehci: TCPIPLibs:sys.h.queue +o.ehci: TCPIPLibs:sys.h.select +o.ehci: TCPIPLibs:sys.h.proc +o.ehci: TCPIPLibs:machine.h.proc +o.ehci: TCPIPLibs:sys.h.queue +o.ehci: TCPIPLibs:sys.h.rtprio +o.ehci: TCPIPLibs:sys.h.select +o.ehci: TCPIPLibs:sys.h.time +o.ehci: TCPIPLibs:sys.h.queue +o.ehci: ^.machine.h.bus +o.ehci: TCPIPLibs:sys.h.types +o.ehci: TCPIPLibs:machine.h.endian +o.ehci: ^.dev.usb.h.usb +o.ehci: TCPIPLibs:sys.h.types +o.ehci: TCPIPLibs:sys.h.time +o.ehci: ^.dev.usb.h.usb_port +o.ehci: h.opt_usbverbose +o.ehci: ^.sys.h.device +o.ehci: TCPIPLibs:h.errno +o.ehci: TCPIPLibs:sys.h.ioccom +o.ehci: ^.dev.usb.h.usbdi +o.ehci: ^.dev.usb.h.usbdivar +o.ehci: ^.dev.usb.h.usb_mem +o.ehci: ^.dev.usb.h.usb_quirks +o.ehci: ^.dev.usb.h.ehcireg +o.ehci: ^.dev.usb.h.ehcivar +o.usbmodule: c.usbmodule +o.usbmodule: h.usbmodhead +o.usbmodule: C:h.kernel +o.usbmodule: h.bufman +o.usbmodule: C:h.kernel +o.usbmodule: C:Global.h.RISCOS +o.usbmodule: C:Global.h.Services +o.usbmodule: TCPIPLibs:sys.h.callout +o.usbmodule: TCPIPLibs:sys.h.queue +o.usbmodule: TCPIPLibs:sys.h.ioctl +o.usbmodule: TCPIPLibs:sys.h.ttycom +o.usbmodule: TCPIPLibs:sys.h.ioccom +o.usbmodule: TCPIPLibs:sys.h.ioccom +o.usbmodule: TCPIPLibs:sys.h.filio +o.usbmodule: TCPIPLibs:sys.h.ioccom +o.usbmodule: TCPIPLibs:sys.h.sockio +o.usbmodule: TCPIPLibs:sys.h.ioccom +o.usbmodule: TCPIPLibs:sys.h.time +o.usbmodule: ^.dev.usb.h.usb +o.usbmodule: TCPIPLibs:sys.h.types +o.usbmodule: TCPIPLibs:sys.h.cdefs +o.usbmodule: TCPIPLibs:machine.h.endian +o.usbmodule: TCPIPLibs:machine.h.ansi +o.usbmodule: TCPIPLibs:machine.h.types +o.usbmodule: TCPIPLibs:sys.h.time +o.usbmodule: ^.dev.usb.h.usb_port +o.usbmodule: h.opt_usbverbose +o.usbmodule: ^.sys.h.device +o.usbmodule: TCPIPLibs:sys.h.queue +o.usbmodule: TCPIPLibs:h.errno +o.usbmodule: TCPIPLibs:sys.h.errno +o.usbmodule: TCPIPLibs:sys.h.ioccom +o.usbmodule: ^.dev.usb.h.usbdi +o.usbmodule: ^.dev.usb.h.usbdi_util +o.usbmodule: ^.dev.usb.h.usbdivar +o.usbmodule: ^.dev.usb.h.usbhid +o.usbmodule: C:h.swis +o.usbmodule: C:debuglib.h.debuglib +o.usbmodule: C:callx.h.callx +o.usbmodule: C:h.kernel +o.usbmodule: OS:oslib.h.devicefs +o.usbmodule: OS:oslib.h.types +o.usbmodule: OS:oslib.h.os +o.usbmodule: OS:oslib.h.buffer +o.usbmodule: tbox:h.toolbox +o.usbmodule: tbox:h.wimp +o.usbmodule: h.usbmouse +o.usbmodule: h.usbkboard +o.usbmodule: h.service +o.usbmodule: ^.dev.usb.h.usb +o.usbkboard: c.usbkboard +o.usbkboard: C:Global.h.RISCOS +o.usbkboard: C:Global.h.Keyboard +o.usbkboard: C:Global.h.Pointer +o.usbkboard: C:callx.h.callx +o.usbkboard: C:h.kernel +o.usbkboard: h.usbmodhead +o.usbkboard: C:h.swis +o.usbkboard: C:debuglib.h.debuglib +o.usbkboard: TCPIPLibs:sys.h.callout +o.usbkboard: TCPIPLibs:sys.h.queue +o.usbkboard: TCPIPLibs:sys.h.ioctl +o.usbkboard: TCPIPLibs:sys.h.ttycom +o.usbkboard: TCPIPLibs:sys.h.ioccom +o.usbkboard: TCPIPLibs:sys.h.ioccom +o.usbkboard: TCPIPLibs:sys.h.filio +o.usbkboard: TCPIPLibs:sys.h.ioccom +o.usbkboard: TCPIPLibs:sys.h.sockio +o.usbkboard: TCPIPLibs:sys.h.ioccom +o.usbkboard: ^.dev.usb.h.usb +o.usbkboard: TCPIPLibs:sys.h.types +o.usbkboard: TCPIPLibs:sys.h.cdefs +o.usbkboard: TCPIPLibs:machine.h.endian +o.usbkboard: TCPIPLibs:machine.h.ansi +o.usbkboard: TCPIPLibs:machine.h.types +o.usbkboard: TCPIPLibs:sys.h.time +o.usbkboard: ^.dev.usb.h.usb_port +o.usbkboard: h.opt_usbverbose +o.usbkboard: ^.sys.h.device +o.usbkboard: TCPIPLibs:sys.h.queue +o.usbkboard: TCPIPLibs:h.errno +o.usbkboard: TCPIPLibs:sys.h.errno +o.usbkboard: TCPIPLibs:sys.h.ioccom +o.usbkboard: ^.dev.usb.h.usbdi +o.usbkboard: ^.dev.usb.h.usbdi_util +o.usbkboard: ^.dev.usb.h.usbdivar +o.usbkboard: ^.dev.usb.h.usbhid +o.usbkboard: h.usbkboard +o.usbkboard: tbox:h.wimplib +o.usbkboard: tbox:h.wimp +o.ohcimodule: c.ohcimodule +o.ohcimodule: h.ohcimodhead +o.ohcimodule: C:h.kernel +o.ohcimodule: h.USBDriver +o.ohcimodule: C:h.swis +o.ohcimodule: ^.machine.h.bus +o.ohcimodule: TCPIPLibs:sys.h.types +o.ohcimodule: TCPIPLibs:sys.h.cdefs +o.ohcimodule: TCPIPLibs:machine.h.endian +o.ohcimodule: TCPIPLibs:machine.h.ansi +o.ohcimodule: TCPIPLibs:machine.h.types +o.ohcimodule: TCPIPLibs:sys.h.queue +o.ohcimodule: TCPIPLibs:sys.h.types +o.ohcimodule: TCPIPLibs:sys.h.systm +o.ohcimodule: TCPIPLibs:machine.h.cpufunc +o.ohcimodule: TCPIPLibs:machine.h.stdarg +o.ohcimodule: TCPIPLibs:sys.h.callout +o.ohcimodule: TCPIPLibs:sys.h.queue +o.ohcimodule: ^.dev.usb.h.usb +o.ohcimodule: TCPIPLibs:sys.h.types +o.ohcimodule: TCPIPLibs:sys.h.time +o.ohcimodule: ^.dev.usb.h.usb_port +o.ohcimodule: h.opt_usbverbose +o.ohcimodule: ^.sys.h.device +o.ohcimodule: TCPIPLibs:sys.h.queue +o.ohcimodule: TCPIPLibs:h.errno +o.ohcimodule: TCPIPLibs:sys.h.errno +o.ohcimodule: TCPIPLibs:sys.h.ioccom +o.ohcimodule: ^.dev.usb.h.usbdi +o.ohcimodule: ^.dev.usb.h.usbdivar +o.ohcimodule: ^.dev.usb.h.ohcireg +o.ohcimodule: ^.dev.usb.h.ohcivar +o.ohcimodule: C:Global.h.RISCOS +o.ohcimodule: C:Global.h.Services +o.ohcimodule: C:Global.h.HALEntries +o.ohcimodule: C:Interface.h.PCI +o.ohcimodule: C:callx.h.callx +o.ohcimodule: C:h.kernel +o.ohcimodule: tbox:h.toolbox +o.ohcimodule: tbox:h.wimp +o.ohcimodule: C:DebugLib.h.DebugLib +o.ohcimodule: h.service +o.ohcimodule: ^.dev.usb.h.usb +o.ehcimodule: c.ehcimodule +o.ehcimodule: h.ehcimodhead +o.ehcimodule: C:h.kernel +o.ehcimodule: h.USBDriver +o.ehcimodule: C:h.swis +o.ehcimodule: ^.machine.h.bus +o.ehcimodule: TCPIPLibs:sys.h.types +o.ehcimodule: TCPIPLibs:sys.h.cdefs +o.ehcimodule: TCPIPLibs:machine.h.endian +o.ehcimodule: TCPIPLibs:machine.h.ansi +o.ehcimodule: TCPIPLibs:machine.h.types +o.ehcimodule: TCPIPLibs:sys.h.queue +o.ehcimodule: TCPIPLibs:sys.h.types +o.ehcimodule: TCPIPLibs:sys.h.systm +o.ehcimodule: TCPIPLibs:machine.h.cpufunc +o.ehcimodule: TCPIPLibs:machine.h.stdarg +o.ehcimodule: TCPIPLibs:sys.h.callout +o.ehcimodule: TCPIPLibs:sys.h.queue +o.ehcimodule: ^.dev.usb.h.usb +o.ehcimodule: TCPIPLibs:sys.h.types +o.ehcimodule: TCPIPLibs:sys.h.time +o.ehcimodule: ^.dev.usb.h.usb_port +o.ehcimodule: h.opt_usbverbose +o.ehcimodule: ^.sys.h.device +o.ehcimodule: TCPIPLibs:sys.h.queue +o.ehcimodule: TCPIPLibs:h.errno +o.ehcimodule: TCPIPLibs:sys.h.errno +o.ehcimodule: TCPIPLibs:sys.h.ioccom +o.ehcimodule: ^.dev.usb.h.usbdi +o.ehcimodule: ^.dev.usb.h.usbdivar +o.ehcimodule: ^.dev.usb.h.ehcireg +o.ehcimodule: ^.dev.usb.h.ehcivar +o.ehcimodule: C:Global.h.RISCOS +o.ehcimodule: C:Global.h.HALEntries +o.ehcimodule: C:Interface.h.PCI +o.ehcimodule: C:callx.h.callx +o.ehcimodule: C:h.kernel +o.ehcimodule: C:DebugLib.h.DebugLib +o.ehcimodule: h.service +o.ehcimodule: ^.dev.usb.h.usb +o.ehcimodule: OS:oslib.h.devicefs +o.ehcimodule: OS:oslib.h.types +o.ehcimodule: OS:oslib.h.os +o.ehcimodule: OS:oslib.h.buffer diff --git a/build/Resources/UK/OHCIMessages b/build/Resources/UK/OHCIMessages index a3655a03495ff05e3a78f3cbeb12bbe0ce334e7a..efc53d1a40d149a179f14c48e5668d4bb1447797 100644 GIT binary patch delta 5 McmcE3o5-&R00Zp-IsgCw delta 20 bcmdP1<yWqD$xJQ@$<I#BE3W0@nxF>&Knn(7 diff --git a/build/Resources/UK/USBMessages b/build/Resources/UK/USBMessages index cdf23b64ef8ad12e99eeebe7bca62e740817ed37..142f8054fdce4c7e4c570fc4ae032fbbd4f2378a 100644 GIT binary patch delta 45 ycmZqRTgbP;lu^Miza%I>za+p4$WTbk$;mHIO;O0tQz!xoDrA%<Z8l*%!wLXpD-YEG delta 12 TcmZ3;*TA>IlyP$y<7rj^8y*Ax diff --git a/build/c/usbmodule b/build/c/usbmodule index d4fe2b9..bf70435 100644 --- a/build/c/usbmodule +++ b/build/c/usbmodule @@ -140,6 +140,7 @@ struct iface_softc { #define E_BadXfer "\x06\x90\x81\x00" "BadXfer" #define E_NoStream "\x07\x90\x81\x00" "NoStream" #define E_BadRequest "\x08\x90\x81\x00" "BadRequest" +#define E_NotRootP "\x09\x90\x81\x00" "NotRootP" #define E_XferFailed "\x20\x90\x81\x00" "XferFailed" #define USBDEV_MESSAGES "Resources:$.Resources.USBDriver.USBDevs" @@ -199,7 +200,7 @@ extern struct cfattach uhub_uhub_ca; /* for debugging */ #ifdef USB_DEBUG -extern int usbdebug, uhubdebug, umsdebug; +extern int usbdebug, uhubdebug; extern int total_sleep; #endif #ifdef DEBUGLIB @@ -227,7 +228,7 @@ char* ccodes []= { extern int cold; void* private_word = 0; -int mouseactive = 0; +//int mouseactive = 0; struct sysvar_callback { struct sysvar_callback* next; @@ -288,7 +289,7 @@ _kernel_oserror *module_init(const char *cmd_tail, int podule_base, void *pw) private_word = pw; /* set up debugging */ debug_initialise ("USBDriver", "", 0); - debug_set_device(TML_OUTPUT); + debug_set_device(DEBUGIT_OUTPUT); debug_set_unbuffered_files (TRUE); debug_set_stamp_debug (TRUE); @@ -318,8 +319,8 @@ _kernel_oserror *module_init(const char *cmd_tail, int podule_base, void *pw) _swix (OS_Claim, _INR(0,2), PointerV, pointerv_entry, pw); - /* turn on the hourglass until the mouse is active */ - _swix (Hourglass_On, 0); +// /* turn on the hourglass until the mouse is active */ +// _swix (Hourglass_On, 0); return 0; #ifndef STANDALONE @@ -518,9 +519,16 @@ _kernel_oserror* command_reset (int n) struct usbd_port * port = udev->powersrc; usbd_device_handle parent = port->parent; + if (parent == NULL) + { + return uerror (E_NotRootP); + } + usb_disconnect_port (port, (device_ptr_t) parent->hub); - usbd_set_port_feature(parent, port->portno, UHF_PORT_RESET); - command_discover (); + usbd_clear_port_feature(parent, port->portno, UHF_PORT_POWER); + usbd_delay_ms(parent, USB_PORT_RESET_DELAY); + usbd_set_port_feature(parent, port->portno, UHF_PORT_POWER); + return NULL; } @@ -919,11 +927,11 @@ struct device* riscos_usb_attach { if ((ret = (*f) (parent, aux)) != NULL) { - if (!mouseactive) - { - mouseactive = 1; - _swix (Hourglass_Off, 0); - } +// if (!mouseactive) +// { +// mouseactive = 1; +// _swix (Hourglass_Off, 0); +// } return ret; } } @@ -1494,18 +1502,18 @@ _kernel_oserror* discover_callback (_kernel_swi_regs* r, void* pw, void* sc) return NULL; valid: - _swix (Hourglass_On, 0); +// _swix (Hourglass_On, 0); do { - _swix (Hourglass_LEDs, _INR(0,1), 1, 0); +// _swix (Hourglass_LEDs, _INR(0,1), 1, 0); usb_discover (bus->usbctl); - _swix (Hourglass_LEDs, _INR(0,1), 2, 0); +// _swix (Hourglass_LEDs, _INR(0,1), 2, 0); } while (--bus->callbacks); #ifdef USB_DEBUG dprintf (("", "finished callbacks, total sleep = %d\n", total_sleep)); #else dprintf (("", "finished callbacks\n")); #endif - _swix (Hourglass_Off, 0); +// _swix (Hourglass_Off, 0); return NULL; } @@ -1578,8 +1586,8 @@ void bufins (void* dma, void* x) } str->count += actlen; - dprintf (("", "inserting %d bytes, total %d\n", - actlen, str->count)); +// dprintf (("", "inserting %d bytes, total %d\n", +// actlen, str->count)); _kernel_swi_regs r; r.r[0] = BM_InsertBlock; @@ -1621,7 +1629,7 @@ void usbd_devinfo_vp(usbd_device_handle dev, char* v, char* p, int usedev) 255, &vendor, &len); dprintf (("", "lookup '%s' returned '%s' e = %s\n", - str, vendor, e? e->errmess: "NULL")); + str, vendor? vendor: "(null)", e? e->errmess: "NULL")); if (!e) v[len] = '\0'; } @@ -1638,7 +1646,7 @@ void usbd_devinfo_vp(usbd_device_handle dev, char* v, char* p, int usedev) 255, &product, &len); dprintf (("", "lookup '%s' returned '%s' e = %s\n", - str, vendor, e? e->errmess: "NULL")); + str, product? product: "(null)", e? e->errmess: "NULL")); if (!e) p[len] = '\0'; } @@ -1805,6 +1813,10 @@ static _kernel_oserror* device_initialise /* usb timeout, used for transfers */ str->timeout = valid->timeout; + /* force an interface alternate */ + if (valid->alternate != 0xdeaddead) + usbd_set_interface(str->iface, valid->alternate); + /* see if an interface was specified, if not then look for the interface with the endpoint specified */ find_interface_and_endpoint @@ -1832,9 +1844,6 @@ static _kernel_oserror* device_initialise goto error; } - /* force an interface alternate */ - if (valid->alternate != 0xdeaddead) - usbd_set_interface(str->iface, valid->alternate); str->ep = ep; @@ -1909,7 +1918,7 @@ detach_done: if (str->xfer == NULL) { - if (valid->ep_type == UE_ISOCHRONOUS) + if ((str->pipe->endpoint->edesc->bmAttributes & UE_XFERTYPE) == UE_ISOCHRONOUS) { str->isoc = calloc (sizeof *str->isoc, 2); str->isoc[0].xfer = usbd_alloc_xfer (ugen->sc_udev); @@ -1928,7 +1937,7 @@ detach_done: goto error; } - if (valid->ep_type == UE_INTERRUPT) + if ((str->pipe->endpoint->edesc->bmAttributes & UE_XFERTYPE) == UE_INTERRUPT) { str->pipe->repeat = 1; } @@ -2236,23 +2245,42 @@ end: void terminate_stream (struct ugen_softc* ugen, struct devstream * str, int kill) { - //dprintf (("", "terminate stream %p, ep %x, kill = %d\n", - // str, str->ep, kill)); + static int reentry = 0; + dprintf (("", "terminate stream %p, ep %x, kill = %d, reentry = %d\n", + str, str->ep, kill, reentry)); + if (reentry) + return; + reentry = 1; + if (str == NULL) + { + reentry = 0; return; + } int index = UE_GET_ADDR(str->ep) + (UE_GET_DIR(str->ep)? 16: 0); + /* don't remove stream twice! */ + if (ugen->str[index] == NULL) + { + reentry = 0; + return; + } + /* in case we were a multiply linked HID reporter, don't close the pipe */ if (ugen->str[index]->next_hid == NULL) { if (kill) { + int status; /* only close these when the device is removed */ - usbd_abort_pipe(str->pipe); - usbd_close_pipe(str->pipe); + status = usbd_abort_pipe(str->pipe); + dprintf (("", "status: %s\n", ccodes[status])); + status = usbd_close_pipe(str->pipe); + dprintf (("", "status: %s\n", ccodes[status])); usbd_free_buffer (str->xfer); - usbd_free_xfer(str->xfer); + status = usbd_free_xfer(str->xfer); + dprintf (("", "status: %s\n", ccodes[status])); ugen->str[index] = NULL; } else @@ -2266,6 +2294,7 @@ void terminate_stream (struct ugen_softc* ugen, struct devstream * str, int kill dprintf (("", "fs_stream now 0\n")); /* return early so we don't free the stream */ + reentry = 0; return; } } @@ -2283,6 +2312,7 @@ void terminate_stream (struct ugen_softc* ugen, struct devstream * str, int kill if (s == NULL) { dprintf (("", "*** couldn't find HID stream")); + reentry = 0; return; } } @@ -2301,6 +2331,7 @@ void terminate_stream (struct ugen_softc* ugen, struct devstream * str, int kill } } free (str); + reentry = 0; } /*---------------------------------------------------------------------------*/ diff --git a/build/c/usbmouse b/build/c/usbmouse index e1be727..c035747 100644 --- a/build/c/usbmouse +++ b/build/c/usbmouse @@ -46,7 +46,7 @@ extern void ums_enable (void*); extern void ums_disable (void*); -extern int umsdebug; +extern int umsdebug = 0; extern struct messages mod_messages; @@ -84,7 +84,6 @@ struct ums_softc { #define MAX_BUTTONS 31 /* chosen because sc_buttons is u_int32_t */ u_int32_t sc_buttons; /* mouse button status */ - struct device *sc_wsmousedev; char sc_dying; @@ -365,9 +364,6 @@ int detach_mouse (struct device* ms) TAILQ_REMOVE (&allums, sc, link_ms); - /* No need to do reference counting of ums, wsmouse has all the goo. */ - if (sc->sc_wsmousedev != NULL) - rv = config_detach(sc->sc_wsmousedev, 1); if (rv == 0) { free(sc->sc_loc_btn); free(sc->sc_ibuf); @@ -504,7 +500,7 @@ void ums_intr #ifdef USB_DEBUG if (umsdebug > 5) dprintf(("", "data.relx = %d, data.rely = %d, relx = %d, rely = %d, buttons = %x\n", - x, y, relx, rely, b)); + dx, dy, relx, rely, b)); #endif if ((change = sc->sc_buttons ^ b) != 0) { sc->sc_buttons = b; diff --git a/dev/usb/c/ohci b/dev/usb/c/ohci index 433f6bf..56a5473 100644 --- a/dev/usb/c/ohci +++ b/dev/usb/c/ohci @@ -999,14 +999,14 @@ ohci_freex(struct usbd_bus *bus, usbd_xfer_handle xfer) { struct ohci_softc *sc = (struct ohci_softc *)bus; -#ifdef DIAGNOSTIC - if (xfer->busy_free != XFER_BUSY) { - logprintf("ohci_freex: xfer=%p not busy, 0x%08x\n", xfer, - xfer->busy_free); - return; - } - xfer->busy_free = XFER_FREE; -#endif +//#ifdef DIAGNOSTIC +// if (xfer->busy_free != XFER_BUSY) { +// logprintf("ohci_freex: xfer=%p not busy, 0x%08x\n", xfer, +// xfer->busy_free); +// return; +// } +// xfer->busy_free = XFER_FREE; +//#endif SIMPLEQ_INSERT_HEAD(&sc->sc_free_xfers, xfer, next); } diff --git a/dev/usb/c/usb_subr b/dev/usb/c/usb_subr index ff5ea49..9f8018b 100644 --- a/dev/usb/c/usb_subr +++ b/dev/usb/c/usb_subr @@ -467,10 +467,11 @@ usbd_fill_iface_data(usbd_device_handle dev, int ifaceidx, int altidx) nendpt = ifc->idesc->bNumEndpoints; DPRINTFN(4,("usbd_fill_iface_data: found idesc nendpt=%d\n", nendpt)); if (nendpt != 0) { - ifc->endpoints = malloc(nendpt * sizeof(struct usbd_endpoint), - M_USB, M_NOWAIT); + int epsz = nendpt * sizeof(struct usbd_endpoint); + ifc->endpoints = malloc(epsz, M_USB, M_NOWAIT); if (ifc->endpoints == NULL) return (USBD_NOMEM); + memset (ifc->endpoints, 0, epsz); } else ifc->endpoints = NULL; ifc->priv = NULL; diff --git a/dev/usb/h/usbdivar b/dev/usb/h/usbdivar index 02846d8..e083319 100644 --- a/dev/usb/h/usbdivar +++ b/dev/usb/h/usbdivar @@ -196,12 +196,14 @@ struct usbd_xfer { usbd_status status; usbd_callback callback; __volatile char done; -#ifdef DIAGNOSTIC +//#ifdef DIAGNOSTIC u_int32_t busy_free; #define XFER_FREE 0x46524545 #define XFER_BUSY 0x42555359 #define XFER_ONQU 0x4f4e5155 -#endif +//#else +// u_int32_t busy_freespare; +//#endif /* For control pipe */ usb_device_request_t request; -- GitLab