int pcmcia_modify_configuration(client_handle_t handle, 
int pcmcia_modify_configuration(struct pcmcia_device *p_dev, 
int pcmcia_modify_configuration(client_handle_t handle,				modconf_t *mod){	struct pcmcia_socket *s;	config_t *c;	s = SOCKET(handle);	c = CONFIG(handle);	if (!(s->state & SOCKET_PRESENT))		return CS_NO_CARD;	if (!(c->state & CONFIG_LOCKED))		return CS_CONFIGURATION_LOCKED;	if (mod->Attributes & CONF_IRQ_CHANGE_VALID) {		if (mod->Attributes & CONF_ENABLE_IRQ) {			c->Attributes |= CONF_ENABLE_IRQ;			s->socket.io_irq = s->irq.AssignedIRQ;		} else {			c->Attributes &= ~CONF_ENABLE_IRQ;			s->socket.io_irq = 0;		}		s->ops->set_socket(s, &s->socket);	}	if (mod->Attributes & CONF_VCC_CHANGE_VALID)		return CS_BAD_VCC;	/* We only allow changing Vpp1 and Vpp2 to the same value */	if ((mod->Attributes & CONF_VPP1_CHANGE_VALID) &&	    (mod->Attributes & CONF_VPP2_CHANGE_VALID)) {		if (mod->Vpp1 != mod->Vpp2)			return CS_BAD_VPP;		c->Vpp1 = c->Vpp2 = s->socket.Vpp = mod->Vpp1;		if (s->ops->set_socket(s, &s->socket))			return CS_BAD_VPP;	} else if ((mod->Attributes & CONF_VPP1_CHANGE_VALID) ||		   (mod->Attributes & CONF_VPP2_CHANGE_VALID))		return CS_BAD_VPP;	return CS_SUCCESS;} /* modify_configuration */
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/2bc5a9bdc56fac6f7cbf95b89443e3809141c247/pcmcia_resource.c/buggy/drivers/pcmcia/pcmcia_resource.c