pcmcia: deprecate CS_SUCCESS
Instead of using own error or success codes, the PCMCIA code should rely on the generic return values. Therefore, replace all occurrences of CS_SUCCESS with 0. CC: netdev@vger.kernel.org Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
This commit is contained in:
Родитель
1a53088c10
Коммит
4c89e88bfd
|
@ -901,23 +901,23 @@ static int bluecard_config(struct pcmcia_device *link)
|
||||||
for (n = 0; n < 0x400; n += 0x40) {
|
for (n = 0; n < 0x400; n += 0x40) {
|
||||||
link->io.BasePort1 = n ^ 0x300;
|
link->io.BasePort1 = n ^ 0x300;
|
||||||
i = pcmcia_request_io(link, &link->io);
|
i = pcmcia_request_io(link, &link->io);
|
||||||
if (i == CS_SUCCESS)
|
if (i == 0)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
cs_error(link, RequestIO, i);
|
cs_error(link, RequestIO, i);
|
||||||
goto failed;
|
goto failed;
|
||||||
}
|
}
|
||||||
|
|
||||||
i = pcmcia_request_irq(link, &link->irq);
|
i = pcmcia_request_irq(link, &link->irq);
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
cs_error(link, RequestIRQ, i);
|
cs_error(link, RequestIRQ, i);
|
||||||
link->irq.AssignedIRQ = 0;
|
link->irq.AssignedIRQ = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
i = pcmcia_request_configuration(link, &link->conf);
|
i = pcmcia_request_configuration(link, &link->conf);
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
cs_error(link, RequestConfiguration, i);
|
cs_error(link, RequestConfiguration, i);
|
||||||
goto failed;
|
goto failed;
|
||||||
}
|
}
|
||||||
|
|
|
@ -743,13 +743,13 @@ static int bt3c_config(struct pcmcia_device *link)
|
||||||
|
|
||||||
found_port:
|
found_port:
|
||||||
i = pcmcia_request_irq(link, &link->irq);
|
i = pcmcia_request_irq(link, &link->irq);
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
cs_error(link, RequestIRQ, i);
|
cs_error(link, RequestIRQ, i);
|
||||||
link->irq.AssignedIRQ = 0;
|
link->irq.AssignedIRQ = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
i = pcmcia_request_configuration(link, &link->conf);
|
i = pcmcia_request_configuration(link, &link->conf);
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
cs_error(link, RequestConfiguration, i);
|
cs_error(link, RequestConfiguration, i);
|
||||||
goto failed;
|
goto failed;
|
||||||
}
|
}
|
||||||
|
|
|
@ -672,13 +672,13 @@ static int btuart_config(struct pcmcia_device *link)
|
||||||
|
|
||||||
found_port:
|
found_port:
|
||||||
i = pcmcia_request_irq(link, &link->irq);
|
i = pcmcia_request_irq(link, &link->irq);
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
cs_error(link, RequestIRQ, i);
|
cs_error(link, RequestIRQ, i);
|
||||||
link->irq.AssignedIRQ = 0;
|
link->irq.AssignedIRQ = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
i = pcmcia_request_configuration(link, &link->conf);
|
i = pcmcia_request_configuration(link, &link->conf);
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
cs_error(link, RequestConfiguration, i);
|
cs_error(link, RequestConfiguration, i);
|
||||||
goto failed;
|
goto failed;
|
||||||
}
|
}
|
||||||
|
|
|
@ -617,13 +617,13 @@ static int dtl1_config(struct pcmcia_device *link)
|
||||||
goto failed;
|
goto failed;
|
||||||
|
|
||||||
i = pcmcia_request_irq(link, &link->irq);
|
i = pcmcia_request_irq(link, &link->irq);
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
cs_error(link, RequestIRQ, i);
|
cs_error(link, RequestIRQ, i);
|
||||||
link->irq.AssignedIRQ = 0;
|
link->irq.AssignedIRQ = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
i = pcmcia_request_configuration(link, &link->conf);
|
i = pcmcia_request_configuration(link, &link->conf);
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
cs_error(link, RequestConfiguration, i);
|
cs_error(link, RequestConfiguration, i);
|
||||||
goto failed;
|
goto failed;
|
||||||
}
|
}
|
||||||
|
|
|
@ -567,8 +567,8 @@ static int reader_config(struct pcmcia_device *link, int devno)
|
||||||
|
|
||||||
link->conf.IntType = 00000002;
|
link->conf.IntType = 00000002;
|
||||||
|
|
||||||
if ((fail_rc = pcmcia_request_configuration(link,&link->conf))
|
fail_rc = pcmcia_request_configuration(link, &link->conf);
|
||||||
!=CS_SUCCESS) {
|
if (fail_rc != 0) {
|
||||||
dev_printk(KERN_INFO, &handle_to_dev(link),
|
dev_printk(KERN_INFO, &handle_to_dev(link),
|
||||||
"pcmcia_request_configuration failed 0x%x\n",
|
"pcmcia_request_configuration failed 0x%x\n",
|
||||||
fail_rc);
|
fail_rc);
|
||||||
|
|
|
@ -67,7 +67,7 @@ static void signalled_reboot_work(struct work_struct *work_reboot)
|
||||||
struct pcmcia_device *link = ipw->link;
|
struct pcmcia_device *link = ipw->link;
|
||||||
int ret = pccard_reset_card(link->socket);
|
int ret = pccard_reset_card(link->socket);
|
||||||
|
|
||||||
if (ret != CS_SUCCESS)
|
if (ret != 0)
|
||||||
cs_error(link, ResetCard, ret);
|
cs_error(link, ResetCard, ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -104,7 +104,7 @@ static int config_ipwireless(struct ipw_dev *ipw)
|
||||||
while (ret == 0) {
|
while (ret == 0) {
|
||||||
ret = pcmcia_get_tuple_data(link, &tuple);
|
ret = pcmcia_get_tuple_data(link, &tuple);
|
||||||
|
|
||||||
if (ret != CS_SUCCESS) {
|
if (ret != 0) {
|
||||||
cs_error(link, GetTupleData, ret);
|
cs_error(link, GetTupleData, ret);
|
||||||
goto exit0;
|
goto exit0;
|
||||||
}
|
}
|
||||||
|
@ -115,21 +115,21 @@ static int config_ipwireless(struct ipw_dev *ipw)
|
||||||
|
|
||||||
ret = pcmcia_get_first_tuple(link, &tuple);
|
ret = pcmcia_get_first_tuple(link, &tuple);
|
||||||
|
|
||||||
if (ret != CS_SUCCESS) {
|
if (ret != 0) {
|
||||||
cs_error(link, GetFirstTuple, ret);
|
cs_error(link, GetFirstTuple, ret);
|
||||||
goto exit0;
|
goto exit0;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = pcmcia_get_tuple_data(link, &tuple);
|
ret = pcmcia_get_tuple_data(link, &tuple);
|
||||||
|
|
||||||
if (ret != CS_SUCCESS) {
|
if (ret != 0) {
|
||||||
cs_error(link, GetTupleData, ret);
|
cs_error(link, GetTupleData, ret);
|
||||||
goto exit0;
|
goto exit0;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = pcmcia_parse_tuple(link, &tuple, &parse);
|
ret = pcmcia_parse_tuple(link, &tuple, &parse);
|
||||||
|
|
||||||
if (ret != CS_SUCCESS) {
|
if (ret != 0) {
|
||||||
cs_error(link, ParseTuple, ret);
|
cs_error(link, ParseTuple, ret);
|
||||||
goto exit0;
|
goto exit0;
|
||||||
}
|
}
|
||||||
|
@ -151,21 +151,21 @@ static int config_ipwireless(struct ipw_dev *ipw)
|
||||||
|
|
||||||
ret = pcmcia_get_first_tuple(link, &tuple);
|
ret = pcmcia_get_first_tuple(link, &tuple);
|
||||||
|
|
||||||
if (ret != CS_SUCCESS) {
|
if (ret != 0) {
|
||||||
cs_error(link, GetFirstTuple, ret);
|
cs_error(link, GetFirstTuple, ret);
|
||||||
goto exit0;
|
goto exit0;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = pcmcia_get_tuple_data(link, &tuple);
|
ret = pcmcia_get_tuple_data(link, &tuple);
|
||||||
|
|
||||||
if (ret != CS_SUCCESS) {
|
if (ret != 0) {
|
||||||
cs_error(link, GetTupleData, ret);
|
cs_error(link, GetTupleData, ret);
|
||||||
goto exit0;
|
goto exit0;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = pcmcia_parse_tuple(link, &tuple, &parse);
|
ret = pcmcia_parse_tuple(link, &tuple, &parse);
|
||||||
|
|
||||||
if (ret != CS_SUCCESS) {
|
if (ret != 0) {
|
||||||
cs_error(link, GetTupleData, ret);
|
cs_error(link, GetTupleData, ret);
|
||||||
goto exit0;
|
goto exit0;
|
||||||
}
|
}
|
||||||
|
@ -180,7 +180,7 @@ static int config_ipwireless(struct ipw_dev *ipw)
|
||||||
|
|
||||||
ret = pcmcia_request_io(link, &link->io);
|
ret = pcmcia_request_io(link, &link->io);
|
||||||
|
|
||||||
if (ret != CS_SUCCESS) {
|
if (ret != 0) {
|
||||||
cs_error(link, RequestIO, ret);
|
cs_error(link, RequestIO, ret);
|
||||||
goto exit0;
|
goto exit0;
|
||||||
}
|
}
|
||||||
|
@ -194,21 +194,21 @@ static int config_ipwireless(struct ipw_dev *ipw)
|
||||||
|
|
||||||
ret = pcmcia_get_first_tuple(link, &tuple);
|
ret = pcmcia_get_first_tuple(link, &tuple);
|
||||||
|
|
||||||
if (ret != CS_SUCCESS) {
|
if (ret != 0) {
|
||||||
cs_error(link, GetFirstTuple, ret);
|
cs_error(link, GetFirstTuple, ret);
|
||||||
goto exit1;
|
goto exit1;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = pcmcia_get_tuple_data(link, &tuple);
|
ret = pcmcia_get_tuple_data(link, &tuple);
|
||||||
|
|
||||||
if (ret != CS_SUCCESS) {
|
if (ret != 0) {
|
||||||
cs_error(link, GetTupleData, ret);
|
cs_error(link, GetTupleData, ret);
|
||||||
goto exit1;
|
goto exit1;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = pcmcia_parse_tuple(link, &tuple, &parse);
|
ret = pcmcia_parse_tuple(link, &tuple, &parse);
|
||||||
|
|
||||||
if (ret != CS_SUCCESS) {
|
if (ret != 0) {
|
||||||
cs_error(link, ParseTuple, ret);
|
cs_error(link, ParseTuple, ret);
|
||||||
goto exit1;
|
goto exit1;
|
||||||
}
|
}
|
||||||
|
@ -226,7 +226,7 @@ static int config_ipwireless(struct ipw_dev *ipw)
|
||||||
ret = pcmcia_request_window(&link, &ipw->request_common_memory,
|
ret = pcmcia_request_window(&link, &ipw->request_common_memory,
|
||||||
&ipw->handle_common_memory);
|
&ipw->handle_common_memory);
|
||||||
|
|
||||||
if (ret != CS_SUCCESS) {
|
if (ret != 0) {
|
||||||
cs_error(link, RequestWindow, ret);
|
cs_error(link, RequestWindow, ret);
|
||||||
goto exit1;
|
goto exit1;
|
||||||
}
|
}
|
||||||
|
@ -238,7 +238,7 @@ static int config_ipwireless(struct ipw_dev *ipw)
|
||||||
ret = pcmcia_map_mem_page(ipw->handle_common_memory,
|
ret = pcmcia_map_mem_page(ipw->handle_common_memory,
|
||||||
&memreq_common_memory);
|
&memreq_common_memory);
|
||||||
|
|
||||||
if (ret != CS_SUCCESS) {
|
if (ret != 0) {
|
||||||
cs_error(link, MapMemPage, ret);
|
cs_error(link, MapMemPage, ret);
|
||||||
goto exit1;
|
goto exit1;
|
||||||
}
|
}
|
||||||
|
@ -260,7 +260,7 @@ static int config_ipwireless(struct ipw_dev *ipw)
|
||||||
ret = pcmcia_request_window(&link, &ipw->request_attr_memory,
|
ret = pcmcia_request_window(&link, &ipw->request_attr_memory,
|
||||||
&ipw->handle_attr_memory);
|
&ipw->handle_attr_memory);
|
||||||
|
|
||||||
if (ret != CS_SUCCESS) {
|
if (ret != 0) {
|
||||||
cs_error(link, RequestWindow, ret);
|
cs_error(link, RequestWindow, ret);
|
||||||
goto exit2;
|
goto exit2;
|
||||||
}
|
}
|
||||||
|
@ -271,7 +271,7 @@ static int config_ipwireless(struct ipw_dev *ipw)
|
||||||
ret = pcmcia_map_mem_page(ipw->handle_attr_memory,
|
ret = pcmcia_map_mem_page(ipw->handle_attr_memory,
|
||||||
&memreq_attr_memory);
|
&memreq_attr_memory);
|
||||||
|
|
||||||
if (ret != CS_SUCCESS) {
|
if (ret != 0) {
|
||||||
cs_error(link, MapMemPage, ret);
|
cs_error(link, MapMemPage, ret);
|
||||||
goto exit2;
|
goto exit2;
|
||||||
}
|
}
|
||||||
|
@ -291,7 +291,7 @@ static int config_ipwireless(struct ipw_dev *ipw)
|
||||||
|
|
||||||
ret = pcmcia_request_irq(link, &link->irq);
|
ret = pcmcia_request_irq(link, &link->irq);
|
||||||
|
|
||||||
if (ret != CS_SUCCESS) {
|
if (ret != 0) {
|
||||||
cs_error(link, RequestIRQ, ret);
|
cs_error(link, RequestIRQ, ret);
|
||||||
goto exit3;
|
goto exit3;
|
||||||
}
|
}
|
||||||
|
@ -331,7 +331,7 @@ static int config_ipwireless(struct ipw_dev *ipw)
|
||||||
*/
|
*/
|
||||||
ret = pcmcia_request_configuration(link, &link->conf);
|
ret = pcmcia_request_configuration(link, &link->conf);
|
||||||
|
|
||||||
if (ret != CS_SUCCESS) {
|
if (ret != 0) {
|
||||||
cs_error(link, RequestConfiguration, ret);
|
cs_error(link, RequestConfiguration, ret);
|
||||||
goto exit4;
|
goto exit4;
|
||||||
}
|
}
|
||||||
|
|
|
@ -197,7 +197,7 @@ static int avmcs_config(struct pcmcia_device *link)
|
||||||
* allocate an interrupt line
|
* allocate an interrupt line
|
||||||
*/
|
*/
|
||||||
i = pcmcia_request_irq(link, &link->irq);
|
i = pcmcia_request_irq(link, &link->irq);
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
cs_error(link, RequestIRQ, i);
|
cs_error(link, RequestIRQ, i);
|
||||||
/* undo */
|
/* undo */
|
||||||
pcmcia_disable_device(link);
|
pcmcia_disable_device(link);
|
||||||
|
@ -208,7 +208,7 @@ static int avmcs_config(struct pcmcia_device *link)
|
||||||
* configure the PCMCIA socket
|
* configure the PCMCIA socket
|
||||||
*/
|
*/
|
||||||
i = pcmcia_request_configuration(link, &link->conf);
|
i = pcmcia_request_configuration(link, &link->conf);
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
cs_error(link, RequestConfiguration, i);
|
cs_error(link, RequestConfiguration, i);
|
||||||
pcmcia_disable_device(link);
|
pcmcia_disable_device(link);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -217,7 +217,7 @@ static int avma1cs_config(struct pcmcia_device *link)
|
||||||
* allocate an interrupt line
|
* allocate an interrupt line
|
||||||
*/
|
*/
|
||||||
i = pcmcia_request_irq(link, &link->irq);
|
i = pcmcia_request_irq(link, &link->irq);
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
cs_error(link, RequestIRQ, i);
|
cs_error(link, RequestIRQ, i);
|
||||||
/* undo */
|
/* undo */
|
||||||
pcmcia_disable_device(link);
|
pcmcia_disable_device(link);
|
||||||
|
@ -228,7 +228,7 @@ static int avma1cs_config(struct pcmcia_device *link)
|
||||||
* configure the PCMCIA socket
|
* configure the PCMCIA socket
|
||||||
*/
|
*/
|
||||||
i = pcmcia_request_configuration(link, &link->conf);
|
i = pcmcia_request_configuration(link, &link->conf);
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
cs_error(link, RequestConfiguration, i);
|
cs_error(link, RequestConfiguration, i);
|
||||||
pcmcia_disable_device(link);
|
pcmcia_disable_device(link);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -238,20 +238,20 @@ static int elsa_cs_config(struct pcmcia_device *link)
|
||||||
dev = link->priv;
|
dev = link->priv;
|
||||||
|
|
||||||
i = pcmcia_loop_config(link, elsa_cs_configcheck, NULL);
|
i = pcmcia_loop_config(link, elsa_cs_configcheck, NULL);
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
last_fn = RequestIO;
|
last_fn = RequestIO;
|
||||||
goto cs_failed;
|
goto cs_failed;
|
||||||
}
|
}
|
||||||
|
|
||||||
i = pcmcia_request_irq(link, &link->irq);
|
i = pcmcia_request_irq(link, &link->irq);
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
link->irq.AssignedIRQ = 0;
|
link->irq.AssignedIRQ = 0;
|
||||||
last_fn = RequestIRQ;
|
last_fn = RequestIRQ;
|
||||||
goto cs_failed;
|
goto cs_failed;
|
||||||
}
|
}
|
||||||
|
|
||||||
i = pcmcia_request_configuration(link, &link->conf);
|
i = pcmcia_request_configuration(link, &link->conf);
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
last_fn = RequestConfiguration;
|
last_fn = RequestConfiguration;
|
||||||
goto cs_failed;
|
goto cs_failed;
|
||||||
}
|
}
|
||||||
|
|
|
@ -228,20 +228,20 @@ static int teles_cs_config(struct pcmcia_device *link)
|
||||||
dev = link->priv;
|
dev = link->priv;
|
||||||
|
|
||||||
i = pcmcia_loop_config(link, teles_cs_configcheck, NULL);
|
i = pcmcia_loop_config(link, teles_cs_configcheck, NULL);
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
last_fn = RequestIO;
|
last_fn = RequestIO;
|
||||||
goto cs_failed;
|
goto cs_failed;
|
||||||
}
|
}
|
||||||
|
|
||||||
i = pcmcia_request_irq(link, &link->irq);
|
i = pcmcia_request_irq(link, &link->irq);
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
link->irq.AssignedIRQ = 0;
|
link->irq.AssignedIRQ = 0;
|
||||||
last_fn = RequestIRQ;
|
last_fn = RequestIRQ;
|
||||||
goto cs_failed;
|
goto cs_failed;
|
||||||
}
|
}
|
||||||
|
|
||||||
i = pcmcia_request_configuration(link, &link->conf);
|
i = pcmcia_request_configuration(link, &link->conf);
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
last_fn = RequestConfiguration;
|
last_fn = RequestConfiguration;
|
||||||
goto cs_failed;
|
goto cs_failed;
|
||||||
}
|
}
|
||||||
|
|
|
@ -118,7 +118,8 @@ static caddr_t remap_window(struct map_info *map, unsigned long to)
|
||||||
DEBUG(2, "Remapping window from 0x%8.8x to 0x%8.8x",
|
DEBUG(2, "Remapping window from 0x%8.8x to 0x%8.8x",
|
||||||
dev->offset, mrq.CardOffset);
|
dev->offset, mrq.CardOffset);
|
||||||
mrq.Page = 0;
|
mrq.Page = 0;
|
||||||
if( (ret = pcmcia_map_mem_page(win, &mrq)) != CS_SUCCESS) {
|
ret = pcmcia_map_mem_page(win, &mrq);
|
||||||
|
if (ret != 0) {
|
||||||
cs_error(dev->p_dev, MapMemPage, ret);
|
cs_error(dev->p_dev, MapMemPage, ret);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -326,9 +327,8 @@ static void pcmciamtd_set_vpp(struct map_info *map, int on)
|
||||||
|
|
||||||
DEBUG(2, "dev = %p on = %d vpp = %d\n", dev, on, dev->vpp);
|
DEBUG(2, "dev = %p on = %d vpp = %d\n", dev, on, dev->vpp);
|
||||||
ret = pcmcia_modify_configuration(link, &mod);
|
ret = pcmcia_modify_configuration(link, &mod);
|
||||||
if(ret != CS_SUCCESS) {
|
if (ret != 0)
|
||||||
cs_error(link, ModifyConfiguration, ret);
|
cs_error(link, ModifyConfiguration, ret);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -368,14 +368,14 @@ static void card_settings(struct pcmciamtd_dev *dev, struct pcmcia_device *link,
|
||||||
tuple.DesiredTuple = RETURN_FIRST_TUPLE;
|
tuple.DesiredTuple = RETURN_FIRST_TUPLE;
|
||||||
|
|
||||||
rc = pcmcia_get_first_tuple(link, &tuple);
|
rc = pcmcia_get_first_tuple(link, &tuple);
|
||||||
while(rc == CS_SUCCESS) {
|
while (rc == 0) {
|
||||||
rc = pcmcia_get_tuple_data(link, &tuple);
|
rc = pcmcia_get_tuple_data(link, &tuple);
|
||||||
if(rc != CS_SUCCESS) {
|
if (rc != 0) {
|
||||||
cs_error(link, GetTupleData, rc);
|
cs_error(link, GetTupleData, rc);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
rc = pcmcia_parse_tuple(link, &tuple, &parse);
|
rc = pcmcia_parse_tuple(link, &tuple, &parse);
|
||||||
if(rc != CS_SUCCESS) {
|
if (rc != 0) {
|
||||||
cs_error(link, ParseTuple, rc);
|
cs_error(link, ParseTuple, rc);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -500,9 +500,8 @@ static int pcmciamtd_config(struct pcmcia_device *link)
|
||||||
|
|
||||||
DEBUG(2, "Validating CIS");
|
DEBUG(2, "Validating CIS");
|
||||||
ret = pcmcia_validate_cis(link, NULL);
|
ret = pcmcia_validate_cis(link, NULL);
|
||||||
if(ret != CS_SUCCESS) {
|
if (ret != 0)
|
||||||
cs_error(link, GetTupleData, ret);
|
cs_error(link, GetTupleData, ret);
|
||||||
}
|
|
||||||
|
|
||||||
card_settings(dev, link, &new_name);
|
card_settings(dev, link, &new_name);
|
||||||
|
|
||||||
|
@ -582,7 +581,7 @@ static int pcmciamtd_config(struct pcmcia_device *link)
|
||||||
link->conf.ConfigIndex = 0;
|
link->conf.ConfigIndex = 0;
|
||||||
DEBUG(2, "Setting Configuration");
|
DEBUG(2, "Setting Configuration");
|
||||||
ret = pcmcia_request_configuration(link, &link->conf);
|
ret = pcmcia_request_configuration(link, &link->conf);
|
||||||
if(ret != CS_SUCCESS) {
|
if (ret != 0) {
|
||||||
cs_error(link, RequestConfiguration, ret);
|
cs_error(link, RequestConfiguration, ret);
|
||||||
if (dev->win_base) {
|
if (dev->win_base) {
|
||||||
iounmap(dev->win_base);
|
iounmap(dev->win_base);
|
||||||
|
|
|
@ -355,9 +355,10 @@ static int tc574_config(struct pcmcia_device *link)
|
||||||
for (i = j = 0; j < 0x400; j += 0x20) {
|
for (i = j = 0; j < 0x400; j += 0x20) {
|
||||||
link->io.BasePort1 = j ^ 0x300;
|
link->io.BasePort1 = j ^ 0x300;
|
||||||
i = pcmcia_request_io(link, &link->io);
|
i = pcmcia_request_io(link, &link->io);
|
||||||
if (i == CS_SUCCESS) break;
|
if (i == 0)
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
cs_error(link, RequestIO, i);
|
cs_error(link, RequestIO, i);
|
||||||
goto failed;
|
goto failed;
|
||||||
}
|
}
|
||||||
|
@ -377,7 +378,7 @@ static int tc574_config(struct pcmcia_device *link)
|
||||||
tuple.TupleDataMax = 64;
|
tuple.TupleDataMax = 64;
|
||||||
tuple.TupleOffset = 0;
|
tuple.TupleOffset = 0;
|
||||||
tuple.DesiredTuple = 0x88;
|
tuple.DesiredTuple = 0x88;
|
||||||
if (pcmcia_get_first_tuple(link, &tuple) == CS_SUCCESS) {
|
if (pcmcia_get_first_tuple(link, &tuple) == 0) {
|
||||||
pcmcia_get_tuple_data(link, &tuple);
|
pcmcia_get_tuple_data(link, &tuple);
|
||||||
for (i = 0; i < 3; i++)
|
for (i = 0; i < 3; i++)
|
||||||
phys_addr[i] = htons(le16_to_cpu(buf[i]));
|
phys_addr[i] = htons(le16_to_cpu(buf[i]));
|
||||||
|
|
|
@ -278,9 +278,10 @@ static int tc589_config(struct pcmcia_device *link)
|
||||||
if (multi && (j & 0x80)) continue;
|
if (multi && (j & 0x80)) continue;
|
||||||
link->io.BasePort1 = j ^ 0x300;
|
link->io.BasePort1 = j ^ 0x300;
|
||||||
i = pcmcia_request_io(link, &link->io);
|
i = pcmcia_request_io(link, &link->io);
|
||||||
if (i == CS_SUCCESS) break;
|
if (i == 0)
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
cs_error(link, RequestIO, i);
|
cs_error(link, RequestIO, i);
|
||||||
goto failed;
|
goto failed;
|
||||||
}
|
}
|
||||||
|
@ -295,7 +296,7 @@ static int tc589_config(struct pcmcia_device *link)
|
||||||
/* The 3c589 has an extra EEPROM for configuration info, including
|
/* The 3c589 has an extra EEPROM for configuration info, including
|
||||||
the hardware address. The 3c562 puts the address in the CIS. */
|
the hardware address. The 3c562 puts the address in the CIS. */
|
||||||
tuple.DesiredTuple = 0x88;
|
tuple.DesiredTuple = 0x88;
|
||||||
if (pcmcia_get_first_tuple(link, &tuple) == CS_SUCCESS) {
|
if (pcmcia_get_first_tuple(link, &tuple) == 0) {
|
||||||
pcmcia_get_tuple_data(link, &tuple);
|
pcmcia_get_tuple_data(link, &tuple);
|
||||||
for (i = 0; i < 3; i++)
|
for (i = 0; i < 3; i++)
|
||||||
phys_addr[i] = htons(le16_to_cpu(buf[i]));
|
phys_addr[i] = htons(le16_to_cpu(buf[i]));
|
||||||
|
|
|
@ -262,7 +262,7 @@ static int try_io_port(struct pcmcia_device *link)
|
||||||
if (link->io.NumPorts2 > 0) {
|
if (link->io.NumPorts2 > 0) {
|
||||||
/* for master/slave multifunction cards */
|
/* for master/slave multifunction cards */
|
||||||
link->io.Attributes2 = IO_DATA_PATH_WIDTH_8;
|
link->io.Attributes2 = IO_DATA_PATH_WIDTH_8;
|
||||||
link->irq.Attributes =
|
link->irq.Attributes =
|
||||||
IRQ_TYPE_DYNAMIC_SHARING|IRQ_FIRST_SHARED;
|
IRQ_TYPE_DYNAMIC_SHARING|IRQ_FIRST_SHARED;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -276,7 +276,8 @@ static int try_io_port(struct pcmcia_device *link)
|
||||||
link->io.BasePort1 = j ^ 0x300;
|
link->io.BasePort1 = j ^ 0x300;
|
||||||
link->io.BasePort2 = (j ^ 0x300) + 0x10;
|
link->io.BasePort2 = (j ^ 0x300) + 0x10;
|
||||||
ret = pcmcia_request_io(link, &link->io);
|
ret = pcmcia_request_io(link, &link->io);
|
||||||
if (ret == CS_SUCCESS) return ret;
|
if (ret == 0)
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
} else {
|
} else {
|
||||||
|
@ -327,7 +328,7 @@ static int axnet_config(struct pcmcia_device *link)
|
||||||
/* don't trust the CIS on this; Linksys got it wrong */
|
/* don't trust the CIS on this; Linksys got it wrong */
|
||||||
link->conf.Present = 0x63;
|
link->conf.Present = 0x63;
|
||||||
last_ret = pcmcia_loop_config(link, axnet_configcheck, NULL);
|
last_ret = pcmcia_loop_config(link, axnet_configcheck, NULL);
|
||||||
if (last_ret != CS_SUCCESS) {
|
if (last_ret != 0) {
|
||||||
cs_error(link, RequestIO, last_ret);
|
cs_error(link, RequestIO, last_ret);
|
||||||
goto failed;
|
goto failed;
|
||||||
}
|
}
|
||||||
|
|
|
@ -260,21 +260,21 @@ static int com20020_config(struct pcmcia_device *link)
|
||||||
DEBUG(0, "com20020_config(0x%p)\n", link);
|
DEBUG(0, "com20020_config(0x%p)\n", link);
|
||||||
|
|
||||||
DEBUG(1,"arcnet: baseport1 is %Xh\n", link->io.BasePort1);
|
DEBUG(1,"arcnet: baseport1 is %Xh\n", link->io.BasePort1);
|
||||||
i = !CS_SUCCESS;
|
i = -ENODEV;
|
||||||
if (!link->io.BasePort1)
|
if (!link->io.BasePort1)
|
||||||
{
|
{
|
||||||
for (ioaddr = 0x100; ioaddr < 0x400; ioaddr += 0x10)
|
for (ioaddr = 0x100; ioaddr < 0x400; ioaddr += 0x10)
|
||||||
{
|
{
|
||||||
link->io.BasePort1 = ioaddr;
|
link->io.BasePort1 = ioaddr;
|
||||||
i = pcmcia_request_io(link, &link->io);
|
i = pcmcia_request_io(link, &link->io);
|
||||||
if (i == CS_SUCCESS)
|
if (i == 0)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
i = pcmcia_request_io(link, &link->io);
|
i = pcmcia_request_io(link, &link->io);
|
||||||
|
|
||||||
if (i != CS_SUCCESS)
|
if (i != 0)
|
||||||
{
|
{
|
||||||
DEBUG(1,"arcnet: requestIO failed totally!\n");
|
DEBUG(1,"arcnet: requestIO failed totally!\n");
|
||||||
goto failed;
|
goto failed;
|
||||||
|
@ -287,7 +287,7 @@ static int com20020_config(struct pcmcia_device *link)
|
||||||
link->irq.AssignedIRQ,
|
link->irq.AssignedIRQ,
|
||||||
link->irq.IRQInfo1, link->irq.IRQInfo2);
|
link->irq.IRQInfo1, link->irq.IRQInfo2);
|
||||||
i = pcmcia_request_irq(link, &link->irq);
|
i = pcmcia_request_irq(link, &link->irq);
|
||||||
if (i != CS_SUCCESS)
|
if (i != 0)
|
||||||
{
|
{
|
||||||
DEBUG(1,"arcnet: requestIRQ failed totally!\n");
|
DEBUG(1,"arcnet: requestIRQ failed totally!\n");
|
||||||
goto failed;
|
goto failed;
|
||||||
|
|
|
@ -309,7 +309,8 @@ static int mfc_try_io_port(struct pcmcia_device *link)
|
||||||
printk(KERN_NOTICE "fmvj18x_cs: out of resource for serial\n");
|
printk(KERN_NOTICE "fmvj18x_cs: out of resource for serial\n");
|
||||||
}
|
}
|
||||||
ret = pcmcia_request_io(link, &link->io);
|
ret = pcmcia_request_io(link, &link->io);
|
||||||
if (ret == CS_SUCCESS) return ret;
|
if (ret == 0)
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -325,7 +326,7 @@ static int ungermann_try_io_port(struct pcmcia_device *link)
|
||||||
for (ioaddr = 0x300; ioaddr < 0x3e0; ioaddr += 0x20) {
|
for (ioaddr = 0x300; ioaddr < 0x3e0; ioaddr += 0x20) {
|
||||||
link->io.BasePort1 = ioaddr;
|
link->io.BasePort1 = ioaddr;
|
||||||
ret = pcmcia_request_io(link, &link->io);
|
ret = pcmcia_request_io(link, &link->io);
|
||||||
if (ret == CS_SUCCESS) {
|
if (ret == 0) {
|
||||||
/* calculate ConfigIndex value */
|
/* calculate ConfigIndex value */
|
||||||
link->conf.ConfigIndex =
|
link->conf.ConfigIndex =
|
||||||
((link->io.BasePort1 & 0x0f0) >> 3) | 0x22;
|
((link->io.BasePort1 & 0x0f0) >> 3) | 0x22;
|
||||||
|
@ -356,7 +357,7 @@ static int fmvj18x_config(struct pcmcia_device *link)
|
||||||
tuple.TupleOffset = 0;
|
tuple.TupleOffset = 0;
|
||||||
tuple.DesiredTuple = CISTPL_FUNCE;
|
tuple.DesiredTuple = CISTPL_FUNCE;
|
||||||
tuple.TupleOffset = 0;
|
tuple.TupleOffset = 0;
|
||||||
if (pcmcia_get_first_tuple(link, &tuple) == CS_SUCCESS) {
|
if (pcmcia_get_first_tuple(link, &tuple) == 0) {
|
||||||
/* Yes, I have CISTPL_FUNCE. Let's check CISTPL_MANFID */
|
/* Yes, I have CISTPL_FUNCE. Let's check CISTPL_MANFID */
|
||||||
tuple.DesiredTuple = CISTPL_CFTABLE_ENTRY;
|
tuple.DesiredTuple = CISTPL_CFTABLE_ENTRY;
|
||||||
CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple));
|
CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple));
|
||||||
|
@ -430,10 +431,10 @@ static int fmvj18x_config(struct pcmcia_device *link)
|
||||||
link->irq.Attributes =
|
link->irq.Attributes =
|
||||||
IRQ_TYPE_DYNAMIC_SHARING|IRQ_FIRST_SHARED|IRQ_HANDLE_PRESENT;
|
IRQ_TYPE_DYNAMIC_SHARING|IRQ_FIRST_SHARED|IRQ_HANDLE_PRESENT;
|
||||||
ret = mfc_try_io_port(link);
|
ret = mfc_try_io_port(link);
|
||||||
if (ret != CS_SUCCESS) goto cs_failed;
|
if (ret != 0) goto cs_failed;
|
||||||
} else if (cardtype == UNGERMANN) {
|
} else if (cardtype == UNGERMANN) {
|
||||||
ret = ungermann_try_io_port(link);
|
ret = ungermann_try_io_port(link);
|
||||||
if (ret != CS_SUCCESS) goto cs_failed;
|
if (ret != 0) goto cs_failed;
|
||||||
} else {
|
} else {
|
||||||
CS_CHECK(RequestIO, pcmcia_request_io(link, &link->io));
|
CS_CHECK(RequestIO, pcmcia_request_io(link, &link->io));
|
||||||
}
|
}
|
||||||
|
@ -565,7 +566,7 @@ static int fmvj18x_get_hwinfo(struct pcmcia_device *link, u_char *node_id)
|
||||||
req.Base = 0; req.Size = 0;
|
req.Base = 0; req.Size = 0;
|
||||||
req.AccessSpeed = 0;
|
req.AccessSpeed = 0;
|
||||||
i = pcmcia_request_window(&link, &req, &link->win);
|
i = pcmcia_request_window(&link, &req, &link->win);
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
cs_error(link, RequestWindow, i);
|
cs_error(link, RequestWindow, i);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -599,7 +600,7 @@ static int fmvj18x_get_hwinfo(struct pcmcia_device *link, u_char *node_id)
|
||||||
|
|
||||||
iounmap(base);
|
iounmap(base);
|
||||||
j = pcmcia_release_window(link->win);
|
j = pcmcia_release_window(link->win);
|
||||||
if (j != CS_SUCCESS)
|
if (j != 0)
|
||||||
cs_error(link, ReleaseWindow, j);
|
cs_error(link, ReleaseWindow, j);
|
||||||
return (i != 0x200) ? 0 : -1;
|
return (i != 0x200) ? 0 : -1;
|
||||||
|
|
||||||
|
@ -620,7 +621,7 @@ static int fmvj18x_setup_mfc(struct pcmcia_device *link)
|
||||||
req.Base = 0; req.Size = 0;
|
req.Base = 0; req.Size = 0;
|
||||||
req.AccessSpeed = 0;
|
req.AccessSpeed = 0;
|
||||||
i = pcmcia_request_window(&link, &req, &link->win);
|
i = pcmcia_request_window(&link, &req, &link->win);
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
cs_error(link, RequestWindow, i);
|
cs_error(link, RequestWindow, i);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -642,7 +643,7 @@ static int fmvj18x_setup_mfc(struct pcmcia_device *link)
|
||||||
|
|
||||||
iounmap(base);
|
iounmap(base);
|
||||||
j = pcmcia_release_window(link->win);
|
j = pcmcia_release_window(link->win);
|
||||||
if (j != CS_SUCCESS)
|
if (j != 0)
|
||||||
cs_error(link, ReleaseWindow, j);
|
cs_error(link, ReleaseWindow, j);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
|
|
@ -238,7 +238,7 @@ static int __devinit ibmtr_config(struct pcmcia_device *link)
|
||||||
/* Try PRIMARY card at 0xA20-0xA23 */
|
/* Try PRIMARY card at 0xA20-0xA23 */
|
||||||
link->io.BasePort1 = 0xA20;
|
link->io.BasePort1 = 0xA20;
|
||||||
i = pcmcia_request_io(link, &link->io);
|
i = pcmcia_request_io(link, &link->io);
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
/* Couldn't get 0xA20-0xA23. Try ALTERNATE at 0xA24-0xA27. */
|
/* Couldn't get 0xA20-0xA23. Try ALTERNATE at 0xA24-0xA27. */
|
||||||
link->io.BasePort1 = 0xA24;
|
link->io.BasePort1 = 0xA24;
|
||||||
CS_CHECK(RequestIO, pcmcia_request_io(link, &link->io));
|
CS_CHECK(RequestIO, pcmcia_request_io(link, &link->io));
|
||||||
|
|
|
@ -310,7 +310,7 @@ static hw_info_t *get_hwinfo(struct pcmcia_device *link)
|
||||||
req.Base = 0; req.Size = 0;
|
req.Base = 0; req.Size = 0;
|
||||||
req.AccessSpeed = 0;
|
req.AccessSpeed = 0;
|
||||||
i = pcmcia_request_window(&link, &req, &link->win);
|
i = pcmcia_request_window(&link, &req, &link->win);
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
cs_error(link, RequestWindow, i);
|
cs_error(link, RequestWindow, i);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -333,7 +333,7 @@ static hw_info_t *get_hwinfo(struct pcmcia_device *link)
|
||||||
|
|
||||||
iounmap(virt);
|
iounmap(virt);
|
||||||
j = pcmcia_release_window(link->win);
|
j = pcmcia_release_window(link->win);
|
||||||
if (j != CS_SUCCESS)
|
if (j != 0)
|
||||||
cs_error(link, ReleaseWindow, j);
|
cs_error(link, ReleaseWindow, j);
|
||||||
return (i < NR_INFO) ? hw_info+i : NULL;
|
return (i < NR_INFO) ? hw_info+i : NULL;
|
||||||
} /* get_hwinfo */
|
} /* get_hwinfo */
|
||||||
|
@ -504,7 +504,8 @@ static int try_io_port(struct pcmcia_device *link)
|
||||||
link->io.BasePort1 = j ^ 0x300;
|
link->io.BasePort1 = j ^ 0x300;
|
||||||
link->io.BasePort2 = (j ^ 0x300) + 0x10;
|
link->io.BasePort2 = (j ^ 0x300) + 0x10;
|
||||||
ret = pcmcia_request_io(link, &link->io);
|
ret = pcmcia_request_io(link, &link->io);
|
||||||
if (ret == CS_SUCCESS) return ret;
|
if (ret == 0)
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -409,8 +409,11 @@ static int first_tuple(struct pcmcia_device *handle, tuple_t *tuple,
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if ((i = pcmcia_get_first_tuple(handle, tuple)) != CS_SUCCESS ||
|
i = pcmcia_get_first_tuple(handle, tuple);
|
||||||
(i = pcmcia_get_tuple_data(handle, tuple)) != CS_SUCCESS)
|
if (i != 0)
|
||||||
|
return i;
|
||||||
|
i = pcmcia_get_tuple_data(handle, tuple);
|
||||||
|
if (i != 0)
|
||||||
return i;
|
return i;
|
||||||
return pcmcia_parse_tuple(handle, tuple, parse);
|
return pcmcia_parse_tuple(handle, tuple, parse);
|
||||||
}
|
}
|
||||||
|
@ -420,8 +423,8 @@ static int next_tuple(struct pcmcia_device *handle, tuple_t *tuple,
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if ((i = pcmcia_get_next_tuple(handle, tuple)) != CS_SUCCESS ||
|
if ((i = pcmcia_get_next_tuple(handle, tuple)) != 0 ||
|
||||||
(i = pcmcia_get_tuple_data(handle, tuple)) != CS_SUCCESS)
|
(i = pcmcia_get_tuple_data(handle, tuple)) != 0)
|
||||||
return i;
|
return i;
|
||||||
return pcmcia_parse_tuple(handle, tuple, parse);
|
return pcmcia_parse_tuple(handle, tuple, parse);
|
||||||
}
|
}
|
||||||
|
@ -509,7 +512,7 @@ static int mhz_mfc_config(struct pcmcia_device *link)
|
||||||
req.Base = req.Size = 0;
|
req.Base = req.Size = 0;
|
||||||
req.AccessSpeed = 0;
|
req.AccessSpeed = 0;
|
||||||
i = pcmcia_request_window(&link, &req, &link->win);
|
i = pcmcia_request_window(&link, &req, &link->win);
|
||||||
if (i != CS_SUCCESS)
|
if (i != 0)
|
||||||
goto free_cfg_mem;
|
goto free_cfg_mem;
|
||||||
smc->base = ioremap(req.Base, req.Size);
|
smc->base = ioremap(req.Base, req.Size);
|
||||||
mem.CardOffset = mem.Page = 0;
|
mem.CardOffset = mem.Page = 0;
|
||||||
|
@ -517,7 +520,7 @@ static int mhz_mfc_config(struct pcmcia_device *link)
|
||||||
mem.CardOffset = link->conf.ConfigBase;
|
mem.CardOffset = link->conf.ConfigBase;
|
||||||
i = pcmcia_map_mem_page(link->win, &mem);
|
i = pcmcia_map_mem_page(link->win, &mem);
|
||||||
|
|
||||||
if ((i == CS_SUCCESS)
|
if ((i == 0)
|
||||||
&& (smc->manfid == MANFID_MEGAHERTZ)
|
&& (smc->manfid == MANFID_MEGAHERTZ)
|
||||||
&& (smc->cardid == PRODID_MEGAHERTZ_EM3288))
|
&& (smc->cardid == PRODID_MEGAHERTZ_EM3288))
|
||||||
mhz_3288_power(link);
|
mhz_3288_power(link);
|
||||||
|
@ -551,12 +554,12 @@ static int mhz_setup(struct pcmcia_device *link)
|
||||||
/* Read the station address from the CIS. It is stored as the last
|
/* Read the station address from the CIS. It is stored as the last
|
||||||
(fourth) string in the Version 1 Version/ID tuple. */
|
(fourth) string in the Version 1 Version/ID tuple. */
|
||||||
tuple->DesiredTuple = CISTPL_VERS_1;
|
tuple->DesiredTuple = CISTPL_VERS_1;
|
||||||
if (first_tuple(link, tuple, parse) != CS_SUCCESS) {
|
if (first_tuple(link, tuple, parse) != 0) {
|
||||||
rc = -1;
|
rc = -1;
|
||||||
goto free_cfg_mem;
|
goto free_cfg_mem;
|
||||||
}
|
}
|
||||||
/* Ugh -- the EM1144 card has two VERS_1 tuples!?! */
|
/* Ugh -- the EM1144 card has two VERS_1 tuples!?! */
|
||||||
if (next_tuple(link, tuple, parse) != CS_SUCCESS)
|
if (next_tuple(link, tuple, parse) != 0)
|
||||||
first_tuple(link, tuple, parse);
|
first_tuple(link, tuple, parse);
|
||||||
if (parse->version_1.ns > 3) {
|
if (parse->version_1.ns > 3) {
|
||||||
station_addr = parse->version_1.str + parse->version_1.ofs[3];
|
station_addr = parse->version_1.str + parse->version_1.ofs[3];
|
||||||
|
@ -568,11 +571,11 @@ static int mhz_setup(struct pcmcia_device *link)
|
||||||
|
|
||||||
/* Another possibility: for the EM3288, in a special tuple */
|
/* Another possibility: for the EM3288, in a special tuple */
|
||||||
tuple->DesiredTuple = 0x81;
|
tuple->DesiredTuple = 0x81;
|
||||||
if (pcmcia_get_first_tuple(link, tuple) != CS_SUCCESS) {
|
if (pcmcia_get_first_tuple(link, tuple) != 0) {
|
||||||
rc = -1;
|
rc = -1;
|
||||||
goto free_cfg_mem;
|
goto free_cfg_mem;
|
||||||
}
|
}
|
||||||
if (pcmcia_get_tuple_data(link, tuple) != CS_SUCCESS) {
|
if (pcmcia_get_tuple_data(link, tuple) != 0) {
|
||||||
rc = -1;
|
rc = -1;
|
||||||
goto free_cfg_mem;
|
goto free_cfg_mem;
|
||||||
}
|
}
|
||||||
|
@ -700,12 +703,12 @@ static int smc_setup(struct pcmcia_device *link)
|
||||||
/* Check for a LAN function extension tuple */
|
/* Check for a LAN function extension tuple */
|
||||||
tuple->DesiredTuple = CISTPL_FUNCE;
|
tuple->DesiredTuple = CISTPL_FUNCE;
|
||||||
i = first_tuple(link, tuple, parse);
|
i = first_tuple(link, tuple, parse);
|
||||||
while (i == CS_SUCCESS) {
|
while (i == 0) {
|
||||||
if (parse->funce.type == CISTPL_FUNCE_LAN_NODE_ID)
|
if (parse->funce.type == CISTPL_FUNCE_LAN_NODE_ID)
|
||||||
break;
|
break;
|
||||||
i = next_tuple(link, tuple, parse);
|
i = next_tuple(link, tuple, parse);
|
||||||
}
|
}
|
||||||
if (i == CS_SUCCESS) {
|
if (i == 0) {
|
||||||
node_id = (cistpl_lan_node_id_t *)parse->funce.data;
|
node_id = (cistpl_lan_node_id_t *)parse->funce.data;
|
||||||
if (node_id->nb == 6) {
|
if (node_id->nb == 6) {
|
||||||
for (i = 0; i < 6; i++)
|
for (i = 0; i < 6; i++)
|
||||||
|
@ -752,9 +755,10 @@ static int osi_config(struct pcmcia_device *link)
|
||||||
for (i = j = 0; j < 4; j++) {
|
for (i = j = 0; j < 4; j++) {
|
||||||
link->io.BasePort2 = com[j];
|
link->io.BasePort2 = com[j];
|
||||||
i = pcmcia_request_io(link, &link->io);
|
i = pcmcia_request_io(link, &link->io);
|
||||||
if (i == CS_SUCCESS) break;
|
if (i == 0)
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
/* Fallback: turn off hard decode */
|
/* Fallback: turn off hard decode */
|
||||||
link->conf.ConfigIndex = 0x03;
|
link->conf.ConfigIndex = 0x03;
|
||||||
link->io.NumPorts2 = 0;
|
link->io.NumPorts2 = 0;
|
||||||
|
@ -787,13 +791,13 @@ static int osi_setup(struct pcmcia_device *link, u_short manfid, u_short cardid)
|
||||||
/* Read the station address from tuple 0x90, subtuple 0x04 */
|
/* Read the station address from tuple 0x90, subtuple 0x04 */
|
||||||
tuple->DesiredTuple = 0x90;
|
tuple->DesiredTuple = 0x90;
|
||||||
i = pcmcia_get_first_tuple(link, tuple);
|
i = pcmcia_get_first_tuple(link, tuple);
|
||||||
while (i == CS_SUCCESS) {
|
while (i == 0) {
|
||||||
i = pcmcia_get_tuple_data(link, tuple);
|
i = pcmcia_get_tuple_data(link, tuple);
|
||||||
if ((i != CS_SUCCESS) || (buf[0] == 0x04))
|
if ((i != 0) || (buf[0] == 0x04))
|
||||||
break;
|
break;
|
||||||
i = pcmcia_get_next_tuple(link, tuple);
|
i = pcmcia_get_next_tuple(link, tuple);
|
||||||
}
|
}
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
rc = -1;
|
rc = -1;
|
||||||
goto free_cfg_mem;
|
goto free_cfg_mem;
|
||||||
}
|
}
|
||||||
|
@ -931,8 +935,11 @@ static int check_sig(struct pcmcia_device *link)
|
||||||
|
|
||||||
======================================================================*/
|
======================================================================*/
|
||||||
|
|
||||||
#define CS_EXIT_TEST(ret, svc, label) \
|
#define CS_EXIT_TEST(ret, svc, label) \
|
||||||
if (ret != CS_SUCCESS) { cs_error(link, svc, ret); goto label; }
|
if (ret != 0) { \
|
||||||
|
cs_error(link, svc, ret); \
|
||||||
|
goto label; \
|
||||||
|
}
|
||||||
|
|
||||||
static int smc91c92_config(struct pcmcia_device *link)
|
static int smc91c92_config(struct pcmcia_device *link)
|
||||||
{
|
{
|
||||||
|
|
|
@ -82,13 +82,13 @@ static int __devinit b43_pcmcia_probe(struct pcmcia_device *dev)
|
||||||
tuple.TupleOffset = 0;
|
tuple.TupleOffset = 0;
|
||||||
|
|
||||||
res = pcmcia_get_first_tuple(dev, &tuple);
|
res = pcmcia_get_first_tuple(dev, &tuple);
|
||||||
if (res != CS_SUCCESS)
|
if (res != 0)
|
||||||
goto err_kfree_ssb;
|
goto err_kfree_ssb;
|
||||||
res = pcmcia_get_tuple_data(dev, &tuple);
|
res = pcmcia_get_tuple_data(dev, &tuple);
|
||||||
if (res != CS_SUCCESS)
|
if (res != 0)
|
||||||
goto err_kfree_ssb;
|
goto err_kfree_ssb;
|
||||||
res = pcmcia_parse_tuple(dev, &tuple, &parse);
|
res = pcmcia_parse_tuple(dev, &tuple, &parse);
|
||||||
if (res != CS_SUCCESS)
|
if (res != 0)
|
||||||
goto err_kfree_ssb;
|
goto err_kfree_ssb;
|
||||||
|
|
||||||
dev->conf.ConfigBase = parse.config.base;
|
dev->conf.ConfigBase = parse.config.base;
|
||||||
|
@ -107,13 +107,13 @@ static int __devinit b43_pcmcia_probe(struct pcmcia_device *dev)
|
||||||
win.Size = SSB_CORE_SIZE;
|
win.Size = SSB_CORE_SIZE;
|
||||||
win.AccessSpeed = 250;
|
win.AccessSpeed = 250;
|
||||||
res = pcmcia_request_window(&dev, &win, &dev->win);
|
res = pcmcia_request_window(&dev, &win, &dev->win);
|
||||||
if (res != CS_SUCCESS)
|
if (res != 0)
|
||||||
goto err_kfree_ssb;
|
goto err_kfree_ssb;
|
||||||
|
|
||||||
mem.CardOffset = 0;
|
mem.CardOffset = 0;
|
||||||
mem.Page = 0;
|
mem.Page = 0;
|
||||||
res = pcmcia_map_mem_page(dev->win, &mem);
|
res = pcmcia_map_mem_page(dev->win, &mem);
|
||||||
if (res != CS_SUCCESS)
|
if (res != 0)
|
||||||
goto err_disable;
|
goto err_disable;
|
||||||
|
|
||||||
dev->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING;
|
dev->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING;
|
||||||
|
@ -121,11 +121,11 @@ static int __devinit b43_pcmcia_probe(struct pcmcia_device *dev)
|
||||||
dev->irq.Handler = NULL; /* The handler is registered later. */
|
dev->irq.Handler = NULL; /* The handler is registered later. */
|
||||||
dev->irq.Instance = NULL;
|
dev->irq.Instance = NULL;
|
||||||
res = pcmcia_request_irq(dev, &dev->irq);
|
res = pcmcia_request_irq(dev, &dev->irq);
|
||||||
if (res != CS_SUCCESS)
|
if (res != 0)
|
||||||
goto err_disable;
|
goto err_disable;
|
||||||
|
|
||||||
res = pcmcia_request_configuration(dev, &dev->conf);
|
res = pcmcia_request_configuration(dev, &dev->conf);
|
||||||
if (res != CS_SUCCESS)
|
if (res != 0)
|
||||||
goto err_disable;
|
goto err_disable;
|
||||||
|
|
||||||
err = ssb_bus_pcmciabus_register(ssb, dev, win.Base);
|
err = ssb_bus_pcmciabus_register(ssb, dev, win.Base);
|
||||||
|
|
|
@ -234,7 +234,7 @@ static void sandisk_set_iobase(local_info_t *local)
|
||||||
reg.Value = hw_priv->link->io.BasePort1 & 0x00ff;
|
reg.Value = hw_priv->link->io.BasePort1 & 0x00ff;
|
||||||
res = pcmcia_access_configuration_register(hw_priv->link,
|
res = pcmcia_access_configuration_register(hw_priv->link,
|
||||||
®);
|
®);
|
||||||
if (res != CS_SUCCESS) {
|
if (res != 0) {
|
||||||
printk(KERN_DEBUG "Prism3 SanDisk - failed to set I/O base 0 -"
|
printk(KERN_DEBUG "Prism3 SanDisk - failed to set I/O base 0 -"
|
||||||
" res=%d\n", res);
|
" res=%d\n", res);
|
||||||
}
|
}
|
||||||
|
@ -246,7 +246,7 @@ static void sandisk_set_iobase(local_info_t *local)
|
||||||
reg.Value = (hw_priv->link->io.BasePort1 & 0xff00) >> 8;
|
reg.Value = (hw_priv->link->io.BasePort1 & 0xff00) >> 8;
|
||||||
res = pcmcia_access_configuration_register(hw_priv->link,
|
res = pcmcia_access_configuration_register(hw_priv->link,
|
||||||
®);
|
®);
|
||||||
if (res != CS_SUCCESS) {
|
if (res != 0) {
|
||||||
printk(KERN_DEBUG "Prism3 SanDisk - failed to set I/O base 1 -"
|
printk(KERN_DEBUG "Prism3 SanDisk - failed to set I/O base 1 -"
|
||||||
" res=%d\n", res);
|
" res=%d\n", res);
|
||||||
}
|
}
|
||||||
|
@ -322,7 +322,7 @@ static int sandisk_enable_wireless(struct net_device *dev)
|
||||||
reg.Value = COR_SOFT_RESET;
|
reg.Value = COR_SOFT_RESET;
|
||||||
res = pcmcia_access_configuration_register(hw_priv->link,
|
res = pcmcia_access_configuration_register(hw_priv->link,
|
||||||
®);
|
®);
|
||||||
if (res != CS_SUCCESS) {
|
if (res != 0) {
|
||||||
printk(KERN_DEBUG "%s: SanDisk - COR sreset failed (%d)\n",
|
printk(KERN_DEBUG "%s: SanDisk - COR sreset failed (%d)\n",
|
||||||
dev->name, res);
|
dev->name, res);
|
||||||
goto done;
|
goto done;
|
||||||
|
@ -339,7 +339,7 @@ static int sandisk_enable_wireless(struct net_device *dev)
|
||||||
reg.Value = COR_LEVEL_REQ | 0x8 | COR_ADDR_DECODE | COR_FUNC_ENA;
|
reg.Value = COR_LEVEL_REQ | 0x8 | COR_ADDR_DECODE | COR_FUNC_ENA;
|
||||||
res = pcmcia_access_configuration_register(hw_priv->link,
|
res = pcmcia_access_configuration_register(hw_priv->link,
|
||||||
®);
|
®);
|
||||||
if (res != CS_SUCCESS) {
|
if (res != 0) {
|
||||||
printk(KERN_DEBUG "%s: SanDisk - COR sreset failed (%d)\n",
|
printk(KERN_DEBUG "%s: SanDisk - COR sreset failed (%d)\n",
|
||||||
dev->name, res);
|
dev->name, res);
|
||||||
goto done;
|
goto done;
|
||||||
|
@ -374,7 +374,7 @@ static void prism2_pccard_cor_sreset(local_info_t *local)
|
||||||
reg.Value = 0;
|
reg.Value = 0;
|
||||||
res = pcmcia_access_configuration_register(hw_priv->link,
|
res = pcmcia_access_configuration_register(hw_priv->link,
|
||||||
®);
|
®);
|
||||||
if (res != CS_SUCCESS) {
|
if (res != 0) {
|
||||||
printk(KERN_DEBUG "prism2_pccard_cor_sreset failed 1 (%d)\n",
|
printk(KERN_DEBUG "prism2_pccard_cor_sreset failed 1 (%d)\n",
|
||||||
res);
|
res);
|
||||||
return;
|
return;
|
||||||
|
@ -386,7 +386,7 @@ static void prism2_pccard_cor_sreset(local_info_t *local)
|
||||||
reg.Value |= COR_SOFT_RESET;
|
reg.Value |= COR_SOFT_RESET;
|
||||||
res = pcmcia_access_configuration_register(hw_priv->link,
|
res = pcmcia_access_configuration_register(hw_priv->link,
|
||||||
®);
|
®);
|
||||||
if (res != CS_SUCCESS) {
|
if (res != 0) {
|
||||||
printk(KERN_DEBUG "prism2_pccard_cor_sreset failed 2 (%d)\n",
|
printk(KERN_DEBUG "prism2_pccard_cor_sreset failed 2 (%d)\n",
|
||||||
res);
|
res);
|
||||||
return;
|
return;
|
||||||
|
@ -399,7 +399,7 @@ static void prism2_pccard_cor_sreset(local_info_t *local)
|
||||||
reg.Value |= COR_IREQ_ENA;
|
reg.Value |= COR_IREQ_ENA;
|
||||||
res = pcmcia_access_configuration_register(hw_priv->link,
|
res = pcmcia_access_configuration_register(hw_priv->link,
|
||||||
®);
|
®);
|
||||||
if (res != CS_SUCCESS) {
|
if (res != 0) {
|
||||||
printk(KERN_DEBUG "prism2_pccard_cor_sreset failed 3 (%d)\n",
|
printk(KERN_DEBUG "prism2_pccard_cor_sreset failed 3 (%d)\n",
|
||||||
res);
|
res);
|
||||||
return;
|
return;
|
||||||
|
@ -433,7 +433,7 @@ static void prism2_pccard_genesis_reset(local_info_t *local, int hcr)
|
||||||
reg.Value = 0;
|
reg.Value = 0;
|
||||||
res = pcmcia_access_configuration_register(hw_priv->link,
|
res = pcmcia_access_configuration_register(hw_priv->link,
|
||||||
®);
|
®);
|
||||||
if (res != CS_SUCCESS) {
|
if (res != 0) {
|
||||||
printk(KERN_DEBUG "prism2_pccard_genesis_sreset failed 1 "
|
printk(KERN_DEBUG "prism2_pccard_genesis_sreset failed 1 "
|
||||||
"(%d)\n", res);
|
"(%d)\n", res);
|
||||||
return;
|
return;
|
||||||
|
@ -446,7 +446,7 @@ static void prism2_pccard_genesis_reset(local_info_t *local, int hcr)
|
||||||
reg.Value |= COR_SOFT_RESET;
|
reg.Value |= COR_SOFT_RESET;
|
||||||
res = pcmcia_access_configuration_register(hw_priv->link,
|
res = pcmcia_access_configuration_register(hw_priv->link,
|
||||||
®);
|
®);
|
||||||
if (res != CS_SUCCESS) {
|
if (res != 0) {
|
||||||
printk(KERN_DEBUG "prism2_pccard_genesis_sreset failed 2 "
|
printk(KERN_DEBUG "prism2_pccard_genesis_sreset failed 2 "
|
||||||
"(%d)\n", res);
|
"(%d)\n", res);
|
||||||
return;
|
return;
|
||||||
|
@ -460,7 +460,7 @@ static void prism2_pccard_genesis_reset(local_info_t *local, int hcr)
|
||||||
reg.Offset = CISREG_CCSR;
|
reg.Offset = CISREG_CCSR;
|
||||||
res = pcmcia_access_configuration_register(hw_priv->link,
|
res = pcmcia_access_configuration_register(hw_priv->link,
|
||||||
®);
|
®);
|
||||||
if (res != CS_SUCCESS) {
|
if (res != 0) {
|
||||||
printk(KERN_DEBUG "prism2_pccard_genesis_sreset failed 3 "
|
printk(KERN_DEBUG "prism2_pccard_genesis_sreset failed 3 "
|
||||||
"(%d)\n", res);
|
"(%d)\n", res);
|
||||||
return;
|
return;
|
||||||
|
@ -472,7 +472,7 @@ static void prism2_pccard_genesis_reset(local_info_t *local, int hcr)
|
||||||
reg.Value = old_cor & ~COR_SOFT_RESET;
|
reg.Value = old_cor & ~COR_SOFT_RESET;
|
||||||
res = pcmcia_access_configuration_register(hw_priv->link,
|
res = pcmcia_access_configuration_register(hw_priv->link,
|
||||||
®);
|
®);
|
||||||
if (res != CS_SUCCESS) {
|
if (res != 0) {
|
||||||
printk(KERN_DEBUG "prism2_pccard_genesis_sreset failed 4 "
|
printk(KERN_DEBUG "prism2_pccard_genesis_sreset failed 4 "
|
||||||
"(%d)\n", res);
|
"(%d)\n", res);
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -749,9 +749,10 @@ static int netwave_pcmcia_config(struct pcmcia_device *link) {
|
||||||
for (i = j = 0x0; j < 0x400; j += 0x20) {
|
for (i = j = 0x0; j < 0x400; j += 0x20) {
|
||||||
link->io.BasePort1 = j ^ 0x300;
|
link->io.BasePort1 = j ^ 0x300;
|
||||||
i = pcmcia_request_io(link, &link->io);
|
i = pcmcia_request_io(link, &link->io);
|
||||||
if (i == CS_SUCCESS) break;
|
if (i == 0)
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
cs_error(link, RequestIO, i);
|
cs_error(link, RequestIO, i);
|
||||||
goto failed;
|
goto failed;
|
||||||
}
|
}
|
||||||
|
|
|
@ -798,9 +798,9 @@ static void ray_release(struct pcmcia_device *link)
|
||||||
iounmap(local->amem);
|
iounmap(local->amem);
|
||||||
/* Do bother checking to see if these succeed or not */
|
/* Do bother checking to see if these succeed or not */
|
||||||
i = pcmcia_release_window(local->amem_handle);
|
i = pcmcia_release_window(local->amem_handle);
|
||||||
if ( i != CS_SUCCESS ) DEBUG(0,"ReleaseWindow(local->amem) ret = %x\n",i);
|
if ( i != 0 ) DEBUG(0,"ReleaseWindow(local->amem) ret = %x\n",i);
|
||||||
i = pcmcia_release_window(local->rmem_handle);
|
i = pcmcia_release_window(local->rmem_handle);
|
||||||
if ( i != CS_SUCCESS ) DEBUG(0,"ReleaseWindow(local->rmem) ret = %x\n",i);
|
if ( i != 0 ) DEBUG(0,"ReleaseWindow(local->rmem) ret = %x\n",i);
|
||||||
pcmcia_disable_device(link);
|
pcmcia_disable_device(link);
|
||||||
|
|
||||||
DEBUG(2,"ray_release ending\n");
|
DEBUG(2,"ray_release ending\n");
|
||||||
|
|
|
@ -3708,7 +3708,7 @@ wv_pcmcia_reset(struct net_device * dev)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
i = pcmcia_access_configuration_register(link, ®);
|
i = pcmcia_access_configuration_register(link, ®);
|
||||||
if(i != CS_SUCCESS)
|
if (i != 0)
|
||||||
{
|
{
|
||||||
cs_error(link, AccessConfigurationRegister, i);
|
cs_error(link, AccessConfigurationRegister, i);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -3722,7 +3722,7 @@ wv_pcmcia_reset(struct net_device * dev)
|
||||||
reg.Action = CS_WRITE;
|
reg.Action = CS_WRITE;
|
||||||
reg.Value = reg.Value | COR_SW_RESET;
|
reg.Value = reg.Value | COR_SW_RESET;
|
||||||
i = pcmcia_access_configuration_register(link, ®);
|
i = pcmcia_access_configuration_register(link, ®);
|
||||||
if(i != CS_SUCCESS)
|
if (i != 0)
|
||||||
{
|
{
|
||||||
cs_error(link, AccessConfigurationRegister, i);
|
cs_error(link, AccessConfigurationRegister, i);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -3731,7 +3731,7 @@ wv_pcmcia_reset(struct net_device * dev)
|
||||||
reg.Action = CS_WRITE;
|
reg.Action = CS_WRITE;
|
||||||
reg.Value = COR_LEVEL_IRQ | COR_CONFIG;
|
reg.Value = COR_LEVEL_IRQ | COR_CONFIG;
|
||||||
i = pcmcia_access_configuration_register(link, ®);
|
i = pcmcia_access_configuration_register(link, ®);
|
||||||
if(i != CS_SUCCESS)
|
if (i != 0)
|
||||||
{
|
{
|
||||||
cs_error(link, AccessConfigurationRegister, i);
|
cs_error(link, AccessConfigurationRegister, i);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -3909,7 +3909,7 @@ wv_pcmcia_config(struct pcmcia_device * link)
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
i = pcmcia_request_io(link, &link->io);
|
i = pcmcia_request_io(link, &link->io);
|
||||||
if(i != CS_SUCCESS)
|
if (i != 0)
|
||||||
{
|
{
|
||||||
cs_error(link, RequestIO, i);
|
cs_error(link, RequestIO, i);
|
||||||
break;
|
break;
|
||||||
|
@ -3920,7 +3920,7 @@ wv_pcmcia_config(struct pcmcia_device * link)
|
||||||
* actually assign a handler to the interrupt.
|
* actually assign a handler to the interrupt.
|
||||||
*/
|
*/
|
||||||
i = pcmcia_request_irq(link, &link->irq);
|
i = pcmcia_request_irq(link, &link->irq);
|
||||||
if(i != CS_SUCCESS)
|
if (i != 0)
|
||||||
{
|
{
|
||||||
cs_error(link, RequestIRQ, i);
|
cs_error(link, RequestIRQ, i);
|
||||||
break;
|
break;
|
||||||
|
@ -3932,7 +3932,7 @@ wv_pcmcia_config(struct pcmcia_device * link)
|
||||||
*/
|
*/
|
||||||
link->conf.ConfigIndex = 1;
|
link->conf.ConfigIndex = 1;
|
||||||
i = pcmcia_request_configuration(link, &link->conf);
|
i = pcmcia_request_configuration(link, &link->conf);
|
||||||
if(i != CS_SUCCESS)
|
if (i != 0)
|
||||||
{
|
{
|
||||||
cs_error(link, RequestConfiguration, i);
|
cs_error(link, RequestConfiguration, i);
|
||||||
break;
|
break;
|
||||||
|
@ -3948,7 +3948,7 @@ wv_pcmcia_config(struct pcmcia_device * link)
|
||||||
req.Base = req.Size = 0;
|
req.Base = req.Size = 0;
|
||||||
req.AccessSpeed = mem_speed;
|
req.AccessSpeed = mem_speed;
|
||||||
i = pcmcia_request_window(&link, &req, &link->win);
|
i = pcmcia_request_window(&link, &req, &link->win);
|
||||||
if(i != CS_SUCCESS)
|
if (i != 0)
|
||||||
{
|
{
|
||||||
cs_error(link, RequestWindow, i);
|
cs_error(link, RequestWindow, i);
|
||||||
break;
|
break;
|
||||||
|
@ -3960,7 +3960,7 @@ wv_pcmcia_config(struct pcmcia_device * link)
|
||||||
|
|
||||||
mem.CardOffset = 0; mem.Page = 0;
|
mem.CardOffset = 0; mem.Page = 0;
|
||||||
i = pcmcia_map_mem_page(link->win, &mem);
|
i = pcmcia_map_mem_page(link->win, &mem);
|
||||||
if(i != CS_SUCCESS)
|
if (i != 0)
|
||||||
{
|
{
|
||||||
cs_error(link, MapMemPage, i);
|
cs_error(link, MapMemPage, i);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -1977,10 +1977,10 @@ static int wl3501_config(struct pcmcia_device *link)
|
||||||
link->io.BasePort1 = j;
|
link->io.BasePort1 = j;
|
||||||
link->io.BasePort2 = link->io.BasePort1 + 0x10;
|
link->io.BasePort2 = link->io.BasePort1 + 0x10;
|
||||||
i = pcmcia_request_io(link, &link->io);
|
i = pcmcia_request_io(link, &link->io);
|
||||||
if (i == CS_SUCCESS)
|
if (i == 0)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
cs_error(link, RequestIO, i);
|
cs_error(link, RequestIO, i);
|
||||||
goto failed;
|
goto failed;
|
||||||
}
|
}
|
||||||
|
|
|
@ -238,7 +238,7 @@ int __ref cb_alloc(struct pcmcia_socket * s)
|
||||||
pci_bus_add_devices(bus);
|
pci_bus_add_devices(bus);
|
||||||
|
|
||||||
s->irq.AssignedIRQ = s->pci_irq;
|
s->irq.AssignedIRQ = s->pci_irq;
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void cb_free(struct pcmcia_socket * s)
|
void cb_free(struct pcmcia_socket * s)
|
||||||
|
|
|
@ -392,7 +392,7 @@ int pcmcia_replace_cis(struct pcmcia_socket *s,
|
||||||
return CS_OUT_OF_RESOURCE;
|
return CS_OUT_OF_RESOURCE;
|
||||||
s->fake_cis_len = len;
|
s->fake_cis_len = len;
|
||||||
memcpy(s->fake_cis, data, len);
|
memcpy(s->fake_cis, data, len);
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(pcmcia_replace_cis);
|
EXPORT_SYMBOL(pcmcia_replace_cis);
|
||||||
|
|
||||||
|
@ -441,9 +441,9 @@ int pccard_get_first_tuple(struct pcmcia_socket *s, unsigned int function, tuple
|
||||||
!(tuple->Attributes & TUPLE_RETURN_COMMON)) {
|
!(tuple->Attributes & TUPLE_RETURN_COMMON)) {
|
||||||
cisdata_t req = tuple->DesiredTuple;
|
cisdata_t req = tuple->DesiredTuple;
|
||||||
tuple->DesiredTuple = CISTPL_LONGLINK_MFC;
|
tuple->DesiredTuple = CISTPL_LONGLINK_MFC;
|
||||||
if (pccard_get_next_tuple(s, function, tuple) == CS_SUCCESS) {
|
if (pccard_get_next_tuple(s, function, tuple) == 0) {
|
||||||
tuple->DesiredTuple = CISTPL_LINKTARGET;
|
tuple->DesiredTuple = CISTPL_LINKTARGET;
|
||||||
if (pccard_get_next_tuple(s, function, tuple) != CS_SUCCESS)
|
if (pccard_get_next_tuple(s, function, tuple) != 0)
|
||||||
return CS_NO_MORE_ITEMS;
|
return CS_NO_MORE_ITEMS;
|
||||||
} else
|
} else
|
||||||
tuple->CISOffset = tuple->TupleLink = 0;
|
tuple->CISOffset = tuple->TupleLink = 0;
|
||||||
|
@ -584,7 +584,7 @@ int pccard_get_next_tuple(struct pcmcia_socket *s, unsigned int function, tuple_
|
||||||
tuple->TupleCode = link[0];
|
tuple->TupleCode = link[0];
|
||||||
tuple->TupleLink = link[1];
|
tuple->TupleLink = link[1];
|
||||||
tuple->CISOffset = ofs + 2;
|
tuple->CISOffset = ofs + 2;
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(pccard_get_next_tuple);
|
EXPORT_SYMBOL(pccard_get_next_tuple);
|
||||||
|
|
||||||
|
@ -604,11 +604,11 @@ int pccard_get_tuple_data(struct pcmcia_socket *s, tuple_t *tuple)
|
||||||
len = tuple->TupleLink - tuple->TupleOffset;
|
len = tuple->TupleLink - tuple->TupleOffset;
|
||||||
tuple->TupleDataLen = tuple->TupleLink;
|
tuple->TupleDataLen = tuple->TupleLink;
|
||||||
if (len == 0)
|
if (len == 0)
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
read_cis_cache(s, SPACE(tuple->Flags),
|
read_cis_cache(s, SPACE(tuple->Flags),
|
||||||
tuple->CISOffset + tuple->TupleOffset,
|
tuple->CISOffset + tuple->TupleOffset,
|
||||||
_MIN(len, tuple->TupleDataMax), tuple->TupleData);
|
_MIN(len, tuple->TupleDataMax), tuple->TupleData);
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(pccard_get_tuple_data);
|
EXPORT_SYMBOL(pccard_get_tuple_data);
|
||||||
|
|
||||||
|
@ -659,7 +659,7 @@ static int parse_device(tuple_t *tuple, cistpl_device_t *device)
|
||||||
if (++p == q) break;
|
if (++p == q) break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*====================================================================*/
|
/*====================================================================*/
|
||||||
|
@ -673,7 +673,7 @@ static int parse_checksum(tuple_t *tuple, cistpl_checksum_t *csum)
|
||||||
csum->addr = tuple->CISOffset + get_unaligned_le16(p) - 2;
|
csum->addr = tuple->CISOffset + get_unaligned_le16(p) - 2;
|
||||||
csum->len = get_unaligned_le16(p + 2);
|
csum->len = get_unaligned_le16(p + 2);
|
||||||
csum->sum = *(p + 4);
|
csum->sum = *(p + 4);
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*====================================================================*/
|
/*====================================================================*/
|
||||||
|
@ -683,7 +683,7 @@ static int parse_longlink(tuple_t *tuple, cistpl_longlink_t *link)
|
||||||
if (tuple->TupleDataLen < 4)
|
if (tuple->TupleDataLen < 4)
|
||||||
return CS_BAD_TUPLE;
|
return CS_BAD_TUPLE;
|
||||||
link->addr = get_unaligned_le32(tuple->TupleData);
|
link->addr = get_unaligned_le32(tuple->TupleData);
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*====================================================================*/
|
/*====================================================================*/
|
||||||
|
@ -704,7 +704,7 @@ static int parse_longlink_mfc(tuple_t *tuple,
|
||||||
link->fn[i].addr = get_unaligned_le32(p);
|
link->fn[i].addr = get_unaligned_le32(p);
|
||||||
p += 4;
|
p += 4;
|
||||||
}
|
}
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*====================================================================*/
|
/*====================================================================*/
|
||||||
|
@ -729,9 +729,9 @@ static int parse_strings(u_char *p, u_char *q, int max,
|
||||||
}
|
}
|
||||||
if (found) {
|
if (found) {
|
||||||
*found = ns;
|
*found = ns;
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
return (ns == max) ? CS_SUCCESS : CS_BAD_TUPLE;
|
return (ns == max) ? 0 : CS_BAD_TUPLE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -782,7 +782,7 @@ static int parse_jedec(tuple_t *tuple, cistpl_jedec_t *jedec)
|
||||||
p += 2;
|
p += 2;
|
||||||
}
|
}
|
||||||
jedec->nid = nid;
|
jedec->nid = nid;
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*====================================================================*/
|
/*====================================================================*/
|
||||||
|
@ -793,7 +793,7 @@ static int parse_manfid(tuple_t *tuple, cistpl_manfid_t *m)
|
||||||
return CS_BAD_TUPLE;
|
return CS_BAD_TUPLE;
|
||||||
m->manf = get_unaligned_le16(tuple->TupleData);
|
m->manf = get_unaligned_le16(tuple->TupleData);
|
||||||
m->card = get_unaligned_le16(tuple->TupleData + 2);
|
m->card = get_unaligned_le16(tuple->TupleData + 2);
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*====================================================================*/
|
/*====================================================================*/
|
||||||
|
@ -806,7 +806,7 @@ static int parse_funcid(tuple_t *tuple, cistpl_funcid_t *f)
|
||||||
p = (u_char *)tuple->TupleData;
|
p = (u_char *)tuple->TupleData;
|
||||||
f->func = p[0];
|
f->func = p[0];
|
||||||
f->sysinit = p[1];
|
f->sysinit = p[1];
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*====================================================================*/
|
/*====================================================================*/
|
||||||
|
@ -821,7 +821,7 @@ static int parse_funce(tuple_t *tuple, cistpl_funce_t *f)
|
||||||
f->type = p[0];
|
f->type = p[0];
|
||||||
for (i = 1; i < tuple->TupleDataLen; i++)
|
for (i = 1; i < tuple->TupleDataLen; i++)
|
||||||
f->data[i-1] = p[i];
|
f->data[i-1] = p[i];
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*====================================================================*/
|
/*====================================================================*/
|
||||||
|
@ -847,7 +847,7 @@ static int parse_config(tuple_t *tuple, cistpl_config_t *config)
|
||||||
for (i = 0; i <= rmsz; i++)
|
for (i = 0; i <= rmsz; i++)
|
||||||
config->rmask[i>>2] += p[i] << (8*(i%4));
|
config->rmask[i>>2] += p[i] << (8*(i%4));
|
||||||
config->subtuples = tuple->TupleDataLen - (rasz+rmsz+4);
|
config->subtuples = tuple->TupleDataLen - (rasz+rmsz+4);
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*======================================================================
|
/*======================================================================
|
||||||
|
@ -1122,7 +1122,7 @@ static int parse_cftable_entry(tuple_t *tuple,
|
||||||
|
|
||||||
entry->subtuples = q-p;
|
entry->subtuples = q-p;
|
||||||
|
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*====================================================================*/
|
/*====================================================================*/
|
||||||
|
@ -1138,7 +1138,7 @@ static int parse_bar(tuple_t *tuple, cistpl_bar_t *bar)
|
||||||
bar->attr = *p;
|
bar->attr = *p;
|
||||||
p += 2;
|
p += 2;
|
||||||
bar->size = get_unaligned_le32(p);
|
bar->size = get_unaligned_le32(p);
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int parse_config_cb(tuple_t *tuple, cistpl_config_t *config)
|
static int parse_config_cb(tuple_t *tuple, cistpl_config_t *config)
|
||||||
|
@ -1152,7 +1152,7 @@ static int parse_config_cb(tuple_t *tuple, cistpl_config_t *config)
|
||||||
p++;
|
p++;
|
||||||
config->base = get_unaligned_le32(p);
|
config->base = get_unaligned_le32(p);
|
||||||
config->subtuples = tuple->TupleDataLen - 6;
|
config->subtuples = tuple->TupleDataLen - 6;
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int parse_cftable_entry_cb(tuple_t *tuple,
|
static int parse_cftable_entry_cb(tuple_t *tuple,
|
||||||
|
@ -1223,7 +1223,7 @@ static int parse_cftable_entry_cb(tuple_t *tuple,
|
||||||
|
|
||||||
entry->subtuples = q-p;
|
entry->subtuples = q-p;
|
||||||
|
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1249,7 +1249,7 @@ static int parse_device_geo(tuple_t *tuple, cistpl_device_geo_t *geo)
|
||||||
p += 6;
|
p += 6;
|
||||||
}
|
}
|
||||||
geo->ngeo = n;
|
geo->ngeo = n;
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*====================================================================*/
|
/*====================================================================*/
|
||||||
|
@ -1291,7 +1291,7 @@ static int parse_org(tuple_t *tuple, cistpl_org_t *org)
|
||||||
if (*p == '\0') break;
|
if (*p == '\0') break;
|
||||||
if (++p == q) return CS_BAD_TUPLE;
|
if (++p == q) return CS_BAD_TUPLE;
|
||||||
}
|
}
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*====================================================================*/
|
/*====================================================================*/
|
||||||
|
@ -1310,14 +1310,14 @@ static int parse_format(tuple_t *tuple, cistpl_format_t *fmt)
|
||||||
fmt->offset = get_unaligned_le32(p + 2);
|
fmt->offset = get_unaligned_le32(p + 2);
|
||||||
fmt->length = get_unaligned_le32(p + 6);
|
fmt->length = get_unaligned_le32(p + 6);
|
||||||
|
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*====================================================================*/
|
/*====================================================================*/
|
||||||
|
|
||||||
int pccard_parse_tuple(tuple_t *tuple, cisparse_t *parse)
|
int pccard_parse_tuple(tuple_t *tuple, cisparse_t *parse)
|
||||||
{
|
{
|
||||||
int ret = CS_SUCCESS;
|
int ret = 0;
|
||||||
|
|
||||||
if (tuple->TupleDataLen > tuple->TupleDataMax)
|
if (tuple->TupleDataLen > tuple->TupleDataMax)
|
||||||
return CS_BAD_TUPLE;
|
return CS_BAD_TUPLE;
|
||||||
|
@ -1388,7 +1388,7 @@ int pccard_parse_tuple(tuple_t *tuple, cisparse_t *parse)
|
||||||
break;
|
break;
|
||||||
case CISTPL_NO_LINK:
|
case CISTPL_NO_LINK:
|
||||||
case CISTPL_LINKTARGET:
|
case CISTPL_LINKTARGET:
|
||||||
ret = CS_SUCCESS;
|
ret = 0;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
ret = CS_UNSUPPORTED_FUNCTION;
|
ret = CS_UNSUPPORTED_FUNCTION;
|
||||||
|
@ -1416,12 +1416,14 @@ int pccard_read_tuple(struct pcmcia_socket *s, unsigned int function, cisdata_t
|
||||||
tuple.DesiredTuple = code;
|
tuple.DesiredTuple = code;
|
||||||
tuple.Attributes = TUPLE_RETURN_COMMON;
|
tuple.Attributes = TUPLE_RETURN_COMMON;
|
||||||
ret = pccard_get_first_tuple(s, function, &tuple);
|
ret = pccard_get_first_tuple(s, function, &tuple);
|
||||||
if (ret != CS_SUCCESS) goto done;
|
if (ret != 0)
|
||||||
|
goto done;
|
||||||
tuple.TupleData = buf;
|
tuple.TupleData = buf;
|
||||||
tuple.TupleOffset = 0;
|
tuple.TupleOffset = 0;
|
||||||
tuple.TupleDataMax = 255;
|
tuple.TupleDataMax = 255;
|
||||||
ret = pccard_get_tuple_data(s, &tuple);
|
ret = pccard_get_tuple_data(s, &tuple);
|
||||||
if (ret != CS_SUCCESS) goto done;
|
if (ret != 0)
|
||||||
|
goto done;
|
||||||
ret = pccard_parse_tuple(&tuple, parse);
|
ret = pccard_parse_tuple(&tuple, parse);
|
||||||
done:
|
done:
|
||||||
kfree(buf);
|
kfree(buf);
|
||||||
|
@ -1462,21 +1464,21 @@ int pccard_validate_cis(struct pcmcia_socket *s, unsigned int function, unsigned
|
||||||
tuple->DesiredTuple = RETURN_FIRST_TUPLE;
|
tuple->DesiredTuple = RETURN_FIRST_TUPLE;
|
||||||
tuple->Attributes = TUPLE_RETURN_COMMON;
|
tuple->Attributes = TUPLE_RETURN_COMMON;
|
||||||
ret = pccard_get_first_tuple(s, function, tuple);
|
ret = pccard_get_first_tuple(s, function, tuple);
|
||||||
if (ret != CS_SUCCESS)
|
if (ret != 0)
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
/* First tuple should be DEVICE; we should really have either that
|
/* First tuple should be DEVICE; we should really have either that
|
||||||
or a CFTABLE_ENTRY of some sort */
|
or a CFTABLE_ENTRY of some sort */
|
||||||
if ((tuple->TupleCode == CISTPL_DEVICE) ||
|
if ((tuple->TupleCode == CISTPL_DEVICE) ||
|
||||||
(pccard_read_tuple(s, function, CISTPL_CFTABLE_ENTRY, p) == CS_SUCCESS) ||
|
(pccard_read_tuple(s, function, CISTPL_CFTABLE_ENTRY, p) == 0) ||
|
||||||
(pccard_read_tuple(s, function, CISTPL_CFTABLE_ENTRY_CB, p) == CS_SUCCESS))
|
(pccard_read_tuple(s, function, CISTPL_CFTABLE_ENTRY_CB, p) == 0))
|
||||||
dev_ok++;
|
dev_ok++;
|
||||||
|
|
||||||
/* All cards should have a MANFID tuple, and/or a VERS_1 or VERS_2
|
/* All cards should have a MANFID tuple, and/or a VERS_1 or VERS_2
|
||||||
tuple, for card identification. Certain old D-Link and Linksys
|
tuple, for card identification. Certain old D-Link and Linksys
|
||||||
cards have only a broken VERS_2 tuple; hence the bogus test. */
|
cards have only a broken VERS_2 tuple; hence the bogus test. */
|
||||||
if ((pccard_read_tuple(s, function, CISTPL_MANFID, p) == CS_SUCCESS) ||
|
if ((pccard_read_tuple(s, function, CISTPL_MANFID, p) == 0) ||
|
||||||
(pccard_read_tuple(s, function, CISTPL_VERS_1, p) == CS_SUCCESS) ||
|
(pccard_read_tuple(s, function, CISTPL_VERS_1, p) == 0) ||
|
||||||
(pccard_read_tuple(s, function, CISTPL_VERS_2, p) != CS_NO_MORE_ITEMS))
|
(pccard_read_tuple(s, function, CISTPL_VERS_2, p) != CS_NO_MORE_ITEMS))
|
||||||
ident_ok++;
|
ident_ok++;
|
||||||
|
|
||||||
|
@ -1485,7 +1487,8 @@ int pccard_validate_cis(struct pcmcia_socket *s, unsigned int function, unsigned
|
||||||
|
|
||||||
for (count = 1; count < MAX_TUPLES; count++) {
|
for (count = 1; count < MAX_TUPLES; count++) {
|
||||||
ret = pccard_get_next_tuple(s, function, tuple);
|
ret = pccard_get_next_tuple(s, function, tuple);
|
||||||
if (ret != CS_SUCCESS) break;
|
if (ret != 0)
|
||||||
|
break;
|
||||||
if (((tuple->TupleCode > 0x23) && (tuple->TupleCode < 0x40)) ||
|
if (((tuple->TupleCode > 0x23) && (tuple->TupleCode < 0x40)) ||
|
||||||
((tuple->TupleCode > 0x47) && (tuple->TupleCode < 0x80)) ||
|
((tuple->TupleCode > 0x47) && (tuple->TupleCode < 0x80)) ||
|
||||||
((tuple->TupleCode > 0x90) && (tuple->TupleCode < 0xff)))
|
((tuple->TupleCode > 0x90) && (tuple->TupleCode < 0xff)))
|
||||||
|
@ -1500,6 +1503,6 @@ done:
|
||||||
*info = count;
|
*info = count;
|
||||||
kfree(tuple);
|
kfree(tuple);
|
||||||
kfree(p);
|
kfree(p);
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(pccard_validate_cis);
|
EXPORT_SYMBOL(pccard_validate_cis);
|
||||||
|
|
|
@ -370,7 +370,7 @@ static int socket_reset(struct pcmcia_socket *skt)
|
||||||
return CS_NO_CARD;
|
return CS_NO_CARD;
|
||||||
|
|
||||||
if (status & SS_READY)
|
if (status & SS_READY)
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
|
|
||||||
msleep(unreset_check * 10);
|
msleep(unreset_check * 10);
|
||||||
}
|
}
|
||||||
|
@ -507,7 +507,7 @@ static int socket_insert(struct pcmcia_socket *skt)
|
||||||
return CS_NO_CARD;
|
return CS_NO_CARD;
|
||||||
|
|
||||||
ret = socket_setup(skt, setup_delay);
|
ret = socket_setup(skt, setup_delay);
|
||||||
if (ret == CS_SUCCESS) {
|
if (ret == 0) {
|
||||||
skt->state |= SOCKET_PRESENT;
|
skt->state |= SOCKET_PRESENT;
|
||||||
|
|
||||||
dev_printk(KERN_NOTICE, &skt->dev,
|
dev_printk(KERN_NOTICE, &skt->dev,
|
||||||
|
@ -543,7 +543,7 @@ static int socket_suspend(struct pcmcia_socket *skt)
|
||||||
skt->ops->suspend(skt);
|
skt->ops->suspend(skt);
|
||||||
skt->state |= SOCKET_SUSPEND;
|
skt->state |= SOCKET_SUSPEND;
|
||||||
|
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -568,7 +568,7 @@ static int socket_resume(struct pcmcia_socket *skt)
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = socket_setup(skt, resume_delay);
|
ret = socket_setup(skt, resume_delay);
|
||||||
if (ret == CS_SUCCESS) {
|
if (ret == 0) {
|
||||||
/*
|
/*
|
||||||
* FIXME: need a better check here for cardbus cards.
|
* FIXME: need a better check here for cardbus cards.
|
||||||
*/
|
*/
|
||||||
|
@ -593,7 +593,7 @@ static int socket_resume(struct pcmcia_socket *skt)
|
||||||
|
|
||||||
skt->state &= ~SOCKET_SUSPEND;
|
skt->state &= ~SOCKET_SUSPEND;
|
||||||
|
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void socket_remove(struct pcmcia_socket *skt)
|
static void socket_remove(struct pcmcia_socket *skt)
|
||||||
|
@ -778,14 +778,14 @@ int pccard_reset_card(struct pcmcia_socket *skt)
|
||||||
send_event(skt, CS_EVENT_RESET_PHYSICAL, CS_EVENT_PRI_LOW);
|
send_event(skt, CS_EVENT_RESET_PHYSICAL, CS_EVENT_PRI_LOW);
|
||||||
if (skt->callback)
|
if (skt->callback)
|
||||||
skt->callback->suspend(skt);
|
skt->callback->suspend(skt);
|
||||||
if (socket_reset(skt) == CS_SUCCESS) {
|
if (socket_reset(skt) == 0) {
|
||||||
send_event(skt, CS_EVENT_CARD_RESET, CS_EVENT_PRI_LOW);
|
send_event(skt, CS_EVENT_CARD_RESET, CS_EVENT_PRI_LOW);
|
||||||
if (skt->callback)
|
if (skt->callback)
|
||||||
skt->callback->resume(skt);
|
skt->callback->resume(skt);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = CS_SUCCESS;
|
ret = 0;
|
||||||
} while (0);
|
} while (0);
|
||||||
mutex_unlock(&skt->skt_mutex);
|
mutex_unlock(&skt->skt_mutex);
|
||||||
|
|
||||||
|
|
|
@ -187,7 +187,7 @@ static int pcmcia_report_error(struct pcmcia_device *p_dev, error_info_t *err)
|
||||||
else
|
else
|
||||||
printk("%s: Unknown error code %#x\n", serv, err->retcode);
|
printk("%s: Unknown error code %#x\n", serv, err->retcode);
|
||||||
|
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
} /* report_error */
|
} /* report_error */
|
||||||
|
|
||||||
/* end of code which was in cs.c before */
|
/* end of code which was in cs.c before */
|
||||||
|
|
|
@ -18,6 +18,12 @@ extern int handle_request(struct pcmcia_socket *s, event_t event);
|
||||||
#else
|
#else
|
||||||
static inline void __init pcmcia_setup_ioctl(void) { return; }
|
static inline void __init pcmcia_setup_ioctl(void) { return; }
|
||||||
static inline void __exit pcmcia_cleanup_ioctl(void) { return; }
|
static inline void __exit pcmcia_cleanup_ioctl(void) { return; }
|
||||||
static inline void handle_event(struct pcmcia_socket *s, event_t event) { return; }
|
static inline void handle_event(struct pcmcia_socket *s, event_t event)
|
||||||
static inline int handle_request(struct pcmcia_socket *s, event_t event) { return CS_SUCCESS; }
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
static inline int handle_request(struct pcmcia_socket *s, event_t event)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -167,7 +167,7 @@ static int adjust_irq(struct pcmcia_socket *s, adjust_t *adj)
|
||||||
#else
|
#else
|
||||||
|
|
||||||
static inline int adjust_irq(struct pcmcia_socket *s, adjust_t *adj) {
|
static inline int adjust_irq(struct pcmcia_socket *s, adjust_t *adj) {
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -274,7 +274,7 @@ static int pccard_get_status(struct pcmcia_socket *s,
|
||||||
status->CardState |=
|
status->CardState |=
|
||||||
(reg & ESR_REQ_ATTN) ? CS_EVENT_REQUEST_ATTENTION : 0;
|
(reg & ESR_REQ_ATTN) ? CS_EVENT_REQUEST_ATTENTION : 0;
|
||||||
}
|
}
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
status->CardState |=
|
status->CardState |=
|
||||||
(val & SS_WRPROT) ? CS_EVENT_WRITE_PROTECT : 0;
|
(val & SS_WRPROT) ? CS_EVENT_WRITE_PROTECT : 0;
|
||||||
|
@ -284,7 +284,7 @@ static int pccard_get_status(struct pcmcia_socket *s,
|
||||||
(val & SS_BATWARN) ? CS_EVENT_BATTERY_LOW : 0;
|
(val & SS_BATWARN) ? CS_EVENT_BATTERY_LOW : 0;
|
||||||
status->CardState |=
|
status->CardState |=
|
||||||
(val & SS_READY) ? CS_EVENT_READY_CHANGE : 0;
|
(val & SS_READY) ? CS_EVENT_READY_CHANGE : 0;
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
} /* pccard_get_status */
|
} /* pccard_get_status */
|
||||||
|
|
||||||
int pccard_get_configuration_info(struct pcmcia_socket *s,
|
int pccard_get_configuration_info(struct pcmcia_socket *s,
|
||||||
|
@ -315,7 +315,7 @@ int pccard_get_configuration_info(struct pcmcia_socket *s,
|
||||||
config->BasePort1 + 1;
|
config->BasePort1 + 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -331,7 +331,7 @@ int pccard_get_configuration_info(struct pcmcia_socket *s,
|
||||||
config->Attributes = 0;
|
config->Attributes = 0;
|
||||||
config->Vcc = s->socket.Vcc;
|
config->Vcc = s->socket.Vcc;
|
||||||
config->Vpp1 = config->Vpp2 = s->socket.Vpp;
|
config->Vpp1 = config->Vpp2 = s->socket.Vpp;
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
config->Attributes = c->Attributes | CONF_VALID_CLIENT;
|
config->Attributes = c->Attributes | CONF_VALID_CLIENT;
|
||||||
|
@ -355,7 +355,7 @@ int pccard_get_configuration_info(struct pcmcia_socket *s,
|
||||||
config->Attributes2 = c->io.Attributes2;
|
config->Attributes2 = c->io.Attributes2;
|
||||||
config->IOAddrLines = c->io.IOAddrLines;
|
config->IOAddrLines = c->io.IOAddrLines;
|
||||||
|
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
} /* pccard_get_configuration_info */
|
} /* pccard_get_configuration_info */
|
||||||
|
|
||||||
|
|
||||||
|
@ -961,7 +961,7 @@ static int ds_ioctl(struct inode * inode, struct file * file,
|
||||||
err = -EINVAL;
|
err = -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((err == 0) && (ret != CS_SUCCESS)) {
|
if ((err == 0) && (ret != 0)) {
|
||||||
ds_dbg(2, "ds_ioctl: ret = %d\n", ret);
|
ds_dbg(2, "ds_ioctl: ret = %d\n", ret);
|
||||||
switch (ret) {
|
switch (ret) {
|
||||||
case CS_BAD_SOCKET: case CS_NO_CARD:
|
case CS_BAD_SOCKET: case CS_NO_CARD:
|
||||||
|
|
|
@ -192,7 +192,7 @@ int pcmcia_access_configuration_register(struct pcmcia_device *p_dev,
|
||||||
return CS_BAD_ARGS;
|
return CS_BAD_ARGS;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
} /* pcmcia_access_configuration_register */
|
} /* pcmcia_access_configuration_register */
|
||||||
EXPORT_SYMBOL(pcmcia_access_configuration_register);
|
EXPORT_SYMBOL(pcmcia_access_configuration_register);
|
||||||
|
|
||||||
|
@ -226,7 +226,7 @@ int pcmcia_get_window(struct pcmcia_socket *s, window_handle_t *handle,
|
||||||
if (win->ctl.flags & MAP_USE_WAIT)
|
if (win->ctl.flags & MAP_USE_WAIT)
|
||||||
req->Attributes |= WIN_USE_WAIT;
|
req->Attributes |= WIN_USE_WAIT;
|
||||||
*handle = win;
|
*handle = win;
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
} /* pcmcia_get_window */
|
} /* pcmcia_get_window */
|
||||||
EXPORT_SYMBOL(pcmcia_get_window);
|
EXPORT_SYMBOL(pcmcia_get_window);
|
||||||
|
|
||||||
|
@ -241,7 +241,7 @@ int pcmcia_get_mem_page(window_handle_t win, memreq_t *req)
|
||||||
return CS_BAD_HANDLE;
|
return CS_BAD_HANDLE;
|
||||||
req->Page = 0;
|
req->Page = 0;
|
||||||
req->CardOffset = win->ctl.card_start;
|
req->CardOffset = win->ctl.card_start;
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
} /* pcmcia_get_mem_page */
|
} /* pcmcia_get_mem_page */
|
||||||
EXPORT_SYMBOL(pcmcia_get_mem_page);
|
EXPORT_SYMBOL(pcmcia_get_mem_page);
|
||||||
|
|
||||||
|
@ -257,7 +257,7 @@ int pcmcia_map_mem_page(window_handle_t win, memreq_t *req)
|
||||||
win->ctl.card_start = req->CardOffset;
|
win->ctl.card_start = req->CardOffset;
|
||||||
if (s->ops->set_mem_map(s, &win->ctl) != 0)
|
if (s->ops->set_mem_map(s, &win->ctl) != 0)
|
||||||
return CS_BAD_OFFSET;
|
return CS_BAD_OFFSET;
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
} /* pcmcia_map_mem_page */
|
} /* pcmcia_map_mem_page */
|
||||||
EXPORT_SYMBOL(pcmcia_map_mem_page);
|
EXPORT_SYMBOL(pcmcia_map_mem_page);
|
||||||
|
|
||||||
|
@ -328,7 +328,7 @@ int pcmcia_modify_configuration(struct pcmcia_device *p_dev,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
} /* modify_configuration */
|
} /* modify_configuration */
|
||||||
EXPORT_SYMBOL(pcmcia_modify_configuration);
|
EXPORT_SYMBOL(pcmcia_modify_configuration);
|
||||||
|
|
||||||
|
@ -363,7 +363,7 @@ int pcmcia_release_configuration(struct pcmcia_device *p_dev)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
} /* pcmcia_release_configuration */
|
} /* pcmcia_release_configuration */
|
||||||
|
|
||||||
|
|
||||||
|
@ -397,7 +397,7 @@ static int pcmcia_release_io(struct pcmcia_device *p_dev, io_req_t *req)
|
||||||
if (req->NumPorts2)
|
if (req->NumPorts2)
|
||||||
release_io_space(s, req->BasePort2, req->NumPorts2);
|
release_io_space(s, req->BasePort2, req->NumPorts2);
|
||||||
|
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
} /* pcmcia_release_io */
|
} /* pcmcia_release_io */
|
||||||
|
|
||||||
|
|
||||||
|
@ -429,7 +429,7 @@ static int pcmcia_release_irq(struct pcmcia_device *p_dev, irq_req_t *req)
|
||||||
pcmcia_used_irq[req->AssignedIRQ]--;
|
pcmcia_used_irq[req->AssignedIRQ]--;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
} /* pcmcia_release_irq */
|
} /* pcmcia_release_irq */
|
||||||
|
|
||||||
|
|
||||||
|
@ -458,7 +458,7 @@ int pcmcia_release_window(window_handle_t win)
|
||||||
|
|
||||||
win->magic = 0;
|
win->magic = 0;
|
||||||
|
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
} /* pcmcia_release_window */
|
} /* pcmcia_release_window */
|
||||||
EXPORT_SYMBOL(pcmcia_release_window);
|
EXPORT_SYMBOL(pcmcia_release_window);
|
||||||
|
|
||||||
|
@ -573,7 +573,7 @@ int pcmcia_request_configuration(struct pcmcia_device *p_dev,
|
||||||
|
|
||||||
c->state |= CONFIG_LOCKED;
|
c->state |= CONFIG_LOCKED;
|
||||||
p_dev->_locked = 1;
|
p_dev->_locked = 1;
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
} /* pcmcia_request_configuration */
|
} /* pcmcia_request_configuration */
|
||||||
EXPORT_SYMBOL(pcmcia_request_configuration);
|
EXPORT_SYMBOL(pcmcia_request_configuration);
|
||||||
|
|
||||||
|
@ -619,7 +619,7 @@ int pcmcia_request_io(struct pcmcia_device *p_dev, io_req_t *req)
|
||||||
c->io = *req;
|
c->io = *req;
|
||||||
c->state |= CONFIG_IO_REQ;
|
c->state |= CONFIG_IO_REQ;
|
||||||
p_dev->_io = 1;
|
p_dev->_io = 1;
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
} /* pcmcia_request_io */
|
} /* pcmcia_request_io */
|
||||||
EXPORT_SYMBOL(pcmcia_request_io);
|
EXPORT_SYMBOL(pcmcia_request_io);
|
||||||
|
|
||||||
|
@ -740,7 +740,7 @@ int pcmcia_request_irq(struct pcmcia_device *p_dev, irq_req_t *req)
|
||||||
pcmcia_used_irq[irq]++;
|
pcmcia_used_irq[irq]++;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
} /* pcmcia_request_irq */
|
} /* pcmcia_request_irq */
|
||||||
EXPORT_SYMBOL(pcmcia_request_irq);
|
EXPORT_SYMBOL(pcmcia_request_irq);
|
||||||
|
|
||||||
|
@ -821,7 +821,7 @@ int pcmcia_request_window(struct pcmcia_device **p_dev, win_req_t *req, window_h
|
||||||
}
|
}
|
||||||
*wh = win;
|
*wh = win;
|
||||||
|
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
} /* pcmcia_request_window */
|
} /* pcmcia_request_window */
|
||||||
EXPORT_SYMBOL(pcmcia_request_window);
|
EXPORT_SYMBOL(pcmcia_request_window);
|
||||||
|
|
||||||
|
|
|
@ -134,7 +134,7 @@ static int add_interval(struct resource_map *map, u_long base, u_long num)
|
||||||
if (!q) return CS_OUT_OF_RESOURCE;
|
if (!q) return CS_OUT_OF_RESOURCE;
|
||||||
q->base = base; q->num = num;
|
q->base = base; q->num = num;
|
||||||
q->next = p->next; p->next = q;
|
q->next = p->next; p->next = q;
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*====================================================================*/
|
/*====================================================================*/
|
||||||
|
@ -174,7 +174,7 @@ static int sub_interval(struct resource_map *map, u_long base, u_long num)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return CS_SUCCESS;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*======================================================================
|
/*======================================================================
|
||||||
|
|
|
@ -431,10 +431,10 @@ first_tuple(struct pcmcia_device *handle, tuple_t * tuple, cisparse_t * parse)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
i = pcmcia_get_first_tuple(handle, tuple);
|
i = pcmcia_get_first_tuple(handle, tuple);
|
||||||
if (i != CS_SUCCESS)
|
if (i != 0)
|
||||||
return CS_NO_MORE_ITEMS;
|
return CS_NO_MORE_ITEMS;
|
||||||
i = pcmcia_get_tuple_data(handle, tuple);
|
i = pcmcia_get_tuple_data(handle, tuple);
|
||||||
if (i != CS_SUCCESS)
|
if (i != 0)
|
||||||
return i;
|
return i;
|
||||||
return pcmcia_parse_tuple(handle, tuple, parse);
|
return pcmcia_parse_tuple(handle, tuple, parse);
|
||||||
}
|
}
|
||||||
|
@ -527,7 +527,7 @@ static int simple_config(struct pcmcia_device *link)
|
||||||
|
|
||||||
found_port:
|
found_port:
|
||||||
i = pcmcia_request_irq(link, &link->irq);
|
i = pcmcia_request_irq(link, &link->irq);
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
cs_error(link, RequestIRQ, i);
|
cs_error(link, RequestIRQ, i);
|
||||||
link->irq.AssignedIRQ = 0;
|
link->irq.AssignedIRQ = 0;
|
||||||
}
|
}
|
||||||
|
@ -541,7 +541,7 @@ found_port:
|
||||||
info->quirk->config(link);
|
info->quirk->config(link);
|
||||||
|
|
||||||
i = pcmcia_request_configuration(link, &link->conf);
|
i = pcmcia_request_configuration(link, &link->conf);
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
cs_error(link, RequestConfiguration, i);
|
cs_error(link, RequestConfiguration, i);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -609,7 +609,7 @@ static int multi_config(struct pcmcia_device *link)
|
||||||
}
|
}
|
||||||
|
|
||||||
i = pcmcia_request_irq(link, &link->irq);
|
i = pcmcia_request_irq(link, &link->irq);
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
/* FIXME: comment does not fit, error handling does not fit */
|
/* FIXME: comment does not fit, error handling does not fit */
|
||||||
printk(KERN_NOTICE
|
printk(KERN_NOTICE
|
||||||
"serial_cs: no usable port range found, giving up\n");
|
"serial_cs: no usable port range found, giving up\n");
|
||||||
|
@ -624,7 +624,7 @@ static int multi_config(struct pcmcia_device *link)
|
||||||
info->quirk->config(link);
|
info->quirk->config(link);
|
||||||
|
|
||||||
i = pcmcia_request_configuration(link, &link->conf);
|
i = pcmcia_request_configuration(link, &link->conf);
|
||||||
if (i != CS_SUCCESS) {
|
if (i != 0) {
|
||||||
cs_error(link, RequestConfiguration, i);
|
cs_error(link, RequestConfiguration, i);
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
|
@ -702,7 +702,7 @@ static int serial_config(struct pcmcia_device * link)
|
||||||
/* Is this a compliant multifunction card? */
|
/* Is this a compliant multifunction card? */
|
||||||
tuple->DesiredTuple = CISTPL_LONGLINK_MFC;
|
tuple->DesiredTuple = CISTPL_LONGLINK_MFC;
|
||||||
tuple->Attributes = TUPLE_RETURN_COMMON | TUPLE_RETURN_LINK;
|
tuple->Attributes = TUPLE_RETURN_COMMON | TUPLE_RETURN_LINK;
|
||||||
info->multi = (first_tuple(link, tuple, parse) == CS_SUCCESS);
|
info->multi = (first_tuple(link, tuple, parse) == 0);
|
||||||
|
|
||||||
/* Is this a multiport card? */
|
/* Is this a multiport card? */
|
||||||
tuple->DesiredTuple = CISTPL_MANFID;
|
tuple->DesiredTuple = CISTPL_MANFID;
|
||||||
|
@ -726,7 +726,7 @@ static int serial_config(struct pcmcia_device * link)
|
||||||
((link->func_id == CISTPL_FUNCID_MULTI) ||
|
((link->func_id == CISTPL_FUNCID_MULTI) ||
|
||||||
(link->func_id == CISTPL_FUNCID_SERIAL))) {
|
(link->func_id == CISTPL_FUNCID_SERIAL))) {
|
||||||
tuple->DesiredTuple = CISTPL_CFTABLE_ENTRY;
|
tuple->DesiredTuple = CISTPL_CFTABLE_ENTRY;
|
||||||
if (first_tuple(link, tuple, parse) == CS_SUCCESS) {
|
if (first_tuple(link, tuple, parse) == 0) {
|
||||||
if ((cf->io.nwin == 1) && (cf->io.win[0].len % 8 == 0))
|
if ((cf->io.nwin == 1) && (cf->io.win[0].len % 8 == 0))
|
||||||
info->multi = cf->io.win[0].len >> 3;
|
info->multi = cf->io.win[0].len >> 3;
|
||||||
if ((cf->io.nwin == 2) && (cf->io.win[0].len == 8) &&
|
if ((cf->io.nwin == 2) && (cf->io.win[0].len == 8) &&
|
||||||
|
|
|
@ -80,7 +80,7 @@ static int ssb_pcmcia_cfg_write(struct ssb_bus *bus, u8 offset, u8 value)
|
||||||
reg.Action = CS_WRITE;
|
reg.Action = CS_WRITE;
|
||||||
reg.Value = value;
|
reg.Value = value;
|
||||||
res = pcmcia_access_configuration_register(bus->host_pcmcia, ®);
|
res = pcmcia_access_configuration_register(bus->host_pcmcia, ®);
|
||||||
if (unlikely(res != CS_SUCCESS))
|
if (unlikely(res != 0))
|
||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -96,7 +96,7 @@ static int ssb_pcmcia_cfg_read(struct ssb_bus *bus, u8 offset, u8 *value)
|
||||||
reg.Offset = offset;
|
reg.Offset = offset;
|
||||||
reg.Action = CS_READ;
|
reg.Action = CS_READ;
|
||||||
res = pcmcia_access_configuration_register(bus->host_pcmcia, ®);
|
res = pcmcia_access_configuration_register(bus->host_pcmcia, ®);
|
||||||
if (unlikely(res != CS_SUCCESS))
|
if (unlikely(res != 0))
|
||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
*value = reg.Value;
|
*value = reg.Value;
|
||||||
|
|
||||||
|
@ -638,17 +638,17 @@ int ssb_pcmcia_get_invariants(struct ssb_bus *bus,
|
||||||
tuple.TupleData = buf;
|
tuple.TupleData = buf;
|
||||||
tuple.TupleDataMax = sizeof(buf);
|
tuple.TupleDataMax = sizeof(buf);
|
||||||
res = pcmcia_get_first_tuple(bus->host_pcmcia, &tuple);
|
res = pcmcia_get_first_tuple(bus->host_pcmcia, &tuple);
|
||||||
GOTO_ERROR_ON(res != CS_SUCCESS, "MAC first tpl");
|
GOTO_ERROR_ON(res != 0, "MAC first tpl");
|
||||||
res = pcmcia_get_tuple_data(bus->host_pcmcia, &tuple);
|
res = pcmcia_get_tuple_data(bus->host_pcmcia, &tuple);
|
||||||
GOTO_ERROR_ON(res != CS_SUCCESS, "MAC first tpl data");
|
GOTO_ERROR_ON(res != 0, "MAC first tpl data");
|
||||||
while (1) {
|
while (1) {
|
||||||
GOTO_ERROR_ON(tuple.TupleDataLen < 1, "MAC tpl < 1");
|
GOTO_ERROR_ON(tuple.TupleDataLen < 1, "MAC tpl < 1");
|
||||||
if (tuple.TupleData[0] == CISTPL_FUNCE_LAN_NODE_ID)
|
if (tuple.TupleData[0] == CISTPL_FUNCE_LAN_NODE_ID)
|
||||||
break;
|
break;
|
||||||
res = pcmcia_get_next_tuple(bus->host_pcmcia, &tuple);
|
res = pcmcia_get_next_tuple(bus->host_pcmcia, &tuple);
|
||||||
GOTO_ERROR_ON(res != CS_SUCCESS, "MAC next tpl");
|
GOTO_ERROR_ON(res != 0, "MAC next tpl");
|
||||||
res = pcmcia_get_tuple_data(bus->host_pcmcia, &tuple);
|
res = pcmcia_get_tuple_data(bus->host_pcmcia, &tuple);
|
||||||
GOTO_ERROR_ON(res != CS_SUCCESS, "MAC next tpl data");
|
GOTO_ERROR_ON(res != 0, "MAC next tpl data");
|
||||||
}
|
}
|
||||||
GOTO_ERROR_ON(tuple.TupleDataLen != ETH_ALEN + 2, "MAC tpl size");
|
GOTO_ERROR_ON(tuple.TupleDataLen != ETH_ALEN + 2, "MAC tpl size");
|
||||||
memcpy(sprom->il0mac, &tuple.TupleData[2], ETH_ALEN);
|
memcpy(sprom->il0mac, &tuple.TupleData[2], ETH_ALEN);
|
||||||
|
@ -659,9 +659,9 @@ int ssb_pcmcia_get_invariants(struct ssb_bus *bus,
|
||||||
tuple.TupleData = buf;
|
tuple.TupleData = buf;
|
||||||
tuple.TupleDataMax = sizeof(buf);
|
tuple.TupleDataMax = sizeof(buf);
|
||||||
res = pcmcia_get_first_tuple(bus->host_pcmcia, &tuple);
|
res = pcmcia_get_first_tuple(bus->host_pcmcia, &tuple);
|
||||||
GOTO_ERROR_ON(res != CS_SUCCESS, "VEN first tpl");
|
GOTO_ERROR_ON(res != 0, "VEN first tpl");
|
||||||
res = pcmcia_get_tuple_data(bus->host_pcmcia, &tuple);
|
res = pcmcia_get_tuple_data(bus->host_pcmcia, &tuple);
|
||||||
GOTO_ERROR_ON(res != CS_SUCCESS, "VEN first tpl data");
|
GOTO_ERROR_ON(res != 0, "VEN first tpl data");
|
||||||
while (1) {
|
while (1) {
|
||||||
GOTO_ERROR_ON(tuple.TupleDataLen < 1, "VEN tpl < 1");
|
GOTO_ERROR_ON(tuple.TupleDataLen < 1, "VEN tpl < 1");
|
||||||
switch (tuple.TupleData[0]) {
|
switch (tuple.TupleData[0]) {
|
||||||
|
@ -735,9 +735,9 @@ int ssb_pcmcia_get_invariants(struct ssb_bus *bus,
|
||||||
res = pcmcia_get_next_tuple(bus->host_pcmcia, &tuple);
|
res = pcmcia_get_next_tuple(bus->host_pcmcia, &tuple);
|
||||||
if (res == CS_NO_MORE_ITEMS)
|
if (res == CS_NO_MORE_ITEMS)
|
||||||
break;
|
break;
|
||||||
GOTO_ERROR_ON(res != CS_SUCCESS, "VEN next tpl");
|
GOTO_ERROR_ON(res != 0, "VEN next tpl");
|
||||||
res = pcmcia_get_tuple_data(bus->host_pcmcia, &tuple);
|
res = pcmcia_get_tuple_data(bus->host_pcmcia, &tuple);
|
||||||
GOTO_ERROR_ON(res != CS_SUCCESS, "VEN next tpl data");
|
GOTO_ERROR_ON(res != 0, "VEN next tpl data");
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче