ccw_device_start
Prev | ccw devices | Next

## Name

ccw_device_start — start a s390 channel program

## Synopsis

`int ccw_device_start (` | struct ccw_device * | cdev,
| struct ccw1 * | cpa,
| unsigned long | intparm,
| __u8 | lpm,
| unsigned long | flags`)`;

## 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.

## 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).

## 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

Prev | Up | Next
ccw_device_start_timeout_key | Home | ccw_device_start_timeout