|
Kernel Functions for Drivers | csx_ModifyConfiguration(9F) |
| csx_ModifyConfiguration - modify socket and PC Card Configuration Register |
SYNOPSIS
|
#include <sys/pccard.h>
int32_t csx_ModifyConfiguration(client_handle_t ch, modify_config_t *mc); |
|
Solaris DDI Specific (Solaris DDI)
|
|
This function allows a socket and PC Card configuration to be modified. This function can only modify a configuration requested via csx_RequestConfiguration(9F).
|
|
The structure members of modify_config_t are:
|
uint32_t Socket; /* socket number */
uint32_t Attributes; /* attributes to modify */
uint32_t Vpp1; /* Vpp1 value */
uint32_t Vpp2; /* Vpp2 value */
|
The fields are defined as follows:
-
Socket
- Not used in Solaris, but for portability with other Card Services implementations, it should
be set to the logical socket number.
-
Attributes
- This field is bit-mapped. The following bits are defined:
- CONF_ENABLE_IRQ_STEERING
- Enable IRQ steering. Set to connect the PC Card IREQ line to a previously selected system interrupt.
- CONF_IRQ_CHANGE_VALID
- IRQ change valid. Set to request the IRQ steering enable to be changed.
- CONF_VPP1_CHANGE_VALID
- Vpp1 change valid. These bits are set to request a change to the corresponding voltage level for the PC Card.
- CONF_VPP2_CHANGE_VALID
- Vpp2 change valid. These bits are set to request a change to the corresponding voltage level for the PC Card.
- CONF_VSOVERRIDE
- Override VS pins. For Low Voltage keyed cards, must be set if a client desires to apply a voltage inappropriate for this card to any pin. After
card insertion and prior to the first csx_RequestConfiguration(9F) call
for this client, the voltage levels applied to the card will be those specified by the Card Interface Specification. (See WARNINGS.)
-
Vpp1, Vpp2
- Represent voltages expressed in tenths of a volt. Values from 0 to 25.5 volts
may be set. To be valid, the exact voltage must be available from the system. To be compliant with the PC Card 95 Standard, PCMCIA/JEIDA, systems must always support 5.0 volts for both Vcc and Vpp. (See WARNINGS.)
|
|
-
CS_SUCCESS
- Successful operation.
-
CS_BAD_HANDLE
- Client handle is invalid or csx_RequestConfiguration(9F) not done.
-
CS_BAD_SOCKET
- Error getting/setting socket hardware parameters.
-
CS_BAD_VPP
- Requested Vpp is not available on socket.
-
CS_NO_CARD
- No PC Card in socket.
-
CS_UNSUPPORTED_FUNCTION
- No PCMCIA hardware installed.
|
|
This function may be called from user or kernel context.
|
|
-
CONF_VSOVERRIDE is provided for clients that have a need to override the information provided in the CIS. The client must excercise caution when
setting this as it overrides any voltage level protection provided by Card Services.
- Using csx_ModifyConfiguration() to set Vpp to 0 volts may result in the loss of a PC Card's
state. Any client setting Vpp to 0 volts is responsible for insuring that the PC Card's state is restored when power is re-applied
to the card.
|
| |