summaryrefslogtreecommitdiffstats
path: root/sys/pccard/pccard.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Include <sys/select.h> -- don't depend on pollution in <sys/proc.h>.bde1999-01-271-1/+2
|
* Initial update pccard code for KLD module support. Module supportpeter1999-01-191-12/+32
| | | | | | however is only marginally useful until the new-style bus (pci and isa) stuff comes onboard to give us a better shot at actually pci and isa drivers loadable (or preloadable anyway).
* Add #include to get a prototype for update_intr_masks().peter1998-11-091-1/+2
|
* - Fix a bug where a "power_off_slot' timeout was not cancelled when thenate1998-09-241-1/+6
| | | | | | | | computer 'suspended', although the slot was powered off. There was a race where the slow could be powered off *after* it was assigned a new driver when the computer was 'resumed'. Noticed by: Brian Somers <brian@Awfulhak.org>
* Make PCIC_RESUME_RESET an proper option.brian1998-09-081-3/+4
| | | | | | My laptop (a CTX Cybernote) needs this. It claims to have a PC-Card VLSI 82C146 (5 mem & 2 I/O windows)
* o renable pccard_remove_driver (it was used in the skel.c driver)imp1998-08-261-3/+1
| | | | | o update skel.c to lots of stuff that has happened since the last time it was updated.
* Use [u]intptr_t instead of [u_]long for casts between pointers andbde1998-08-161-6/+8
| | | | integers. Don't forget to cast to (void *) as well.
* Changed the type of an isa/general interrupt handler to take abde1998-06-181-3/+3
| | | | | | `void *' arg. Fixed or hid most of the resulting type mismatches. Handlers can now be updated locally (except for reworking their global declarations in isa_device.h).
* This commit fixes various 64bit portability problems required fordfr1998-06-071-2/+2
| | | | | | | | | | FreeBSD/alpha. The most significant item is to change the command argument to ioctl functions from int to u_long. This change brings us inline with various other BSD versions. Driver writers may like to use (__FreeBSD_version == 300003) to detect this change. The prototype FreeBSD/alpha machdep will follow in a couple of days time.
* Include pc98.h instead of isa.h when PC98 is defined.kato1998-05-051-1/+5
|
* - Give up trying for a simple solution for correctly recognizing if a cardnate1998-04-201-1/+4
| | | | | | | | | | | was really removed, or simply 'faked' by a suspend/resume. Keep track of both current and previous state, and send that information to the userland programs. [ XXX - This breaks binary compatability with older pccardd programs, but they don't work reliably. :( ]
* - Whoops, better have the structure created before trying to use it innate1998-04-091-2/+2
| | | | | | the patch I just submitted. Noticed by: phk
* - Fix bug I introduced a few months ago. If a driver fails the probe,nate1998-04-081-4/+4
| | | | | | | | correctly unregister the interrupt from the system. [ My fix is much simpler than the one provided in the PR ] PR: 6249
* Removed unused #includes.bde1998-02-251-2/+1
|
* Make all file-system (MFS, FFS, NFS, LFS, DEVFS) related option new-style.eivind1998-01-241-1/+3
| | | | | | | | This introduce an xxxFS_BOOT for each of the rootable filesystems. (Presently not required, but encouraged to allow a smooth move of option *FS to opt_dontuse.h later.) LFS is temporarily disabled, and will be re-enabled tomorrow.
* Specify the minor number correctly when creating devfs entries.msmith1998-01-021-1/+3
|
* - Renamed 'card.h' to 'cardinfo.h', to avoid namespace collisions withnate1997-11-181-1/+1
| | | | | | the card.h that config builds. [ Repository renaming done in the background to save the card.h history ]
* MF22:nate1997-11-151-5/+6
| | | | | | | | | | | | (update_intr_masks might not need to be done in 3.X, but the new generic interrupt code is incomplete w/regard to support for the PCCARD code, so to avoid any potential problems use it. It can't hurt). - Correctly register pcic_imask with the system interrupt code. - Call update_intr_masks() so that pcic_imask modifications that occur when card interrupts are registered get updated in the system interrupt code.
* - Disable cards when doing a suspend by emulating that they have beennate1997-10-281-8/+11
| | | | | | | | | | | | removed. Add a new state 'suspend' so we 'fake' insertion events at resume time for the cards that have been suspended. [ The code still works if you remove the card during suspend, switch the card during suspend, or combinations of both. ] Reviewed by: frf@xocolatl.com
* - Instead of relying on a functional call to register PCARD-capable drivers,nate1997-10-261-2/+10
| | | | | | | | use a Linker Set. Note, if a driver is loaded as an LKM if will have to use the function call, but since none of the existing drivers are loadable, this made things cleaner and boot messages nicer. Obtained from: PAO-970616
* - 'Beep' support now happens in it's own separate file, so you can messnate1997-10-261-22/+5
| | | | | | | around with different noises for the different events and not have it affect other files. Inspired by: PAO
* - Functional changes to PCCARD support.nate1997-10-261-39/+12
| | | | | | | | | | * Kill individual drivers 'suspend' routines, since there's no simple/safe way to suspend/resume a card w/out going through the complete probe at initialization time. * Default to using the apm_pccard_resume sysctl code, which basically pretends the card was removed, and then re-inserted. Suspend/resume is now 'emulated' with a fake insert/removal. (Hence we no longer need the driver-specific suspend routines.)
* - Do a bunch of gratuitous changes intended to make the code easier tonate1997-10-261-291/+294
| | | | | | | | | | | | follow. * Rename/reorder all of the pccard structures, change many of the member names to be descriptive, and follow more closely other 'bus' drivers naming schemes. * Rename a bunch of parameter and local variable names to be more consistant in the code. * Renamed the PCCARD 'crd' device to be the 'card' device * KNF and make the code consistant where it was obvious. * ifdef'd out some unused code
* - Call 'callout_handle_init' on the two timeout channels after they arenate1997-10-261-0/+2
| | | | created in the new slot controller structure.
* - Use the definitions found in <i386/isa/isa.h> instead of rolling ournate1997-10-241-6/+7
| | | | | | | | own definition of ISA_HOLE_START. We shouldn't need to include bus/processor specific code in here, but it is required. At least by doing it this way it becomes more obvious where the bogusness is. Obtained from: email with bde
* - defined constant ISA_HOLE_START (would be nice to include machine/pmap.h,nate1997-10-231-57/+66
| | | | | | | | | but it has too much baggage). - create a new routine 'unregister_device_interrupt', which is now used instead of having two routines with the same code snippet. - Minor cleanups and commenting. [ No functional changes, just moving things around ]
* - Move the untimeout code call out of the check for pwr_off_pending. Itnate1997-10-231-3/+2
| | | | shouldn't make any difference, but did on a couple of test systems.
* - Fix braino in last commit. (Slow networks should be outlawed!)nate1997-10-231-2/+2
|
* - When doing suspend/resume, only try to suspend those drivers on activenate1997-10-231-4/+8
| | | | | | | | | | | | | slots. Otherwise, we try to suspend drivers who have been disabled already. [ The only reason the drivers are still on the list is because of race conditions where the card is removed while the driver is in use. We leave the drivers on the slot list (leaving all of their structures in place in case a process is using it) but set it's state to empty so that further uses by the pccard code know not to expect active cards. ]
* Back our V1.36, due to reports of badness. (IRQ's are again allocatednate1997-10-231-1/+1
| | | | | | | from the 'lower' interrupts to the 'higher' interrupts.) We need to find a way to set the interrupt for the controller in the config file. Determined by: handy@sag.space.lockheed.com
* - Simplify code by removing a variable which was initialized once, nevernate1997-10-231-7/+2
| | | | modified, and was expected to have the initialized value.
* - Bring in APM_PCCARD_RESUME support from PAO, FreeBSD style. This newnate1997-10-061-8/+33
| | | | | | | sysctl option 'fakes' like a card was removed and inserted when the machine is brought up again from a suspend. It is disabled by default, and the old code is used. Obtained from: PAO
* - Include <sys/interrupt.h> to avoid compiler errors.nate1997-10-061-0/+1
|
* - Allocate the 'PCIC' interrupt from the last available (higher #) IRQnate1997-10-061-1/+1
| | | | | | | instead of the first available, like Win95 does. This appears to help on some machines, and avoids potential problems with built-in serial ports which tend to live at IRQ 3, which is usually picked with the old method.
* Update for new callout interface.gibbs1997-09-211-6/+7
|
* Update select -> poll in drivers.peter1997-09-141-18/+21
|
* 1. i82365.h: Chip identifiers should not be #ifdef PC98. Add identifierphk1997-04-201-3/+14
| | | | | | | | | | (pt. unused) for TI PCI1130. 2. pccard.c: PCIC_RESUME_RESET is now (also) a sysctl. (Never make it a #ifdef if it can be made a sysctl!) 3. pcic.c: make getb() and putb() proper member functions of struct pcic_slot. Add a couple of missing casts.
* In the disable_slot() routine, the variable "i" wasnate1997-02-111-1/+1
| | | | | | | | being used without ever being initialized. From examining the rest of the routine, it looks like this is a typo, and it really should have been "1" instead of "i". Submitted by: mpp
* Include file cleanups.nate1997-01-131-11/+2
| | | | Submitted by: bde
* Update the PCIC controller's imask with individual slot IRQ's.nate1997-01-111-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | Assuming that the intr_mask[] was updated by changing the maskptrs (the existing update_intr_masks() function will not work) this code was written so the PCIC controller insertion/removal events will not interrupt the card IRQ handler events. Some possible scenarios: + Card is removed during IRQ handler: - PCIC card handler is allowed to interrupt - card removal event is called, removing the driver and data structures * card interrupt handler continues w/out driver, data structures, and hardware OR (the code just committed) * card IRQ handler has no hardware to read/write to, but has code and data to run on (XXX- Assume it completes and doesn't spin forever) - PCIC card handler unloads the card driver The current situation at least leaves the card interrupt handlers the drivers and data structures to work with although the hardware can't be guaranteed. Reviewed by: bde
* Removed magic # 16 and replaced with ICU_LEN.nate1997-01-111-1/+1
|
* - Added PCIC resume functionnate1997-01-081-0/+4
| | | | | | - Cleaned up VLSI-PCIC work-around code Submitted by: nate & the Nomads
* - Don't include <machine/laptops.h>. It was a kludge I should nevernate1996-09-071-1/+0
| | | | have imported.
* Yet another merge. Remove support.s by deleting memcopy. Removeasami1996-09-071-3/+1
| | | | | | autoconf.c by merging icu.h. Fix a couple of typos. Submitted by: The FreeBSD(98) Development Team.
* Remove devconf, it never grew up to be of any use.phk1996-09-061-16/+0
|
* Added #include of <machine/md_var.h>. This will be needed whenbde1996-06-251-0/+1
| | | | | some declarations are moved from <machine/cpufunc.h> to better places.
* Oops, forgot to delete some garbage from working code.asami1996-06-141-8/+0
|
* The Great PC98 Merge.asami1996-06-141-0/+14
| | | | | | | | All new code is "#ifdef PC98"ed so this should make no difference to PC/AT (and its clones) users. Ok'd by: core Submitted by: FreeBSD(98) development team
* Minor formatting changes. No functional differences, but makes thenate1996-06-051-17/+15
| | | | style more consistant with KNF and the Nomad release.
* Adds the APM hooks into the generic pccard kernel files. With this codenate1996-04-231-6/+113
| | | | | | | | | in place device drivers can now register power-down/power-up routines so that we can use common routines to power-up/power-down cards for insert/removals, suspend/resume, etc.. Reviewed by: phk Submitted by: the 'Nomads'
OpenPOWER on IntegriCloud