Messages in this thread Patch in this message | ![/](/images/icornerl.gif) | | From | Martin Schwidefsky <> | Subject | [PATCH] s390 (8/16): dasd driver coding style - part 1. | Date | Mon, 14 Apr 2003 19:50:46 +0200 |
| |
s390 dasd driver: - Coding style adaptions. Removed almost all typedefs from the dasd driver.
diffstat: dasd.c | 314 +++++++++++++++++++++++++------------------------------- dasd_3370_erp.c | 7 - dasd_3990_erp.c | 258 ++++++++++++++++++++++------------------------ dasd_9336_erp.c | 7 - dasd_9343_erp.c | 7 - dasd_devmap.c | 73 +++++-------- dasd_diag.c | 135 +++++++++++------------- dasd_diag.h | 29 +---- 8 files changed, 385 insertions(+), 445 deletions(-)
diff -urN linux-2.5.67/drivers/s390/block/dasd.c linux-2.5.67-s390/drivers/s390/block/dasd.c --- linux-2.5.67/drivers/s390/block/dasd.c Mon Apr 14 19:11:53 2003 +++ linux-2.5.67-s390/drivers/s390/block/dasd.c Mon Apr 14 19:11:53 2003 @@ -7,43 +7,12 @@ * Bugreports.to..: <Linux390@de.ibm.com> * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999-2001 * - * $Revision: 1.82 $ - * - * History of changes (starts July 2000) - * 11/09/00 complete redesign after code review - * 02/01/01 added dynamic registration of ioctls - * fixed bug in registration of new majors - * fixed handling of request during dasd_end_request - * fixed handling of plugged queues - * fixed partition handling and HDIO_GETGEO - * fixed traditional naming scheme for devices beyond 702 - * fixed some race conditions related to modules - * added devfs suupport - * 03/06/01 refined dynamic attach/detach for leaving devices which are online. - * 03/09/01 refined dynamic modifiaction of devices - * 03/12/01 moved policy in dasd_format to dasdfmt (renamed BIODASDFORMAT) - * 03/19/01 added BIODASDINFO-ioctl - * removed 2.2 compatibility - * 04/27/01 fixed PL030119COT (dasd_disciplines does not work) - * 04/30/01 fixed PL030146HSM (module locking with dynamic ioctls) - * fixed PL030130SBA (handling of invalid ranges) - * 05/02/01 fixed PL030145SBA (killing dasdmt) - * fixed PL030149SBA (status of 'accepted' devices) - * fixed PL030146SBA (BUG in ibm.c after adding device) - * added BIODASDPRRD ioctl interface - * 05/11/01 fixed PL030164MVE (trap in probeonly mode) - * 05/15/01 fixed devfs support for unformatted devices - * 06/26/01 hopefully fixed PL030172SBA,PL030234SBA - * 07/09/01 fixed PL030324MSH (wrong statistics output) - * 07/16/01 merged in new fixes for handling low-mem situations - * 01/22/01 fixed PL030579KBE (wrong statistics) - * 05/04/02 code restructuring. + * $Revision: 1.94 $ */ #define LOCAL_END_REQUEST /* Don't generate end_request in blk.h */ #include <linux/config.h> -#include <linux/version.h> #include <linux/kmod.h> #include <linux/init.h> #include <linux/interrupt.h> @@ -83,12 +52,12 @@ /* * SECTION: prototypes for static functions of dasd.c */ -static int dasd_setup_blkdev(dasd_device_t * device); -static void dasd_disable_blkdev(dasd_device_t * device); -static void dasd_flush_request_queue(dasd_device_t *); +static int dasd_setup_blkdev(struct dasd_device * device); +static void dasd_disable_blkdev(struct dasd_device * device); +static void dasd_flush_request_queue(struct dasd_device *); static void dasd_int_handler(struct ccw_device *, unsigned long, struct irb *); -static void dasd_flush_ccw_queue(dasd_device_t *, int); -static void dasd_tasklet(dasd_device_t *); +static void dasd_flush_ccw_queue(struct dasd_device *, int); +static void dasd_tasklet(struct dasd_device *); static void do_kick_device(void *data); static int dasd_add_sysfs_files(struct ccw_device *cdev); @@ -100,16 +69,16 @@ /* * Allocate memory for a new device structure. */ -dasd_device_t * +struct dasd_device * dasd_alloc_device(unsigned int devindex) { - dasd_device_t *device; + struct dasd_device *device; struct gendisk *gdp; - device = kmalloc(sizeof (dasd_device_t), GFP_ATOMIC); + device = kmalloc(sizeof (struct dasd_device), GFP_ATOMIC); if (device == NULL) return ERR_PTR(-ENOMEM); - memset(device, 0, sizeof (dasd_device_t)); + memset(device, 0, sizeof (struct dasd_device)); /* Get two pages for normal block device operations. */ device->ccw_mem = (void *) __get_free_pages(GFP_ATOMIC | GFP_DMA, 1); @@ -131,7 +100,7 @@ free_page((unsigned long) device->erp_mem); free_pages((unsigned long) device->ccw_mem, 1); kfree(device); - return (dasd_device_t *) gdp; + return (struct dasd_device *) gdp; } gdp->private_data = device; device->gdp = gdp; @@ -156,7 +125,7 @@ * Free memory of a device structure. */ void -dasd_free_device(dasd_device_t *device) +dasd_free_device(struct dasd_device *device) { if (device->private) kfree(device->private); @@ -170,7 +139,7 @@ * Make a new device known to the system. */ static inline int -dasd_state_new_to_known(dasd_device_t *device) +dasd_state_new_to_known(struct dasd_device *device) { umode_t devfs_perm; kdev_t kdev; @@ -211,7 +180,7 @@ * Let the system forget about a device. */ static inline void -dasd_state_known_to_new(dasd_device_t * device) +dasd_state_known_to_new(struct dasd_device * device) { /* Remove device entry and devfs directory. */ devfs_unregister(device->devfs_entry); @@ -229,7 +198,7 @@ * Request the irq line for the device. */ static inline int -dasd_state_known_to_basic(dasd_device_t * device) +dasd_state_known_to_basic(struct dasd_device * device) { /* register 'device' debug area, used for all DBF_DEV_XXX calls */ device->debug_area = debug_register(device->gdp->disk_name, 0, 2, @@ -246,7 +215,7 @@ * Release the irq line for the device. Terminate any running i/o. */ static inline void -dasd_state_basic_to_known(dasd_device_t * device) +dasd_state_basic_to_known(struct dasd_device * device) { dasd_flush_ccw_queue(device, 1); DBF_DEV_EVENT(DBF_EMERG, device, "%p debug area deleted", device); @@ -268,7 +237,7 @@ * discipline code, see dasd_eckd.c. */ static inline int -dasd_state_basic_to_accept(dasd_device_t * device) +dasd_state_basic_to_accept(struct dasd_device * device) { int rc; @@ -284,7 +253,7 @@ * Forget everything the initial analysis found out. */ static inline void -dasd_state_accept_to_basic(dasd_device_t * device) +dasd_state_accept_to_basic(struct dasd_device * device) { device->blocks = 0; device->bp_block = 0; @@ -296,7 +265,7 @@ * Setup block device. */ static inline int -dasd_state_accept_to_ready(dasd_device_t * device) +dasd_state_accept_to_ready(struct dasd_device * device) { int rc; @@ -312,7 +281,7 @@ * Remove device from block device layer. Destroy dirty buffers. */ static inline void -dasd_state_ready_to_accept(dasd_device_t * device) +dasd_state_ready_to_accept(struct dasd_device * device) { dasd_flush_ccw_queue(device, 0); dasd_destroy_partitions(device); @@ -327,7 +296,7 @@ * ccw queue. */ static inline int -dasd_state_ready_to_online(dasd_device_t * device) +dasd_state_ready_to_online(struct dasd_device * device) { device->state = DASD_STATE_ONLINE; dasd_schedule_bh(device); @@ -338,7 +307,7 @@ * Stop the requeueing of requests again. */ static inline void -dasd_state_online_to_ready(dasd_device_t * device) +dasd_state_online_to_ready(struct dasd_device * device) { device->state = DASD_STATE_READY; } @@ -347,7 +316,7 @@ * Device startup state changes. */ static inline int -dasd_increase_state(dasd_device_t *device) +dasd_increase_state(struct dasd_device *device) { int rc; @@ -379,7 +348,7 @@ * Device shutdown state changes. */ static inline int -dasd_decrease_state(dasd_device_t *device) +dasd_decrease_state(struct dasd_device *device) { if (device->state == DASD_STATE_ONLINE && device->target <= DASD_STATE_READY) @@ -408,7 +377,7 @@ * This is the main startup/shutdown routine. */ static void -dasd_change_state(dasd_device_t *device) +dasd_change_state(struct dasd_device *device) { int rc; @@ -440,16 +409,16 @@ static void do_kick_device(void *data) { - dasd_device_t *device; + struct dasd_device *device; - device = (dasd_device_t *) data; + device = (struct dasd_device *) data; dasd_change_state(device); dasd_schedule_bh(device); dasd_put_device(device); } void -dasd_kick_device(dasd_device_t *device) +dasd_kick_device(struct dasd_device *device) { dasd_get_device(device); /* queue call to dasd_kick_device to the kernel event daemon. */ @@ -460,7 +429,7 @@ * Set the target state for a device and starts the state change. */ void -dasd_set_target_state(dasd_device_t *device, int target) +dasd_set_target_state(struct dasd_device *device, int target) { /* If we are in probeonly mode stop at DASD_STATE_ACCEPT. */ if (dasd_probeonly && target > DASD_STATE_ACCEPT) @@ -478,14 +447,14 @@ * Enable devices with device numbers in [from..to]. */ static inline int -_wait_for_device(dasd_device_t *device) +_wait_for_device(struct dasd_device *device) { return (device->state == device->target); } // FIXME: if called from dasd_devices_write discpline is not set -> oops. void -dasd_enable_device(dasd_device_t *device) +dasd_enable_device(struct dasd_device *device) { dasd_set_target_state(device, DASD_STATE_ONLINE); if (device->state <= DASD_STATE_KNOWN) @@ -500,7 +469,7 @@ */ #ifdef CONFIG_DASD_PROFILE -dasd_profile_info_t dasd_global_profile; +struct dasd_profile_info_t dasd_global_profile; unsigned int dasd_profile_level = DASD_PROFILE_OFF; /* @@ -518,7 +487,7 @@ * Add profiling information for cqr before execution. */ static inline void -dasd_profile_start(dasd_device_t *device, dasd_ccw_req_t * cqr, +dasd_profile_start(struct dasd_device *device, struct dasd_ccw_req * cqr, struct request *req) { struct list_head *l; @@ -540,7 +509,7 @@ * Add profiling information for cqr after execution. */ static inline void -dasd_profile_end(dasd_device_t *device, dasd_ccw_req_t * cqr, +dasd_profile_end(struct dasd_device *device, struct dasd_ccw_req * cqr, struct request *req) { long strtime, irqtime, endtime, tottime; /* in microseconds */ @@ -562,12 +531,14 @@ tottimeps = tottime / sectors; if (!dasd_global_profile.dasd_io_reqs) - memset(&dasd_global_profile, 0, sizeof (dasd_profile_info_t)); + memset(&dasd_global_profile, 0, + sizeof (struct dasd_profile_info_t)); dasd_global_profile.dasd_io_reqs++; dasd_global_profile.dasd_io_sects += sectors; if (!device->profile.dasd_io_reqs) - memset(&device->profile, 0, sizeof (dasd_profile_info_t)); + memset(&device->profile, 0, + sizeof (struct dasd_profile_info_t)); device->profile.dasd_io_reqs++; device->profile.dasd_io_sects += sectors; @@ -591,11 +562,11 @@ * memory and 2) dasd_smalloc_request uses the static ccw memory * that gets allocated for each device. */ -dasd_ccw_req_t * +struct dasd_ccw_req * dasd_kmalloc_request(char *magic, int cplength, int datasize, - dasd_device_t * device) + struct dasd_device * device) { - dasd_ccw_req_t *cqr; + struct dasd_ccw_req *cqr; /* Sanity checks */ if ( magic == NULL || datasize > PAGE_SIZE || @@ -606,10 +577,10 @@ debug_int_event ( dasd_debug_area, 1, cplength); debug_int_event ( dasd_debug_area, 1, datasize); - cqr = kmalloc(sizeof(dasd_ccw_req_t), GFP_ATOMIC); + cqr = kmalloc(sizeof(struct dasd_ccw_req), GFP_ATOMIC); if (cqr == NULL) return ERR_PTR(-ENOMEM); - memset(cqr, 0, sizeof(dasd_ccw_req_t)); + memset(cqr, 0, sizeof(struct dasd_ccw_req)); cqr->cpaddr = NULL; if (cplength > 0) { cqr->cpaddr = kmalloc(cplength*sizeof(struct ccw1), @@ -637,12 +608,12 @@ return cqr; } -dasd_ccw_req_t * +struct dasd_ccw_req * dasd_smalloc_request(char *magic, int cplength, int datasize, - dasd_device_t * device) + struct dasd_device * device) { unsigned long flags; - dasd_ccw_req_t *cqr; + struct dasd_ccw_req *cqr; char *data; int size; @@ -655,18 +626,19 @@ debug_int_event ( dasd_debug_area, 1, cplength); debug_int_event ( dasd_debug_area, 1, datasize); - size = (sizeof(dasd_ccw_req_t) + 7L) & -8L; + size = (sizeof(struct dasd_ccw_req) + 7L) & -8L; if (cplength > 0) size += cplength * sizeof(struct ccw1); if (datasize > 0) size += datasize; spin_lock_irqsave(&device->mem_lock, flags); - cqr = (dasd_ccw_req_t *) dasd_alloc_chunk(&device->ccw_chunks, size); + cqr = (struct dasd_ccw_req *) + dasd_alloc_chunk(&device->ccw_chunks, size); spin_unlock_irqrestore(&device->mem_lock, flags); if (cqr == NULL) return ERR_PTR(-ENOMEM); - memset(cqr, 0, sizeof(dasd_ccw_req_t)); - data = (char *) cqr + ((sizeof(dasd_ccw_req_t) + 7L) & -8L); + memset(cqr, 0, sizeof(struct dasd_ccw_req)); + data = (char *) cqr + ((sizeof(struct dasd_ccw_req) + 7L) & -8L); cqr->cpaddr = NULL; if (cplength > 0) { cqr->cpaddr = (struct ccw1 *) data; @@ -687,10 +659,10 @@ /* * Free memory of a channel program. This function needs to free all the * idal lists that might have been created by dasd_set_cda and the - * dasd_ccw_req_t itself. + * struct dasd_ccw_req itself. */ void -dasd_kfree_request(dasd_ccw_req_t * cqr, dasd_device_t * device) +dasd_kfree_request(struct dasd_ccw_req * cqr, struct dasd_device * device) { #ifdef CONFIG_ARCH_S390X struct ccw1 *ccw; @@ -714,7 +686,7 @@ } void -dasd_sfree_request(dasd_ccw_req_t * cqr, dasd_device_t * device) +dasd_sfree_request(struct dasd_ccw_req * cqr, struct dasd_device * device) { unsigned long flags; @@ -732,16 +704,16 @@ * Check discipline magic in cqr. */ static inline int -dasd_check_cqr(dasd_ccw_req_t *cqr) +dasd_check_cqr(struct dasd_ccw_req *cqr) { - dasd_device_t *device; + struct dasd_device *device; if (cqr == NULL) return -EINVAL; device = cqr->device; if (strncmp((char *) &cqr->magic, device->discipline->ebcname, 4)) { DEV_MESSAGE(KERN_WARNING, device, - " dasd_ccw_req_t 0x%08x magic doesn't match" + " dasd_ccw_req 0x%08x magic doesn't match" " discipline 0x%08x", cqr->magic, *(unsigned int *) device->discipline->name); @@ -756,9 +728,9 @@ * is in a bad mood. */ int -dasd_term_IO(dasd_ccw_req_t * cqr) +dasd_term_IO(struct dasd_ccw_req * cqr) { - dasd_device_t *device; + struct dasd_device *device; int retries, rc; /* Check the cqr */ @@ -766,7 +738,7 @@ if (rc) return rc; retries = 0; - device = (dasd_device_t *) cqr->device; + device = (struct dasd_device *) cqr->device; while ((retries < 5) && (cqr->status == DASD_CQR_IN_IO)) { if (retries < 2) rc = ccw_device_halt(device->cdev, (long) cqr); @@ -808,16 +780,16 @@ * In that case set up a timer to start the request later. */ int -dasd_start_IO(dasd_ccw_req_t * cqr) +dasd_start_IO(struct dasd_ccw_req * cqr) { - dasd_device_t *device; + struct dasd_device *device; int rc; /* Check the cqr */ rc = dasd_check_cqr(cqr); if (rc) return rc; - device = (dasd_device_t *) cqr->device; + device = (struct dasd_device *) cqr->device; cqr->startclk = get_clock(); rc = ccw_device_start(device->cdev, cqr->cpaddr, (long) cqr, cqr->lpm, 0); @@ -860,14 +832,15 @@ dasd_timeout_device(unsigned long ptr) { unsigned long flags; - dasd_device_t *device; - dasd_ccw_req_t *cqr; + struct dasd_device *device; + struct dasd_ccw_req *cqr; - device = (dasd_device_t *) ptr; + device = (struct dasd_device *) ptr; spin_lock_irqsave(get_ccwdev_lock(device->cdev), flags); /* re-activate first request in queue */ if (!list_empty(&device->ccw_queue)) { - cqr = list_entry(device->ccw_queue.next, dasd_ccw_req_t, list); + cqr = list_entry(device->ccw_queue.next, + struct dasd_ccw_req, list); if (cqr->status == DASD_CQR_PENDING) cqr->status = DASD_CQR_QUEUED; } @@ -879,7 +852,7 @@ * Setup timeout for a device. */ void -dasd_set_timer(dasd_device_t *device, int expires) +dasd_set_timer(struct dasd_device *device, int expires) { /* FIXME: timeouts are based on jiffies but the timeout * comparision in __dasd_check_expire is based on the @@ -903,7 +876,7 @@ * Clear timeout for a device. */ void -dasd_clear_timer(dasd_device_t *device) +dasd_clear_timer(struct dasd_device *device) { if (timer_pending(&device->timer)) del_timer(&device->timer); @@ -921,10 +894,10 @@ { struct { struct work_struct work; - dasd_device_t *device; + struct dasd_device *device; } *p; - dasd_device_t *device; - dasd_ccw_req_t *cqr; + struct dasd_device *device; + struct dasd_ccw_req *cqr; p = data; device = p->device; @@ -934,7 +907,8 @@ spin_lock_irq(get_ccwdev_lock(device->cdev)); /* re-activate first request in queue */ if (!list_empty(&device->ccw_queue)) { - cqr = list_entry(device->ccw_queue.next, dasd_ccw_req_t, list); + cqr = list_entry(device->ccw_queue.next, + struct dasd_ccw_req, list); if (cqr == NULL) { MESSAGE (KERN_DEBUG, "got state change pending interrupt on" @@ -954,10 +928,10 @@ static void dasd_handle_killed_request(struct ccw_device *cdev, unsigned long intparm) { - dasd_ccw_req_t *cqr; - dasd_device_t *device; + struct dasd_ccw_req *cqr; + struct dasd_device *device; - cqr = (dasd_ccw_req_t *) intparm; + cqr = (struct dasd_ccw_req *) intparm; if (cqr->status != DASD_CQR_IN_IO) { MESSAGE(KERN_DEBUG, "invalid status: bus_id %s, status %02x", @@ -965,7 +939,7 @@ return; } - device = (dasd_device_t *) cqr->device; + device = (struct dasd_device *) cqr->device; if (device == NULL || device != cdev->dev.driver_data || strncmp(device->discipline->ebcname, (char *) &cqr->magic, 4)) { @@ -982,11 +956,11 @@ } static void -dasd_handle_state_change_pending(dasd_device_t *device) +dasd_handle_state_change_pending(struct dasd_device *device) { struct { struct work_struct work; - dasd_device_t *device; + struct dasd_device *device; } *p; p = kmalloc(sizeof(*p), GFP_ATOMIC); @@ -1006,8 +980,8 @@ dasd_int_handler(struct ccw_device *cdev, unsigned long intparm, struct irb *irb) { - dasd_ccw_req_t *cqr, *next; - dasd_device_t *device; + struct dasd_ccw_req *cqr, *next; + struct dasd_device *device; unsigned long long now; int expires; dasd_era_t era; @@ -1042,7 +1016,7 @@ return; } - cqr = (dasd_ccw_req_t *) intparm; + cqr = (struct dasd_ccw_req *) intparm; /* * check status - the request might have been killed * because of dyn detach @@ -1054,7 +1028,7 @@ return; } - device = (dasd_device_t *) cqr->device; + device = (struct dasd_device *) cqr->device; if (device == NULL || device != cdev->dev.driver_data || strncmp(device->discipline->ebcname, (char *) &cqr->magic, 4)) { @@ -1084,7 +1058,7 @@ /* Start first request on queue if possible -> fast_io. */ if (cqr->list.next != &device->ccw_queue) { next = list_entry(cqr->list.next, - dasd_ccw_req_t, list); + struct dasd_ccw_req, list); if (next->status == DASD_CQR_QUEUED) { if (device->discipline->start_IO(next) == 0) expires = next->expires; @@ -1141,7 +1115,7 @@ * Process finished error recovery ccw. */ static inline void -__dasd_process_erp(dasd_device_t *device, dasd_ccw_req_t *cqr) +__dasd_process_erp(struct dasd_device *device, struct dasd_ccw_req *cqr) { dasd_erp_fn_t erp_fn; @@ -1157,16 +1131,17 @@ * Process ccw request queue. */ static inline void -__dasd_process_ccw_queue(dasd_device_t * device, struct list_head *final_queue) +__dasd_process_ccw_queue(struct dasd_device * device, + struct list_head *final_queue) { struct list_head *l, *n; - dasd_ccw_req_t *cqr; + struct dasd_ccw_req *cqr; dasd_erp_fn_t erp_fn; restart: /* Process request with final status. */ list_for_each_safe(l, n, &device->ccw_queue) { - cqr = list_entry(l, dasd_ccw_req_t, list); + cqr = list_entry(l, struct dasd_ccw_req, list); /* Stop list processing at the first non-final request. */ if (cqr->status != DASD_CQR_DONE && cqr->status != DASD_CQR_FAILED && @@ -1197,7 +1172,7 @@ } static void -dasd_end_request_cb(dasd_ccw_req_t * cqr, void *data) +dasd_end_request_cb(struct dasd_ccw_req * cqr, void *data) { struct request *req; @@ -1214,11 +1189,11 @@ * Fetch requests from the block device queue. */ static inline void -__dasd_process_blk_queue(dasd_device_t * device) +__dasd_process_blk_queue(struct dasd_device * device) { request_queue_t *queue; struct request *req; - dasd_ccw_req_t *cqr; + struct dasd_ccw_req *cqr; int nr_queued; queue = device->request_queue; @@ -1281,14 +1256,14 @@ * if it reached its expire time. If so, terminate the IO. */ static inline void -__dasd_check_expire(dasd_device_t * device) +__dasd_check_expire(struct dasd_device * device) { - dasd_ccw_req_t *cqr; + struct dasd_ccw_req *cqr; unsigned long long now; if (list_empty(&device->ccw_queue)) return; - cqr = list_entry(device->ccw_queue.next, dasd_ccw_req_t, list); + cqr = list_entry(device->ccw_queue.next, struct dasd_ccw_req, list); if (cqr->status == DASD_CQR_IN_IO && cqr->expires != 0) { now = get_clock(); if (cqr->expires * (TOD_SEC / HZ) + cqr->startclk < now) { @@ -1304,14 +1279,14 @@ * if it needs to be started. */ static inline void -__dasd_start_head(dasd_device_t * device) +__dasd_start_head(struct dasd_device * device) { - dasd_ccw_req_t *cqr; + struct dasd_ccw_req *cqr; int rc; if (list_empty(&device->ccw_queue)) return; - cqr = list_entry(device->ccw_queue.next, dasd_ccw_req_t, list); + cqr = list_entry(device->ccw_queue.next, struct dasd_ccw_req, list); if (cqr->status == DASD_CQR_QUEUED) { /* try to start the first I/O that can be started */ rc = device->discipline->start_IO(cqr); @@ -1327,16 +1302,16 @@ * Remove requests from the ccw queue. */ static void -dasd_flush_ccw_queue(dasd_device_t * device, int all) +dasd_flush_ccw_queue(struct dasd_device * device, int all) { struct list_head flush_queue; struct list_head *l, *n; - dasd_ccw_req_t *cqr; + struct dasd_ccw_req *cqr; INIT_LIST_HEAD(&flush_queue); spin_lock_irq(get_ccwdev_lock(device->cdev)); list_for_each_safe(l, n, &device->ccw_queue) { - cqr = list_entry(l, dasd_ccw_req_t, list); + cqr = list_entry(l, struct dasd_ccw_req, list); /* Flush all request or only block device requests? */ if (all == 0 && cqr->callback == dasd_end_request_cb) continue; @@ -1359,7 +1334,7 @@ spin_unlock_irq(get_ccwdev_lock(device->cdev)); /* Now call the callback function of flushed requests */ list_for_each_safe(l, n, &flush_queue) { - cqr = list_entry(l, dasd_ccw_req_t, list); + cqr = list_entry(l, struct dasd_ccw_req, list); if (cqr->callback != NULL) (cqr->callback)(cqr, cqr->callback_data); } @@ -1369,11 +1344,11 @@ * Acquire the device lock and process queues for the device. */ static void -dasd_tasklet(dasd_device_t * device) +dasd_tasklet(struct dasd_device * device) { struct list_head final_queue; struct list_head *l, *n; - dasd_ccw_req_t *cqr; + struct dasd_ccw_req *cqr; atomic_set (&device->tasklet_scheduled, 0); INIT_LIST_HEAD(&final_queue); @@ -1385,7 +1360,7 @@ spin_unlock_irq(get_ccwdev_lock(device->cdev)); /* Now call the callback function of requests with final status */ list_for_each_safe(l, n, &final_queue) { - cqr = list_entry(l, dasd_ccw_req_t, list); + cqr = list_entry(l, struct dasd_ccw_req, list); list_del(&cqr->list); if (cqr->callback != NULL) (cqr->callback)(cqr, cqr->callback_data); @@ -1405,7 +1380,7 @@ * Schedules a call to dasd_tasklet over the device tasklet. */ void -dasd_schedule_bh(dasd_device_t * device) +dasd_schedule_bh(struct dasd_device * device) { /* Protect against rescheduling. */ if (atomic_compare_and_swap (0, 1, &device->tasklet_scheduled)) @@ -1419,9 +1394,9 @@ * possible. */ void -dasd_add_request_head(dasd_ccw_req_t *req) +dasd_add_request_head(struct dasd_ccw_req *req) { - dasd_device_t *device; + struct dasd_device *device; unsigned long flags; device = req->device; @@ -1439,9 +1414,9 @@ * possible. */ void -dasd_add_request_tail(dasd_ccw_req_t *req) +dasd_add_request_tail(struct dasd_ccw_req *req) { - dasd_device_t *device; + struct dasd_device *device; unsigned long flags; device = req->device; @@ -1458,15 +1433,15 @@ * Wakeup callback. */ static void -dasd_wakeup_cb(dasd_ccw_req_t *cqr, void *data) +dasd_wakeup_cb(struct dasd_ccw_req *cqr, void *data) { wake_up((wait_queue_head_t *) data); } static inline int -_wait_for_wakeup(dasd_ccw_req_t *cqr) +_wait_for_wakeup(struct dasd_ccw_req *cqr) { - dasd_device_t *device; + struct dasd_device *device; int rc; device = cqr->device; @@ -1480,10 +1455,10 @@ * Attempts to start a special ccw queue and waits for its completion. */ int -dasd_sleep_on(dasd_ccw_req_t * cqr) +dasd_sleep_on(struct dasd_ccw_req * cqr) { wait_queue_head_t wait_q; - dasd_device_t *device; + struct dasd_device *device; int rc; device = cqr->device; @@ -1512,10 +1487,10 @@ * for its completion. */ int -dasd_sleep_on_interruptible(dasd_ccw_req_t * cqr) +dasd_sleep_on_interruptible(struct dasd_ccw_req * cqr) { wait_queue_head_t wait_q; - dasd_device_t *device; + struct dasd_device *device; int rc, finished; device = cqr->device; @@ -1557,14 +1532,14 @@ * to the head of the queue. Then the special request is waited on normally. */ static inline int -_dasd_term_running_cqr(dasd_device_t *device) +_dasd_term_running_cqr(struct dasd_device *device) { - dasd_ccw_req_t *cqr; + struct dasd_ccw_req *cqr; int rc; if (list_empty(&device->ccw_queue)) return 0; - cqr = list_entry(device->ccw_queue.next, dasd_ccw_req_t, list); + cqr = list_entry(device->ccw_queue.next, struct dasd_ccw_req, list); rc = device->discipline->term_IO(cqr); if (rc == 0) { /* termination successful */ @@ -1575,10 +1550,10 @@ } int -dasd_sleep_on_immediatly(dasd_ccw_req_t * cqr) +dasd_sleep_on_immediatly(struct dasd_ccw_req * cqr) { wait_queue_head_t wait_q; - dasd_device_t *device; + struct dasd_device *device; int rc; device = cqr->device; @@ -1613,9 +1588,9 @@ * terminated if it is currently in i/o. * Returns 1 if the request has been terminated. */ -int dasd_cancel_req(dasd_ccw_req_t *cqr) +int dasd_cancel_req(struct dasd_ccw_req *cqr) { - dasd_device_t *device = cqr->device; + struct dasd_device *device = cqr->device; unsigned long flags; int rc; @@ -1661,9 +1636,9 @@ static void do_dasd_request(request_queue_t * queue) { - dasd_device_t *device; + struct dasd_device *device; - device = (dasd_device_t *) queue->queuedata; + device = (struct dasd_device *) queue->queuedata; spin_lock(get_ccwdev_lock(device->cdev)); /* Get new request from the block device request queue */ __dasd_process_blk_queue(device); @@ -1676,7 +1651,7 @@ * Allocate request queue and initialize gendisk info for device. */ static int -dasd_setup_blkdev(dasd_device_t * device) +dasd_setup_blkdev(struct dasd_device * device) { int max, rc; @@ -1711,7 +1686,7 @@ * Deactivate and free request queue. */ static void -dasd_disable_blkdev(dasd_device_t * device) +dasd_disable_blkdev(struct dasd_device * device) { if (device->request_queue) { blk_cleanup_queue(device->request_queue); @@ -1724,7 +1699,7 @@ * Flush request on the request queue. */ static void -dasd_flush_request_queue(dasd_device_t * device) +dasd_flush_request_queue(struct dasd_device * device) { struct request *req; @@ -1745,7 +1720,7 @@ static int dasd_open(struct inode *inp, struct file *filp) { - dasd_device_t *device; + struct dasd_device *device; int rc; if (dasd_probeonly) { @@ -1776,7 +1751,7 @@ static int dasd_release(struct inode *inp, struct file *filp) { - dasd_device_t *device; + struct dasd_device *device; device = inp->i_bdev->bd_disk->private_data; @@ -1824,7 +1799,8 @@ /* initial attempt at a probe function. this can be simplified once * the other detection code is gone */ int -dasd_generic_probe (struct ccw_device *cdev, dasd_discipline_t *discipline) +dasd_generic_probe (struct ccw_device *cdev, + struct dasd_discipline *discipline) { int devno; int ret = 0; @@ -1857,7 +1833,7 @@ int dasd_generic_remove (struct ccw_device *cdev) { - struct dasd_device_t *device; + struct dasd_device *device; device = cdev->dev.driver_data; cdev->dev.driver_data = NULL; @@ -1871,10 +1847,10 @@ * or the user has started activation through sysfs */ int dasd_generic_set_online (struct ccw_device *cdev, - dasd_discipline_t *discipline) + struct dasd_discipline *discipline) { - dasd_device_t *device; + struct dasd_device *device; int rc; device = dasd_create_device(cdev); @@ -1928,7 +1904,7 @@ int dasd_generic_set_offline (struct ccw_device *cdev) { - dasd_device_t *device; + struct dasd_device *device; device = cdev->dev.driver_data; if (atomic_read(&device->open_count) > 0) { @@ -1984,7 +1960,7 @@ static ssize_t dasd_ro_show(struct device *dev, char *buf) { - dasd_device_t *device; + struct dasd_device *device; device = dev->driver_data; if (!device) @@ -1996,7 +1972,7 @@ static ssize_t dasd_ro_store(struct device *dev, const char *buf, size_t count) { - dasd_device_t *device = dev->driver_data; + struct dasd_device *device = dev->driver_data; if (device) device->ro_flag = (buf[0] == '1') ? 1 : 0; @@ -2013,7 +1989,7 @@ static ssize_t dasd_use_diag_show(struct device *dev, char *buf) { - dasd_device_t *device; + struct dasd_device *device; device = dev->driver_data; if (!device) @@ -2025,7 +2001,7 @@ static ssize_t dasd_use_diag_store(struct device *dev, const char *buf, size_t count) { - dasd_device_t *device = dev->driver_data; + struct dasd_device *device = dev->driver_data; if (device) device->use_diag_flag = (buf[0] == '1') ? 1 : 0; @@ -2043,7 +2019,7 @@ dasd_devices_show(struct device *dev, char *buf) { - dasd_device_t *device; + struct dasd_device *device; dasd_devmap_t *devmap; devmap = NULL; @@ -2063,7 +2039,7 @@ static ssize_t dasd_discipline_show(struct device *dev, char *buf) { - dasd_device_t *device; + struct dasd_device *device; device = dev->driver_data; if (!device || !device->discipline) diff -urN linux-2.5.67/drivers/s390/block/dasd_3370_erp.c linux-2.5.67-s390/drivers/s390/block/dasd_3370_erp.c --- linux-2.5.67/drivers/s390/block/dasd_3370_erp.c Mon Apr 7 19:31:50 2003 +++ linux-2.5.67-s390/drivers/s390/block/dasd_3370_erp.c Mon Apr 14 19:11:53 2003 @@ -4,10 +4,7 @@ * Bugreports.to..: <Linux390@de.ibm.com> * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 2000 * - * $Revision: 1.7 $ - * - * History of changes - * + * $Revision: 1.9 $ */ #define PRINTK_HEADER "dasd_erp(3370)" @@ -32,7 +29,7 @@ * dasd_era_recover for all others. */ dasd_era_t -dasd_3370_erp_examine(dasd_ccw_req_t * cqr, struct irb * irb) +dasd_3370_erp_examine(struct dasd_ccw_req * cqr, struct irb * irb) { char *sense = irb->ecw; diff -urN linux-2.5.67/drivers/s390/block/dasd_3990_erp.c linux-2.5.67-s390/drivers/s390/block/dasd_3990_erp.c --- linux-2.5.67/drivers/s390/block/dasd_3990_erp.c Mon Apr 7 19:32:27 2003 +++ linux-2.5.67-s390/drivers/s390/block/dasd_3990_erp.c Mon Apr 14 19:11:53 2003 @@ -5,11 +5,7 @@ * Bugreports.to..: <Linux390@de.ibm.com> * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 2000, 2001 * - * $Revision: 1.20 $ - * - * History of changes: - * 05/14/01 fixed PL030160GTO (BUG() in erp_action_5) - * 05/04/02 code restructuring. + * $Revision: 1.24 $ */ #include <linux/timer.h> @@ -23,11 +19,11 @@ #include "dasd_eckd.h" -typedef struct DCTL_data_t { +struct DCTL_data { unsigned char subcommand; /* e.g Inhibit Write, Enable Write,... */ unsigned char modifier; /* Subcommand modifier */ unsigned short res; /* reserved */ -} __attribute__ ((packed)) DCTL_data_t; +} __attribute__ ((packed)); /* ***************************************************************************** @@ -54,10 +50,10 @@ * dasd_era_recover for all others. */ static dasd_era_t -dasd_3990_erp_examine_24(dasd_ccw_req_t * cqr, char *sense) +dasd_3990_erp_examine_24(struct dasd_ccw_req * cqr, char *sense) { - dasd_device_t *device = cqr->device; + struct dasd_device *device = cqr->device; /* check for 'Command Reject' */ if ((sense[0] & SNS0_CMD_REJECT) && @@ -111,10 +107,10 @@ * dasd_era_recover for recoverable others. */ static dasd_era_t -dasd_3990_erp_examine_32(dasd_ccw_req_t * cqr, char *sense) +dasd_3990_erp_examine_32(struct dasd_ccw_req * cqr, char *sense) { - dasd_device_t *device = cqr->device; + struct dasd_device *device = cqr->device; switch (sense[25]) { case 0x00: @@ -149,12 +145,12 @@ * dasd_era_recover for all others. */ dasd_era_t -dasd_3990_erp_examine(dasd_ccw_req_t * cqr, struct irb * irb) +dasd_3990_erp_examine(struct dasd_ccw_req * cqr, struct irb * irb) { char *sense = irb->ecw; dasd_era_t era = dasd_era_recover; - dasd_device_t *device = cqr->device; + struct dasd_device *device = cqr->device; /* check for successful execution first */ if (irb->scsw.cstat == 0x00 && @@ -207,10 +203,10 @@ * RETURN VALUES * cqr original cqr */ -static dasd_ccw_req_t * -dasd_3990_erp_cleanup(dasd_ccw_req_t * erp, char final_status) +static struct dasd_ccw_req * +dasd_3990_erp_cleanup(struct dasd_ccw_req * erp, char final_status) { - dasd_ccw_req_t *cqr = erp->refers; + struct dasd_ccw_req *cqr = erp->refers; dasd_free_erp_request(erp, erp->device); cqr->status = final_status; @@ -234,10 +230,10 @@ * void */ static void -dasd_3990_erp_block_queue(dasd_ccw_req_t * erp, int expires) +dasd_3990_erp_block_queue(struct dasd_ccw_req * erp, int expires) { - dasd_device_t *device = erp->device; + struct dasd_device *device = erp->device; DEV_MESSAGE(KERN_INFO, device, "blocking request queue for %is", expires); @@ -258,11 +254,11 @@ * RETURN VALUES * erp modified erp */ -static dasd_ccw_req_t * -dasd_3990_erp_int_req(dasd_ccw_req_t * erp) +static struct dasd_ccw_req * +dasd_3990_erp_int_req(struct dasd_ccw_req * erp) { - dasd_device_t *device = erp->device; + struct dasd_device *device = erp->device; /* first time set initial retry counter and erp_function */ /* and retry once without blocking queue */ @@ -301,9 +297,9 @@ * erp modified pointer to the ERP */ static void -dasd_3990_erp_alternate_path(dasd_ccw_req_t * erp) +dasd_3990_erp_alternate_path(struct dasd_ccw_req * erp) { - dasd_device_t *device = erp->device; + struct dasd_device *device = erp->device; __u8 opm; /* try alternate valid path */ @@ -349,17 +345,18 @@ * dctl_cqr pointer to NEW dctl_cqr * */ -static dasd_ccw_req_t * -dasd_3990_erp_DCTL(dasd_ccw_req_t * erp, char modifier) +static struct dasd_ccw_req * +dasd_3990_erp_DCTL(struct dasd_ccw_req * erp, char modifier) { - dasd_device_t *device = erp->device; - DCTL_data_t *DCTL_data; + struct dasd_device *device = erp->device; + struct DCTL_data *DCTL_data; struct ccw1 *ccw; - dasd_ccw_req_t *dctl_cqr; + struct dasd_ccw_req *dctl_cqr; dctl_cqr = dasd_alloc_erp_request((char *) &erp->magic, 1, - sizeof (DCTL_data_t), erp->device); + sizeof (struct DCTL_data), + erp->device); if (IS_ERR(dctl_cqr)) { DEV_MESSAGE(KERN_ERR, device, "%s", "Unable to allocate DCTL-CQR"); @@ -409,8 +406,8 @@ * erp pointer to the ERP * */ -static dasd_ccw_req_t * -dasd_3990_erp_action_1(dasd_ccw_req_t * erp) +static struct dasd_ccw_req * +dasd_3990_erp_action_1(struct dasd_ccw_req * erp) { erp->function = dasd_3990_erp_action_1; @@ -438,11 +435,11 @@ * erp pointer to the ERP * */ -static dasd_ccw_req_t * -dasd_3990_erp_action_4(dasd_ccw_req_t * erp, char *sense) +static struct dasd_ccw_req * +dasd_3990_erp_action_4(struct dasd_ccw_req * erp, char *sense) { - dasd_device_t *device = erp->device; + struct dasd_device *device = erp->device; /* first time set initial retry counter and erp_function */ /* and retry once without waiting for state change pending */ @@ -496,8 +493,8 @@ * erp pointer to the ERP * */ -static dasd_ccw_req_t * -dasd_3990_erp_action_5(dasd_ccw_req_t * erp) +static struct dasd_ccw_req * +dasd_3990_erp_action_5(struct dasd_ccw_req * erp) { /* first of all retry */ @@ -523,10 +520,10 @@ * void */ static void -dasd_3990_handle_env_data(dasd_ccw_req_t * erp, char *sense) +dasd_3990_handle_env_data(struct dasd_ccw_req * erp, char *sense) { - dasd_device_t *device = erp->device; + struct dasd_device *device = erp->device; char msg_format = (sense[7] & 0xF0); char msg_no = (sense[7] & 0x0F); @@ -1146,11 +1143,11 @@ * RETURN VALUES * erp 'new' erp_head - pointer to new ERP */ -static dasd_ccw_req_t * -dasd_3990_erp_com_rej(dasd_ccw_req_t * erp, char *sense) +static struct dasd_ccw_req * +dasd_3990_erp_com_rej(struct dasd_ccw_req * erp, char *sense) { - dasd_device_t *device = erp->device; + struct dasd_device *device = erp->device; erp->function = dasd_3990_erp_com_rej; @@ -1187,11 +1184,11 @@ * RETURN VALUES * erp new erp_head - pointer to new ERP */ -static dasd_ccw_req_t * -dasd_3990_erp_bus_out(dasd_ccw_req_t * erp) +static struct dasd_ccw_req * +dasd_3990_erp_bus_out(struct dasd_ccw_req * erp) { - dasd_device_t *device = erp->device; + struct dasd_device *device = erp->device; /* first time set initial retry counter and erp_function */ /* and retry once without blocking queue */ @@ -1226,11 +1223,11 @@ * RETURN VALUES * erp new erp_head - pointer to new ERP */ -static dasd_ccw_req_t * -dasd_3990_erp_equip_check(dasd_ccw_req_t * erp, char *sense) +static struct dasd_ccw_req * +dasd_3990_erp_equip_check(struct dasd_ccw_req * erp, char *sense) { - dasd_device_t *device = erp->device; + struct dasd_device *device = erp->device; erp->function = dasd_3990_erp_equip_check; @@ -1288,11 +1285,11 @@ * RETURN VALUES * erp new erp_head - pointer to new ERP */ -static dasd_ccw_req_t * -dasd_3990_erp_data_check(dasd_ccw_req_t * erp, char *sense) +static struct dasd_ccw_req * +dasd_3990_erp_data_check(struct dasd_ccw_req * erp, char *sense) { - dasd_device_t *device = erp->device; + struct dasd_device *device = erp->device; erp->function = dasd_3990_erp_data_check; @@ -1347,11 +1344,11 @@ * RETURN VALUES * erp new erp_head - pointer to new ERP */ -static dasd_ccw_req_t * -dasd_3990_erp_overrun(dasd_ccw_req_t * erp, char *sense) +static struct dasd_ccw_req * +dasd_3990_erp_overrun(struct dasd_ccw_req * erp, char *sense) { - dasd_device_t *device = erp->device; + struct dasd_device *device = erp->device; erp->function = dasd_3990_erp_overrun; @@ -1376,11 +1373,11 @@ * RETURN VALUES * erp new erp_head - pointer to new ERP */ -static dasd_ccw_req_t * -dasd_3990_erp_inv_format(dasd_ccw_req_t * erp, char *sense) +static struct dasd_ccw_req * +dasd_3990_erp_inv_format(struct dasd_ccw_req * erp, char *sense) { - dasd_device_t *device = erp->device; + struct dasd_device *device = erp->device; erp->function = dasd_3990_erp_inv_format; @@ -1417,11 +1414,11 @@ * RETURN VALUES * erp pointer to original (failed) cqr. */ -static dasd_ccw_req_t * -dasd_3990_erp_EOC(dasd_ccw_req_t * default_erp, char *sense) +static struct dasd_ccw_req * +dasd_3990_erp_EOC(struct dasd_ccw_req * default_erp, char *sense) { - dasd_device_t *device = default_erp->device; + struct dasd_device *device = default_erp->device; DEV_MESSAGE(KERN_ERR, device, "%s", "End-of-Cylinder - must never happen"); @@ -1442,11 +1439,11 @@ * RETURN VALUES * erp new erp_head - pointer to new ERP */ -static dasd_ccw_req_t * -dasd_3990_erp_env_data(dasd_ccw_req_t * erp, char *sense) +static struct dasd_ccw_req * +dasd_3990_erp_env_data(struct dasd_ccw_req * erp, char *sense) { - dasd_device_t *device = erp->device; + struct dasd_device *device = erp->device; erp->function = dasd_3990_erp_env_data; @@ -1479,11 +1476,11 @@ * RETURN VALUES * erp new erp_head - pointer to new ERP */ -static dasd_ccw_req_t * -dasd_3990_erp_no_rec(dasd_ccw_req_t * default_erp, char *sense) +static struct dasd_ccw_req * +dasd_3990_erp_no_rec(struct dasd_ccw_req * default_erp, char *sense) { - dasd_device_t *device = default_erp->device; + struct dasd_device *device = default_erp->device; DEV_MESSAGE(KERN_ERR, device, "%s", "No Record Found - Fatal error should " @@ -1506,11 +1503,11 @@ * RETURN VALUES * erp new erp_head - pointer to new ERP */ -static dasd_ccw_req_t * -dasd_3990_erp_file_prot(dasd_ccw_req_t * erp) +static struct dasd_ccw_req * +dasd_3990_erp_file_prot(struct dasd_ccw_req * erp) { - dasd_device_t *device = erp->device; + struct dasd_device *device = erp->device; DEV_MESSAGE(KERN_ERR, device, "%s", "File Protected"); @@ -1532,11 +1529,11 @@ * RETURN VALUES * erp pointer to the (addtitional) ERP */ -static dasd_ccw_req_t * -dasd_3990_erp_inspect_24(dasd_ccw_req_t * erp, char *sense) +static struct dasd_ccw_req * +dasd_3990_erp_inspect_24(struct dasd_ccw_req * erp, char *sense) { - dasd_ccw_req_t *erp_filled = NULL; + struct dasd_ccw_req *erp_filled = NULL; /* Check sense for .... */ /* 'Command Reject' */ @@ -1612,11 +1609,11 @@ * RETURN VALUES * erp modified erp_head */ -static dasd_ccw_req_t * -dasd_3990_erp_action_10_32(dasd_ccw_req_t * erp, char *sense) +static struct dasd_ccw_req * +dasd_3990_erp_action_10_32(struct dasd_ccw_req * erp, char *sense) { - dasd_device_t *device = erp->device; + struct dasd_device *device = erp->device; erp->retries = 256; erp->function = dasd_3990_erp_action_10_32; @@ -1646,15 +1643,15 @@ * erp new erp or * default_erp in case of imprecise ending or error */ -static dasd_ccw_req_t * -dasd_3990_erp_action_1B_32(dasd_ccw_req_t * default_erp, char *sense) +static struct dasd_ccw_req * +dasd_3990_erp_action_1B_32(struct dasd_ccw_req * default_erp, char *sense) { - dasd_device_t *device = default_erp->device; + struct dasd_device *device = default_erp->device; __u32 cpa = 0; - dasd_ccw_req_t *cqr; - dasd_ccw_req_t *erp; - DE_eckd_data_t *DE_data; + struct dasd_ccw_req *cqr; + struct dasd_ccw_req *erp; + struct DE_eckd_data *DE_data; char *LO_data; /* LO_eckd_data_t */ struct ccw1 *ccw; @@ -1695,8 +1692,8 @@ /* Build new ERP request including DE/LO */ erp = dasd_alloc_erp_request((char *) &cqr->magic, 2 + 1,/* DE/LO + TIC */ - sizeof (DE_eckd_data_t) + - sizeof (LO_eckd_data_t), device); + sizeof (struct DE_eckd_data) + + sizeof (struct LO_eckd_data), device); if (IS_ERR(erp)) { DEV_MESSAGE(KERN_ERR, device, "%s", "Unable to allocate ERP"); @@ -1705,10 +1702,10 @@ /* use original DE */ DE_data = erp->data; - memcpy(DE_data, cqr->data, sizeof (DE_eckd_data_t)); + memcpy(DE_data, cqr->data, sizeof (struct DE_eckd_data)); /* create LO */ - LO_data = erp->data + sizeof (DE_eckd_data_t); + LO_data = erp->data + sizeof (struct DE_eckd_data); if ((sense[3] == 0x01) && (LO_data[1] & 0x01)) { @@ -1791,15 +1788,15 @@ * RETURN VALUES * erp modified erp */ -static dasd_ccw_req_t * -dasd_3990_update_1B(dasd_ccw_req_t * previous_erp, char *sense) +static struct dasd_ccw_req * +dasd_3990_update_1B(struct dasd_ccw_req * previous_erp, char *sense) { - dasd_device_t *device = previous_erp->device; + struct dasd_device *device = previous_erp->device; __u32 cpa = 0; - dasd_ccw_req_t *cqr; - dasd_ccw_req_t *erp; - char *LO_data; /* LO_eckd_data_t */ + struct dasd_ccw_req *cqr; + struct dasd_ccw_req *erp; + char *LO_data; /* struct LO_eckd_data */ struct ccw1 *ccw; DEV_MESSAGE(KERN_DEBUG, device, "%s", @@ -1842,7 +1839,7 @@ erp = previous_erp; /* update the LO with the new returned sense data */ - LO_data = erp->data + sizeof (DE_eckd_data_t); + LO_data = erp->data + sizeof (struct DE_eckd_data); if ((sense[3] == 0x01) && (LO_data[1] & 0x01)) { @@ -1905,7 +1902,7 @@ * */ static void -dasd_3990_erp_compound_retry(dasd_ccw_req_t * erp, char *sense) +dasd_3990_erp_compound_retry(struct dasd_ccw_req * erp, char *sense) { switch (sense[25] & 0x03) { @@ -1949,7 +1946,7 @@ * */ static void -dasd_3990_erp_compound_path(dasd_ccw_req_t * erp, char *sense) +dasd_3990_erp_compound_path(struct dasd_ccw_req * erp, char *sense) { if (sense[25] & DASD_SENSE_BIT_3) { @@ -1984,8 +1981,8 @@ * erp NEW ERP pointer * */ -static dasd_ccw_req_t * -dasd_3990_erp_compound_code(dasd_ccw_req_t * erp, char *sense) +static struct dasd_ccw_req * +dasd_3990_erp_compound_code(struct dasd_ccw_req * erp, char *sense) { if (sense[25] & DASD_SENSE_BIT_2) { @@ -2033,13 +2030,13 @@ * */ static void -dasd_3990_erp_compound_config(dasd_ccw_req_t * erp, char *sense) +dasd_3990_erp_compound_config(struct dasd_ccw_req * erp, char *sense) { if ((sense[25] & DASD_SENSE_BIT_1) && (sense[26] & DASD_SENSE_BIT_2)) { /* set to suspended duplex state then restart */ - dasd_device_t *device = erp->device; + struct dasd_device *device = erp->device; DEV_MESSAGE(KERN_ERR, device, "%s", "Set device to suspended duplex state should be " @@ -2068,8 +2065,8 @@ * erp (additional) ERP pointer * */ -static dasd_ccw_req_t * -dasd_3990_erp_compound(dasd_ccw_req_t * erp, char *sense) +static struct dasd_ccw_req * +dasd_3990_erp_compound(struct dasd_ccw_req * erp, char *sense) { if ((erp->function == dasd_3990_erp_compound_retry) && @@ -2115,11 +2112,11 @@ * erp_filled pointer to the ERP * */ -static dasd_ccw_req_t * -dasd_3990_erp_inspect_32(dasd_ccw_req_t * erp, char *sense) +static struct dasd_ccw_req * +dasd_3990_erp_inspect_32(struct dasd_ccw_req * erp, char *sense) { - dasd_device_t *device = erp->device; + struct dasd_device *device = erp->device; erp->function = dasd_3990_erp_inspect_32; @@ -2232,11 +2229,11 @@ * RETURN VALUES * erp_new contens was possibly modified */ -static dasd_ccw_req_t * -dasd_3990_erp_inspect(dasd_ccw_req_t * erp) +static struct dasd_ccw_req * +dasd_3990_erp_inspect(struct dasd_ccw_req * erp) { - dasd_ccw_req_t *erp_new = NULL; + struct dasd_ccw_req *erp_new = NULL; /* sense data are located in the refers record of the */ /* already set up new ERP ! */ char *sense = erp->refers->dstat->ecw; @@ -2272,15 +2269,15 @@ * RETURN VALUES * erp pointer to new ERP-chain head */ -static dasd_ccw_req_t * -dasd_3990_erp_add_erp(dasd_ccw_req_t * cqr) +static struct dasd_ccw_req * +dasd_3990_erp_add_erp(struct dasd_ccw_req * cqr) { - dasd_device_t *device = cqr->device; + struct dasd_device *device = cqr->device; struct ccw1 *ccw; /* allocate additional request block */ - dasd_ccw_req_t *erp; + struct dasd_ccw_req *erp; erp = dasd_alloc_erp_request((char *) &cqr->magic, 2, 0, cqr->device); if (IS_ERR(erp)) { @@ -2333,11 +2330,11 @@ * RETURN VALUES * erp pointer to new ERP-chain head */ -static dasd_ccw_req_t * -dasd_3990_erp_additional_erp(dasd_ccw_req_t * cqr) +static struct dasd_ccw_req * +dasd_3990_erp_additional_erp(struct dasd_ccw_req * cqr) { - dasd_ccw_req_t *erp = NULL; + struct dasd_ccw_req *erp = NULL; /* add erp and initialize with default TIC */ erp = dasd_3990_erp_add_erp(cqr); @@ -2371,7 +2368,7 @@ * returns 1 if match found, otherwise 0. */ static int -dasd_3990_erp_error_match(dasd_ccw_req_t * cqr1, dasd_ccw_req_t * cqr2) +dasd_3990_erp_error_match(struct dasd_ccw_req *cqr1, struct dasd_ccw_req *cqr2) { /* check failed CCW */ @@ -2406,11 +2403,11 @@ * recovery procedure OR * NULL if a 'new' error occurred. */ -static dasd_ccw_req_t * -dasd_3990_erp_in_erp(dasd_ccw_req_t * cqr) +static struct dasd_ccw_req * +dasd_3990_erp_in_erp(struct dasd_ccw_req *cqr) { - dasd_ccw_req_t *erp_head = cqr, /* save erp chain head */ + struct dasd_ccw_req *erp_head = cqr, /* save erp chain head */ *erp_match = NULL; /* save erp chain head */ int match = 0; /* 'boolean' for matching error found */ @@ -2450,11 +2447,11 @@ * RETURN VALUES * erp modified/additional ERP */ -static dasd_ccw_req_t * -dasd_3990_erp_further_erp(dasd_ccw_req_t * erp) +static struct dasd_ccw_req * +dasd_3990_erp_further_erp(struct dasd_ccw_req *erp) { - dasd_device_t *device = erp->device; + struct dasd_device *device = erp->device; char *sense = erp->dstat->ecw; /* check for 24 byte sense ERP */ @@ -2539,13 +2536,14 @@ * RETURN VALUES * erp modified/additional ERP */ -static dasd_ccw_req_t * -dasd_3990_erp_handle_match_erp(dasd_ccw_req_t * erp_head, dasd_ccw_req_t * erp) +static struct dasd_ccw_req * +dasd_3990_erp_handle_match_erp(struct dasd_ccw_req *erp_head, + struct dasd_ccw_req *erp) { - dasd_device_t *device = erp_head->device; - dasd_ccw_req_t *erp_done = erp_head; /* finished req */ - dasd_ccw_req_t *erp_free = NULL; /* req to be freed */ + struct dasd_device *device = erp_head->device; + struct dasd_ccw_req *erp_done = erp_head; /* finished req */ + struct dasd_ccw_req *erp_free = NULL; /* req to be freed */ /* loop over successful ERPs and remove them from chanq */ while (erp_done != erp) { @@ -2619,12 +2617,12 @@ * - the original given cqr (which's status might * be modified) */ -dasd_ccw_req_t * -dasd_3990_erp_action(dasd_ccw_req_t * cqr) +struct dasd_ccw_req * +dasd_3990_erp_action(struct dasd_ccw_req * cqr) { - dasd_ccw_req_t *erp = NULL; - dasd_device_t *device = cqr->device; + struct dasd_ccw_req *erp = NULL; + struct dasd_device *device = cqr->device; __u32 cpa = cqr->dstat->scsw.cpa; #ifdef ERP_DEBUG @@ -2632,7 +2630,7 @@ DEV_MESSAGE(KERN_DEBUG, device, "%s", "ERP chain at BEGINNING of ERP-ACTION"); { - dasd_ccw_req_t *temp_erp = NULL; + struct dasd_ccw_req *temp_erp = NULL; for (temp_erp = cqr; temp_erp != NULL; temp_erp = temp_erp->refers) { @@ -2683,7 +2681,7 @@ /* print current erp_chain */ DEV_MESSAGE(KERN_DEBUG, device, "%s", "ERP chain at END of ERP-ACTION"); { - dasd_ccw_req_t *temp_erp = NULL; + struct dasd_ccw_req *temp_erp = NULL; for (temp_erp = erp; temp_erp != NULL; temp_erp = temp_erp->refers) { diff -urN linux-2.5.67/drivers/s390/block/dasd_9336_erp.c linux-2.5.67-s390/drivers/s390/block/dasd_9336_erp.c --- linux-2.5.67/drivers/s390/block/dasd_9336_erp.c Mon Apr 7 19:32:16 2003 +++ linux-2.5.67-s390/drivers/s390/block/dasd_9336_erp.c Mon Apr 14 19:11:53 2003 @@ -4,10 +4,7 @@ * Bugreports.to..: <Linux390@de.ibm.com> * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 2000 * - * $Revision: 1.6 $ - * - * History of changes - * + * $Revision: 1.8 $ */ #define PRINTK_HEADER "dasd_erp(9336)" @@ -32,7 +29,7 @@ * dasd_era_recover for all others. */ dasd_era_t -dasd_9336_erp_examine(dasd_ccw_req_t * cqr, struct irb * irb) +dasd_9336_erp_examine(struct dasd_ccw_req * cqr, struct irb * irb) { /* check for successful execution first */ if (irb->scsw.cstat == 0x00 && diff -urN linux-2.5.67/drivers/s390/block/dasd_9343_erp.c linux-2.5.67-s390/drivers/s390/block/dasd_9343_erp.c --- linux-2.5.67/drivers/s390/block/dasd_9343_erp.c Mon Apr 7 19:33:03 2003 +++ linux-2.5.67-s390/drivers/s390/block/dasd_9343_erp.c Mon Apr 14 19:11:53 2003 @@ -4,10 +4,7 @@ * Bugreports.to..: <Linux390@de.ibm.com> * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 2000 * - * $Revision: 1.11 $ - * - * History of changes - * + * $Revision: 1.13 $ */ #define PRINTK_HEADER "dasd_erp(9343)" @@ -15,7 +12,7 @@ #include "dasd_int.h" dasd_era_t -dasd_9343_erp_examine(dasd_ccw_req_t * cqr, struct irb * irb) +dasd_9343_erp_examine(struct dasd_ccw_req * cqr, struct irb * irb) { if (irb->scsw.cstat == 0x00 && irb->scsw.dstat == (DEV_STAT_CHN_END | DEV_STAT_DEV_END)) diff -urN linux-2.5.67/drivers/s390/block/dasd_devmap.c linux-2.5.67-s390/drivers/s390/block/dasd_devmap.c --- linux-2.5.67/drivers/s390/block/dasd_devmap.c Mon Apr 14 19:11:53 2003 +++ linux-2.5.67-s390/drivers/s390/block/dasd_devmap.c Mon Apr 14 19:11:53 2003 @@ -11,14 +11,10 @@ * functions may not be called from interrupt context. In particular * dasd_get_device is a no-no from interrupt context. * - * $Revision: 1.12 $ - * - * History of changes - * 05/04/02 split from dasd.c, code restructuring. + * $Revision: 1.15 $ */ #include <linux/config.h> -#include <linux/version.h> #include <linux/ctype.h> #include <linux/init.h> @@ -40,14 +36,14 @@ * can be removed since the device number will then be identical * to the device index. */ -typedef struct { +struct dasd_devmap { struct list_head devindex_list; struct list_head devno_list; unsigned int devindex; unsigned short devno; unsigned short features; - dasd_device_t *device; -} dasd_devmap_t; + struct dasd_device *device; +}; /* * Parameter parsing functions for dasd= parameter. The syntax is: @@ -264,13 +260,12 @@ } spin_lock(&dasd_devmap_lock); for (devno = from; devno <= to; devno++) { - dasd_devmap_t *devmap, *tmp; - struct list_head *l; + struct dasd_devmap *devmap, *tmp; devmap = NULL; /* Find previous devmap for device number i */ - list_for_each(l, &dasd_devno_hashlists[devno & 255]) { - tmp = list_entry(l, dasd_devmap_t, devno_list); + list_for_each_entry(tmp, &dasd_devno_hashlists[devno & 255], + devno_list) { if (tmp->devno == devno) { devmap = tmp; break; @@ -278,8 +273,8 @@ } if (devmap == NULL) { /* This devno is new. */ - devmap = (dasd_devmap_t *) - kmalloc(sizeof(dasd_devmap_t), GFP_KERNEL); + devmap = (struct dasd_devmap *) + kmalloc(sizeof(struct dasd_devmap),GFP_KERNEL); if (devmap == NULL) return -ENOMEM; devindex = dasd_max_devindex++; @@ -303,14 +298,15 @@ int dasd_devno_in_range(int devno) { - struct list_head *l; + struct dasd_devmap *devmap; int ret; ret = -ENOENT; spin_lock(&dasd_devmap_lock); /* Find devmap for device with device number devno */ - list_for_each(l, &dasd_devno_hashlists[devno&255]) { - if (list_entry(l, dasd_devmap_t, devno_list)->devno == devno) { + list_for_each_entry(devmap, &dasd_devno_hashlists[devno&255], + devno_list) { + if (devmap->devno == devno) { /* Found the device. */ ret = 0; break; @@ -332,9 +328,9 @@ spin_lock(&dasd_devmap_lock); for (i = 0; i < 256; i++) { struct list_head *l, *next; - dasd_devmap_t *devmap; + struct dasd_devmap *devmap; list_for_each_safe(l, next, &dasd_devno_hashlists[i]) { - devmap = list_entry(l, dasd_devmap_t, devno_list); + devmap = list_entry(l, struct dasd_devmap, devno_list); if (devmap->device != NULL) BUG(); list_del(&devmap->devindex_list); @@ -349,17 +345,15 @@ * Find the devmap structure from a devno. Can be removed as soon * as big minors are available. */ -static dasd_devmap_t * +static struct dasd_devmap * dasd_devmap_from_devno(int devno) { - struct list_head *l; - dasd_devmap_t *devmap, *tmp; + struct dasd_devmap *devmap, *tmp; devmap = NULL; spin_lock(&dasd_devmap_lock); /* Find devmap for device with device number devno */ - list_for_each(l, &dasd_devno_hashlists[devno&255]) { - tmp = list_entry(l, dasd_devmap_t, devno_list); + list_for_each_entry(tmp, &dasd_devno_hashlists[devno&255], devno_list) { if (tmp->devno == devno) { /* Found the device, return devmap */ devmap = tmp; @@ -374,17 +368,16 @@ * Find the devmap for a device by its device index. Can be removed * as soon as big minors are available. */ -static dasd_devmap_t * +static struct dasd_devmap * dasd_devmap_from_devindex(int devindex) { - struct list_head *l; - dasd_devmap_t *devmap, *tmp; + struct dasd_devmap *devmap, *tmp; devmap = NULL; spin_lock(&dasd_devmap_lock); /* Find devmap for device with device index devindex */ - list_for_each(l, &dasd_devindex_hashlists[devindex & 255]) { - tmp = list_entry(l, dasd_devmap_t, devindex_list); + list_for_each_entry(tmp, &dasd_devindex_hashlists[devindex & 255], + devindex_list) { if (tmp->devindex == devindex) { /* Found the device, return devno */ devmap = tmp; @@ -395,11 +388,11 @@ return devmap; } -dasd_device_t * +struct dasd_device * dasd_device_from_devindex(int devindex) { - dasd_devmap_t *devmap; - dasd_device_t *device; + struct dasd_devmap *devmap; + struct dasd_device *device; devmap = dasd_devmap_from_devindex(devindex); spin_lock(&dasd_devmap_lock); @@ -416,9 +409,9 @@ * Return kdev for a dasd device. */ kdev_t -dasd_get_kdev(dasd_device_t *device) +dasd_get_kdev(struct dasd_device *device) { - dasd_devmap_t *devmap; + struct dasd_devmap *devmap; int major, minor; int devno; @@ -436,11 +429,11 @@ /* * Create a dasd device structure for cdev. */ -dasd_device_t * +struct dasd_device * dasd_create_device(struct ccw_device *cdev) { - dasd_devmap_t *devmap; - dasd_device_t *device; + struct dasd_devmap *devmap; + struct dasd_device *device; int devno; int rc; @@ -491,10 +484,10 @@ * Remove a dasd device structure. */ void -dasd_delete_device(dasd_device_t *device) +dasd_delete_device(struct dasd_device *device) { struct ccw_device *cdev; - dasd_devmap_t *devmap; + struct dasd_devmap *devmap; int devno; /* First remove device pointer from devmap. */ @@ -526,7 +519,7 @@ * in dasd_delete_device. */ void -dasd_put_device_wake(dasd_device_t *device) +dasd_put_device_wake(struct dasd_device *device) { wake_up(&dasd_delete_wq); } diff -urN linux-2.5.67/drivers/s390/block/dasd_diag.c linux-2.5.67-s390/drivers/s390/block/dasd_diag.c --- linux-2.5.67/drivers/s390/block/dasd_diag.c Mon Apr 14 19:11:53 2003 +++ linux-2.5.67-s390/drivers/s390/block/dasd_diag.c Mon Apr 14 19:11:53 2003 @@ -6,16 +6,7 @@ * Bugreports.to..: <Linux390@de.ibm.com> * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000 * - * $Revision: 1.28 $ - * - * History of changes - * 07/13/00 Added fixup sections for diagnoses ans saved some registers - * 07/14/00 fixed constraints in newly generated inline asm - * 10/05/00 adapted to 'new' DASD driver - * fixed return codes of dia250() - * fixed partition handling and HDIO_GETGEO - * 2002/01/04 Created 2.4-2.5 compatibility mode - * 05/04/02 code restructuring. + * $Revision: 1.31 $ */ #include <linux/config.h> @@ -44,17 +35,17 @@ MODULE_LICENSE("GPL"); -typedef struct dasd_diag_private_t { - dasd_diag_characteristics_t rdc_data; - diag_rw_io_t iob; - diag_init_io_t iib; +struct dasd_diag_private { + struct dasd_diag_characteristics rdc_data; + struct dasd_diag_rw_io iob; + struct dasd_diag_init_io iib; unsigned int pt_block; -} dasd_diag_private_t; +}; -typedef struct dasd_diag_req_t { +struct dasd_diag_req { int block_count; - diag_bio_t bio[0]; -} dasd_diag_req_t; + struct dasd_diag_bio bio[0]; +}; static __inline__ int dia250(void *iob, int cmd) @@ -86,15 +77,15 @@ } static __inline__ int -mdsk_init_io(dasd_device_t * device, int blocksize, int offset, int size) +mdsk_init_io(struct dasd_device * device, int blocksize, int offset, int size) { - dasd_diag_private_t *private; - diag_init_io_t *iib; + struct dasd_diag_private *private; + struct dasd_diag_init_io *iib; int rc; - private = (dasd_diag_private_t *) device->private; + private = (struct dasd_diag_private *) device->private; iib = &private->iib; - memset(iib, 0, sizeof (diag_init_io_t)); + memset(iib, 0, sizeof (struct dasd_diag_init_io)); iib->dev_nr = _ccw_device_get_device_number(device->cdev); iib->block_size = blocksize; @@ -108,31 +99,31 @@ } static __inline__ int -mdsk_term_io(dasd_device_t * device) +mdsk_term_io(struct dasd_device * device) { - dasd_diag_private_t *private; - diag_init_io_t *iib; + struct dasd_diag_private *private; + struct dasd_diag_init_io *iib; int rc; - private = (dasd_diag_private_t *) device->private; + private = (struct dasd_diag_private *) device->private; iib = &private->iib; - memset(iib, 0, sizeof (diag_init_io_t)); + memset(iib, 0, sizeof (struct dasd_diag_init_io)); iib->dev_nr = _ccw_device_get_device_number(device->cdev); rc = dia250(iib, TERM_BIO); return rc & 3; } static int -dasd_start_diag(dasd_ccw_req_t * cqr) +dasd_start_diag(struct dasd_ccw_req * cqr) { - dasd_device_t *device; - dasd_diag_private_t *private; - dasd_diag_req_t *dreq; + struct dasd_device *device; + struct dasd_diag_private *private; + struct dasd_diag_req *dreq; int rc; device = cqr->device; - private = (dasd_diag_private_t *) device->private; - dreq = (dasd_diag_req_t *) cqr->data; + private = (struct dasd_diag_private *) device->private; + dreq = (struct dasd_diag_req *) cqr->data; private->iob.dev_nr = _ccw_device_get_device_number(device->cdev); private->iob.key = 0; @@ -160,8 +151,8 @@ static void dasd_ext_handler(struct pt_regs *regs, __u16 code) { - dasd_ccw_req_t *cqr, *next; - dasd_device_t *device; + struct dasd_ccw_req *cqr, *next; + struct dasd_device *device; unsigned long long expires; unsigned long flags; char status; @@ -186,11 +177,11 @@ irq_exit(); return; } - cqr = (dasd_ccw_req_t *)(addr_t) ip; - device = (dasd_device_t *) cqr->device; + cqr = (struct dasd_ccw_req *)(addr_t) ip; + device = (struct dasd_device *) cqr->device; if (strncmp(device->discipline->ebcname, (char *) &cqr->magic, 4)) { DEV_MESSAGE(KERN_WARNING, device, - " magic number of dasd_ccw_req_t 0x%08X doesn't" + " magic number of dasd_ccw_req 0x%08X doesn't" " match discipline 0x%08X", cqr->magic, *(int *) (&device->discipline->name)); irq_exit(); @@ -208,7 +199,7 @@ /* Start first request on queue if possible -> fast_io. */ if (!list_empty(&device->ccw_queue)) { next = list_entry(device->ccw_queue.next, - dasd_ccw_req_t, list); + struct dasd_ccw_req, list); if (next->status == DASD_CQR_QUEUED) { if (dasd_start_diag(next) == 0) expires = next->expires; @@ -231,18 +222,18 @@ } static int -dasd_diag_check_device(dasd_device_t *device) +dasd_diag_check_device(struct dasd_device *device) { - dasd_diag_private_t *private; - dasd_diag_characteristics_t *rdc_data; - diag_bio_t bio; + struct dasd_diag_private *private; + struct dasd_diag_characteristics *rdc_data; + struct dasd_diag_bio bio; long *label; int sb, bsize; int rc; - private = (dasd_diag_private_t *) device->private; + private = (struct dasd_diag_private *) device->private; if (private == NULL) { - private = kmalloc(sizeof(dasd_diag_private_t), GFP_KERNEL); + private = kmalloc(sizeof(struct dasd_diag_private),GFP_KERNEL); if (private == NULL) { MESSAGE(KERN_WARNING, "%s", "memory allocation failed for private data"); @@ -253,7 +244,7 @@ /* Read Device Characteristics */ rdc_data = (void *) &(private->rdc_data); rdc_data->dev_nr = _ccw_device_get_device_number(device->cdev); - rdc_data->rdc_len = sizeof (dasd_diag_characteristics_t); + rdc_data->rdc_len = sizeof (struct dasd_diag_characteristics); rc = diag210((struct diag210 *) rdc_data); if (rc) @@ -289,11 +280,11 @@ } for (bsize = 512; bsize <= PAGE_SIZE; bsize <<= 1) { mdsk_init_io(device, bsize, 0, 64); - memset(&bio, 0, sizeof (diag_bio_t)); + memset(&bio, 0, sizeof (struct dasd_diag_bio)); bio.type = MDSK_READ_REQ; bio.block_number = private->pt_block + 1; bio.buffer = __pa(label); - memset(&private->iob, 0, sizeof (diag_rw_io_t)); + memset(&private->iob, 0, sizeof (struct dasd_diag_rw_io)); private->iob.dev_nr = rdc_data->dev_nr; private->iob.key = 0; private->iob.flags = 0; /* do synchronous io */ @@ -324,7 +315,7 @@ } static int -dasd_diag_fill_geometry(dasd_device_t *device, struct hd_geometry *geo) +dasd_diag_fill_geometry(struct dasd_device *device, struct hd_geometry *geo) { if (dasd_check_blocksize(device->bp_block) != 0) return -EINVAL; @@ -335,29 +326,29 @@ } static dasd_era_t -dasd_diag_examine_error(dasd_ccw_req_t * cqr, struct irb * stat) +dasd_diag_examine_error(struct dasd_ccw_req * cqr, struct irb * stat) { return dasd_era_fatal; } static dasd_erp_fn_t -dasd_diag_erp_action(dasd_ccw_req_t * cqr) +dasd_diag_erp_action(struct dasd_ccw_req * cqr) { return dasd_default_erp_action; } static dasd_erp_fn_t -dasd_diag_erp_postaction(dasd_ccw_req_t * cqr) +dasd_diag_erp_postaction(struct dasd_ccw_req * cqr) { return dasd_default_erp_postaction; } -static dasd_ccw_req_t * -dasd_diag_build_cp(dasd_device_t * device, struct request *req) +static struct dasd_ccw_req * +dasd_diag_build_cp(struct dasd_device * device, struct request *req) { - dasd_ccw_req_t *cqr; - dasd_diag_req_t *dreq; - diag_bio_t *dbio; + struct dasd_ccw_req *cqr; + struct dasd_diag_req *dreq; + struct dasd_diag_bio *dbio; struct bio *bio; struct bio_vec *bv; char *dst; @@ -391,13 +382,14 @@ if (count != last_rec - first_rec + 1) return ERR_PTR(-EINVAL); /* Build the request */ - datasize = sizeof(dasd_diag_req_t) + count*sizeof(diag_bio_t); + datasize = sizeof(struct dasd_diag_req) + + count*sizeof(struct dasd_diag_bio); cqr = dasd_smalloc_request(dasd_diag_discipline.name, 0, datasize, device); if (IS_ERR(cqr)) return cqr; - dreq = (dasd_diag_req_t *) cqr->data; + dreq = (struct dasd_diag_req *) cqr->data; dreq->block_count = count; dbio = dreq->bio; recid = first_rec; @@ -405,7 +397,7 @@ bio_for_each_segment(bv, bio, i) { dst = kmap(bv->bv_page) + bv->bv_offset; for (off = 0; off < bv->bv_len; off += blksize) { - memset(dbio, 0, sizeof (diag_bio_t)); + memset(dbio, 0, sizeof (struct dasd_diag_bio)); dbio->type = rw_cmd; dbio->block_number = recid + 1; dbio->buffer = __pa(dst); @@ -423,24 +415,25 @@ } static int -dasd_diag_fill_info(dasd_device_t * device, dasd_information2_t * info) +dasd_diag_fill_info(struct dasd_device * device, + struct dasd_information2_t * info) { - dasd_diag_private_t *private; + struct dasd_diag_private *private; - private = (dasd_diag_private_t *) device->private; + private = (struct dasd_diag_private *) device->private; info->label_block = private->pt_block; info->FBA_layout = 1; info->format = DASD_FORMAT_LDL; - info->characteristics_size = sizeof (dasd_diag_characteristics_t); + info->characteristics_size = sizeof (struct dasd_diag_characteristics); memcpy(info->characteristics, - &((dasd_diag_private_t *) device->private)->rdc_data, - sizeof (dasd_diag_characteristics_t)); + &((struct dasd_diag_private *) device->private)->rdc_data, + sizeof (struct dasd_diag_characteristics)); info->confdata_size = 0; return 0; } static void -dasd_diag_dump_sense(dasd_device_t *device, dasd_ccw_req_t * req, +dasd_diag_dump_sense(struct dasd_device *device, struct dasd_ccw_req * req, struct irb *stat) { char *page; @@ -463,15 +456,15 @@ * max_blocks is dependent on the amount of storage that is available * in the static io buffer for each device. Currently each device has * 8192 bytes (=2 pages). dasd diag is only relevant for 31 bit. - * The dasd_ccw_req_t has 96 bytes, the dasd_diag_req_t has 8 bytes and - * the diag_bio_t for each block has 16 bytes. + * The struct dasd_ccw_req has 96 bytes, the struct dasd_diag_req has + * 8 bytes and the struct dasd_diag_bio for each block has 16 bytes. * That makes: * (8192 - 96 - 8) / 16 = 505.5 blocks at maximum. * We want to fit two into the available memory so that we can immediately * start the next request if one finishes off. That makes 252.75 blocks * for one request. Give a little safety and the result is 240. */ -dasd_discipline_t dasd_diag_discipline = { +struct dasd_discipline dasd_diag_discipline = { .owner = THIS_MODULE, .name = "DIAG", .ebcname = "DIAG", diff -urN linux-2.5.67/drivers/s390/block/dasd_diag.h linux-2.5.67-s390/drivers/s390/block/dasd_diag.h --- linux-2.5.67/drivers/s390/block/dasd_diag.h Mon Apr 7 19:31:05 2003 +++ linux-2.5.67-s390/drivers/s390/block/dasd_diag.h Mon Apr 14 19:11:53 2003 @@ -6,10 +6,7 @@ * Bugreports.to..: <Linux390@de.ibm.com> * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000 * - * $Revision: 1.4 $ - * - * History of changes - * + * $Revision: 1.6 $ */ #define MDSK_WRITE_REQ 0x01 @@ -22,7 +19,7 @@ #define DEV_CLASS_FBA 0x01 #define DEV_CLASS_ECKD 0x04 -typedef struct dasd_diag_characteristics_t { +struct dasd_diag_characteristics { u16 dev_nr; u16 rdc_len; u8 vdev_class; @@ -33,22 +30,18 @@ u8 rdev_type; u8 rdev_model; u8 rdev_features; -} __attribute__ ((packed, aligned(4))) - - dasd_diag_characteristics_t; +} __attribute__ ((packed, aligned(4))); -typedef struct diag_bio_t { +struct dasd_diag_bio { u8 type; u8 status; u16 spare1; u32 block_number; u32 alet; u32 buffer; -} __attribute__ ((packed, aligned(8))) +} __attribute__ ((packed, aligned(8))); - diag_bio_t; - -typedef struct diag_init_io_t { +struct dasd_diag_init_io { u16 dev_nr; u16 spare1[11]; u32 block_size; @@ -56,11 +49,9 @@ u32 start_block; u32 end_block; u32 spare2[6]; -} __attribute__ ((packed, aligned(8))) - - diag_init_io_t; +} __attribute__ ((packed, aligned(8))); -typedef struct diag_rw_io_t { +struct dasd_diag_rw_io { u16 dev_nr; u16 spare1[11]; u8 key; @@ -71,7 +62,5 @@ u32 bio_list; u32 interrupt_params; u32 spare3[5]; -} __attribute__ ((packed, aligned(8))) - - diag_rw_io_t; +} __attribute__ ((packed, aligned(8))); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| ![\](/images/icornerr.gif) |