sclp.c (48a7afe314bfc4d7f50e1608632f503dbba7e013) | sclp.c (364c85584e030f7cfc25e9d27ca893dee6f4bf8e) |
---|---|
1/* 2 * drivers/s390/char/sclp.c 3 * core function to access sclp interface 4 * 5 * S390 version 6 * Copyright (C) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation 7 * Author(s): Martin Peschke <mpeschke@de.ibm.com> 8 * Martin Schwidefsky <schwidefsky@de.ibm.com> --- 79 unchanged lines hidden (view full) --- 88#define SCLP_INIT_RETRY 3 89#define SCLP_MASK_RETRY 3 90 91/* Timeout intervals in seconds.*/ 92#define SCLP_BUSY_INTERVAL 10 93#define SCLP_RETRY_INTERVAL 30 94 95static void sclp_process_queue(void); | 1/* 2 * drivers/s390/char/sclp.c 3 * core function to access sclp interface 4 * 5 * S390 version 6 * Copyright (C) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation 7 * Author(s): Martin Peschke <mpeschke@de.ibm.com> 8 * Martin Schwidefsky <schwidefsky@de.ibm.com> --- 79 unchanged lines hidden (view full) --- 88#define SCLP_INIT_RETRY 3 89#define SCLP_MASK_RETRY 3 90 91/* Timeout intervals in seconds.*/ 92#define SCLP_BUSY_INTERVAL 10 93#define SCLP_RETRY_INTERVAL 30 94 95static void sclp_process_queue(void); |
96static void __sclp_make_read_req(void); |
|
96static int sclp_init_mask(int calculate); 97static int sclp_init(void); 98 99/* Perform service call. Return 0 on success, non-zero otherwise. */ 100int 101sclp_service_call(sclp_cmdw_t command, void *sccb) 102{ 103 int cc; --- 6 unchanged lines hidden (view full) --- 110 : "cc", "memory"); 111 if (cc == 3) 112 return -EIO; 113 if (cc == 2) 114 return -EBUSY; 115 return 0; 116} 117 | 97static int sclp_init_mask(int calculate); 98static int sclp_init(void); 99 100/* Perform service call. Return 0 on success, non-zero otherwise. */ 101int 102sclp_service_call(sclp_cmdw_t command, void *sccb) 103{ 104 int cc; --- 6 unchanged lines hidden (view full) --- 111 : "cc", "memory"); 112 if (cc == 3) 113 return -EIO; 114 if (cc == 2) 115 return -EBUSY; 116 return 0; 117} 118 |
118static inline void __sclp_make_read_req(void); | |
119 120static void 121__sclp_queue_read_req(void) 122{ 123 if (sclp_reading_state == sclp_reading_state_idle) { 124 sclp_reading_state = sclp_reading_state_reading; 125 __sclp_make_read_req(); 126 /* Add request to head of queue */ --- 186 unchanged lines hidden (view full) --- 313 sccb->response_code == 0x220)) 314 sclp_dispatch_evbufs(sccb); 315 spin_lock_irqsave(&sclp_lock, flags); 316 sclp_reading_state = sclp_reading_state_idle; 317 spin_unlock_irqrestore(&sclp_lock, flags); 318} 319 320/* Prepare read event data request. Called while sclp_lock is locked. */ | 119 120static void 121__sclp_queue_read_req(void) 122{ 123 if (sclp_reading_state == sclp_reading_state_idle) { 124 sclp_reading_state = sclp_reading_state_reading; 125 __sclp_make_read_req(); 126 /* Add request to head of queue */ --- 186 unchanged lines hidden (view full) --- 313 sccb->response_code == 0x220)) 314 sclp_dispatch_evbufs(sccb); 315 spin_lock_irqsave(&sclp_lock, flags); 316 sclp_reading_state = sclp_reading_state_idle; 317 spin_unlock_irqrestore(&sclp_lock, flags); 318} 319 320/* Prepare read event data request. Called while sclp_lock is locked. */ |
321static inline void 322__sclp_make_read_req(void) | 321static void __sclp_make_read_req(void) |
323{ 324 struct sccb_header *sccb; 325 326 sccb = (struct sccb_header *) sclp_read_sccb; 327 clear_page(sccb); 328 memset(&sclp_read_req, 0, sizeof(struct sclp_req)); 329 sclp_read_req.command = SCLP_CMDW_READ_EVENT_DATA; 330 sclp_read_req.status = SCLP_REQ_QUEUED; --- 610 unchanged lines hidden --- | 322{ 323 struct sccb_header *sccb; 324 325 sccb = (struct sccb_header *) sclp_read_sccb; 326 clear_page(sccb); 327 memset(&sclp_read_req, 0, sizeof(struct sclp_req)); 328 sclp_read_req.command = SCLP_CMDW_READ_EVENT_DATA; 329 sclp_read_req.status = SCLP_REQ_QUEUED; --- 610 unchanged lines hidden --- |