scsi: ufs: Extract devfreq registration
authorBjorn Andersson <bjorn.andersson@linaro.org>
Fri, 18 May 2018 06:26:36 +0000 (23:26 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 18 May 2018 15:28:18 +0000 (11:28 -0400)
commitdeac444f4e44c406796a086381db1c09c70ce042
tree91753bb683fbd9099d99e0d1330aa000f9c28876
parent1b25a8c4d27170efff11895decf6c1a740be1af5
scsi: ufs: Extract devfreq registration

Failing to register with devfreq leaves hba->devfreq assigned, which causes
the error path to dereference the ERR_PTR(). Rather than bolting on more
conditionals, move the call of devm_devfreq_add_device() into it's own
function and only update hba->devfreq once it's successfully registered.

The subsequent patch builds upon this to make UFS actually work again, as
it's been broken since f1d981eaecf8 ("PM / devfreq: Use the available
min/max frequency")

Also switch to use DEVFREQ_GOV_SIMPLE_ONDEMAND constant.

Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/ufs/ufshcd.c