Home | History | Annotate | Download | only in pcmcia
History log of /src/sys/dev/pcmcia/if_sm_pcmcia.c
RevisionDateAuthorComments
 1.57  08-Feb-2018  dholland Typos.
 1.56  07-Jul-2016  msaitoh KNF. Remove extra spaces. No functional change.
 1.55  27-Oct-2012  chs branches: 1.55.14;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.54  12-May-2009  cegger branches: 1.54.12; 1.54.22;
struct device * -> device_t, no functional changes intended.
 1.53  12-May-2009  cegger struct cfdata * -> cfdata_t, no functional changes intended.
 1.52  14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.51  28-Apr-2008  martin branches: 1.51.8; 1.51.14;
Remove clause 3 and 4 from TNF licenses
 1.50  05-Apr-2008  cegger branches: 1.50.2; 1.50.4;
use aprint_*_dev and device_xname
 1.49  19-Oct-2007  ad branches: 1.49.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.48  16-Nov-2006  christos branches: 1.48.8; 1.48.22; 1.48.24; 1.48.28;
__unused removal on arguments; approved by core.
 1.47  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.46  11-Dec-2005  christos branches: 1.46.20; 1.46.22;
merge ktrace-lwp.
 1.45  04-Feb-2005  perry branches: 1.45.6;
de-__P
 1.44  10-Aug-2004  mycroft branches: 1.44.4; 1.44.6;
Now that all the silly string printing is gone, move the location where we
print a newline so it doesn't have to be done in every driver.
 1.43  10-Aug-2004  mycroft Enhance pcmcia_product_lookup():
* Remove the "expected function" value. This was just causing problems with
multifunction cards. Differentiating the functions is better done by
checking the function type (which we now do in ep and sm).
* Add support for matching CIS strings. This necessitated changing the calling
pattern a little too.

Use this enhanced version rather than driver-specific versions that do the
same thing.

Also, remove the last vestiges of PCMCIA_STR_*.
 1.42  10-Aug-2004  mycroft More careful about cleaning up pointers.
 1.41  10-Aug-2004  mycroft Print diagnostics in only one place if intr_establish() or function_enable()
fails.

Also, be a little more careful about passing up error values, and consistently
clear our interrupt handler pointer.
 1.40  10-Aug-2004  mycroft Copyright maintenance.
 1.39  10-Aug-2004  mycroft Update to the new world order.
 1.38  09-Aug-2004  mycroft Adapt to the new world order. Now all my sm cards work.
 1.37  09-Aug-2004  mycroft Make pcmcia_function_disable() primarily responsible for disabling the CCR
bits. pcmcia_intr_disestablish() continues to do this as a stopgap.
 1.36  08-Aug-2004  mycroft Remove the "offset" and "size" arguments to pcmcia_io_map(). In the singular
case (ne@pcmcia) where we were using these to create a subregion, it is better
handled by calling bus_space_subregion().

Now there is a 1:1 mapping between I/O spaces in the config table and windows
mapped in the function. Rework the multifunction mapping code to take
advantage of this by using both I/O base addresses if necessary.
 1.35  08-Aug-2004  mycroft Search all the configuration entries.
 1.34  08-Aug-2004  mycroft AFAICT, there's no reason not to use PCMCIA_WIDTH_AUTO here.
 1.33  07-Aug-2004  mycroft Clean up attach messages.
 1.32  07-Aug-2004  mycroft The generic code already looked for a LAN ID tuple, so look at what it found
rather than reparsing.
 1.31  06-Aug-2004  mycroft Make a couple of Megahertz cards (one straight Ethernet, one multifunction)
work by:
* adding another product to the table,
* checking the function type (to reject the serial port),
* trying harder to find the MAC address in the CIS strings (it may occur in
one of two different places).
Also, PCMCIA_STR_* elimination.
 1.30  02-Oct-2002  thorpej branches: 1.30.6;
Add trailing ; to CFATTACH_DECL.
 1.29  30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.28  27-Sep-2002  thorpej Declare all cfattach structures const.
 1.27  01-Jun-2002  lukem SIMPLEQ rototill:
- implement SIMPLEQ_REMOVE(head, elm, type, field). whilst it's O(n),
this mirrors the functionality of SLIST_REMOVE() (the other
singly-linked list type) and FreeBSD's STAILQ_REMOVE()
- remove the unnecessary elm arg from SIMPLEQ_REMOVE_HEAD().
this mirrors the functionality of SLIST_REMOVE_HEAD() (the other
singly-linked list type) and FreeBSD's STAILQ_REMOVE_HEAD()
- remove notes about SIMPLEQ not supporting arbitrary element removal
- use SIMPLEQ_FOREACH() instead of home-grown for loops
- use SIMPLEQ_EMPTY() appropriately
- use SIMPLEQ_*() instead of accessing sqh_first,sqh_last,sqe_next directly
- reorder manual page; be consistent about how the types are listed
- other minor cleanups
 1.26  13-Nov-2001  lukem branches: 1.26.8;
add RCSIDs
 1.25  05-Sep-2001  pooka * make this match the Psion Goldcard
* teach it to read the MAC addr from the correct place (from OpenBSD)
* change order of intr_dis/establish() and function_en/disable() to
avoid panics on this multifunction card due to the CCR window
not being mapped in intr_dis/establish()
 1.24  01-Jul-2001  thorpej branches: 1.24.2;
Remove unneeded include files. From Onno van der Linden.
 1.23  30-Jul-2000  briggs branches: 1.23.2;
Add MII support to smc91cxx driver. This is supported for the 91c100
and 91c100FD (FEAST) controllers. Existing controllers should continue
to work as they have. Added the card's memory to the probe message.
 1.22  20-Feb-2000  enami branches: 1.22.4;
Fix thinko in previous commit.
 1.21  09-Feb-2000  enami - No need to keep track enable/disable state here. The smc91cxx.c also
manages it.
- Disestablish an interrupt when failed to enable card.
- Don't say I'm enabled if failed to enable card.
 1.20  04-Feb-2000  cgd replace the *_lookup table entry match/lookup functions in all of
these drivers with a single common function (which supports tables
of variable-sized structures). Things are mostly as they were before:
tables are terminated by entry with NULL name, etc. There's also
the ability to call a driver-specific match function which can be used
to augment the table lookup.
 1.19  02-Feb-2000  itojun if_detach for sm/pcmcia.
with addition of resource allocation flags in softc (to DTRT on detach).
 1.18  28-Sep-1999  thorpej branches: 1.18.2;
Sync the ASCII Ethernet address decoder with mhzc.c. New version by
Chuck Cranor is more efficient and fixes a bug which would have caused
data corruption in some cases.
 1.17  28-Sep-1999  thorpej Don't handle the Megaherz XJEM3336 here.
 1.16  19-Feb-1999  abs Add ID for IBM 'PCMCIA Portable CD-ROM Drive'. We only have one of these and it
may be broken (it choked under Windows), but it at least now probes.
 1.15  18-Nov-1998  thorpej Now that the *_activate() functions don't do things which are attachment
specific, move them into the chipset drivers.
 1.14  18-Nov-1998  thorpej Move the i/o window unmap and i/o space free into *_detach().
 1.13  17-Nov-1998  thorpej Add detach and activate entry points. Mostly functional except for
#ifdef notyet'd if_delref() and if_detach(), which will be fixed up
when that code is committed.
 1.12  08-Oct-1998  thorpej Fix some whitespace lossage.
 1.11  15-Aug-1998  thorpej Sigh, #if 0 the SMC 8020BT EtherEZ entry until we know what the product
ID really is.
 1.10  15-Aug-1998  thorpej Take a stab at supporting the SMC 8020BT EtherEZ. (Similar to the
Megahertz; Ethernet address is stored in third CIS info string, but
may also be in the FUNCE/LANNID tuple.)
 1.9  15-Aug-1998  thorpej In the NewMedia callback, make sure we have a LAN Node ID tuple.
 1.8  15-Aug-1998  thorpej Use the symbolic name for the tuple code used to find the Ethernet
address.
 1.7  14-Aug-1998  thorpej Add support for the NewMedia BASICS Ethernet. Device info provided by
Stefan Grefen in PR #5902.
 1.6  19-Jul-1998  christos Add a devlist2h.awk so that we don't sprinkle the same constants over
each device driver file and use it.
 1.5  05-Jul-1998  jonathan defopt NS, NSIP.
 1.4  05-Jul-1998  jonathan defopt INET, NETATALK.
 1.3  09-Jun-1998  thorpej Nuke __BROKEN_INDIRECT_CONFIG.
 1.2  16-Oct-1997  thorpej Pull marc-pcmcia branch down from trunk.
 1.1  11-Aug-1997  thorpej branches: 1.1.2;
file if_sm_pcmcia.c was initially added on branch marc-pcmcia.
 1.1.2.5  16-Oct-1997  thorpej Don't establish our interrupt hander at attach time. Instead, establish
it in the enable hook, and disestablish it in the disable hook. This gives
us two wins:

- Allows us to more fairly allocate an interrupt after other
devices which can't do dynamic allocation have hooked up
theirs.

- In the event the default interrupt allocation scheme is bad,
this allows us to bring an interface down, patch a kernel
variable (eventually, run a program that does the right
thing for us) to set up an interrupt allocation scheme suitable
for our laptop model, bring the interface back up, and have
the Right Thing happen.
 1.1.2.4  14-Oct-1997  thorpej Explicitly align the allocated i/o space region to the size of the allocation.
This was previously implied, but we must explicitly specify it since some
cards may have more strict alignment requirements.
 1.1.2.3  29-Sep-1997  thorpej Add power management hooks.
 1.1.2.2  23-Aug-1997  thorpej Update for changes to pcmcia function manipulation.
 1.1.2.1  11-Aug-1997  thorpej Add a PCMCIA attachment for the smc91cxx ethernet driver ("sm"), written
from scratch by me. Currently supports the Megahertz X-JACK PCMCIA Ethernet
Adapter.
 1.18.2.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.22.4.1  06-Aug-2000  briggs Pullups approved by thorpej --
Add MII support to smc91cxx driver. This is supported for the 91c100
and 91c100FD (FEAST) controllers. Existing controllers should continue
to work as they have. Added the card's memory to the probe message.

Make sure that we do not call bus_space_*_multi_* with zero count.
Use bus_space_read/write_multi_stream_2 for FIFO instead of bsr/w_multi_2.
 1.23.2.5  18-Oct-2002  nathanw Catch up to -current.
 1.23.2.4  20-Jun-2002  nathanw Catch up to -current.
 1.23.2.3  14-Nov-2001  nathanw Catch up to -current.
 1.23.2.2  21-Sep-2001  nathanw Catch up to -current.
 1.23.2.1  24-Aug-2001  nathanw Catch up with -current.
 1.24.2.4  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.24.2.3  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.24.2.2  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.24.2.1  13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.26.8.1  20-Jun-2002  gehenna catch up with -current.
 1.30.6.4  04-Feb-2005  skrll Sync with HEAD.
 1.30.6.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.30.6.2  18-Sep-2004  skrll Sync with HEAD.
 1.30.6.1  12-Aug-2004  skrll Sync with HEAD.
 1.44.6.1  12-Feb-2005  yamt sync with head.
 1.44.4.1  29-Apr-2005  kent sync with -current
 1.45.6.2  27-Oct-2007  yamt sync with head.
 1.45.6.1  30-Dec-2006  yamt sync with head.
 1.46.22.2  10-Dec-2006  yamt sync with head.
 1.46.22.1  22-Oct-2006  yamt sync with head
 1.46.20.1  18-Nov-2006  ad Sync with head.
 1.48.28.1  25-Oct-2007  bouyer Sync with HEAD.
 1.48.24.1  06-Nov-2007  matt sync with HEAD
 1.48.22.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.48.8.1  23-Oct-2007  ad Sync with head.
 1.49.16.1  02-Jun-2008  mjf Sync with HEAD.
 1.50.4.3  16-May-2009  yamt sync with head
 1.50.4.2  04-May-2009  yamt sync with head.
 1.50.4.1  16-May-2008  yamt sync with head.
 1.50.2.1  18-May-2008  yamt sync with head.
 1.51.14.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.51.8.1  28-Apr-2009  skrll Sync with HEAD.
 1.54.22.2  03-Dec-2017  jdolecek update from HEAD
 1.54.22.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.54.12.1  30-Oct-2012  yamt sync with head
 1.55.14.1  09-Jul-2016  skrll Sync with HEAD

RSS XML Feed