diff options
Diffstat (limited to 'drivers/s390/block/dasd_int.h')
-rw-r--r-- | drivers/s390/block/dasd_int.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/s390/block/dasd_int.h b/drivers/s390/block/dasd_int.h index f97ceb795078..fd63b2f2bda9 100644 --- a/drivers/s390/block/dasd_int.h +++ b/drivers/s390/block/dasd_int.h | |||
@@ -4,8 +4,7 @@ | |||
4 | * Horst Hummel <Horst.Hummel@de.ibm.com> | 4 | * Horst Hummel <Horst.Hummel@de.ibm.com> |
5 | * Martin Schwidefsky <schwidefsky@de.ibm.com> | 5 | * Martin Schwidefsky <schwidefsky@de.ibm.com> |
6 | * Bugreports.to..: <Linux390@de.ibm.com> | 6 | * Bugreports.to..: <Linux390@de.ibm.com> |
7 | * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000 | 7 | * Copyright IBM Corp. 1999, 2009 |
8 | * | ||
9 | */ | 8 | */ |
10 | 9 | ||
11 | #ifndef DASD_INT_H | 10 | #ifndef DASD_INT_H |
@@ -295,6 +294,10 @@ struct dasd_discipline { | |||
295 | int (*fill_geometry) (struct dasd_block *, struct hd_geometry *); | 294 | int (*fill_geometry) (struct dasd_block *, struct hd_geometry *); |
296 | int (*fill_info) (struct dasd_device *, struct dasd_information2_t *); | 295 | int (*fill_info) (struct dasd_device *, struct dasd_information2_t *); |
297 | int (*ioctl) (struct dasd_block *, unsigned int, void __user *); | 296 | int (*ioctl) (struct dasd_block *, unsigned int, void __user *); |
297 | |||
298 | /* suspend/resume functions */ | ||
299 | int (*freeze) (struct dasd_device *); | ||
300 | int (*restore) (struct dasd_device *); | ||
298 | }; | 301 | }; |
299 | 302 | ||
300 | extern struct dasd_discipline *dasd_diag_discipline_pointer; | 303 | extern struct dasd_discipline *dasd_diag_discipline_pointer; |
@@ -367,6 +370,7 @@ struct dasd_device { | |||
367 | atomic_t tasklet_scheduled; | 370 | atomic_t tasklet_scheduled; |
368 | struct tasklet_struct tasklet; | 371 | struct tasklet_struct tasklet; |
369 | struct work_struct kick_work; | 372 | struct work_struct kick_work; |
373 | struct work_struct restore_device; | ||
370 | struct timer_list timer; | 374 | struct timer_list timer; |
371 | 375 | ||
372 | debug_info_t *debug_area; | 376 | debug_info_t *debug_area; |
@@ -410,6 +414,8 @@ struct dasd_block { | |||
410 | #define DASD_STOPPED_PENDING 4 /* long busy */ | 414 | #define DASD_STOPPED_PENDING 4 /* long busy */ |
411 | #define DASD_STOPPED_DC_WAIT 8 /* disconnected, wait */ | 415 | #define DASD_STOPPED_DC_WAIT 8 /* disconnected, wait */ |
412 | #define DASD_STOPPED_SU 16 /* summary unit check handling */ | 416 | #define DASD_STOPPED_SU 16 /* summary unit check handling */ |
417 | #define DASD_STOPPED_PM 32 /* pm state transition */ | ||
418 | #define DASD_UNRESUMED_PM 64 /* pm resume failed state */ | ||
413 | 419 | ||
414 | /* per device flags */ | 420 | /* per device flags */ |
415 | #define DASD_FLAG_OFFLINE 3 /* device is in offline processing */ | 421 | #define DASD_FLAG_OFFLINE 3 /* device is in offline processing */ |
@@ -556,6 +562,7 @@ void dasd_free_block(struct dasd_block *); | |||
556 | void dasd_enable_device(struct dasd_device *); | 562 | void dasd_enable_device(struct dasd_device *); |
557 | void dasd_set_target_state(struct dasd_device *, int); | 563 | void dasd_set_target_state(struct dasd_device *, int); |
558 | void dasd_kick_device(struct dasd_device *); | 564 | void dasd_kick_device(struct dasd_device *); |
565 | void dasd_restore_device(struct dasd_device *); | ||
559 | 566 | ||
560 | void dasd_add_request_head(struct dasd_ccw_req *); | 567 | void dasd_add_request_head(struct dasd_ccw_req *); |
561 | void dasd_add_request_tail(struct dasd_ccw_req *); | 568 | void dasd_add_request_tail(struct dasd_ccw_req *); |
@@ -578,6 +585,8 @@ int dasd_generic_set_online(struct ccw_device *, struct dasd_discipline *); | |||
578 | int dasd_generic_set_offline (struct ccw_device *cdev); | 585 | int dasd_generic_set_offline (struct ccw_device *cdev); |
579 | int dasd_generic_notify(struct ccw_device *, int); | 586 | int dasd_generic_notify(struct ccw_device *, int); |
580 | void dasd_generic_handle_state_change(struct dasd_device *); | 587 | void dasd_generic_handle_state_change(struct dasd_device *); |
588 | int dasd_generic_pm_freeze(struct ccw_device *); | ||
589 | int dasd_generic_restore_device(struct ccw_device *); | ||
581 | 590 | ||
582 | int dasd_generic_read_dev_chars(struct dasd_device *, char *, void *, int); | 591 | int dasd_generic_read_dev_chars(struct dasd_device *, char *, void *, int); |
583 | char *dasd_get_sense(struct irb *); | 592 | char *dasd_get_sense(struct irb *); |