Kernel Functions for Drivers csx_ModifyConfiguration(9F)
NAME
csx_ModifyConfiguration - modify socket and PC Card Confi-
guration RegisterSYNOPSIS
#include
int32_t csx_ModifyConfiguration(client_handle_t ch, modify_config_t *mc);
INTERFACE LEVEL
Solaris DDI Specific (Solaris DDI)PARAMETERS
ch Client handle returned from csx_RegisterClient(9F).
mc Pointer to a modify_config_t structure.
DESCRIPTION
This function allows a socket and PC Card configuration to be modified. This function can only modify a configurationrequested via csx_RequestConfiguration(9F).
STRUCTURE MEMBERSThe 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 steer-
ing. Set to con-
nect the PC Card IREQ line to a previouslySunOS 5.11 Last change: 19 Jul 1996 1
Kernel Functions for Drivers csx_ModifyConfiguration(9F)
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 firstcsx_RequestConfiguration(9F)
call for thisclient, the vol-
tage levels applied to the card will be those specified by the Card InterfaceSunOS 5.11 Last change: 19 Jul 1996 2
Kernel Functions for Drivers csx_ModifyConfiguration(9F)
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 avail-
able from the system. To be compliant withthe PC Card 95 Standard, PCMCIA/JEIDA, sys-
tems must always support 5.0 volts for both Vcc and Vpp. (See WARNINGS.)RETURN VALUES
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.
CONTEXT
This function may be called from user or kernel context.SEE ALSO
csx_RegisterClient(9F), csx_ReleaseConfiguration(9F),
csx_ReleaseIO(9F), csx_ReleaseIRQ(9F),
csx_RequestConfiguration(9F), csx_RequestIO(9F),
csx_RequestIRQ(9F)
PC Card 95 Standard, PCMCIA/JEIDA WARNINGS
1. CONF_VSOVERRIDE is provided for clients that have a
need to override the information provided in theSunOS 5.11 Last change: 19 Jul 1996 3
Kernel Functions for Drivers csx_ModifyConfiguration(9F)
CIS. The client must exercise caution when setting this as it overrides any voltage level protection provided by Card Services.2. 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 restoredwhen power is re-applied to the card.
NOTES Mapped IO addresses can only be changed by first releasing the current configuration and IO resources withcsx_ReleaseConfiguration(9F) and csx_ReleaseIO(9F), request-
ing new IO resources and a new configuration withcsx_RequestIO(9F), followed by csx_RequestConfiguration(9F).
IRQ priority can only be changed by first releasing the current configuration and IRQ resources withcsx_ReleaseConfiguration(9F) and csx_ReleaseIRQ(9F),
requesting new IRQ resources and a new configuration withcsx_RequestIRQ(9F), followed by
csx_RequestConfiguration(9F).
Vcc can not be changed using csx_ModifyConfiguration(). Vcc
may be changed by first invokingcsx_ReleaseConfiguration(9F), followed by
csx_RequestConfiguration(9F) with a new Vcc value.
SunOS 5.11 Last change: 19 Jul 1996 4