diff options
author | Stefan Haberland <stefan.haberland@de.ibm.com> | 2009-09-11 04:28:29 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2009-09-11 04:29:41 -0400 |
commit | 68b781fe1bed89011ab7c58ede8476abe64432d2 (patch) | |
tree | afe2148854aa2f4eae370a2cf1855f80a9b5a8cb /drivers/s390 | |
parent | 97f604b07473669f4da52b1f859ee45e8d48d42a (diff) |
[S390] dasd: optimize cpu usage in goodcase
remove unnecessary dbf call, remove string operations for magic
Signed-off-by: Stefan Haberland <stefan.haberland@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390')
-rw-r--r-- | drivers/s390/block/dasd.c | 21 | ||||
-rw-r--r-- | drivers/s390/block/dasd_alias.c | 3 | ||||
-rw-r--r-- | drivers/s390/block/dasd_diag.c | 3 | ||||
-rw-r--r-- | drivers/s390/block/dasd_eckd.c | 45 | ||||
-rw-r--r-- | drivers/s390/block/dasd_eer.c | 2 | ||||
-rw-r--r-- | drivers/s390/block/dasd_fba.c | 7 | ||||
-rw-r--r-- | drivers/s390/block/dasd_int.h | 11 |
7 files changed, 41 insertions, 51 deletions
diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c index f8445b8ff173..e109da4583a8 100644 --- a/drivers/s390/block/dasd.c +++ b/drivers/s390/block/dasd.c | |||
@@ -669,14 +669,14 @@ static void dasd_profile_end(struct dasd_block *block, | |||
669 | * memory and 2) dasd_smalloc_request uses the static ccw memory | 669 | * memory and 2) dasd_smalloc_request uses the static ccw memory |
670 | * that gets allocated for each device. | 670 | * that gets allocated for each device. |
671 | */ | 671 | */ |
672 | struct dasd_ccw_req *dasd_kmalloc_request(char *magic, int cplength, | 672 | struct dasd_ccw_req *dasd_kmalloc_request(int magic, int cplength, |
673 | int datasize, | 673 | int datasize, |
674 | struct dasd_device *device) | 674 | struct dasd_device *device) |
675 | { | 675 | { |
676 | struct dasd_ccw_req *cqr; | 676 | struct dasd_ccw_req *cqr; |
677 | 677 | ||
678 | /* Sanity checks */ | 678 | /* Sanity checks */ |
679 | BUG_ON( magic == NULL || datasize > PAGE_SIZE || | 679 | BUG_ON(datasize > PAGE_SIZE || |
680 | (cplength*sizeof(struct ccw1)) > PAGE_SIZE); | 680 | (cplength*sizeof(struct ccw1)) > PAGE_SIZE); |
681 | 681 | ||
682 | cqr = kzalloc(sizeof(struct dasd_ccw_req), GFP_ATOMIC); | 682 | cqr = kzalloc(sizeof(struct dasd_ccw_req), GFP_ATOMIC); |
@@ -700,14 +700,13 @@ struct dasd_ccw_req *dasd_kmalloc_request(char *magic, int cplength, | |||
700 | return ERR_PTR(-ENOMEM); | 700 | return ERR_PTR(-ENOMEM); |
701 | } | 701 | } |
702 | } | 702 | } |
703 | strncpy((char *) &cqr->magic, magic, 4); | 703 | cqr->magic = magic; |
704 | ASCEBC((char *) &cqr->magic, 4); | ||
705 | set_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags); | 704 | set_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags); |
706 | dasd_get_device(device); | 705 | dasd_get_device(device); |
707 | return cqr; | 706 | return cqr; |
708 | } | 707 | } |
709 | 708 | ||
710 | struct dasd_ccw_req *dasd_smalloc_request(char *magic, int cplength, | 709 | struct dasd_ccw_req *dasd_smalloc_request(int magic, int cplength, |
711 | int datasize, | 710 | int datasize, |
712 | struct dasd_device *device) | 711 | struct dasd_device *device) |
713 | { | 712 | { |
@@ -717,7 +716,7 @@ struct dasd_ccw_req *dasd_smalloc_request(char *magic, int cplength, | |||
717 | int size; | 716 | int size; |
718 | 717 | ||
719 | /* Sanity checks */ | 718 | /* Sanity checks */ |
720 | BUG_ON( magic == NULL || datasize > PAGE_SIZE || | 719 | BUG_ON(datasize > PAGE_SIZE || |
721 | (cplength*sizeof(struct ccw1)) > PAGE_SIZE); | 720 | (cplength*sizeof(struct ccw1)) > PAGE_SIZE); |
722 | 721 | ||
723 | size = (sizeof(struct dasd_ccw_req) + 7L) & -8L; | 722 | size = (sizeof(struct dasd_ccw_req) + 7L) & -8L; |
@@ -744,8 +743,7 @@ struct dasd_ccw_req *dasd_smalloc_request(char *magic, int cplength, | |||
744 | cqr->data = data; | 743 | cqr->data = data; |
745 | memset(cqr->data, 0, datasize); | 744 | memset(cqr->data, 0, datasize); |
746 | } | 745 | } |
747 | strncpy((char *) &cqr->magic, magic, 4); | 746 | cqr->magic = magic; |
748 | ASCEBC((char *) &cqr->magic, 4); | ||
749 | set_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags); | 747 | set_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags); |
750 | dasd_get_device(device); | 748 | dasd_get_device(device); |
751 | return cqr; | 749 | return cqr; |
@@ -899,9 +897,6 @@ int dasd_start_IO(struct dasd_ccw_req *cqr) | |||
899 | switch (rc) { | 897 | switch (rc) { |
900 | case 0: | 898 | case 0: |
901 | cqr->status = DASD_CQR_IN_IO; | 899 | cqr->status = DASD_CQR_IN_IO; |
902 | DBF_DEV_EVENT(DBF_DEBUG, device, | ||
903 | "start_IO: request %p started successful", | ||
904 | cqr); | ||
905 | break; | 900 | break; |
906 | case -EBUSY: | 901 | case -EBUSY: |
907 | DBF_DEV_EVENT(DBF_DEBUG, device, "%s", | 902 | DBF_DEV_EVENT(DBF_DEBUG, device, "%s", |
@@ -2533,7 +2528,7 @@ EXPORT_SYMBOL_GPL(dasd_generic_restore_device); | |||
2533 | static struct dasd_ccw_req *dasd_generic_build_rdc(struct dasd_device *device, | 2528 | static struct dasd_ccw_req *dasd_generic_build_rdc(struct dasd_device *device, |
2534 | void *rdc_buffer, | 2529 | void *rdc_buffer, |
2535 | int rdc_buffer_size, | 2530 | int rdc_buffer_size, |
2536 | char *magic) | 2531 | int magic) |
2537 | { | 2532 | { |
2538 | struct dasd_ccw_req *cqr; | 2533 | struct dasd_ccw_req *cqr; |
2539 | struct ccw1 *ccw; | 2534 | struct ccw1 *ccw; |
@@ -2564,7 +2559,7 @@ static struct dasd_ccw_req *dasd_generic_build_rdc(struct dasd_device *device, | |||
2564 | } | 2559 | } |
2565 | 2560 | ||
2566 | 2561 | ||
2567 | int dasd_generic_read_dev_chars(struct dasd_device *device, char *magic, | 2562 | int dasd_generic_read_dev_chars(struct dasd_device *device, int magic, |
2568 | void *rdc_buffer, int rdc_buffer_size) | 2563 | void *rdc_buffer, int rdc_buffer_size) |
2569 | { | 2564 | { |
2570 | int ret; | 2565 | int ret; |
diff --git a/drivers/s390/block/dasd_alias.c b/drivers/s390/block/dasd_alias.c index 5b7bbc87593b..b9efd09cefef 100644 --- a/drivers/s390/block/dasd_alias.c +++ b/drivers/s390/block/dasd_alias.c | |||
@@ -379,8 +379,7 @@ static int read_unit_address_configuration(struct dasd_device *device, | |||
379 | int rc; | 379 | int rc; |
380 | unsigned long flags; | 380 | unsigned long flags; |
381 | 381 | ||
382 | cqr = dasd_kmalloc_request("ECKD", | 382 | cqr = dasd_kmalloc_request(DASD_ECKD_MAGIC, 1 /* PSF */ + 1 /* RSSD */, |
383 | 1 /* PSF */ + 1 /* RSSD */ , | ||
384 | (sizeof(struct dasd_psf_prssd_data)), | 383 | (sizeof(struct dasd_psf_prssd_data)), |
385 | device); | 384 | device); |
386 | if (IS_ERR(cqr)) | 385 | if (IS_ERR(cqr)) |
diff --git a/drivers/s390/block/dasd_diag.c b/drivers/s390/block/dasd_diag.c index 644086ba2ede..0b89796080be 100644 --- a/drivers/s390/block/dasd_diag.c +++ b/drivers/s390/block/dasd_diag.c | |||
@@ -523,8 +523,7 @@ static struct dasd_ccw_req *dasd_diag_build_cp(struct dasd_device *memdev, | |||
523 | /* Build the request */ | 523 | /* Build the request */ |
524 | datasize = sizeof(struct dasd_diag_req) + | 524 | datasize = sizeof(struct dasd_diag_req) + |
525 | count*sizeof(struct dasd_diag_bio); | 525 | count*sizeof(struct dasd_diag_bio); |
526 | cqr = dasd_smalloc_request(dasd_diag_discipline.name, 0, | 526 | cqr = dasd_smalloc_request(DASD_DIAG_MAGIC, 0, datasize, memdev); |
527 | datasize, memdev); | ||
528 | if (IS_ERR(cqr)) | 527 | if (IS_ERR(cqr)) |
529 | return cqr; | 528 | return cqr; |
530 | 529 | ||
diff --git a/drivers/s390/block/dasd_eckd.c b/drivers/s390/block/dasd_eckd.c index c11770f5b368..f15addf728d7 100644 --- a/drivers/s390/block/dasd_eckd.c +++ b/drivers/s390/block/dasd_eckd.c | |||
@@ -730,7 +730,8 @@ static struct dasd_ccw_req *dasd_eckd_build_rcd_lpm(struct dasd_device *device, | |||
730 | struct dasd_ccw_req *cqr; | 730 | struct dasd_ccw_req *cqr; |
731 | struct ccw1 *ccw; | 731 | struct ccw1 *ccw; |
732 | 732 | ||
733 | cqr = dasd_smalloc_request("ECKD", 1 /* RCD */, ciw->count, device); | 733 | cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1 /* RCD */, ciw->count, |
734 | device); | ||
734 | 735 | ||
735 | if (IS_ERR(cqr)) { | 736 | if (IS_ERR(cqr)) { |
736 | DBF_DEV_EVENT(DBF_WARNING, device, "%s", | 737 | DBF_DEV_EVENT(DBF_WARNING, device, "%s", |
@@ -934,8 +935,7 @@ static int dasd_eckd_read_features(struct dasd_device *device) | |||
934 | struct dasd_eckd_private *private; | 935 | struct dasd_eckd_private *private; |
935 | 936 | ||
936 | private = (struct dasd_eckd_private *) device->private; | 937 | private = (struct dasd_eckd_private *) device->private; |
937 | cqr = dasd_smalloc_request(dasd_eckd_discipline.name, | 938 | cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1 /* PSF */ + 1 /* RSSD */, |
938 | 1 /* PSF */ + 1 /* RSSD */ , | ||
939 | (sizeof(struct dasd_psf_prssd_data) + | 939 | (sizeof(struct dasd_psf_prssd_data) + |
940 | sizeof(struct dasd_rssd_features)), | 940 | sizeof(struct dasd_rssd_features)), |
941 | device); | 941 | device); |
@@ -998,7 +998,7 @@ static struct dasd_ccw_req *dasd_eckd_build_psf_ssc(struct dasd_device *device, | |||
998 | struct dasd_psf_ssc_data *psf_ssc_data; | 998 | struct dasd_psf_ssc_data *psf_ssc_data; |
999 | struct ccw1 *ccw; | 999 | struct ccw1 *ccw; |
1000 | 1000 | ||
1001 | cqr = dasd_smalloc_request("ECKD", 1 /* PSF */ , | 1001 | cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1 /* PSF */ , |
1002 | sizeof(struct dasd_psf_ssc_data), | 1002 | sizeof(struct dasd_psf_ssc_data), |
1003 | device); | 1003 | device); |
1004 | 1004 | ||
@@ -1149,8 +1149,8 @@ dasd_eckd_check_characteristics(struct dasd_device *device) | |||
1149 | goto out_err3; | 1149 | goto out_err3; |
1150 | 1150 | ||
1151 | /* Read Device Characteristics */ | 1151 | /* Read Device Characteristics */ |
1152 | rc = dasd_generic_read_dev_chars(device, "ECKD", &private->rdc_data, | 1152 | rc = dasd_generic_read_dev_chars(device, DASD_ECKD_MAGIC, |
1153 | 64); | 1153 | &private->rdc_data, 64); |
1154 | if (rc) { | 1154 | if (rc) { |
1155 | DBF_EVENT(DBF_WARNING, | 1155 | DBF_EVENT(DBF_WARNING, |
1156 | "Read device characteristics failed, rc=%d for " | 1156 | "Read device characteristics failed, rc=%d for " |
@@ -1217,8 +1217,7 @@ dasd_eckd_analysis_ccw(struct dasd_device *device) | |||
1217 | 1217 | ||
1218 | cplength = 8; | 1218 | cplength = 8; |
1219 | datasize = sizeof(struct DE_eckd_data) + 2*sizeof(struct LO_eckd_data); | 1219 | datasize = sizeof(struct DE_eckd_data) + 2*sizeof(struct LO_eckd_data); |
1220 | cqr = dasd_smalloc_request(dasd_eckd_discipline.name, | 1220 | cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, cplength, datasize, device); |
1221 | cplength, datasize, device); | ||
1222 | if (IS_ERR(cqr)) | 1221 | if (IS_ERR(cqr)) |
1223 | return cqr; | 1222 | return cqr; |
1224 | ccw = cqr->cpaddr; | 1223 | ccw = cqr->cpaddr; |
@@ -1499,8 +1498,7 @@ dasd_eckd_format_device(struct dasd_device * device, | |||
1499 | return ERR_PTR(-EINVAL); | 1498 | return ERR_PTR(-EINVAL); |
1500 | } | 1499 | } |
1501 | /* Allocate the format ccw request. */ | 1500 | /* Allocate the format ccw request. */ |
1502 | fcp = dasd_smalloc_request(dasd_eckd_discipline.name, | 1501 | fcp = dasd_smalloc_request(DASD_ECKD_MAGIC, cplength, datasize, device); |
1503 | cplength, datasize, device); | ||
1504 | if (IS_ERR(fcp)) | 1502 | if (IS_ERR(fcp)) |
1505 | return fcp; | 1503 | return fcp; |
1506 | 1504 | ||
@@ -1783,8 +1781,8 @@ static struct dasd_ccw_req *dasd_eckd_build_cp_cmd_single( | |||
1783 | datasize += count*sizeof(struct LO_eckd_data); | 1781 | datasize += count*sizeof(struct LO_eckd_data); |
1784 | } | 1782 | } |
1785 | /* Allocate the ccw request. */ | 1783 | /* Allocate the ccw request. */ |
1786 | cqr = dasd_smalloc_request(dasd_eckd_discipline.name, | 1784 | cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, cplength, datasize, |
1787 | cplength, datasize, startdev); | 1785 | startdev); |
1788 | if (IS_ERR(cqr)) | 1786 | if (IS_ERR(cqr)) |
1789 | return cqr; | 1787 | return cqr; |
1790 | ccw = cqr->cpaddr; | 1788 | ccw = cqr->cpaddr; |
@@ -1948,8 +1946,8 @@ static struct dasd_ccw_req *dasd_eckd_build_cp_cmd_track( | |||
1948 | cidaw * sizeof(unsigned long long); | 1946 | cidaw * sizeof(unsigned long long); |
1949 | 1947 | ||
1950 | /* Allocate the ccw request. */ | 1948 | /* Allocate the ccw request. */ |
1951 | cqr = dasd_smalloc_request(dasd_eckd_discipline.name, | 1949 | cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, cplength, datasize, |
1952 | cplength, datasize, startdev); | 1950 | startdev); |
1953 | if (IS_ERR(cqr)) | 1951 | if (IS_ERR(cqr)) |
1954 | return cqr; | 1952 | return cqr; |
1955 | ccw = cqr->cpaddr; | 1953 | ccw = cqr->cpaddr; |
@@ -2249,8 +2247,7 @@ static struct dasd_ccw_req *dasd_eckd_build_cp_tpm_track( | |||
2249 | 2247 | ||
2250 | /* Allocate the ccw request. */ | 2248 | /* Allocate the ccw request. */ |
2251 | itcw_size = itcw_calc_size(0, ctidaw, 0); | 2249 | itcw_size = itcw_calc_size(0, ctidaw, 0); |
2252 | cqr = dasd_smalloc_request(dasd_eckd_discipline.name, | 2250 | cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 0, itcw_size, startdev); |
2253 | 0, itcw_size, startdev); | ||
2254 | if (IS_ERR(cqr)) | 2251 | if (IS_ERR(cqr)) |
2255 | return cqr; | 2252 | return cqr; |
2256 | 2253 | ||
@@ -2557,8 +2554,7 @@ dasd_eckd_release(struct dasd_device *device) | |||
2557 | if (!capable(CAP_SYS_ADMIN)) | 2554 | if (!capable(CAP_SYS_ADMIN)) |
2558 | return -EACCES; | 2555 | return -EACCES; |
2559 | 2556 | ||
2560 | cqr = dasd_smalloc_request(dasd_eckd_discipline.name, | 2557 | cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1, 32, device); |
2561 | 1, 32, device); | ||
2562 | if (IS_ERR(cqr)) { | 2558 | if (IS_ERR(cqr)) { |
2563 | DBF_DEV_EVENT(DBF_WARNING, device, "%s", | 2559 | DBF_DEV_EVENT(DBF_WARNING, device, "%s", |
2564 | "Could not allocate initialization request"); | 2560 | "Could not allocate initialization request"); |
@@ -2600,8 +2596,7 @@ dasd_eckd_reserve(struct dasd_device *device) | |||
2600 | if (!capable(CAP_SYS_ADMIN)) | 2596 | if (!capable(CAP_SYS_ADMIN)) |
2601 | return -EACCES; | 2597 | return -EACCES; |
2602 | 2598 | ||
2603 | cqr = dasd_smalloc_request(dasd_eckd_discipline.name, | 2599 | cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1, 32, device); |
2604 | 1, 32, device); | ||
2605 | if (IS_ERR(cqr)) { | 2600 | if (IS_ERR(cqr)) { |
2606 | DBF_DEV_EVENT(DBF_WARNING, device, "%s", | 2601 | DBF_DEV_EVENT(DBF_WARNING, device, "%s", |
2607 | "Could not allocate initialization request"); | 2602 | "Could not allocate initialization request"); |
@@ -2642,8 +2637,7 @@ dasd_eckd_steal_lock(struct dasd_device *device) | |||
2642 | if (!capable(CAP_SYS_ADMIN)) | 2637 | if (!capable(CAP_SYS_ADMIN)) |
2643 | return -EACCES; | 2638 | return -EACCES; |
2644 | 2639 | ||
2645 | cqr = dasd_smalloc_request(dasd_eckd_discipline.name, | 2640 | cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1, 32, device); |
2646 | 1, 32, device); | ||
2647 | if (IS_ERR(cqr)) { | 2641 | if (IS_ERR(cqr)) { |
2648 | DBF_DEV_EVENT(DBF_WARNING, device, "%s", | 2642 | DBF_DEV_EVENT(DBF_WARNING, device, "%s", |
2649 | "Could not allocate initialization request"); | 2643 | "Could not allocate initialization request"); |
@@ -2681,8 +2675,7 @@ dasd_eckd_performance(struct dasd_device *device, void __user *argp) | |||
2681 | struct ccw1 *ccw; | 2675 | struct ccw1 *ccw; |
2682 | int rc; | 2676 | int rc; |
2683 | 2677 | ||
2684 | cqr = dasd_smalloc_request(dasd_eckd_discipline.name, | 2678 | cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1 /* PSF */ + 1 /* RSSD */, |
2685 | 1 /* PSF */ + 1 /* RSSD */ , | ||
2686 | (sizeof(struct dasd_psf_prssd_data) + | 2679 | (sizeof(struct dasd_psf_prssd_data) + |
2687 | sizeof(struct dasd_rssd_perf_stats_t)), | 2680 | sizeof(struct dasd_rssd_perf_stats_t)), |
2688 | device); | 2681 | device); |
@@ -2828,7 +2821,7 @@ static int dasd_symm_io(struct dasd_device *device, void __user *argp) | |||
2828 | } | 2821 | } |
2829 | 2822 | ||
2830 | /* setup CCWs for PSF + RSSD */ | 2823 | /* setup CCWs for PSF + RSSD */ |
2831 | cqr = dasd_smalloc_request("ECKD", 2 , 0, device); | 2824 | cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 2 , 0, device); |
2832 | if (IS_ERR(cqr)) { | 2825 | if (IS_ERR(cqr)) { |
2833 | DBF_DEV_EVENT(DBF_WARNING, device, "%s", | 2826 | DBF_DEV_EVENT(DBF_WARNING, device, "%s", |
2834 | "Could not allocate initialization request"); | 2827 | "Could not allocate initialization request"); |
@@ -3254,7 +3247,7 @@ int dasd_eckd_restore_device(struct dasd_device *device) | |||
3254 | 3247 | ||
3255 | /* Read Device Characteristics */ | 3248 | /* Read Device Characteristics */ |
3256 | memset(&private->rdc_data, 0, sizeof(private->rdc_data)); | 3249 | memset(&private->rdc_data, 0, sizeof(private->rdc_data)); |
3257 | rc = dasd_generic_read_dev_chars(device, "ECKD", | 3250 | rc = dasd_generic_read_dev_chars(device, DASD_ECKD_MAGIC, |
3258 | &private->rdc_data, 64); | 3251 | &private->rdc_data, 64); |
3259 | if (rc) { | 3252 | if (rc) { |
3260 | DBF_EVENT(DBF_WARNING, | 3253 | DBF_EVENT(DBF_WARNING, |
diff --git a/drivers/s390/block/dasd_eer.c b/drivers/s390/block/dasd_eer.c index c24c8c30380d..6bd2bd54f225 100644 --- a/drivers/s390/block/dasd_eer.c +++ b/drivers/s390/block/dasd_eer.c | |||
@@ -464,7 +464,7 @@ int dasd_eer_enable(struct dasd_device *device) | |||
464 | if (!device->discipline || strcmp(device->discipline->name, "ECKD")) | 464 | if (!device->discipline || strcmp(device->discipline->name, "ECKD")) |
465 | return -EPERM; /* FIXME: -EMEDIUMTYPE ? */ | 465 | return -EPERM; /* FIXME: -EMEDIUMTYPE ? */ |
466 | 466 | ||
467 | cqr = dasd_kmalloc_request("ECKD", 1 /* SNSS */, | 467 | cqr = dasd_kmalloc_request(DASD_ECKD_MAGIC, 1 /* SNSS */, |
468 | SNSS_DATA_SIZE, device); | 468 | SNSS_DATA_SIZE, device); |
469 | if (IS_ERR(cqr)) | 469 | if (IS_ERR(cqr)) |
470 | return -ENOMEM; | 470 | return -ENOMEM; |
diff --git a/drivers/s390/block/dasd_fba.c b/drivers/s390/block/dasd_fba.c index 31849ad5e59f..403730cfaf8e 100644 --- a/drivers/s390/block/dasd_fba.c +++ b/drivers/s390/block/dasd_fba.c | |||
@@ -152,8 +152,8 @@ dasd_fba_check_characteristics(struct dasd_device *device) | |||
152 | block->base = device; | 152 | block->base = device; |
153 | 153 | ||
154 | /* Read Device Characteristics */ | 154 | /* Read Device Characteristics */ |
155 | rc = dasd_generic_read_dev_chars(device, "FBA ", &private->rdc_data, | 155 | rc = dasd_generic_read_dev_chars(device, DASD_FBA_MAGIC, |
156 | 32); | 156 | &private->rdc_data, 32); |
157 | if (rc) { | 157 | if (rc) { |
158 | DBF_EVENT(DBF_WARNING, "Read device characteristics returned " | 158 | DBF_EVENT(DBF_WARNING, "Read device characteristics returned " |
159 | "error %d for device: %s", | 159 | "error %d for device: %s", |
@@ -305,8 +305,7 @@ static struct dasd_ccw_req *dasd_fba_build_cp(struct dasd_device * memdev, | |||
305 | datasize += (count - 1)*sizeof(struct LO_fba_data); | 305 | datasize += (count - 1)*sizeof(struct LO_fba_data); |
306 | } | 306 | } |
307 | /* Allocate the ccw request. */ | 307 | /* Allocate the ccw request. */ |
308 | cqr = dasd_smalloc_request(dasd_fba_discipline.name, | 308 | cqr = dasd_smalloc_request(DASD_FBA_MAGIC, cplength, datasize, memdev); |
309 | cplength, datasize, memdev); | ||
310 | if (IS_ERR(cqr)) | 309 | if (IS_ERR(cqr)) |
311 | return cqr; | 310 | return cqr; |
312 | ccw = cqr->cpaddr; | 311 | ccw = cqr->cpaddr; |
diff --git a/drivers/s390/block/dasd_int.h b/drivers/s390/block/dasd_int.h index b699ca356ac5..5e47a1ee52b9 100644 --- a/drivers/s390/block/dasd_int.h +++ b/drivers/s390/block/dasd_int.h | |||
@@ -59,6 +59,11 @@ | |||
59 | #include <asm/dasd.h> | 59 | #include <asm/dasd.h> |
60 | #include <asm/idals.h> | 60 | #include <asm/idals.h> |
61 | 61 | ||
62 | /* DASD discipline magic */ | ||
63 | #define DASD_ECKD_MAGIC 0xC5C3D2C4 | ||
64 | #define DASD_DIAG_MAGIC 0xC4C9C1C7 | ||
65 | #define DASD_FBA_MAGIC 0xC6C2C140 | ||
66 | |||
62 | /* | 67 | /* |
63 | * SECTION: Type definitions | 68 | * SECTION: Type definitions |
64 | */ | 69 | */ |
@@ -540,9 +545,9 @@ extern struct block_device_operations dasd_device_operations; | |||
540 | extern struct kmem_cache *dasd_page_cache; | 545 | extern struct kmem_cache *dasd_page_cache; |
541 | 546 | ||
542 | struct dasd_ccw_req * | 547 | struct dasd_ccw_req * |
543 | dasd_kmalloc_request(char *, int, int, struct dasd_device *); | 548 | dasd_kmalloc_request(int , int, int, struct dasd_device *); |
544 | struct dasd_ccw_req * | 549 | struct dasd_ccw_req * |
545 | dasd_smalloc_request(char *, int, int, struct dasd_device *); | 550 | dasd_smalloc_request(int , int, int, struct dasd_device *); |
546 | void dasd_kfree_request(struct dasd_ccw_req *, struct dasd_device *); | 551 | void dasd_kfree_request(struct dasd_ccw_req *, struct dasd_device *); |
547 | void dasd_sfree_request(struct dasd_ccw_req *, struct dasd_device *); | 552 | void dasd_sfree_request(struct dasd_ccw_req *, struct dasd_device *); |
548 | 553 | ||
@@ -587,7 +592,7 @@ void dasd_generic_handle_state_change(struct dasd_device *); | |||
587 | int dasd_generic_pm_freeze(struct ccw_device *); | 592 | int dasd_generic_pm_freeze(struct ccw_device *); |
588 | int dasd_generic_restore_device(struct ccw_device *); | 593 | int dasd_generic_restore_device(struct ccw_device *); |
589 | 594 | ||
590 | int dasd_generic_read_dev_chars(struct dasd_device *, char *, void *, int); | 595 | int dasd_generic_read_dev_chars(struct dasd_device *, int, void *, int); |
591 | char *dasd_get_sense(struct irb *); | 596 | char *dasd_get_sense(struct irb *); |
592 | 597 | ||
593 | /* externals in dasd_devmap.c */ | 598 | /* externals in dasd_devmap.c */ |