Lines Matching defs:cdev

95  * @cdev: ccw device
99 static int diag210_get_dev_info(struct ccw_device *cdev)
101 struct ccw_dev_id *dev_id = &cdev->private->dev_id;
102 struct senseid *senseid = &cdev->private->dma_area->senseid;
134 static void snsid_init(struct ccw_device *cdev)
136 cdev->private->flags.esid = 0;
138 memset(&cdev->private->dma_area->senseid, 0,
139 sizeof(cdev->private->dma_area->senseid));
140 cdev->private->dma_area->senseid.cu_type = 0xffff;
146 static int snsid_check(struct ccw_device *cdev, void *data)
148 struct cmd_scsw *scsw = &cdev->private->dma_area->irb.scsw.cmd;
154 if (cdev->private->dma_area->senseid.cu_type == 0xffff)
157 if (cdev->private->dma_area->senseid.reserved != 0xff)
161 cdev->private->flags.esid = 1;
165 snsid_init(cdev);
172 static void snsid_callback(struct ccw_device *cdev, void *data, int rc)
174 struct ccw_dev_id *id = &cdev->private->dev_id;
175 struct senseid *senseid = &cdev->private->dma_area->senseid;
180 snsid_init(cdev);
181 if (diag210_get_dev_info(cdev) == 0) {
190 ccw_device_sense_id_done(cdev, rc);
195 * @cdev: ccw device
197 * Execute a SENSE ID channel program on @cdev to update its sense id
201 void ccw_device_sense_id_start(struct ccw_device *cdev)
203 struct subchannel *sch = to_subchannel(cdev->dev.parent);
204 struct ccw_request *req = &cdev->private->req;
205 struct ccw1 *cp = cdev->private->dma_area->iccws;
208 CIO_HEX_EVENT(4, &cdev->private->dev_id, sizeof(cdev->private->dev_id));
210 snsid_init(cdev);
213 cp->cda = (u32)virt_to_phys(&cdev->private->dma_area->senseid);
224 ccw_request_start(cdev);