> > > Vendor drivers may have a need to update the polling interval > and thresholds. > Provide a vops for vendor drivers to use. > > Signed-off-by: Asutosh Das <asutoshd@xxxxxxxxxxxxxx> > --- > drivers/scsi/ufs/ufshcd.c | 11 ++++++++++- > drivers/scsi/ufs/ufshcd.h | 12 ++++++++++++ > 2 files changed, 22 insertions(+), 1 deletion(-) > > diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c > index 4607bc6..7643ef5 100644 > --- a/drivers/scsi/ufs/ufshcd.c > +++ b/drivers/scsi/ufs/ufshcd.c > @@ -1300,6 +1300,13 @@ static struct devfreq_dev_profile > ufs_devfreq_profile = { > .get_dev_status = ufshcd_devfreq_get_dev_status, > }; > > +#if IS_ENABLED(CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND) > +static struct devfreq_simple_ondemand_data ufs_ondemand_data; Might want to set default values here? > #include <asm/irq.h> > @@ -327,6 +328,9 @@ struct ufs_hba_variant_ops { > void (*dbg_register_dump)(struct ufs_hba *hba); > int (*phy_initialization)(struct ufs_hba *); > void (*device_reset)(struct ufs_hba *hba); > + void (*config_scaling_param)(struct ufs_hba *hba, > + struct devfreq_dev_profile *profile, This is an excellent idea, because not only it allows you to edit the polling interval, But you might want to replace the target and status handlers one day. > + void *data); > }; Thanks, Avri