History log of /src/sys/netbt/hci_unit.c |
Revision | | Date | Author | Comments |
1.16 |
| 07-Aug-2021 |
thorpej | Merge thorpej-cfargs2.
|
1.15 |
| 24-Apr-2021 |
thorpej | branches: 1.15.8; Merge thorpej-cfargs branch:
Simplify and make extensible the config_search() / config_found() / config_attach() interfaces: rather than having different variants for which arguments you want pass along, just have a single call that takes a variadic list of tag-value arguments.
Adjust all call sites: - Simplify wherever possible; don't pass along arguments that aren't actually needed. - Don't be explicit about what interface attribute is attaching if the device only has one. (More simplification.) - Add a config_probe() function to be used in indirect configuiration situations, making is visibly easier to see when indirect config is in play, and allowing for future change in semantics. (As of now, this is just a wrapper around config_match(), but that is an implementation detail.)
Remove unnecessary or redundant interface attributes where they're not needed.
There are currently 5 "cfargs" defined: - CFARG_SUBMATCH (submatch function for direct config) - CFARG_SEARCH (search function for indirect config) - CFARG_IATTR (interface attribte) - CFARG_LOCATORS (locators array) - CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)
...and a sentinel value CFARG_EOL.
Add some extra sanity checking to ensure that interface attributes aren't ambiguous.
Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark ports to associate those device handles with device_t instance. This will trickle trough to more places over time (need back-end for pre-OFW Sun OBP; any others?).
|
1.14 |
| 20-May-2014 |
rmind | branches: 1.14.42; netbt: rename some attach/detach functions to have _pcb suffix, so we could use standard attach/detach naming for pr_usrreq functions. No functional change.
|
1.13 |
| 17-Sep-2011 |
plunky | branches: 1.13.12; 1.13.26; const lookup argument
|
1.12 |
| 26-Jun-2008 |
plunky | do not hold bt_lock while detaching bthub, as devices may need to aquire it in order to detach cleanly.
|
1.11 |
| 24-Apr-2008 |
ad | branches: 1.11.2; 1.11.4; 1.11.6; Merge the socket locking patch:
- Socket layer becomes MP safe. - Unix protocols become MP safe. - Allows protocol processing interrupts to safely block on locks. - Fixes a number of race conditions.
With much feedback from matt@ and plunky@.
|
1.10 |
| 17-Mar-2008 |
plunky | branches: 1.10.2; move the updating of num_cmd_pkts to its own function, mostly so that pending commands will be output on the device in the order that they were queued.
|
1.9 |
| 30-Dec-2007 |
plunky | branches: 1.9.2; 1.9.6; request and keep a mask of supported commands per unit in order to block unsupported HCI commands sent by unprivileged users reaching the device.
|
1.8 |
| 28-Nov-2007 |
plunky | branches: 1.8.6; Clean up the way that bluetooth drivers attach to the bluetooth stack, to remove the frobbing that drivers must do in the hci_unit structure.
- driver provides a static const interface descriptor - hci_unit is allocated by hci_attach() rather than part of softc - statistics are compiled by driver and provided on request - driver provides output methods and is responsible for output queue - stack provides input methods and is responsible for input queue - mutex is used to arbitrate device queue access
|
1.7 |
| 10-Nov-2007 |
plunky | use more device_t and device_xxx() accessors
make bluetooth stack keep device_t instead of softc pointer as device is not necessarily part of softc, and pass device_t to driver callbacks. hci_devname is no longer required.
|
1.6 |
| 10-Nov-2007 |
plunky | 'struct device *' -> 'device-t'
|
1.5 |
| 08-Oct-2007 |
ad | branches: 1.5.2; 1.5.4; Use the softint API.
|
1.4 |
| 30-Mar-2007 |
plunky | branches: 1.4.8; 1.4.10; 1.4.12; be more explicit and consistent in use of KASSERT with pointers, test against NULL
|
1.3 |
| 10-Sep-2006 |
plunky | branches: 1.3.6; 1.3.10; 1.3.12; update to bluetooth device attachment:
remove pseudo-device btdev(4) and inherent limitations
add bthub(4) which autoconfigures at bluetooth controllers as they are enabled. bluetooth devices now attach here.
btdevctl(8) and its cache is updated to handle new semantics
etc/rc.d/btdevctl is updated to configure devices from a list in /etc/bluetooth/btdevctl.conf
|
1.2 |
| 17-Jul-2006 |
gdamore | branches: 1.2.2; 1.2.4; 1.2.6; Wait a little longer, because some devices (eg bt3c) take a few seconds to enable when they are loading firmware so we need to wait a bit longer.
Patch from Iain Hibbert, at his request.
|
1.1 |
| 19-Jun-2006 |
gdamore | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.1.8.2 |
| 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.1.8.1 |
| 19-Jun-2006 |
gdamore | file hci_unit.c was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.1.6.4 |
| 14-Sep-2006 |
yamt | sync with head.
|
1.1.6.3 |
| 11-Aug-2006 |
yamt | sync with head
|
1.1.6.2 |
| 26-Jun-2006 |
yamt | sync with head.
|
1.1.6.1 |
| 19-Jun-2006 |
yamt | file hci_unit.c was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.1.4.2 |
| 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.1.4.1 |
| 19-Jun-2006 |
chap | file hci_unit.c was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.1.2.9 |
| 24-Mar-2008 |
yamt | sync with head.
|
1.1.2.8 |
| 21-Jan-2008 |
yamt | sync with head
|
1.1.2.7 |
| 07-Dec-2007 |
yamt | sync with head
|
1.1.2.6 |
| 15-Nov-2007 |
yamt | sync with head.
|
1.1.2.5 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.1.2.4 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.1.2.3 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.1.2.2 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.1.2.1 |
| 19-Jun-2006 |
yamt | file hci_unit.c was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.2.6.2 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.2.6.1 |
| 17-Jul-2006 |
rpaulo | file hci_unit.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:39 +0000
|
1.2.4.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.2.2.1 |
| 14-Sep-2006 |
riz | Pull up following revision(s) (requested by plunky in ticket #161): sys/dev/bluetooth/btdev.h: revision 1.4 distrib/sets/lists/comp/mi: revision 1.922 usr.sbin/postinstall/postinstall: revision 1.25 sys/netbt/hci_unit.c: revision 1.3 sys/netbt/hci_ioctl.c: revision 1.4 usr.sbin/sdpd/profile.c: revision 1.2 usr.sbin/btdevctl/btdevctl.c: revision 1.2 share/man/man4/Makefile: revision 1.405 distrib/sets/lists/man/mi: revision 1.930 distrib/sets/lists/etc/mi: revision 1.176 usr.sbin/sdpd/profile.c: revision 1.3 usr.sbin/btdevctl/btdevctl.c: revision 1.3 etc/MAKEDEV.tmpl: revision 1.62 distrib/sets/lists/base/mi: revision 1.650 usr.sbin/btdevctl/btdevctl.h: revision 1.2 usr.bin/sdpquery/sdpquery.1: revision 1.4 sys/netbt/rfcomm_session.c: revision 1.2 usr.sbin/btdevctl/btdevctl.8: revision 1.3 usr.bin/sdpquery/search.c: revision 1.2 usr.sbin/sdpd/Makefile: revision 1.2 sys/dev/bluetooth/Makefile: revision 1.3 usr.sbin/btdevctl/cfg.c: file removal sys/netbt/files.netbt: revision 1.4 usr.sbin/btdevctl/sdp.c: revision 1.1 sys/dev/bluetooth/bthidev.c: revision 1.3 etc/bluetooth/Makefile: revision 1.3 sys/dev/pcmcia/files.pcmcia: revision 1.51 sys/dev/bluetooth/bthidev.c: revision 1.4 sys/dev/bluetooth/bthidev.h: revision 1.3 usr.sbin/btdevctl/dev.c: file removal sys/dev/bluetooth/files.bluetooth: revision 1.10 sys/arch/i386/conf/GENERIC: revision 1.777 share/man/man4/ubt.4: revision 1.6 share/man/man4/bthub.4: revision 1.3 sys/netbt/hci.h: revision 1.5 sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.202 lib/libsdp/sdp.h: revision 1.2 usr.sbin/btdevctl/print.c: revision 1.1 share/man/man4/bthidev.4: revision 1.5 share/man/man4/btdev.4: file removal usr.sbin/btdevctl/print.c: revision 1.2 sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.205 usr.sbin/btdevctl/Makefile: revision 1.2 sys/dev/usb/files.usb: revision 1.70 sys/netbt/l2cap_signal.c: revision 1.2 sys/netbt/hci_link.c: revision 1.4 sys/dev/bluetooth/bthub.c: revision 1.3 share/man/man4/btsco.4: revision 1.5 sys/netbt/hci_link.c: revision 1.5 share/man/man4/btdev.4: revision 1.4 sys/dev/bluetooth/btkbd.c: revision 1.3 sys/dev/bluetooth/btdev.c: file removal sys/netbt/hci_event.c: revision 1.2 sys/dev/bluetooth/btsco.h: revision 1.2 etc/mtree/special: revision 1.101 sys/dev/bluetooth/btsco.c: revision 1.3 sys/conf/majors: revision 1.27 usr.sbin/sdpd/hf.c: revision 1.1 sys/dev/bluetooth/btsco.c: revision 1.4 share/man/man5/rc.conf.5: revision 1.107 sys/dev/bluetooth/btdev.c: revision 1.2 etc/rc.d/btdevctl: revision 1.2 usr.sbin/btdevctl/db.c: revision 1.1 etc/rc.d/btdevctl: revision 1.3 etc/bluetooth/btdevctl.conf: revision 1.1 usr.sbin/btdevctl/hid.c: file removal sys/arch/i386/conf/GENERIC: revision 1.781 sys/dev/bluetooth/btdev.h: revision 1.3 Make btdev default count explicit Fix typo in variable name update to bluetooth device attachment: remove pseudo-device btdev(4) and inherent limitations add bthub(4) which autoconfigures at bluetooth controllers as they are enabled. bluetooth devices now attach here. btdevctl(8) and its cache is updated to handle new semantics etc/rc.d/btdevctl is updated to configure devices from a list in /etc/bluetooth/btdevctl.conf also include service name in dictionary being sent to kernel. (this is not used just yet, but it might be in the future and it will be easier if we dont have to provide code to handle its absence) clarify the CAVEAT section somewhat Add service discovery support for the Handsfree profile Replace static 'FreeBSD' string with operating system name gleaned from uname(3) Halt the callout on detach btsco.c: - sco_getopt(..., SO_SCO_MTU, ...) expects the address of a uint16_t, not an int. So change sc_mtu's type to uint16_t. - Try a little harder to ensure btsco_round_blocksize() does not return zero. Prevents a subsequent panic in audio_init_ringbuffer(). from scw@ Endian issues: hci_event.c: - Convert memo->response.clock_offset to host-endian. hci_ioctl.c: - printf format tweak (size_t) hci_link.c: - Convert memo->response.clock_offset from host-endian. - Tweak a DIAGNOSTIC message. l2cap_signal.c: - In l2cap_recv_config_req(), rp->scid is little-endian so make sure we convert from host-endian. from scw@ hci_link.c: - In hci_link_free(), do not unlink items from a LIST queue within a LIST_FOREACH() iterator. rfcomm_session.c: - In rfcomm_session_recv_mcc_nsc(), do not unlink items from a LIST queue within a LIST_FOREACH() iterator. from scw@ guard against a possible situation where the list of l2cap channels is changed when the bluetooth code is not expecting it to be. During a disconnect, we can detach the channel that is being disconnected, but its not really safe to detach any others. Print explicit 64-bit types using the format macros from int_fmtio.h. Unbreaks the build for our LP64 ports, where "long long" typically is not 64 bits.
|
1.3.12.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.3.10.2 |
| 17-Jun-2007 |
ad | - Increase the number of thread priorities from 128 to 256. How the space is set up is to be revisited. - Implement soft interrupts as kernel threads. A generic implementation is provided, with hooks for fast-path MD code that can run the interrupt threads over the top of other threads executing in the kernel. - Split vnode::v_flag into three fields, depending on how the flag is locked (by the interlock, by the vnode lock, by the file system). - Miscellaneous locking fixes and improvements.
|
1.3.10.1 |
| 10-Apr-2007 |
ad | Sync with head.
|
1.3.6.1 |
| 15-Apr-2007 |
yamt | sync with head.
|
1.4.12.1 |
| 14-Oct-2007 |
yamt | sync with head.
|
1.4.10.3 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.4.10.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.4.10.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.4.8.3 |
| 03-Dec-2007 |
joerg | Sync with HEAD.
|
1.4.8.2 |
| 11-Nov-2007 |
joerg | Sync with HEAD.
|
1.4.8.1 |
| 26-Oct-2007 |
joerg | Sync with HEAD.
Follow the merge of pmap.c on i386 and amd64 and move pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup code to restore CR4 before jumping back into kernel space as the large page option might cover that.
|
1.5.4.3 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.5.4.2 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.5.4.1 |
| 19-Nov-2007 |
mjf | Sync with HEAD.
|
1.5.2.1 |
| 13-Nov-2007 |
bouyer | Sync with HEAD
|
1.8.6.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.9.6.3 |
| 29-Jun-2008 |
mjf | Sync with HEAD.
|
1.9.6.2 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.9.6.1 |
| 03-Apr-2008 |
mjf | Sync with HEAD.
|
1.9.2.1 |
| 24-Mar-2008 |
keiichi | sync with head.
|
1.10.2.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.11.6.1 |
| 27-Jun-2008 |
simonb | Sync with head.
|
1.11.4.1 |
| 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.11.2.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.13.26.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.13.12.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.14.42.1 |
| 02-Apr-2021 |
thorpej | config_found_ia() -> config_found() w/ CFARG_IATTR.
|
1.15.8.1 |
| 05-Aug-2021 |
thorpej | Adapt to CFARGS().
|