... > +static int tsm_dev_connect(struct tsm_dev *tdev, void *private_data, unsigned int val) > +{ > + int ret; > + > + if (WARN_ON(!tsm.ops->dev_connect)) > + return -EPERM; > + > + tdev->ide_pre = val == 2; > + if (tdev->ide_pre) > + tsm_set_sel_ide(tdev); > + > + mutex_lock(&tdev->spdm_mutex); > + while (1) { > + ret = tsm.ops->dev_connect(tdev, tsm.private_data); > + if (ret <= 0) > + break; > + > + ret = spdm_forward(&tdev->spdm, ret); > + if (ret < 0) > + break; > + } > + mutex_unlock(&tdev->spdm_mutex); > + > + if (!tdev->ide_pre) > + ret = tsm_set_sel_ide(tdev); > + > + tdev->connected = (ret == 0); > + > + return ret; > +} > + I was expecting the DEV_CONNECT to happen in tsm_dev_init in tsm_alloc_device(). Can you describe how the sysfs file is going to be used? I didn't find details regarding that in the cover letter workflow section. -aneesh