STRUCT CCW_DRIVER(9) The ccw bus STRUCT CCW_DRIVER(9)NAME
struct_ccw_driver - device driver for channel attached devices
SYNOPSIS
struct ccw_driver {
struct ccw_device_id * ids;
int (* probe) (struct ccw_device *);
void (* remove) (struct ccw_device *);
int (* set_online) (struct ccw_device *);
int (* set_offline) (struct ccw_device *);
int (* notify) (struct ccw_device *, int);
void (* path_event) (struct ccw_device *, int *);
void (* shutdown) (struct ccw_device *);
int (* prepare) (struct ccw_device *);
void (* complete) (struct ccw_device *);
int (* freeze) (struct ccw_device *);
int (* thaw) (struct ccw_device *);
int (* restore) (struct ccw_device *);
enum uc_todo (* uc_handler) (struct ccw_device *, struct irb *);
struct device_driver driver;
enum interruption_class int_class;
};
MEMBERS
ids
ids supported by this driver
probe
function called on probe
remove
function called on remove
set_online
called when setting device online
set_offline
called when setting device offline
notify
notify driver of device state changes
path_event
notify driver of channel path events
shutdown
called at device shutdown
prepare
prepare for pm state transition
complete
undo work done in prepare
freeze
callback for freezing during hibernation snapshotting
thaw
undo work done in freeze
restore
callback for restoring after hibernation
uc_handler
callback for unit check handler
driver
embedded device driver structure
int_class
interruption class to use for accounting interrupts
AUTHOR
Cornelia Huck <cornelia.huck@de.ibm.com>
Author.
COPYRIGHT Kernel Hackers Manual 3.10 June 2014 STRUCT CCW_DRIVER(9)
Check Out this Related Man Page
CCW_DEVICE_START_TIM(9) The ccw bus CCW_DEVICE_START_TIM(9)NAME
ccw_device_start_timeout - start a s390 channel program with timeout
SYNOPSIS
int ccw_device_start_timeout(struct ccw_device * cdev, struct ccw1 * cpa, unsigned long intparm, __u8 lpm, unsigned long flags,
int expires);
ARGUMENTS
cdev
target ccw device
cpa
logical start address of channel program
intparm
user specific interruption parameter; will be presented back to cdev's interrupt handler. Allows a device driver to associate the
interrupt with a particular I/O request.
lpm
defines the channel path to be used for a specific I/O request. A value of 0 will make cio use the opm.
flags
additional flags; defines the action to be performed for I/O processing.
expires
timeout value in jiffies
DESCRIPTION
Start a S/390 channel program. When the interrupt arrives, the IRQ handler is called, either immediately, delayed (dev-end missing, or
sense required) or never (no IRQ handler registered). This function notifies the device driver if the channel program has not completed
during the time specified by expires. If a timeout occurs, the channel program is terminated via xsch, hsch or csch, and the device's
interrupt handler will be called with an irb containing ERR_PTR(-ETIMEDOUT).
RETURNS
0, if the operation was successful; -EBUSY, if the device is busy, or status pending; -EACCES, if no path specified in lpm is operational;
-ENODEV, if the device is not operational.
CONTEXT
Interrupts disabled, ccw device lock held
AUTHOR
Cornelia Huck <cornelia.huck@de.ibm.com>
Author.
COPYRIGHT Kernel Hackers Manual 3.10 June 2014 CCW_DEVICE_START_TIM(9)