Commit Graph

129694 Commits

Author SHA1 Message Date
mycroft
d978001d30 Clear some more ICR0 bits on socket enable/disable. 2004-08-11 00:58:08 +00:00
mycroft
b9798ff4a2 Add a settype() function.
XXX Note that I haven't even compiled this, but any problems are likely to be
more straightforward than crashing with a null pointer dereference.
2004-08-11 00:55:38 +00:00
mycroft
faaea66252 Fix uninitialized variable warnings (which did not appear on x86). 2004-08-11 00:32:44 +00:00
mycroft
a23e15bcbe Rather than having a call up from the low-level driver to get the card type,
instead have a call down from the PCMCIA mid-layer to set it.  Use this from
pcmcia_function_enable().  (Currently the policy is the same, but this would
allow for more flexibility in deciding which mode to use.)

Now it is safe to hold the socket enabled during attach, so do that.  Only
one enable/disable cycle to attach a card now!
2004-08-11 00:18:18 +00:00
mycroft
a6bd4c05d7 GC some unneeded struct elements. 2004-08-10 23:34:32 +00:00
mycroft
76ad292990 Move the socket reference counting into pcmcia_socket_{enable,disable}(), and
use that where needed.
2004-08-10 23:34:06 +00:00
mycroft
32dee96c25 Hold a reference between atabus_attach() and atabusconfig() to avoid an extra
enable/disable cycle.  Now my CF card attaches a bit faster.

XXX This code is split strangely between files.
2004-08-10 23:09:38 +00:00
mycroft
8c50dac2a1 Rather than the silly state machine, set whatever higher-level reference
count there is (for SCSI, adapt_refcnt) to 1 and call the appropriate
"delref" function afterwards to disable the controller.  This is a bit
simpler.

In a couple of cases, just remove the state machine, because it wasn't
really necessary.
2004-08-10 22:49:12 +00:00
dyoung
90691ca787 Cosmetic: remove extraneous blank line. 2004-08-10 21:58:31 +00:00
mycroft
c2ecd3e635 Update to the new world order. While I'm here, simplify a lot. 2004-08-10 21:14:50 +00:00
mycroft
0a960e80ec +cs@pcmcia 2004-08-10 20:50:11 +00:00
mycroft
8355db5e7a Update to the new world order. 2004-08-10 20:47:17 +00:00
mycroft
ab96663a2a Use the right function for disabling after attach. 2004-08-10 20:25:03 +00:00
mycroft
22d0dd0aab Whoops. This goes with the esl_pcmcia.c commit. 2004-08-10 19:55:20 +00:00
mycroft
2f2f7913ed This code was pretty far from even compiling before. It also doesn't implement
detach support.  However, update other parts of it.
2004-08-10 19:54:30 +00:00
mycroft
a2606a74af Update to the new world order.
XXX This driver's backend should really be merged with ess.
2004-08-10 19:47:11 +00:00
mycroft
43a768d1a7 Remove an extra printf(). 2004-08-10 19:23:21 +00:00
mycroft
8534032c92 Constify. 2004-08-10 19:20:20 +00:00
mycroft
bf4a3f1523 Whoops, look at both the ID numbers and the CIS strings in each pcmcia_product.
It's dumb that drivers depend on this, but...
2004-08-10 19:15:08 +00:00
mycroft
96221eb572 Constify. 2004-08-10 19:12:25 +00:00
mycroft
1e7c425a39 Replace another home-grown matching function. 2004-08-10 19:08:37 +00:00
drochner
5a11f34433 The amd64 address space layout is different.
We can't assume that kernel addresses are below
VM_MAX_KERNEL_ADDRESS.
2004-08-10 18:57:09 +00:00
mycroft
3a3d934204 Regen. 2004-08-10 18:45:36 +00:00
mycroft
99e8c8ddca Copyright maintenance. 2004-08-10 18:45:25 +00:00
mycroft
0515828a46 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.
2004-08-10 18:43:49 +00:00
mycroft
adbea3511a 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_*.
2004-08-10 18:39:08 +00:00
mycroft
f185d2861f Remove some CIS strings that we don't actually want to match on -- in some
cases they contain minor revision numbers, and one was even someone's MAC
address!
2004-08-10 18:00:15 +00:00
mycroft
e489df60f6 Take a shot at updating this to the new world order. Hopefully someone will
test it for me...
2004-08-10 16:43:47 +00:00
mycroft
d11fb31edb More careful about cleaning up pointers. 2004-08-10 16:04:16 +00:00
mycroft
f1b2ffd886 Hold a reference to the adapter until scsibus_config() has been called. This
avoids an extra enable/disable cycle on removable controllers (i.e. PCMCIA).
2004-08-10 15:46:44 +00:00
mycroft
70ca4b2fa7 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.
2004-08-10 15:29:56 +00:00
mycroft
90f47f6065 Better fix for the previous. 2004-08-10 08:57:50 +00:00
mycroft
8ccc950011 Copyright maintenance. 2004-08-10 08:56:08 +00:00
mycroft
51376df968 Fix a reference count problem I introduced here. 2004-08-10 08:29:27 +00:00
skrll
adf5c92842 Include <sys/cdefs.h> once. 2004-08-10 07:35:53 +00:00
mycroft
03515f2f84 Update to the new world order.
XXX Note: This eliminates some register writes that were done in the "init"
routine during attach.  If these are necessary, they need to do done somewhere
else, quite possibly the enable routine.
2004-08-10 07:04:19 +00:00
mycroft
aebf4d4a6e Update to the new world order. 2004-08-10 07:03:14 +00:00
mycroft
4160a45384 For the c400, set 5380 compatibility mode on every pass through the reset
routine.  The PCMCIA attachment, at least, needs this.
2004-08-10 07:00:30 +00:00
mycroft
26df0f0126 Fix a printf(). 2004-08-10 06:23:50 +00:00
mycroft
6d1b8921aa Copyright maintenance. 2004-08-10 06:10:38 +00:00
mycroft
6c47211011 Update to the new world order. 2004-08-10 06:08:58 +00:00
mycroft
ac82590655 Remove some useless code. 2004-08-10 06:05:40 +00:00
mycroft
d55195e28b Update to the new world order.
"While I'm here..."
All that grotesque code allegedly for the 88190 and 88790 is actually just
mapping the CCR and writing to it.  So, enable the device normally and use
pcmcia_ccr_{read,write}() rather than doing this crap ourselves.
2004-08-10 05:24:56 +00:00
mycroft
1234bb195c Update to the new world order. 2004-08-10 05:23:04 +00:00
mycroft
9e12fe4182 Minor change to a printf(). 2004-08-10 05:22:33 +00:00
mycroft
1641421432 Move the location of a printf() I added. 2004-08-10 05:21:59 +00:00
mycroft
1a0a3e5f59 Update to the new world order. 2004-08-10 03:54:37 +00:00
mycroft
baa0e65038 Make the enable state machine during attach more robust. 2004-08-10 03:54:26 +00:00
mycroft
dae3551db2 Regen. 2004-08-10 03:03:29 +00:00
mycroft
a866720a7e Remove a very silly hack WRT the Digital vendor ID. 2004-08-10 03:03:11 +00:00