aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/phy/samsung/phy-samsung-ufs.h
diff options
context:
space:
mode:
authorChanho Park <chanho61.park@samsung.com>2022-07-06 11:02:53 +0900
committerVinod Koul <vkoul@kernel.org>2022-07-08 10:38:59 +0530
commit8d5bb683d50a80edaf8a6db9bfa28864914f5947 (patch)
tree07c4b945b806717d0051c8ccb8943044acf94602 /drivers/phy/samsung/phy-samsung-ufs.h
parentphy: qcom-qmp-usb: define QPHY_V2_PCS_PLL_LOCK_CHK_DLY_TIME register (diff)
downloadlinux-dev-8d5bb683d50a80edaf8a6db9bfa28864914f5947.tar.xz
linux-dev-8d5bb683d50a80edaf8a6db9bfa28864914f5947.zip
phy: samsung-ufs: convert phy clk usage to clk_bulk API
Instead of using separated clock manipulation, this converts the phy clock usage to be clk_bulk APIs. By using this, we can completely remove has_symbol_clk check and symbol clk variables. Furthermore, clk_get should be moved to probe because there is no need to get them in the phy_init callback. Signed-off-by: Chanho Park <chanho61.park@samsung.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20220706020255.151177-2-chanho61.park@samsung.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/phy/samsung/phy-samsung-ufs.h')
-rw-r--r--drivers/phy/samsung/phy-samsung-ufs.h10
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/phy/samsung/phy-samsung-ufs.h b/drivers/phy/samsung/phy-samsung-ufs.h
index 6320ac852f29..e122960cfee8 100644
--- a/drivers/phy/samsung/phy-samsung-ufs.h
+++ b/drivers/phy/samsung/phy-samsung-ufs.h
@@ -109,7 +109,8 @@ struct samsung_ufs_phy_pmu_isol {
struct samsung_ufs_phy_drvdata {
const struct samsung_ufs_phy_cfg **cfgs;
struct samsung_ufs_phy_pmu_isol isol;
- bool has_symbol_clk;
+ const char * const *clk_list;
+ int num_clks;
u32 cdr_lock_status_offset;
};
@@ -117,15 +118,10 @@ struct samsung_ufs_phy {
struct device *dev;
void __iomem *reg_pma;
struct regmap *reg_pmu;
- struct clk *ref_clk;
- struct clk *ref_clk_parent;
- struct clk *tx0_symbol_clk;
- struct clk *rx0_symbol_clk;
- struct clk *rx1_symbol_clk;
+ struct clk_bulk_data *clks;
const struct samsung_ufs_phy_drvdata *drvdata;
const struct samsung_ufs_phy_cfg * const *cfgs;
struct samsung_ufs_phy_pmu_isol isol;
- bool has_symbol_clk;
u8 lane_cnt;
int ufs_phy_state;
enum phy_mode mode;