s390-ccw.c (0db949f1810f4d497762d57d8db6f219c0607529) | s390-ccw.c (46ea3841edaff2a7657b8f6c7f474e5e3850cd62) |
---|---|
1/* 2 * s390 CCW Assignment Support 3 * 4 * Copyright 2017 IBM Corp 5 * Author(s): Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com> 6 * Xiao Feng Ren <renxiaof@linux.vnet.ibm.com> 7 * Pierre Morel <pmorel@linux.vnet.ibm.com> 8 * --- 37 unchanged lines hidden (view full) --- 46 S390CCWDeviceClass *cdc = S390_CCW_DEVICE_GET_CLASS(sch->driver_data); 47 48 if (!cdc->handle_clear) { 49 return -ENOSYS; 50 } 51 return cdc->handle_clear(sch); 52} 53 | 1/* 2 * s390 CCW Assignment Support 3 * 4 * Copyright 2017 IBM Corp 5 * Author(s): Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com> 6 * Xiao Feng Ren <renxiaof@linux.vnet.ibm.com> 7 * Pierre Morel <pmorel@linux.vnet.ibm.com> 8 * --- 37 unchanged lines hidden (view full) --- 46 S390CCWDeviceClass *cdc = S390_CCW_DEVICE_GET_CLASS(sch->driver_data); 47 48 if (!cdc->handle_clear) { 49 return -ENOSYS; 50 } 51 return cdc->handle_clear(sch); 52} 53 |
54IOInstEnding s390_ccw_store(SubchDev *sch) 55{ 56 S390CCWDeviceClass *cdc = NULL; 57 int ret = IOINST_CC_EXPECTED; 58 59 /* 60 * This code is called for both virtual and passthrough devices, 61 * but only applies to to the latter. This ugly check makes that 62 * distinction for us. 63 */ 64 if (object_dynamic_cast(OBJECT(sch->driver_data), TYPE_S390_CCW)) { 65 cdc = S390_CCW_DEVICE_GET_CLASS(sch->driver_data); 66 } 67 68 if (cdc && cdc->handle_store) { 69 ret = cdc->handle_store(sch); 70 } 71 72 return ret; 73} 74 |
|
54static void s390_ccw_get_dev_info(S390CCWDevice *cdev, 55 char *sysfsdev, 56 Error **errp) 57{ 58 unsigned int cssid, ssid, devid; 59 char dev_path[PATH_MAX] = {0}, *tmp; 60 61 if (!sysfsdev) { --- 121 unchanged lines hidden --- | 75static void s390_ccw_get_dev_info(S390CCWDevice *cdev, 76 char *sysfsdev, 77 Error **errp) 78{ 79 unsigned int cssid, ssid, devid; 80 char dev_path[PATH_MAX] = {0}, *tmp; 81 82 if (!sysfsdev) { --- 121 unchanged lines hidden --- |