aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/block/dasd_int.h
diff options
context:
space:
mode:
authorStefan Haberland <stefan.haberland@de.ibm.com>2010-05-17 04:00:11 -0400
committerMartin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com>2010-05-17 04:00:16 -0400
commit2dedf0d9eadf39660f2e1686b5d36e4a7515803f (patch)
tree39fefcb959ee6e7c9c15b07b58eb9ef6a9e6304d /drivers/s390/block/dasd_int.h
parent501183f2ed74434e30a1b039b2f3af30f1f3f461 (diff)
[S390] dasd: remove uid from devmap
Remove the duplicate of the DASD uid from the devmap structure. Use the uid from the device private structure instead. This also removes a lockdep warning complaining about a possible SOFTIRQ-safe -> SOFTIRQ-unsafe lock order. Signed-off-by: Stefan Haberland <stefan.haberland@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/block/dasd_int.h')
-rw-r--r--drivers/s390/block/dasd_int.h44
1 files changed, 24 insertions, 20 deletions
diff --git a/drivers/s390/block/dasd_int.h b/drivers/s390/block/dasd_int.h
index 1ae7b121628e..32fac186ba3f 100644
--- a/drivers/s390/block/dasd_int.h
+++ b/drivers/s390/block/dasd_int.h
@@ -81,6 +81,10 @@ struct dasd_block;
81#define DASD_SIM_MSG_TO_OP 0x03 81#define DASD_SIM_MSG_TO_OP 0x03
82#define DASD_SIM_LOG 0x0C 82#define DASD_SIM_LOG 0x0C
83 83
84/* lock class for nested cdev lock */
85#define CDEV_NESTED_FIRST 1
86#define CDEV_NESTED_SECOND 2
87
84/* 88/*
85 * SECTION: MACROs for klogd and s390 debug feature (dbf) 89 * SECTION: MACROs for klogd and s390 debug feature (dbf)
86 */ 90 */
@@ -229,6 +233,24 @@ struct dasd_ccw_req {
229typedef struct dasd_ccw_req *(*dasd_erp_fn_t) (struct dasd_ccw_req *); 233typedef struct dasd_ccw_req *(*dasd_erp_fn_t) (struct dasd_ccw_req *);
230 234
231/* 235/*
236 * Unique identifier for dasd device.
237 */
238#define UA_NOT_CONFIGURED 0x00
239#define UA_BASE_DEVICE 0x01
240#define UA_BASE_PAV_ALIAS 0x02
241#define UA_HYPER_PAV_ALIAS 0x03
242
243struct dasd_uid {
244 __u8 type;
245 char vendor[4];
246 char serial[15];
247 __u16 ssid;
248 __u8 real_unit_addr;
249 __u8 base_unit_addr;
250 char vduit[33];
251};
252
253/*
232 * the struct dasd_discipline is 254 * the struct dasd_discipline is
233 * sth like a table of virtual functions, if you think of dasd_eckd 255 * sth like a table of virtual functions, if you think of dasd_eckd
234 * inheriting dasd... 256 * inheriting dasd...
@@ -315,29 +337,13 @@ struct dasd_discipline {
315 337
316 /* reload device after state change */ 338 /* reload device after state change */
317 int (*reload) (struct dasd_device *); 339 int (*reload) (struct dasd_device *);
340
341 int (*get_uid) (struct dasd_device *, struct dasd_uid *);
318}; 342};
319 343
320extern struct dasd_discipline *dasd_diag_discipline_pointer; 344extern struct dasd_discipline *dasd_diag_discipline_pointer;
321 345
322/* 346/*
323 * Unique identifier for dasd device.
324 */
325#define UA_NOT_CONFIGURED 0x00
326#define UA_BASE_DEVICE 0x01
327#define UA_BASE_PAV_ALIAS 0x02
328#define UA_HYPER_PAV_ALIAS 0x03
329
330struct dasd_uid {
331 __u8 type;
332 char vendor[4];
333 char serial[15];
334 __u16 ssid;
335 __u8 real_unit_addr;
336 __u8 base_unit_addr;
337 char vduit[33];
338};
339
340/*
341 * Notification numbers for extended error reporting notifications: 347 * Notification numbers for extended error reporting notifications:
342 * The DASD_EER_DISABLE notification is sent before a dasd_device (and it's 348 * The DASD_EER_DISABLE notification is sent before a dasd_device (and it's
343 * eer pointer) is freed. The error reporting module needs to do all necessary 349 * eer pointer) is freed. The error reporting module needs to do all necessary
@@ -634,8 +640,6 @@ void dasd_devmap_exit(void);
634struct dasd_device *dasd_create_device(struct ccw_device *); 640struct dasd_device *dasd_create_device(struct ccw_device *);
635void dasd_delete_device(struct dasd_device *); 641void dasd_delete_device(struct dasd_device *);
636 642
637int dasd_get_uid(struct ccw_device *, struct dasd_uid *);
638int dasd_set_uid(struct ccw_device *, struct dasd_uid *);
639int dasd_get_feature(struct ccw_device *, int); 643int dasd_get_feature(struct ccw_device *, int);
640int dasd_set_feature(struct ccw_device *, int, int); 644int dasd_set_feature(struct ccw_device *, int, int);
641 645