diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-10 14:50:51 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-10 14:50:51 -0400 |
commit | fc0b60f1dc311a2f7443ce46305edd287b2d8947 (patch) | |
tree | ffe830c647bd7659c613c2429453e7da787910df /drivers/s390/block | |
parent | e9910846fdb19f7c5810cbe4c95e4ca6dab6a00f (diff) | |
parent | 906fc9e92f0e8b618d4025c3aa6289415ecd8152 (diff) |
Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
[S390] update default configuration.
[S390] Kconfig: no wireless on s390.
[S390] Kconfig: use common Kconfig files for s390.
[S390] Kconfig: common config options for s390.
[S390] Kconfig: unwanted menus for s390.
[S390] Kconfig: menus with depends on HAS_IOMEM.
[S390] Kconfig: refine depends statements.
[S390] Avoid compile warning.
[S390] qdio: re-add lost perf_stats.tl_runs change in qdio_handle_pci
[S390] Avoid sparse warnings.
[S390] dasd: Fix modular build.
[S390] monreader inlining cleanup.
[S390] cio: Make some structures and a function static.
[S390] cio: Get rid of _ccw_device_get_device_number().
[S390] fix subsystem removal fallout
Diffstat (limited to 'drivers/s390/block')
-rw-r--r-- | drivers/s390/block/Kconfig | 11 | ||||
-rw-r--r-- | drivers/s390/block/dasd.c | 8 | ||||
-rw-r--r-- | drivers/s390/block/dasd_diag.c | 10 | ||||
-rw-r--r-- | drivers/s390/block/dasd_eckd.c | 6 | ||||
-rw-r--r-- | drivers/s390/block/dasd_ioctl.c | 4 |
5 files changed, 21 insertions, 18 deletions
diff --git a/drivers/s390/block/Kconfig b/drivers/s390/block/Kconfig index b250c5354503..e879b212cf43 100644 --- a/drivers/s390/block/Kconfig +++ b/drivers/s390/block/Kconfig | |||
@@ -1,11 +1,9 @@ | |||
1 | if S390 && BLOCK | ||
2 | |||
3 | comment "S/390 block device drivers" | 1 | comment "S/390 block device drivers" |
4 | depends on S390 | 2 | depends on S390 && BLOCK |
5 | 3 | ||
6 | config BLK_DEV_XPRAM | 4 | config BLK_DEV_XPRAM |
7 | tristate "XPRAM disk support" | 5 | tristate "XPRAM disk support" |
8 | depends on S390 | 6 | depends on S390 && BLOCK |
9 | help | 7 | help |
10 | Select this option if you want to use your expanded storage on S/390 | 8 | Select this option if you want to use your expanded storage on S/390 |
11 | or zSeries as a disk. This is useful as a _fast_ swap device if you | 9 | or zSeries as a disk. This is useful as a _fast_ swap device if you |
@@ -15,12 +13,13 @@ config BLK_DEV_XPRAM | |||
15 | 13 | ||
16 | config DCSSBLK | 14 | config DCSSBLK |
17 | tristate "DCSSBLK support" | 15 | tristate "DCSSBLK support" |
16 | depends on S390 && BLOCK | ||
18 | help | 17 | help |
19 | Support for dcss block device | 18 | Support for dcss block device |
20 | 19 | ||
21 | config DASD | 20 | config DASD |
22 | tristate "Support for DASD devices" | 21 | tristate "Support for DASD devices" |
23 | depends on CCW | 22 | depends on CCW && BLOCK |
24 | help | 23 | help |
25 | Enable this option if you want to access DASDs directly utilizing | 24 | Enable this option if you want to access DASDs directly utilizing |
26 | S/390s channel subsystem commands. This is necessary for running | 25 | S/390s channel subsystem commands. This is necessary for running |
@@ -62,5 +61,3 @@ config DASD_EER | |||
62 | This driver provides a character device interface to the | 61 | This driver provides a character device interface to the |
63 | DASD extended error reporting. This is only needed if you want to | 62 | DASD extended error reporting. This is only needed if you want to |
64 | use applications written for the EER facility. | 63 | use applications written for the EER facility. |
65 | |||
66 | endif | ||
diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c index 977521013fe8..bfeca57098fa 100644 --- a/drivers/s390/block/dasd.c +++ b/drivers/s390/block/dasd.c | |||
@@ -2174,9 +2174,10 @@ dasd_generic_notify(struct ccw_device *cdev, int event) | |||
2174 | return ret; | 2174 | return ret; |
2175 | } | 2175 | } |
2176 | 2176 | ||
2177 | struct dasd_ccw_req * dasd_generic_build_rdc(struct dasd_device *device, | 2177 | static struct dasd_ccw_req *dasd_generic_build_rdc(struct dasd_device *device, |
2178 | void *rdc_buffer, | 2178 | void *rdc_buffer, |
2179 | int rdc_buffer_size, char *magic) | 2179 | int rdc_buffer_size, |
2180 | char *magic) | ||
2180 | { | 2181 | { |
2181 | struct dasd_ccw_req *cqr; | 2182 | struct dasd_ccw_req *cqr; |
2182 | struct ccw1 *ccw; | 2183 | struct ccw1 *ccw; |
@@ -2219,6 +2220,7 @@ int dasd_generic_read_dev_chars(struct dasd_device *device, char *magic, | |||
2219 | dasd_sfree_request(cqr, cqr->device); | 2220 | dasd_sfree_request(cqr, cqr->device); |
2220 | return ret; | 2221 | return ret; |
2221 | } | 2222 | } |
2223 | EXPORT_SYMBOL_GPL(dasd_generic_read_dev_chars); | ||
2222 | 2224 | ||
2223 | static int __init | 2225 | static int __init |
2224 | dasd_init(void) | 2226 | dasd_init(void) |
diff --git a/drivers/s390/block/dasd_diag.c b/drivers/s390/block/dasd_diag.c index e810e4a44ed4..eccac1c3b71b 100644 --- a/drivers/s390/block/dasd_diag.c +++ b/drivers/s390/block/dasd_diag.c | |||
@@ -50,6 +50,7 @@ struct dasd_diag_private { | |||
50 | struct dasd_diag_rw_io iob; | 50 | struct dasd_diag_rw_io iob; |
51 | struct dasd_diag_init_io iib; | 51 | struct dasd_diag_init_io iib; |
52 | blocknum_t pt_block; | 52 | blocknum_t pt_block; |
53 | struct ccw_dev_id dev_id; | ||
53 | }; | 54 | }; |
54 | 55 | ||
55 | struct dasd_diag_req { | 56 | struct dasd_diag_req { |
@@ -102,7 +103,7 @@ mdsk_init_io(struct dasd_device *device, unsigned int blocksize, | |||
102 | iib = &private->iib; | 103 | iib = &private->iib; |
103 | memset(iib, 0, sizeof (struct dasd_diag_init_io)); | 104 | memset(iib, 0, sizeof (struct dasd_diag_init_io)); |
104 | 105 | ||
105 | iib->dev_nr = _ccw_device_get_device_number(device->cdev); | 106 | iib->dev_nr = private->dev_id.devno; |
106 | iib->block_size = blocksize; | 107 | iib->block_size = blocksize; |
107 | iib->offset = offset; | 108 | iib->offset = offset; |
108 | iib->flaga = DASD_DIAG_FLAGA_DEFAULT; | 109 | iib->flaga = DASD_DIAG_FLAGA_DEFAULT; |
@@ -127,7 +128,7 @@ mdsk_term_io(struct dasd_device * device) | |||
127 | private = (struct dasd_diag_private *) device->private; | 128 | private = (struct dasd_diag_private *) device->private; |
128 | iib = &private->iib; | 129 | iib = &private->iib; |
129 | memset(iib, 0, sizeof (struct dasd_diag_init_io)); | 130 | memset(iib, 0, sizeof (struct dasd_diag_init_io)); |
130 | iib->dev_nr = _ccw_device_get_device_number(device->cdev); | 131 | iib->dev_nr = private->dev_id.devno; |
131 | rc = dia250(iib, TERM_BIO); | 132 | rc = dia250(iib, TERM_BIO); |
132 | return rc; | 133 | return rc; |
133 | } | 134 | } |
@@ -166,7 +167,7 @@ dasd_start_diag(struct dasd_ccw_req * cqr) | |||
166 | private = (struct dasd_diag_private *) device->private; | 167 | private = (struct dasd_diag_private *) device->private; |
167 | dreq = (struct dasd_diag_req *) cqr->data; | 168 | dreq = (struct dasd_diag_req *) cqr->data; |
168 | 169 | ||
169 | private->iob.dev_nr = _ccw_device_get_device_number(device->cdev); | 170 | private->iob.dev_nr = private->dev_id.devno; |
170 | private->iob.key = 0; | 171 | private->iob.key = 0; |
171 | private->iob.flags = DASD_DIAG_RWFLAG_ASYNC; | 172 | private->iob.flags = DASD_DIAG_RWFLAG_ASYNC; |
172 | private->iob.block_count = dreq->block_count; | 173 | private->iob.block_count = dreq->block_count; |
@@ -323,11 +324,12 @@ dasd_diag_check_device(struct dasd_device *device) | |||
323 | "memory allocation failed for private data"); | 324 | "memory allocation failed for private data"); |
324 | return -ENOMEM; | 325 | return -ENOMEM; |
325 | } | 326 | } |
327 | ccw_device_get_id(device->cdev, &private->dev_id); | ||
326 | device->private = (void *) private; | 328 | device->private = (void *) private; |
327 | } | 329 | } |
328 | /* Read Device Characteristics */ | 330 | /* Read Device Characteristics */ |
329 | rdc_data = (void *) &(private->rdc_data); | 331 | rdc_data = (void *) &(private->rdc_data); |
330 | rdc_data->dev_nr = _ccw_device_get_device_number(device->cdev); | 332 | rdc_data->dev_nr = private->dev_id.devno; |
331 | rdc_data->rdc_len = sizeof (struct dasd_diag_characteristics); | 333 | rdc_data->rdc_len = sizeof (struct dasd_diag_characteristics); |
332 | 334 | ||
333 | rc = diag210((struct diag210 *) rdc_data); | 335 | rc = diag210((struct diag210 *) rdc_data); |
diff --git a/drivers/s390/block/dasd_eckd.c b/drivers/s390/block/dasd_eckd.c index c9583fbc2a7d..418b4e63a4fa 100644 --- a/drivers/s390/block/dasd_eckd.c +++ b/drivers/s390/block/dasd_eckd.c | |||
@@ -450,9 +450,9 @@ dasd_eckd_generate_uid(struct dasd_device *device, struct dasd_uid *uid) | |||
450 | return 0; | 450 | return 0; |
451 | } | 451 | } |
452 | 452 | ||
453 | struct dasd_ccw_req * dasd_eckd_build_rcd_lpm(struct dasd_device *device, | 453 | static struct dasd_ccw_req *dasd_eckd_build_rcd_lpm(struct dasd_device *device, |
454 | void *rcd_buffer, | 454 | void *rcd_buffer, |
455 | struct ciw *ciw, __u8 lpm) | 455 | struct ciw *ciw, __u8 lpm) |
456 | { | 456 | { |
457 | struct dasd_ccw_req *cqr; | 457 | struct dasd_ccw_req *cqr; |
458 | struct ccw1 *ccw; | 458 | struct ccw1 *ccw; |
diff --git a/drivers/s390/block/dasd_ioctl.c b/drivers/s390/block/dasd_ioctl.c index 758cfb542865..672eb0a3dd0b 100644 --- a/drivers/s390/block/dasd_ioctl.c +++ b/drivers/s390/block/dasd_ioctl.c | |||
@@ -255,6 +255,7 @@ dasd_ioctl_information(struct dasd_device *device, | |||
255 | unsigned long flags; | 255 | unsigned long flags; |
256 | int rc; | 256 | int rc; |
257 | struct ccw_device *cdev; | 257 | struct ccw_device *cdev; |
258 | struct ccw_dev_id dev_id; | ||
258 | 259 | ||
259 | if (!device->discipline->fill_info) | 260 | if (!device->discipline->fill_info) |
260 | return -EINVAL; | 261 | return -EINVAL; |
@@ -270,8 +271,9 @@ dasd_ioctl_information(struct dasd_device *device, | |||
270 | } | 271 | } |
271 | 272 | ||
272 | cdev = device->cdev; | 273 | cdev = device->cdev; |
274 | ccw_device_get_id(cdev, &dev_id); | ||
273 | 275 | ||
274 | dasd_info->devno = _ccw_device_get_device_number(device->cdev); | 276 | dasd_info->devno = dev_id.devno; |
275 | dasd_info->schid = _ccw_device_get_subchannel_number(device->cdev); | 277 | dasd_info->schid = _ccw_device_get_subchannel_number(device->cdev); |
276 | dasd_info->cu_type = cdev->id.cu_type; | 278 | dasd_info->cu_type = cdev->id.cu_type; |
277 | dasd_info->cu_model = cdev->id.cu_model; | 279 | dasd_info->cu_model = cdev->id.cu_model; |