Hi Joao, 2016-04-13 18:04 GMT+09:00 Joao Pinto <Joao.Pinto@xxxxxxxxxxxx>: > diff --git a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h > index e3931d0..c780d14 100644 > --- a/drivers/scsi/ufs/ufshcd.h > +++ b/drivers/scsi/ufs/ufshcd.h > @@ -263,6 +263,7 @@ struct ufs_pwr_mode_info { > * @suspend: called during host controller PM callback > * @resume: called during host controller PM callback > * @dbg_register_dump: used to dump controller debug information > + * @phy_initialization: used to initialize phys > */ > struct ufs_hba_variant_ops { > const char *name; > @@ -284,6 +285,7 @@ struct ufs_hba_variant_ops { > int (*suspend)(struct ufs_hba *, enum ufs_pm_op); > int (*resume)(struct ufs_hba *, enum ufs_pm_op); > void (*dbg_register_dump)(struct ufs_hba *hba); > + int (*phy_initialization)(struct ufs_hba *); > }; This vops->phy_initialization is only called from ufs dwc specific source files and not called from ufs core. So this should not belong to ufs_hba_variant_ops. You can use hba->priv to put the controller specific data structure including phy_initialization and you also need to define vops->init callback which allocates and initialize the data structure. -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html