diff options
author | Stefan Haberland <stefan.haberland@de.ibm.com> | 2010-05-17 04:00:11 -0400 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2010-05-17 04:00:16 -0400 |
commit | 2dedf0d9eadf39660f2e1686b5d36e4a7515803f (patch) | |
tree | 39fefcb959ee6e7c9c15b07b58eb9ef6a9e6304d /drivers/s390/block/dasd_int.h | |
parent | 501183f2ed74434e30a1b039b2f3af30f1f3f461 (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.h | 44 |
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 { | |||
229 | typedef struct dasd_ccw_req *(*dasd_erp_fn_t) (struct dasd_ccw_req *); | 233 | typedef 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 | |||
243 | struct 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 | ||
320 | extern struct dasd_discipline *dasd_diag_discipline_pointer; | 344 | extern 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 | |||
330 | struct 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); | |||
634 | struct dasd_device *dasd_create_device(struct ccw_device *); | 640 | struct dasd_device *dasd_create_device(struct ccw_device *); |
635 | void dasd_delete_device(struct dasd_device *); | 641 | void dasd_delete_device(struct dasd_device *); |
636 | 642 | ||
637 | int dasd_get_uid(struct ccw_device *, struct dasd_uid *); | ||
638 | int dasd_set_uid(struct ccw_device *, struct dasd_uid *); | ||
639 | int dasd_get_feature(struct ccw_device *, int); | 643 | int dasd_get_feature(struct ccw_device *, int); |
640 | int dasd_set_feature(struct ccw_device *, int, int); | 644 | int dasd_set_feature(struct ccw_device *, int, int); |
641 | 645 | ||