scsi: ufs: Tidy clocks list head usage
Move the initialization of clocks list head to ufshcd_alloc_host() so that every driver doesn't have to do it. Remove checks for the list head being NULL because that is not possible. Signed-off-by: Szymon Mielczarek <szymonx.mielczarek@intel.com> Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Reviewed-by: Subhash Jadavani <subhashj@codeaurora.org> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
Родитель
6ff8a3b2a1
Коммит
566ec9ad31
|
@ -130,8 +130,6 @@ tc_dwc_g210_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
INIT_LIST_HEAD(&hba->clk_list_head);
|
|
||||||
|
|
||||||
hba->vops = &tc_dwc_g210_pci_hba_vops;
|
hba->vops = &tc_dwc_g210_pci_hba_vops;
|
||||||
|
|
||||||
err = ufshcd_init(hba, mmio_base, pdev->irq);
|
err = ufshcd_init(hba, mmio_base, pdev->irq);
|
||||||
|
|
|
@ -143,8 +143,6 @@ ufshcd_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
INIT_LIST_HEAD(&hba->clk_list_head);
|
|
||||||
|
|
||||||
err = ufshcd_init(hba, mmio_base, pdev->irq);
|
err = ufshcd_init(hba, mmio_base, pdev->irq);
|
||||||
if (err) {
|
if (err) {
|
||||||
dev_err(&pdev->dev, "Initialization failed\n");
|
dev_err(&pdev->dev, "Initialization failed\n");
|
||||||
|
|
|
@ -58,8 +58,6 @@ static int ufshcd_parse_clock_info(struct ufs_hba *hba)
|
||||||
if (!np)
|
if (!np)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
INIT_LIST_HEAD(&hba->clk_list_head);
|
|
||||||
|
|
||||||
cnt = of_property_count_strings(np, "clock-names");
|
cnt = of_property_count_strings(np, "clock-names");
|
||||||
if (!cnt || (cnt == -EINVAL)) {
|
if (!cnt || (cnt == -EINVAL)) {
|
||||||
dev_info(dev, "%s: Unable to find clocks, assuming enabled\n",
|
dev_info(dev, "%s: Unable to find clocks, assuming enabled\n",
|
||||||
|
|
|
@ -314,7 +314,7 @@ static void ufshcd_print_clk_freqs(struct ufs_hba *hba)
|
||||||
struct ufs_clk_info *clki;
|
struct ufs_clk_info *clki;
|
||||||
struct list_head *head = &hba->clk_list_head;
|
struct list_head *head = &hba->clk_list_head;
|
||||||
|
|
||||||
if (!head || list_empty(head))
|
if (list_empty(head))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
list_for_each_entry(clki, head, list) {
|
list_for_each_entry(clki, head, list) {
|
||||||
|
@ -869,7 +869,7 @@ static int ufshcd_scale_clks(struct ufs_hba *hba, bool scale_up)
|
||||||
ktime_t start = ktime_get();
|
ktime_t start = ktime_get();
|
||||||
bool clk_state_changed = false;
|
bool clk_state_changed = false;
|
||||||
|
|
||||||
if (!head || list_empty(head))
|
if (list_empty(head))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
ret = ufshcd_vops_clk_scale_notify(hba, scale_up, PRE_CHANGE);
|
ret = ufshcd_vops_clk_scale_notify(hba, scale_up, PRE_CHANGE);
|
||||||
|
@ -943,7 +943,7 @@ static bool ufshcd_is_devfreq_scaling_required(struct ufs_hba *hba,
|
||||||
struct ufs_clk_info *clki;
|
struct ufs_clk_info *clki;
|
||||||
struct list_head *head = &hba->clk_list_head;
|
struct list_head *head = &hba->clk_list_head;
|
||||||
|
|
||||||
if (!head || list_empty(head))
|
if (list_empty(head))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
list_for_each_entry(clki, head, list) {
|
list_for_each_entry(clki, head, list) {
|
||||||
|
@ -6752,7 +6752,7 @@ static int __ufshcd_setup_clocks(struct ufs_hba *hba, bool on,
|
||||||
ktime_t start = ktime_get();
|
ktime_t start = ktime_get();
|
||||||
bool clk_state_changed = false;
|
bool clk_state_changed = false;
|
||||||
|
|
||||||
if (!head || list_empty(head))
|
if (list_empty(head))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
ret = ufshcd_vops_setup_clocks(hba, on, PRE_CHANGE);
|
ret = ufshcd_vops_setup_clocks(hba, on, PRE_CHANGE);
|
||||||
|
@ -6818,7 +6818,7 @@ static int ufshcd_init_clocks(struct ufs_hba *hba)
|
||||||
struct device *dev = hba->dev;
|
struct device *dev = hba->dev;
|
||||||
struct list_head *head = &hba->clk_list_head;
|
struct list_head *head = &hba->clk_list_head;
|
||||||
|
|
||||||
if (!head || list_empty(head))
|
if (list_empty(head))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
list_for_each_entry(clki, head, list) {
|
list_for_each_entry(clki, head, list) {
|
||||||
|
@ -7811,6 +7811,8 @@ int ufshcd_alloc_host(struct device *dev, struct ufs_hba **hba_handle)
|
||||||
hba->dev = dev;
|
hba->dev = dev;
|
||||||
*hba_handle = hba;
|
*hba_handle = hba;
|
||||||
|
|
||||||
|
INIT_LIST_HEAD(&hba->clk_list_head);
|
||||||
|
|
||||||
out_error:
|
out_error:
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче