History log of /src/sys/dev/isapnp/isapnp.c |
Revision | | Date | Author | Comments |
1.64 |
| 08-Sep-2024 |
rillig | fix a/an grammar in obvious cases
|
1.63 |
| 25-Sep-2022 |
thorpej | branches: 1.63.10; Incremental malloc(9) -> kmem(9)
|
1.62 |
| 07-Aug-2021 |
thorpej | Merge thorpej-cfargs2.
|
1.61 |
| 24-Apr-2021 |
thorpej | branches: 1.61.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.60 |
| 10-Nov-2019 |
chs | branches: 1.60.10; in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT and remove code to handle failures that can no longer happen.
|
1.59 |
| 23-Aug-2009 |
jmcneill | branches: 1.59.64; Drop the string 'ISA Plug 'n Play device support', it's not something to brag about anymore.
|
1.58 |
| 28-Apr-2008 |
martin | Remove clause 3 and 4 from TNF licenses
|
1.57 |
| 30-Mar-2008 |
ad | branches: 1.57.2; 1.57.4; The isapnp probe is very slow, and there's not much we can do to speed it up safely. Skip it if the system is known to have no ISA compatible expansion slots.
|
1.56 |
| 15-Mar-2008 |
cube | Split device_t and softc for isapnp(4). Use proper types, ansify when appropriate.
|
1.55 |
| 09-Dec-2007 |
jmcneill | branches: 1.55.6; 1.55.10; Merge jmcneill-pm branch.
|
1.54 |
| 01-Dec-2007 |
ad | branches: 1.54.2; 1.54.4; Noisy printfs.
|
1.53 |
| 19-Oct-2007 |
ad | branches: 1.53.2; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
1.52 |
| 16-Nov-2006 |
christos | branches: 1.52.8; 1.52.22; 1.52.24; 1.52.28; __unused removal on arguments; approved by core.
|
1.51 |
| 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.50 |
| 29-Mar-2006 |
thorpej | branches: 1.50.8; 1.50.10; Use device_private().
|
1.49 |
| 24-Dec-2005 |
perry | branches: 1.49.4; 1.49.6; 1.49.8; 1.49.10; 1.49.12; Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
1.48 |
| 11-Dec-2005 |
christos | merge ktrace-lwp.
|
1.47 |
| 26-Aug-2005 |
drochner | s/locdesc_t/int/g
|
1.46 |
| 17-May-2005 |
christos | branches: 1.46.2; Yes, it was a cool trick >20 years ago to use "0123456789abcdef"[a] to implement, xtoa(), but I think defining the samestring 50 times is a bit too much. Defined HEXDIGITS and hexdigits in subr_prf.c and use it...
|
1.45 |
| 27-Feb-2005 |
perry | nuke trailing whitespace
|
1.44 |
| 04-Feb-2005 |
perry | de-__P
|
1.43 |
| 13-Sep-2004 |
drochner | branches: 1.43.4; 1.43.6; a round of autoconf cleanup: -convert submatch() style functions (passed to config_search() or config_found_sm()) to the locator passing variants -pass interface attributes in some cases -make submatch() functions look uniformly as far as possible -avoid macros which just hide cfdata members, and reduce dependencies on "locators.h"
|
1.42 |
| 04-Dec-2003 |
keihan | netbsd.org -> NetBSD.org
This was the last commit of this kind to src/sys, which is now totally "NetBSD.org clean". Thanks for the patiance, and sorry for all the commits.
|
1.41 |
| 01-Jan-2003 |
thorpej | branches: 1.41.2; Use aprint_normal() in cfprint routines.
|
1.40 |
| 02-Oct-2002 |
thorpej | Add trailing ; to CFATTACH_DECL.
|
1.39 |
| 30-Sep-2002 |
thorpej | Use CFATTACH_DECL().
|
1.38 |
| 27-Sep-2002 |
thorpej | Declare all cfattach structures const.
|
1.37 |
| 27-Sep-2002 |
thorpej | Introduce a new routine, config_match(), which invokes the cfattach->ca_match function in behalf of the caller. Use it rather than invoking cfattach->ca_match directly.
|
1.36 |
| 07-Jan-2002 |
thorpej | Overhaul of the ISA autoconfiguration code to support direct configuration of devices logically attached to the ISA bus:
* Change the isa_attach_args to have arrays of io, mem, irq, drq resources. * Add a "pnpnames" and a linked list of "pnpcompatnames" to the isa_attach_args. If either of these members are non-NULL, direct configuration of the bus is being performed. Add an ISA_DIRECT_CONFIG() macro to test for this. * Drivers are not allowed to modify the isa_attach_args unless direct configuration is not being performed and the probe fucntion is returning success. * Adapt device drivers -- currently, all driver probe routines return "no match" if ISA_DIRECT_CONFIG() evaluates to true.
|
1.35 |
| 13-Nov-2001 |
lukem | add RCSID
|
1.34 |
| 12-Apr-1999 |
mjl | branches: 1.34.14; 1.34.16; Enable workaround for isapnp assigning already used interrupts to pnp cards by masking them out with a "options ISAPNP_ALLOC_INTR_MASK=..." in kernel config.
|
1.33 |
| 22-Mar-1999 |
mycroft | branches: 1.33.4; Add a `variant number' to the tables, so we can handle slight variations in the chipset without doing something substantially more gross.
|
1.32 |
| 22-Mar-1999 |
mycroft | Add a kluge to ignore I/O and memory ranges with a size of zero, so we don't blow up in bus_space_{map,unmap}(). At least one card uses this to `disable' a logical device. (XXX There's probably a better way to do this.)
|
1.31 |
| 10-Jan-1999 |
augustss | XXX Add a disgusting hack to make the CS sound chips work in PnP mode. XXX Read about it in isapnp.c.
|
1.30 |
| 21-Nov-1998 |
fvdl | Avoid looping forever with cards that can only use one I/O address, and specify a 0 alignment.
|
1.29 |
| 10-Oct-1998 |
hannken | Fix last commit -- NISADMA is either 0 or 1.
|
1.28 |
| 08-Oct-1998 |
thorpej | If ISA DMA is not present in the kernel (i.e. no ISA DMA-using devices configured in), don't call ISA DMA functions to check for DRQs being free. Just return EINVAL in this case. Fixes PR #6187, from Herb Peyerl.
|
1.27 |
| 05-Sep-1998 |
christos | Assign copyright to TNF.
|
1.26 |
| 31-Jul-1998 |
thorpej | Change one word to be consistent w/ a previous message.
|
1.25 |
| 31-Jul-1998 |
thorpej | Oops, unused variable.
|
1.24 |
| 31-Jul-1998 |
thorpej | Rearrange isapnp_callback() slightly.
|
1.23 |
| 31-Jul-1998 |
thorpej | Ensure we're probed only once per ISA bus.
|
1.22 |
| 31-Jul-1998 |
thorpej | Use config_defer() to scan for ISA PnP cards.
|
1.21 |
| 30-Jul-1998 |
christos | Add a hook that resets the bios configuration from the pnp devices thus making them invisible to isa probes [from OpenBSD]
|
1.20 |
| 23-Jul-1998 |
christos | branches: 1.20.2; Create a master list of pnp logical and compatibility device codes instead of hard-coding it into each driver and use a centralized probe function.
|
1.19 |
| 09-Jun-1998 |
thorpej | Nuke __BROKEN_INDIRECT_CONFIG.
|
1.18 |
| 09-Jun-1998 |
thorpej | Adjust for the changes to the ISA DMA API.
|
1.17 |
| 19-Apr-1998 |
thorpej | Fix a fencepost in last change.
|
1.16 |
| 15-Apr-1998 |
thorpej | Don't reference functions defined in isadma.c if we don't have to, since we might not have any ISA DMA-using devices configured, thus isadma.c won't be compiled. Fixes a problem reported by Kevin Lahey.
Also, since there are only 8 DMA channels, don't bother checking DRQs 8 - 15.
|
1.15 |
| 12-Jan-1998 |
thorpej | Adjust for config changes.
|
1.14 |
| 01-Dec-1997 |
mjacob | fixme: still need a __BROKEN_INDIRECT_CONFIG case
|
1.13 |
| 30-Nov-1997 |
drochner | make it compile without "__BROKEN_INDIRECT_CONFIG"
|
1.12 |
| 28-Oct-1997 |
christos | DTRT with level and edge interrupts: - add a type field to the isapnp_pin struct and set to IST_EDGE or IST_LEVEL depending on the card configuration data. - use the irq type field in all the drivers instead of hardcoding it.
|
1.11 |
| 27-Oct-1997 |
thorpej | In isapnp_alloc_irq(), use isa_intr_alloc(), since it performs resource conflict checking.
|
1.10 |
| 27-Oct-1997 |
thorpej | Make sure we don't allocate a conflicting DRQ. From Christos.
|
1.9 |
| 12-Aug-1997 |
mikel | branches: 1.9.4; don't forget to unmap read port in match routine, if successful; also ensure sc_ncards is initialized short-circuit probing for cards once first is found in match routine add support for !__BROKEN_INDIRECT_CONFIG
|
1.8 |
| 06-Aug-1997 |
mikel | don't clobber bus_space_{,un}map macros
|
1.7 |
| 03-Aug-1997 |
mikel | add support for compatible device IDs
|
1.6 |
| 08-Jun-1997 |
thorpej | branches: 1.6.4; Fix a (fatal) typo in the bus dma changes. From Bill Coldwell <billc@warped.com>
|
1.5 |
| 06-Jun-1997 |
thorpej | Pull thorpej-bus-dma branch into mainline.
|
1.4 |
| 24-Feb-1997 |
christos | branches: 1.4.2; Fix PR/3251; also don't assign the checksum every time around the loop.
|
1.3 |
| 09-Feb-1997 |
christos | Add a break; in the irq/drq allocation loop so we take the first one instead of the last one.
|
1.2 |
| 24-Jan-1997 |
christos | branches: 1.2.2; - increase string space for device class names - fix the parser so that non-compliant isapnp devices work, and we give up when there are too many errors (some on-board pnp sound/atapi/game soundblaster compatible card). reported by chuck cranor - fix the parser so that configuration tags that come after the end-dependencies tag or before the begin-dependencies tag are merged in properly (gravis ultrasound). reported by gary duzan We now build a tree of card -> logical-dev -> conf, and in the end we convert it to a list of conf...
|
1.1 |
| 16-Jan-1997 |
christos | Plug and Play support.
|
1.2.2.1 |
| 12-Mar-1997 |
is | Merge in changes from Trunk
|
1.4.2.1 |
| 13-May-1997 |
thorpej | Pass the bus dma tag to children.
|
1.6.4.1 |
| 23-Aug-1997 |
thorpej | Update marc-pcmcia branch from trunk.
|
1.9.4.4 |
| 24-Nov-1998 |
cgd | pull up rev 1.30 from trunk (fvdl)
|
1.9.4.3 |
| 29-Oct-1997 |
thorpej | Pull up from trunk: DTRT with level and edge interrupts.
|
1.9.4.2 |
| 27-Oct-1997 |
thorpej | Pull up from trunk:
In isapnp_alloc_irq(), use isa_intr_alloc(), since it performs resource conflict checking.
|
1.9.4.1 |
| 27-Oct-1997 |
thorpej | Pull up from trunk:
Make sure we don't allocate a conflicting DRQ. From Christos.
|
1.20.2.1 |
| 08-Aug-1998 |
eeh | Revert cdevsw mmap routines to return int.
|
1.33.4.1 |
| 21-Jun-1999 |
thorpej | Sync w/ -current.
|
1.34.16.2 |
| 10-Oct-2002 |
jdolecek | sync kqueue with -current; this includes merge of gehenna-devsw branch, merge of i386 MP branch, and part of autoconf rototil work
|
1.34.16.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.34.14.5 |
| 03-Jan-2003 |
thorpej | Sync with HEAD.
|
1.34.14.4 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
1.34.14.3 |
| 28-Feb-2002 |
nathanw | Catch up to -current.
|
1.34.14.2 |
| 11-Jan-2002 |
nathanw | More catchup.
|
1.34.14.1 |
| 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.41.2.6 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.41.2.5 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.41.2.4 |
| 04-Feb-2005 |
skrll | Sync with HEAD.
|
1.41.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.41.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.41.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.43.6.2 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.43.6.1 |
| 12-Feb-2005 |
yamt | sync with head.
|
1.43.4.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.46.2.6 |
| 17-Mar-2008 |
yamt | sync with head.
|
1.46.2.5 |
| 21-Jan-2008 |
yamt | sync with head
|
1.46.2.4 |
| 07-Dec-2007 |
yamt | sync with head
|
1.46.2.3 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.46.2.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.46.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.49.12.1 |
| 31-Mar-2006 |
tron | Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
|
1.49.10.1 |
| 19-Apr-2006 |
elad | sync with head.
|
1.49.8.1 |
| 01-Apr-2006 |
yamt | sync with head.
|
1.49.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.49.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.50.10.2 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.50.10.1 |
| 22-Oct-2006 |
yamt | sync with head
|
1.50.8.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.52.28.1 |
| 25-Oct-2007 |
bouyer | Sync with HEAD.
|
1.52.24.3 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.52.24.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.52.24.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.52.22.5 |
| 08-Dec-2007 |
jmcneill | Rename pnp(9) -> pmf(9), as requested by many.
|
1.52.22.4 |
| 03-Dec-2007 |
joerg | Sync with HEAD.
|
1.52.22.3 |
| 06-Nov-2007 |
joerg | Refactor PNP API: - Make suspend/resume directly a device functionality. It consists of three layers (class logic, device logic, bus logic), all of them being optional. This replaces D0/D3 transitions. - device_is_active returns true if the device was not disabled and was not suspended (even partially), device_is_enabled returns true if the device was enabled. - Change pnp_global_transition into pnp_system_suspend and pnp_system_resume. Before running any suspend/resume handlers, check that all currently attached devices support power management and bail out otherwise. The latter is not done for the shutdown/panic case. - Make the former bus-specific generic network handlers a class handler. - Make PNP message like volume up/down/toogle PNP events. Each device can register what events they are interested in and whether the handler should be global or not. - Introduce device_active API for devices to mark themselve in use from either the system or the device. Use this to implement the idle handling for audio and input devices. This is intended to replace most ad-hoc watchdogs as well. - Fix somes situations in which audio resume would lose mixer settings. - Make USB host controllers better deal with suspend in the light of shared interrupts. - Flush filesystem cache on suspend. - Flush disk caches on suspend. Put ATA disks into standby on suspend as well. - Adopt drivers to use the new PNP API. - Fix a critical bug in the generic cardbus layer that made D0->D3 break. - Fix ral(4) to set if_stop. - Convert cbb(4) to the new PNP API. - Apply the PCI Express SCI fix on resume again.
|
1.52.22.2 |
| 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.52.22.1 |
| 07-Aug-2007 |
jmcneill | Use pnp_generic_power
|
1.52.8.1 |
| 23-Oct-2007 |
ad | Sync with head.
|
1.53.2.2 |
| 27-Dec-2007 |
mjf | Sync with HEAD.
|
1.53.2.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.54.4.1 |
| 11-Dec-2007 |
yamt | sync with head.
|
1.54.2.1 |
| 26-Dec-2007 |
ad | Sync with head.
|
1.55.10.2 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.55.10.1 |
| 03-Apr-2008 |
mjf | Sync with HEAD.
|
1.55.6.1 |
| 24-Mar-2008 |
keiichi | sync with head.
|
1.57.4.2 |
| 16-Sep-2009 |
yamt | sync with head
|
1.57.4.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.57.2.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.59.64.1 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.60.10.2 |
| 22-Mar-2021 |
thorpej | Audit CFARG_IATTR in config_found() calls, and remove it in situations where the interface attribute is not ambiguous.
|
1.60.10.1 |
| 22-Mar-2021 |
thorpej | Mechanical conversion of config_found_sm_loc() -> config_found(). CFARG_IATTR usage needs to be audited.
|
1.61.8.1 |
| 04-Aug-2021 |
thorpej | Adapt to CFARGS().
|
1.63.10.1 |
| 02-Aug-2025 |
perseant | Sync with HEAD
|