X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fscsi%2Farm%2Fcumana_2.c;h=e54885fd8561ab165ec8c07d149f01eca5587528;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=92bfdd9d8d859e38c836fe2b92e2ab2ca6c94951;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/drivers/scsi/arm/cumana_2.c b/drivers/scsi/arm/cumana_2.c index 92bfdd9d8..e54885fd8 100644 --- a/drivers/scsi/arm/cumana_2.c +++ b/drivers/scsi/arm/cumana_2.c @@ -408,14 +408,12 @@ cumanascsi2_probe(struct expansion_card *ec, const struct ecard_id *id) unsigned char *base; int ret; - resbase = ecard_resource_start(ec, ECARD_RES_MEMC); - reslen = ecard_resource_len(ec, ECARD_RES_MEMC); - - if (!request_mem_region(resbase, reslen, "cumanascsi2")) { - ret = -EBUSY; + ret = ecard_request_resources(ec); + if (ret) goto out; - } + resbase = ecard_resource_start(ec, ECARD_RES_MEMC); + reslen = ecard_resource_len(ec, ECARD_RES_MEMC); base = ioremap(resbase, reslen); if (!base) { ret = -ENOMEM; @@ -504,7 +502,7 @@ cumanascsi2_probe(struct expansion_card *ec, const struct ecard_id *id) iounmap(base); out_region: - release_mem_region(resbase, reslen); + ecard_release_resources(ec); out: return ret; @@ -514,7 +512,6 @@ static void __devexit cumanascsi2_remove(struct expansion_card *ec) { struct Scsi_Host *host = ecard_get_drvdata(ec); struct cumanascsi2_info *info = (struct cumanascsi2_info *)host->hostdata; - unsigned long resbase, reslen; ecard_set_drvdata(ec, NULL); fas216_remove(host); @@ -525,13 +522,9 @@ static void __devexit cumanascsi2_remove(struct expansion_card *ec) iounmap((void *)host->base); - resbase = ecard_resource_start(ec, ECARD_RES_MEMC); - reslen = ecard_resource_len(ec, ECARD_RES_MEMC); - - release_mem_region(resbase, reslen); - fas216_release(host); scsi_host_put(host); + ecard_release_resources(ec); } static const struct ecard_id cumanascsi2_cids[] = {