phy: qcom-qmp: further clean ups
Subsystems (2)
cover phy: qcom-qmp: further clean ups
This series clean up the QMP PHY drivers somewhat after the recent driver split.
Included are also some fixes for runtime PM not being disabled on driver unbind.
Note that these apply on top of the qmp-pcie series posted yesterday:
https://lore.kernel.org/all/[email protected]/
Johan
Johan Hovold (16):
phy: qcom-qmp-combo: disable runtime PM on unbind
phy: qcom-qmp-combo: drop unused defines
phy: qcom-qmp-pcie: drop unused runtime PM implementation
phy: qcom-qmp-pcie: drop unused defines
phy: qcom-qmp-pcie-msm8996: drop unused runtime PM implementation
phy: qcom-qmp-pcie-msm8996: drop unused defines
phy: qcom-qmp-ufs: drop unused runtime PM implementation
phy: qcom-qmp-ufs: drop unused defines
phy: qcom-qmp-usb: disable runtime PM on unbind
phy: qcom-qmp-usb: drop unused defines
phy: qcom-qmp: silence noisy probe
phy: qcom-qmp-combo: shorten function prefixes
phy: qcom-qmp-pcie-msm8996: drop unused secondary init tables
phy: qcom-qmp-pcie-msm8996: shorten function prefixes
phy: qcom-qmp-ufs: shorten function prefixes
phy: qcom-qmp-usb: shorten function prefixes
drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 189 ++++++++--------- .../phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c | 191 +++++------------- drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 64 ------ drivers/phy/qualcomm/phy-qcom-qmp-ufs.c | 163 ++++----------- drivers/phy/qualcomm/phy-qcom-qmp-usb.c | 143 ++++++------- 5 files changed, 238 insertions(+), 512 deletions(-)
Signature · 1 line
2.35.1
PATCH 1/16 phy: qcom-qmp-combo: disable runtime PM on unbind
Make sure to disable runtime PM also on driver unbind.
--- drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
drivers/phy/qualcomm/phy-qcom-qmp-combo.c +3 -4
@@ -2930,7 +2930,9 @@ static int qcom_qmp_phy_combo_probe(struct platform_device *pdev)return -ENOMEM ;pm_runtime_set_active (dev); -pm_runtime_enable (dev); + ret =devm_pm_runtime_enable (dev); +if (ret) +return ret;/* * Prevent runtime pm from being ON by default. Users can enable * it using power/control in sysfs.
@@ -2987,13 +2989,10 @@ static int qcom_qmp_phy_combo_probe(struct platform_device *pdev) phy_provider =devm_of_phy_provider_register (dev, of_phy_simple_xlate);if (!IS_ERR (phy_provider))dev_info (dev,"Registered Qcom-QMP phy\n" ); -else -pm_runtime_disable (dev);return PTR_ERR_OR_ZERO (phy_provider); err_node_put: -pm_runtime_disable (dev);of_node_put (child);return ret; }
Signature · 1 line
2.35.1
Re: [PATCH 01/16] phy: qcom-qmp-combo: disable runtime PM on unbind
Quoted 1 line · Johan Hovold
Make sure to disable runtime PM also on driver unbind.
Nit: technically the subject is misleading: you switched the code to use devres- helpers rather than manually disabling the runtime PM.
Quoted 36 lines
Fixes ac0d239936bd ("phy: qcom-qmp: Add support for runtime PM").Signed-off-by Johan Hovold <[email protected]>--- drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)drivers/phy/qualcomm/phy-qcom-qmp-combo.c +3
-4@@ -2930,7 +2930,9 @@ static int qcom_qmp_phy_combo_probe(struct platform_device *pdev)return -ENOMEM ;pm_runtime_set_active (dev); -pm_runtime_enable (dev); + ret =devm_pm_runtime_enable (dev); +if (ret) +return ret;/* * Prevent runtime pm from being ON by default. Users can enable * it using power/control in sysfs. @@ -2987,13 +2989,10 @@ static int qcom_qmp_phy_combo_probe(struct platform_device *pdev) phy_provider =devm_of_phy_provider_register (dev, of_phy_simple_xlate);if (!IS_ERR (phy_provider))dev_info (dev,"Registered Qcom-QMP phy\n" ); -else -pm_runtime_disable (dev);return PTR_ERR_OR_ZERO (phy_provider); err_node_put: -pm_runtime_disable (dev);of_node_put (child);return ret; }
Signature · 8 lines
With best wishes Dmitry -- linux-phy mailing list [email protected] https://lists.infradead.org/mailman/listinfo/linux-phy
Re: [PATCH 01/16] phy: qcom-qmp-combo: disable runtime PM on unbind
Quoted 5 lines · Dmitry Baryshkov
Quoted 1 line · Johan Hovold
Make sure to disable runtime PM also on driver unbind.
Nit: technically the subject is misleading: you switched the code to use devres- helpers rather than manually disabling the runtime PM.
I disagree. I'm summarising what the patch is doing, not how I implemented it.
Quoted 1 line
Reviewed-by Dmitry Baryshkov <[email protected]>
Johan
PATCH 2/16 phy: qcom-qmp-combo: drop unused defines
In reply to Johan HovoldDrop defines and enums that are unused since the QMP driver split.
--- drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 15 --------------- 1 file changed, 15 deletions(-)
drivers/phy/qualcomm/phy-qcom-qmp-combo.c +0 -15
@@ -28,16 +28,11 @@#define SW_RESET BIT(0)/* QPHY_POWER_DOWN_CONTROL */ #define SW_PWRDN BIT(0) -#define REFCLK_DRV_DSBL BIT(1)/* QPHY_START_CONTROL bits */ #define SERDES_START BIT(0)#define PCS_START BIT(1) -#define PLL_READY_GATE_EN BIT(3)/* QPHY_PCS_STATUS bit */ #define PHYSTATUS BIT(6) -#define PHYSTATUS_4_20 BIT(7) -/* QPHY_PCS_READY_STATUS & QPHY_COM_PCS_READY_STATUS bit */ -#define PCS_READY BIT(0)/* QPHY_V3_DP_COM_RESET_OVRD_CTRL register bits */ /* DP PHY soft reset */
@@ -71,8 +66,6 @@#define POWER_DOWN_DELAY_US_MIN 10#define POWER_DOWN_DELAY_US_MAX 11 -#define MAX_PROP_NAME 32 -/* Define the assumed distance between lanes for underspecified device trees. */ #define QMP_PHY_LEGACY_LANE_STRIDE 0x400
@@ -115,22 +108,14 @@ struct qmp_phy_init_tbl {/* set of registers with offsets different per-PHY */ enum qphy_reg_layout { -/* Common block control registers */ -QPHY_COM_SW_RESET , -QPHY_COM_POWER_DOWN_CONTROL , -QPHY_COM_START_CONTROL , -QPHY_COM_PCS_READY_STATUS ,/* PCS registers */ QPHY_SW_RESET ,QPHY_START_CTRL , -QPHY_PCS_READY_STATUS ,QPHY_PCS_STATUS ,QPHY_PCS_AUTONOMOUS_MODE_CTRL ,QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR ,QPHY_PCS_LFPS_RXTERM_IRQ_STATUS ,QPHY_PCS_POWER_DOWN_CONTROL , -/* PCS_MISC registers */ -QPHY_PCS_MISC_TYPEC_CTRL ,/* Keep last to ensure regs_layout arrays are properly initialized */ QPHY_LAYOUT_SIZE };
Signature · 1 line
2.35.1
Re: [PATCH 02/16] phy: qcom-qmp-combo: drop unused defines
Quoted 15 lines · Johan Hovold
Drop defines and enums that are unused since the QMP driver split.
Signed-off-by Johan Hovold <[email protected]>--- drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 15 --------------- 1 file changed, 15 deletions(-)drivers/phy/qualcomm/phy-qcom-qmp-combo.c +0
-0@@ -28,16 +28,11 @@#define SW_RESET BIT(0)/* QPHY_POWER_DOWN_CONTROL */ #define SW_PWRDN BIT(0)
drivers/phy/qualcomm/phy-qcom-qmp-combo.c line 40
Quoted 10 lines
drivers/phy/qualcomm/phy-qcom-qmp-combo.c +0
-5-#define REFCLK_DRV_DSBL BIT(1)/* QPHY_START_CONTROL bits */ #define SERDES_START BIT(0)#define PCS_START BIT(1) -#define PLL_READY_GATE_EN BIT(3)/* QPHY_PCS_STATUS bit */ #define PHYSTATUS BIT(6) -#define PHYSTATUS_4_20 BIT(7) -/* QPHY_PCS_READY_STATUS & QPHY_COM_PCS_READY_STATUS bit */ -#define PCS_READY BIT(0)
I think these defines, describing registers and bits, can go to the common header instead.
For the rest of the patch:
Quoted 35 lines
drivers/phy/qualcomm/phy-qcom-qmp-combo.c +0
-10/* QPHY_V3_DP_COM_RESET_OVRD_CTRL register bits */ /* DP PHY soft reset */ @@ -71,8 +66,6 @@#define POWER_DOWN_DELAY_US_MIN 10#define POWER_DOWN_DELAY_US_MAX 11 -#define MAX_PROP_NAME 32 -/* Define the assumed distance between lanes for underspecified device trees. */ #define QMP_PHY_LEGACY_LANE_STRIDE 0x400@@ -115,22 +108,14 @@ struct qmp_phy_init_tbl {/* set of registers with offsets different per-PHY */ enum qphy_reg_layout { -/* Common block control registers */ -QPHY_COM_SW_RESET , -QPHY_COM_POWER_DOWN_CONTROL , -QPHY_COM_START_CONTROL , -QPHY_COM_PCS_READY_STATUS ,/* PCS registers */ QPHY_SW_RESET ,QPHY_START_CTRL , -QPHY_PCS_READY_STATUS ,QPHY_PCS_STATUS ,QPHY_PCS_AUTONOMOUS_MODE_CTRL ,QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR ,QPHY_PCS_LFPS_RXTERM_IRQ_STATUS ,QPHY_PCS_POWER_DOWN_CONTROL , -/* PCS_MISC registers */ -QPHY_PCS_MISC_TYPEC_CTRL ,/* Keep last to ensure regs_layout arrays are properly initialized */ QPHY_LAYOUT_SIZE };
Signature · 8 lines
With best wishes Dmitry -- linux-phy mailing list [email protected] https://lists.infradead.org/mailman/listinfo/linux-phy
Re: [PATCH 02/16] phy: qcom-qmp-combo: drop unused defines
Quoted 21 lines · Dmitry Baryshkov
Quoted 20 lines · Johan Hovold
Drop defines and enums that are unused since the QMP driver split.
Signed-off-by Johan Hovold <[email protected]>--- drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 15 --------------- 1 file changed, 15 deletions(-)drivers/phy/qualcomm/phy-qcom-qmp-combo.c +0
-2@@ -28,16 +28,11 @@#define SW_RESET BIT(0)/* QPHY_POWER_DOWN_CONTROL */ #define SW_PWRDN BIT(0) -#define REFCLK_DRV_DSBL BIT(1)/* QPHY_START_CONTROL bits */ #define SERDES_START BIT(0)#define PCS_START BIT(1) -#define PLL_READY_GATE_EN BIT(3)
Quoted 8 lines
drivers/phy/qualcomm/phy-qcom-qmp-combo.c line 40
Quoted 5 lines
drivers/phy/qualcomm/phy-qcom-qmp-combo.c +0
-3/* QPHY_PCS_STATUS bit */ #define PHYSTATUS BIT(6) -#define PHYSTATUS_4_20 BIT(7) -/* QPHY_PCS_READY_STATUS & QPHY_COM_PCS_READY_STATUS bit */ -#define PCS_READY BIT(0)I think these defines, describing registers and bits, can go to the common header instead.
Adding those to a common header can be done later if needed at all (and would include adding a proper prefix etc).
Quoted 3 lines
For the rest of the patch:
Reviewed-by Dmitry Baryshkov <[email protected]>
Johan
Signature · 3 lines
linux-phy mailing list [email protected] https://lists.infradead.org/mailman/listinfo/linux-phy
Re: [PATCH 02/16] phy: qcom-qmp-combo: drop unused defines
Quoted 31 lines · Johan Hovold
Quoted 21 lines · Dmitry Baryshkov
Quoted 20 lines · Johan Hovold
Drop defines and enums that are unused since the QMP driver split.
Signed-off-by Johan Hovold <[email protected]>--- drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 15 --------------- 1 file changed, 15 deletions(-)drivers/phy/qualcomm/phy-qcom-qmp-combo.c +0
-2@@ -28,16 +28,11 @@#define SW_RESET BIT(0)/* QPHY_POWER_DOWN_CONTROL */ #define SW_PWRDN BIT(0) -#define REFCLK_DRV_DSBL BIT(1)/* QPHY_START_CONTROL bits */ #define SERDES_START BIT(0)#define PCS_START BIT(1) -#define PLL_READY_GATE_EN BIT(3)Quoted 8 lines
drivers/phy/qualcomm/phy-qcom-qmp-combo.c line 40
Quoted 5 lines
drivers/phy/qualcomm/phy-qcom-qmp-combo.c +0
-3/* QPHY_PCS_STATUS bit */ #define PHYSTATUS BIT(6) -#define PHYSTATUS_4_20 BIT(7) -/* QPHY_PCS_READY_STATUS & QPHY_COM_PCS_READY_STATUS bit */ -#define PCS_READY BIT(0)I think these defines, describing registers and bits, can go to the common header instead.
Quoted 2 lines
Adding those to a common header can be done later if needed at all (and would include adding a proper prefix etc).
Ack, let's sort them out later, if Vinod agrees with this.
Quoted 6 lines
Quoted 4 lines
For the rest of the patch:
Reviewed-by Dmitry Baryshkov <[email protected]>Johan
Signature · 2 lines
With best wishes Dmitry
PATCH 3/16 phy: qcom-qmp-pcie: drop unused runtime PM implementation
In reply to Johan HovoldDrop the unused and incomplete runtime PM implementation, which was only used by USB PHYs before splitting the QMP driver.
Note that the runtime PM was never disabled (and state restored) on driver unbind.
This effectively reverts commit ac0d239936bd ("phy: qcom-qmp: Add support for runtime PM").
--- drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 38 ------------------------ 1 file changed, 38 deletions(-)
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c +0 -38
@@ -53,20 +53,6 @@#define USB3_MODE BIT(0)/* enables USB3 mode */ #define DP_MODE BIT(1)/* enables DP mode */ -/* QPHY_PCS_AUTONOMOUS_MODE_CTRL register bits */ -#define ARCVR_DTCT_EN BIT(0) -#define ALFPS_DTCT_EN BIT(1) -#define ARCVR_DTCT_EVENT_SEL BIT(4) - -/* QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR register bits */ -#define IRQ_CLEAR BIT(0) - -/* QPHY_PCS_LFPS_RXTERM_IRQ_STATUS register bits */ -#define RCVR_DETECT BIT(0) - -/* QPHY_V3_PCS_MISC_CLAMP_ENABLE register bits */ -#define CLAMP_EN BIT(0)/* enables i/o clamp_n */ -#define PHY_INIT_COMPLETE_TIMEOUT 10000#define POWER_DOWN_DELAY_US_MIN 10#define POWER_DOWN_DELAY_US_MAX 11
@@ -125,9 +111,6 @@ enum qphy_reg_layout {QPHY_START_CTRL ,QPHY_PCS_READY_STATUS ,QPHY_PCS_STATUS , -QPHY_PCS_AUTONOMOUS_MODE_CTRL , -QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR , -QPHY_PCS_LFPS_RXTERM_IRQ_STATUS ,QPHY_PCS_POWER_DOWN_CONTROL ,/* PCS_MISC registers */ QPHY_PCS_MISC_TYPEC_CTRL,
@@ -2153,15 +2136,6 @@ static int qmp_pcie_disable(struct phy *phy)return qmp_pcie_exit (phy); } -static int qmp_pcie_set_mode (struct phy *phy,enum phy_mode mode,int submode) -{ -struct qmp_phy *qphy =phy_get_drvdata (phy); - - qphy->mode = mode; - -return 0 ; -} -static int qmp_pcie_vreg_init (struct device *dev,const struct qmp_phy_cfg *cfg) {struct qcom_qmp *qmp =dev_get_drvdata (dev);
@@ -2285,7 +2259,6 @@ static int phy_pipe_clk_register(struct qcom_qmp *qmp, struct device_node *np)static const struct phy_ops qmp_pcie_ops = { .power_on = qmp_pcie_enable, .power_off = qmp_pcie_disable, - .set_mode = qmp_pcie_set_mode, .owner =THIS_MODULE , };
@@ -2474,14 +2447,6 @@ static int qmp_pcie_probe(struct platform_device *pdev)if (!qmp->phys)return -ENOMEM ; -pm_runtime_set_active (dev); -pm_runtime_enable (dev); -/* -* Prevent runtime pm from being ON by default. Users can enable -* it using power/control in sysfs. -*/ -pm_runtime_forbid (dev); - id =0 ;for_each_available_child_of_node (dev->of_node, child) {/* Create per-lane phy */
@@ -2509,13 +2474,10 @@ static int qmp_pcie_probe(struct platform_device *pdev) phy_provider =devm_of_phy_provider_register (dev, of_phy_simple_xlate);if (!IS_ERR (phy_provider))dev_info (dev,"Registered Qcom-QMP phy\n" ); -else -pm_runtime_disable (dev);return PTR_ERR_OR_ZERO (phy_provider); err_node_put: -pm_runtime_disable (dev);of_node_put (child);return ret; }
Signature · 1 line
2.35.1
Re: [PATCH 03/16] phy: qcom-qmp-pcie: drop unused runtime PM implementation
Quoted 10 lines · Johan Hovold
Drop the unused and incomplete runtime PM implementation, which was only used by USB PHYs before splitting the QMP driver.
Note that the runtime PM was never disabled (and state restored) on driver unbind.
This effectively reverts commit
ac0d239936bd("phy: qcom-qmp: Add support for runtime PM").Signed-off-by Johan Hovold <[email protected]>
Quoted 4 lines
--- drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 38 ------------------------ 1 file changed, 38 deletions(-)
Signature · 2 lines
With best wishes Dmitry
PATCH 4/16 phy: qcom-qmp-pcie: drop unused defines
In reply to Johan HovoldDrop defines and enums that are unused since the QMP driver split.
--- drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 24 ------------------------ 1 file changed, 24 deletions(-)
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c +0 -24
@@ -32,32 +32,11 @@/* QPHY_START_CONTROL bits */ #define SERDES_START BIT(0)#define PCS_START BIT(1) -#define PLL_READY_GATE_EN BIT(3)/* QPHY_PCS_STATUS bit */ #define PHYSTATUS BIT(6)#define PHYSTATUS_4_20 BIT(7) -/* QPHY_PCS_READY_STATUS & QPHY_COM_PCS_READY_STATUS bit */ -#define PCS_READY BIT(0) - -/* QPHY_V3_DP_COM_RESET_OVRD_CTRL register bits */ -/* DP PHY soft reset */ -#define SW_DPPHY_RESET BIT(0) -/* mux to select DP PHY reset control, 0:HW control, 1: software reset */ -#define SW_DPPHY_RESET_MUX BIT(1) -/* USB3 PHY soft reset */ -#define SW_USB3PHY_RESET BIT(2) -/* mux to select USB3 PHY reset control, 0:HW control, 1: software reset */ -#define SW_USB3PHY_RESET_MUX BIT(3) - -/* QPHY_V3_DP_COM_PHY_MODE_CTRL register bits */ -#define USB3_MODE BIT(0)/* enables USB3 mode */ -#define DP_MODE BIT(1)/* enables DP mode */ #define PHY_INIT_COMPLETE_TIMEOUT 10000 -#define POWER_DOWN_DELAY_US_MIN 10 -#define POWER_DOWN_DELAY_US_MAX 11 - -#define MAX_PROP_NAME 32/* Define the assumed distance between lanes for underspecified device trees. */ #define QMP_PHY_LEGACY_LANE_STRIDE 0x400
@@ -109,11 +88,8 @@ enum qphy_reg_layout {/* PCS registers */ QPHY_SW_RESET ,QPHY_START_CTRL , -QPHY_PCS_READY_STATUS ,QPHY_PCS_STATUS ,QPHY_PCS_POWER_DOWN_CONTROL , -/* PCS_MISC registers */ -QPHY_PCS_MISC_TYPEC_CTRL ,/* Keep last to ensure regs_layout arrays are properly initialized */ QPHY_LAYOUT_SIZE };
Signature · 1 line
2.35.1
Re: [PATCH 04/16] phy: qcom-qmp-pcie: drop unused defines
Quoted 7 lines · Johan Hovold
Drop defines and enums that are unused since the QMP driver split.
Signed-off-by Johan Hovold <[email protected]>--- drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 24 ------------------------ 1 file changed, 24 deletions(-)
Signature · 2 lines
With best wishes Dmitry
PATCH 5/16 phy: qcom-qmp-pcie-msm8996: drop unused runtime PM implementation
In reply to Johan HovoldDrop the unused and incomplete runtime PM implementation, which was only used by USB PHYs before splitting the QMP driver.
Note that the runtime PM was never disabled (and state restored) on driver unbind.
This effectively reverts commit ac0d239936bd ("phy: qcom-qmp: Add support for runtime PM").
--- .../phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c | 37 ------------------- 1 file changed, 37 deletions(-)
drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c +0 -37
@@ -53,17 +53,6 @@#define USB3_MODE BIT(0)/* enables USB3 mode */ #define DP_MODE BIT(1)/* enables DP mode */ -/* QPHY_PCS_AUTONOMOUS_MODE_CTRL register bits */ -#define ARCVR_DTCT_EN BIT(0) -#define ALFPS_DTCT_EN BIT(1) -#define ARCVR_DTCT_EVENT_SEL BIT(4) - -/* QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR register bits */ -#define IRQ_CLEAR BIT(0) - -/* QPHY_PCS_LFPS_RXTERM_IRQ_STATUS register bits */ -#define RCVR_DETECT BIT(0) -/* QPHY_V3_PCS_MISC_CLAMP_ENABLE register bits */ #define CLAMP_EN BIT(0)/* enables i/o clamp_n */
@@ -125,9 +114,6 @@ enum qphy_reg_layout {QPHY_START_CTRL ,QPHY_PCS_READY_STATUS ,QPHY_PCS_STATUS , -QPHY_PCS_AUTONOMOUS_MODE_CTRL , -QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR , -QPHY_PCS_LFPS_RXTERM_IRQ_STATUS ,QPHY_PCS_POWER_DOWN_CONTROL ,/* PCS_MISC registers */ QPHY_PCS_MISC_TYPEC_CTRL,
@@ -308,7 +294,6 @@ struct qmp_phy {unsigned int index;struct qcom_qmp *qmp;struct reset_control *lane_rst; -enum phy_mode mode; };/**
@@ -718,16 +703,6 @@ static int qcom_qmp_phy_pcie_msm8996_disable(struct phy *phy)return qcom_qmp_phy_pcie_msm8996_exit (phy); } -static int qcom_qmp_phy_pcie_msm8996_set_mode (struct phy *phy, -enum phy_mode mode,int submode) -{ -struct qmp_phy *qphy =phy_get_drvdata (phy); - - qphy->mode = mode; - -return 0 ; -} -static int qcom_qmp_phy_pcie_msm8996_vreg_init (struct device *dev,const struct qmp_phy_cfg *cfg) {struct qcom_qmp *qmp =dev_get_drvdata (dev);
@@ -844,7 +819,6 @@ static int phy_pipe_clk_register(struct qcom_qmp *qmp, struct device_node *np)static const struct phy_ops qcom_qmp_phy_pcie_msm8996_ops = { .power_on = qcom_qmp_phy_pcie_msm8996_enable, .power_off = qcom_qmp_phy_pcie_msm8996_disable, - .set_mode = qcom_qmp_phy_pcie_msm8996_set_mode, .owner =THIS_MODULE , };
@@ -989,14 +963,6 @@ static int qcom_qmp_phy_pcie_msm8996_probe(struct platform_device *pdev)if (!qmp->phys)return -ENOMEM ; -pm_runtime_set_active (dev); -pm_runtime_enable (dev); -/* -* Prevent runtime pm from being ON by default. Users can enable -* it using power/control in sysfs. -*/ -pm_runtime_forbid (dev); - id =0 ;for_each_available_child_of_node (dev->of_node, child) {/* Create per-lane phy */
@@ -1024,13 +990,10 @@ static int qcom_qmp_phy_pcie_msm8996_probe(struct platform_device *pdev) phy_provider =devm_of_phy_provider_register (dev, of_phy_simple_xlate);if (!IS_ERR (phy_provider))dev_info (dev,"Registered Qcom-QMP phy\n" ); -else -pm_runtime_disable (dev);return PTR_ERR_OR_ZERO (phy_provider); err_node_put: -pm_runtime_disable (dev);of_node_put (child);return ret; }
Signature · 1 line
2.35.1
Re: [PATCH 05/16] phy: qcom-qmp-pcie-msm8996: drop unused runtime PM implementation
Quoted 6 lines · Johan Hovold
Drop the unused and incomplete runtime PM implementation, which was only used by USB PHYs before splitting the QMP driver.
Note that the runtime PM was never disabled (and state restored) on driver unbind.
Quoted 7 lines
This effectively reverts commit
ac0d239936bd("phy: qcom-qmp: Add support for runtime PM").Signed-off-by Johan Hovold <[email protected]>--- .../phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c | 37 ------------------- 1 file changed, 37 deletions(-)
Signature · 8 lines
With best wishes Dmitry -- linux-phy mailing list [email protected] https://lists.infradead.org/mailman/listinfo/linux-phy
PATCH 6/16 phy: qcom-qmp-pcie-msm8996: drop unused defines
In reply to Johan HovoldDrop defines and enums that are unused since the QMP driver split.
--- .../phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c | 27 +------------------ 1 file changed, 1 insertion(+), 26 deletions(-)
drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c +1 -26
@@ -36,35 +36,13 @@/* QPHY_PCS_STATUS bit */ #define PHYSTATUS BIT(6)#define PHYSTATUS_4_20 BIT(7) -/* QPHY_PCS_READY_STATUS & QPHY_COM_PCS_READY_STATUS bit */ +/* QPHY_COM_PCS_READY_STATUS bit */ #define PCS_READY BIT(0) -/* QPHY_V3_DP_COM_RESET_OVRD_CTRL register bits */ -/* DP PHY soft reset */ -#define SW_DPPHY_RESET BIT(0) -/* mux to select DP PHY reset control, 0:HW control, 1: software reset */ -#define SW_DPPHY_RESET_MUX BIT(1) -/* USB3 PHY soft reset */ -#define SW_USB3PHY_RESET BIT(2) -/* mux to select USB3 PHY reset control, 0:HW control, 1: software reset */ -#define SW_USB3PHY_RESET_MUX BIT(3) - -/* QPHY_V3_DP_COM_PHY_MODE_CTRL register bits */ -#define USB3_MODE BIT(0)/* enables USB3 mode */ -#define DP_MODE BIT(1)/* enables DP mode */ - -/* QPHY_V3_PCS_MISC_CLAMP_ENABLE register bits */ -#define CLAMP_EN BIT(0)/* enables i/o clamp_n */ -#define PHY_INIT_COMPLETE_TIMEOUT 10000#define POWER_DOWN_DELAY_US_MIN 10#define POWER_DOWN_DELAY_US_MAX 11 -#define MAX_PROP_NAME 32 - -/* Define the assumed distance between lanes for underspecified device trees. */ -#define QMP_PHY_LEGACY_LANE_STRIDE 0x400 -struct qmp_phy_init_tbl {unsigned int offset;unsigned int val;
@@ -112,11 +90,8 @@ enum qphy_reg_layout {/* PCS registers */ QPHY_SW_RESET ,QPHY_START_CTRL , -QPHY_PCS_READY_STATUS ,QPHY_PCS_STATUS ,QPHY_PCS_POWER_DOWN_CONTROL , -/* PCS_MISC registers */ -QPHY_PCS_MISC_TYPEC_CTRL ,/* Keep last to ensure regs_layout arrays are properly initialized */ QPHY_LAYOUT_SIZE };
Signature · 7 lines
2.35.1 -- linux-phy mailing list [email protected] https://lists.infradead.org/mailman/listinfo/linux-phy
PATCH 7/16 phy: qcom-qmp-ufs: drop unused runtime PM implementation
In reply to Johan HovoldDrop the unused and incomplete runtime PM implementation, which was only used by USB PHYs before splitting the QMP driver.
Note that the runtime PM was never disabled (and state restored) on driver unbind.
This effectively reverts commit ac0d239936bd ("phy: qcom-qmp: Add support for runtime PM").
--- drivers/phy/qualcomm/phy-qcom-qmp-ufs.c | 38 ------------------------- 1 file changed, 38 deletions(-)
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c +0 -38
@@ -53,17 +53,6 @@#define USB3_MODE BIT(0)/* enables USB3 mode */ #define DP_MODE BIT(1)/* enables DP mode */ -/* QPHY_PCS_AUTONOMOUS_MODE_CTRL register bits */ -#define ARCVR_DTCT_EN BIT(0) -#define ALFPS_DTCT_EN BIT(1) -#define ARCVR_DTCT_EVENT_SEL BIT(4) - -/* QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR register bits */ -#define IRQ_CLEAR BIT(0) - -/* QPHY_PCS_LFPS_RXTERM_IRQ_STATUS register bits */ -#define RCVR_DETECT BIT(0) -/* QPHY_V3_PCS_MISC_CLAMP_ENABLE register bits */ #define CLAMP_EN BIT(0)/* enables i/o clamp_n */
@@ -125,9 +114,6 @@ enum qphy_reg_layout {QPHY_START_CTRL ,QPHY_PCS_READY_STATUS ,QPHY_PCS_STATUS , -QPHY_PCS_AUTONOMOUS_MODE_CTRL , -QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR , -QPHY_PCS_LFPS_RXTERM_IRQ_STATUS ,QPHY_PCS_POWER_DOWN_CONTROL ,/* PCS_MISC registers */ QPHY_PCS_MISC_TYPEC_CTRL,
@@ -635,7 +621,6 @@ struct qmp_phy_cfg {* @pcs_misc: iomapped memory space for lane's pcs_misc * @index: lane index * @qmp: QMP phy to which this lane belongs -* @mode: current PHY mode */ struct qmp_phy {struct phy *phy;
@@ -649,7 +634,6 @@ struct qmp_phy {void __iomem *pcs_misc;unsigned int index;struct qcom_qmp *qmp; -enum phy_mode mode; };/**
@@ -1117,16 +1101,6 @@ static int qcom_qmp_phy_ufs_disable(struct phy *phy)return qcom_qmp_phy_ufs_exit (phy); } -static int qcom_qmp_phy_ufs_set_mode (struct phy *phy, -enum phy_mode mode,int submode) -{ -struct qmp_phy *qphy =phy_get_drvdata (phy); - - qphy->mode = mode; - -return 0 ; -} -static int qcom_qmp_phy_ufs_vreg_init (struct device *dev,const struct qmp_phy_cfg *cfg) {struct qcom_qmp *qmp =dev_get_drvdata (dev);
@@ -1162,7 +1136,6 @@ static int qcom_qmp_phy_ufs_clk_init(struct device *dev, const struct qmp_phy_cfstatic const struct phy_ops qcom_qmp_ufs_ops = { .power_on = qcom_qmp_phy_ufs_enable, .power_off = qcom_qmp_phy_ufs_disable, - .set_mode = qcom_qmp_phy_ufs_set_mode, .owner =THIS_MODULE , };
@@ -1332,14 +1305,6 @@ static int qcom_qmp_phy_ufs_probe(struct platform_device *pdev)if (!qmp->phys)return -ENOMEM ; -pm_runtime_set_active (dev); -pm_runtime_enable (dev); -/* -* Prevent runtime pm from being ON by default. Users can enable -* it using power/control in sysfs. -*/ -pm_runtime_forbid (dev); - id =0 ;for_each_available_child_of_node (dev->of_node, child) {/* Create per-lane phy */
@@ -1356,13 +1321,10 @@ static int qcom_qmp_phy_ufs_probe(struct platform_device *pdev) phy_provider =devm_of_phy_provider_register (dev, of_phy_simple_xlate);if (!IS_ERR (phy_provider))dev_info (dev,"Registered Qcom-QMP phy\n" ); -else -pm_runtime_disable (dev);return PTR_ERR_OR_ZERO (phy_provider); err_node_put: -pm_runtime_disable (dev);of_node_put (child);return ret; }
Signature · 1 line
2.35.1
Re: [PATCH 07/16] phy: qcom-qmp-ufs: drop unused runtime PM implementation
Quoted 10 lines · Johan Hovold
Drop the unused and incomplete runtime PM implementation, which was only used by USB PHYs before splitting the QMP driver.
Note that the runtime PM was never disabled (and state restored) on driver unbind.
This effectively reverts commit
ac0d239936bd("phy: qcom-qmp: Add support for runtime PM").Signed-off-by Johan Hovold <[email protected]>
Signature · 8 lines
With best wishes Dmitry -- linux-phy mailing list [email protected] https://lists.infradead.org/mailman/listinfo/linux-phy
PATCH 8/16 phy: qcom-qmp-ufs: drop unused defines
In reply to Johan HovoldDrop defines and enums that are unused since the QMP driver split.
--- drivers/phy/qualcomm/phy-qcom-qmp-ufs.c | 34 +------------------------ 1 file changed, 1 insertion(+), 33 deletions(-)
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c +1 -33
@@ -28,39 +28,15 @@#define SW_RESET BIT(0)/* QPHY_POWER_DOWN_CONTROL */ #define SW_PWRDN BIT(0) -#define REFCLK_DRV_DSBL BIT(1)/* QPHY_START_CONTROL bits */ #define SERDES_START BIT(0)#define PCS_START BIT(1) -#define PLL_READY_GATE_EN BIT(3)/* QPHY_PCS_STATUS bit */ #define PHYSTATUS BIT(6) -#define PHYSTATUS_4_20 BIT(7) -/* QPHY_PCS_READY_STATUS & QPHY_COM_PCS_READY_STATUS bit */ +/* QPHY_PCS_READY_STATUS bit */ #define PCS_READY BIT(0) -/* QPHY_V3_DP_COM_RESET_OVRD_CTRL register bits */ -/* DP PHY soft reset */ -#define SW_DPPHY_RESET BIT(0) -/* mux to select DP PHY reset control, 0:HW control, 1: software reset */ -#define SW_DPPHY_RESET_MUX BIT(1) -/* USB3 PHY soft reset */ -#define SW_USB3PHY_RESET BIT(2) -/* mux to select USB3 PHY reset control, 0:HW control, 1: software reset */ -#define SW_USB3PHY_RESET_MUX BIT(3) - -/* QPHY_V3_DP_COM_PHY_MODE_CTRL register bits */ -#define USB3_MODE BIT(0)/* enables USB3 mode */ -#define DP_MODE BIT(1)/* enables DP mode */ - -/* QPHY_V3_PCS_MISC_CLAMP_ENABLE register bits */ -#define CLAMP_EN BIT(0)/* enables i/o clamp_n */ -#define PHY_INIT_COMPLETE_TIMEOUT 10000 -#define POWER_DOWN_DELAY_US_MIN 10 -#define POWER_DOWN_DELAY_US_MAX 11 - -#define MAX_PROP_NAME 32/* Define the assumed distance between lanes for underspecified device trees. */ #define QMP_PHY_LEGACY_LANE_STRIDE 0x400
@@ -104,19 +80,11 @@ struct qmp_phy_init_tbl {/* set of registers with offsets different per-PHY */ enum qphy_reg_layout { -/* Common block control registers */ -QPHY_COM_SW_RESET , -QPHY_COM_POWER_DOWN_CONTROL , -QPHY_COM_START_CONTROL , -QPHY_COM_PCS_READY_STATUS ,/* PCS registers */ QPHY_SW_RESET ,QPHY_START_CTRL ,QPHY_PCS_READY_STATUS , -QPHY_PCS_STATUS ,QPHY_PCS_POWER_DOWN_CONTROL , -/* PCS_MISC registers */ -QPHY_PCS_MISC_TYPEC_CTRL ,/* Keep last to ensure regs_layout arrays are properly initialized */ QPHY_LAYOUT_SIZE };
Signature · 1 line
2.35.1
PATCH 9/16 phy: qcom-qmp-usb: disable runtime PM on unbind
In reply to Johan HovoldMake sure to disable runtime PM also on driver unbind.
--- drivers/phy/qualcomm/phy-qcom-qmp-usb.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
drivers/phy/qualcomm/phy-qcom-qmp-usb.c +3 -4
@@ -2838,7 +2838,9 @@ static int qcom_qmp_phy_usb_probe(struct platform_device *pdev)return -ENOMEM ;pm_runtime_set_active (dev); -pm_runtime_enable (dev); + ret =devm_pm_runtime_enable (dev); +if (ret) +return ret;/* * Prevent runtime pm from being ON by default. Users can enable * it using power/control in sysfs.
@@ -2872,13 +2874,10 @@ static int qcom_qmp_phy_usb_probe(struct platform_device *pdev) phy_provider =devm_of_phy_provider_register (dev, of_phy_simple_xlate);if (!IS_ERR (phy_provider))dev_info (dev,"Registered Qcom-QMP phy\n" ); -else -pm_runtime_disable (dev);return PTR_ERR_OR_ZERO (phy_provider); err_node_put: -pm_runtime_disable (dev);of_node_put (child);return ret; }
Signature · 1 line
2.35.1
Re: [PATCH 09/16] phy: qcom-qmp-usb: disable runtime PM on unbind
Quoted 7 lines · Johan Hovold
Make sure to disable runtime PM also on driver unbind.
Fixes ac0d239936bd ("phy: qcom-qmp: Add support for runtime PM").Signed-off-by Johan Hovold <[email protected]>--- drivers/phy/qualcomm/phy-qcom-qmp-usb.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
Nit from the patch 01 applies too.
Signature · 8 lines
With best wishes Dmitry -- linux-phy mailing list [email protected] https://lists.infradead.org/mailman/listinfo/linux-phy
Re: [PATCH 09/16] phy: qcom-qmp-usb: disable runtime PM on unbind
Quoted 9 lines · Dmitry Baryshkov
Quoted 7 lines · Johan Hovold
Make sure to disable runtime PM also on driver unbind.
Fixes ac0d239936bd ("phy: qcom-qmp: Add support for runtime PM").Signed-off-by Johan Hovold <[email protected]>--- drivers/phy/qualcomm/phy-qcom-qmp-usb.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
Quoted 3 lines
Reviewed-by Dmitry Baryshkov <[email protected]>Nit from the patch 01 applies too.
Still very much disagree with you on that.
Johan
PATCH 10/16 phy: qcom-qmp-usb: drop unused defines
In reply to Johan HovoldDrop defines and enums that are unused since the QMP driver split.
--- drivers/phy/qualcomm/phy-qcom-qmp-usb.c | 13 ------------- 1 file changed, 13 deletions(-)
drivers/phy/qualcomm/phy-qcom-qmp-usb.c +0 -13
@@ -28,16 +28,11 @@#define SW_RESET BIT(0)/* QPHY_POWER_DOWN_CONTROL */ #define SW_PWRDN BIT(0) -#define REFCLK_DRV_DSBL BIT(1)/* QPHY_START_CONTROL bits */ #define SERDES_START BIT(0)#define PCS_START BIT(1) -#define PLL_READY_GATE_EN BIT(3)/* QPHY_PCS_STATUS bit */ #define PHYSTATUS BIT(6) -#define PHYSTATUS_4_20 BIT(7) -/* QPHY_PCS_READY_STATUS & QPHY_COM_PCS_READY_STATUS bit */ -#define PCS_READY BIT(0)/* QPHY_V3_DP_COM_RESET_OVRD_CTRL register bits */ /* DP PHY soft reset */
@@ -71,8 +66,6 @@#define POWER_DOWN_DELAY_US_MIN 10#define POWER_DOWN_DELAY_US_MAX 11 -#define MAX_PROP_NAME 32 -/* Define the assumed distance between lanes for underspecified device trees. */ #define QMP_PHY_LEGACY_LANE_STRIDE 0x400
@@ -115,15 +108,9 @@ struct qmp_phy_init_tbl {/* set of registers with offsets different per-PHY */ enum qphy_reg_layout { -/* Common block control registers */ -QPHY_COM_SW_RESET , -QPHY_COM_POWER_DOWN_CONTROL , -QPHY_COM_START_CONTROL , -QPHY_COM_PCS_READY_STATUS ,/* PCS registers */ QPHY_SW_RESET ,QPHY_START_CTRL , -QPHY_PCS_READY_STATUS ,QPHY_PCS_STATUS ,QPHY_PCS_AUTONOMOUS_MODE_CTRL ,QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR ,
Signature · 1 line
2.35.1
PATCH 11/16 phy: qcom-qmp: silence noisy probe
In reply to Johan HovoldDrivers should in general not log anything during unless there are errors.
Drop the pointless registration info message from the QMP drivers.
--- drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 2 -- drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c | 2 -- drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 2 -- drivers/phy/qualcomm/phy-qcom-qmp-ufs.c | 2 -- drivers/phy/qualcomm/phy-qcom-qmp-usb.c | 2 -- 5 files changed, 10 deletions(-)
drivers/phy/qualcomm/phy-qcom-qmp-combo.c +0 -2
@@ -2972,8 +2972,6 @@ static int qcom_qmp_phy_combo_probe(struct platform_device *pdev) } phy_provider =devm_of_phy_provider_register (dev, of_phy_simple_xlate); -if (!IS_ERR (phy_provider)) -dev_info (dev,"Registered Qcom-QMP phy\n" );return PTR_ERR_OR_ZERO (phy_provider);
drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c +0 -2
@@ -963,8 +963,6 @@ static int qcom_qmp_phy_pcie_msm8996_probe(struct platform_device *pdev) } phy_provider =devm_of_phy_provider_register (dev, of_phy_simple_xlate); -if (!IS_ERR (phy_provider)) -dev_info (dev,"Registered Qcom-QMP phy\n" );return PTR_ERR_OR_ZERO (phy_provider);
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c +0 -2
@@ -2448,8 +2448,6 @@ static int qmp_pcie_probe(struct platform_device *pdev) } phy_provider =devm_of_phy_provider_register (dev, of_phy_simple_xlate); -if (!IS_ERR (phy_provider)) -dev_info (dev,"Registered Qcom-QMP phy\n" );return PTR_ERR_OR_ZERO (phy_provider);
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c +0 -2
@@ -1287,8 +1287,6 @@ static int qcom_qmp_phy_ufs_probe(struct platform_device *pdev) } phy_provider =devm_of_phy_provider_register (dev, of_phy_simple_xlate); -if (!IS_ERR (phy_provider)) -dev_info (dev,"Registered Qcom-QMP phy\n" );return PTR_ERR_OR_ZERO (phy_provider);
drivers/phy/qualcomm/phy-qcom-qmp-usb.c +0 -2
@@ -2859,8 +2859,6 @@ static int qcom_qmp_phy_usb_probe(struct platform_device *pdev) } phy_provider =devm_of_phy_provider_register (dev, of_phy_simple_xlate); -if (!IS_ERR (phy_provider)) -dev_info (dev,"Registered Qcom-QMP phy\n" );return PTR_ERR_OR_ZERO (phy_provider);
Signature · 1 line
2.35.1
Re: [PATCH 11/16] phy: qcom-qmp: silence noisy probe
Quoted 6 lines · Johan Hovold
Drivers should in general not log anything during unless there are errors.
Drop the pointless registration info message from the QMP drivers.
Signed-off-by Johan Hovold <[email protected]>
Quoted 7 lines
--- drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 2 -- drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c | 2 -- drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 2 -- drivers/phy/qualcomm/phy-qcom-qmp-ufs.c | 2 -- drivers/phy/qualcomm/phy-qcom-qmp-usb.c | 2 -- 5 files changed, 10 deletions(-)--
With best wishes
Dmitry
Signature · 3 lines
linux-phy mailing list [email protected] https://lists.infradead.org/mailman/listinfo/linux-phy
PATCH 12/16 phy: qcom-qmp-combo: shorten function prefixes
In reply to Johan HovoldThe driver function prefix has gotten unnecessarily long and hurts readability.
Shorten "qcom_qmp_phy_" to "qmp_" (which likely stands for "Qualcomm Multi PHY" or similar anyway).
--- drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 165 +++++++++++----------- 1 file changed, 79 insertions(+), 86 deletions(-)
drivers/phy/qualcomm/phy-qcom-qmp-combo.c +79 -86
@@ -1384,7 +1384,7 @@ static const struct qmp_phy_combo_cfg sm8250_usb3dpphy_cfg = { .dp_cfg = &sm8250_dpphy_cfg, }; -static void qcom_qmp_phy_combo_configure_lane(void __iomem *base, +static void qmp_combo_configure_lane(void __iomem *base, const unsigned int *regs, const struct qmp_phy_init_tbl tbl[], int num,
@@ -1407,15 +1407,15 @@ static void qcom_qmp_phy_combo_configure_lane(void __iomem *base, } } -static void qcom_qmp_phy_combo_configure (void __iomem *base, +static void qmp_combo_configure (void __iomem *base,const unsigned int *regs,const struct qmp_phy_init_tbl tbl[],int num) { -qcom_qmp_phy_combo_configure_lane (base, regs, tbl, num,0xff ); +qmp_combo_configure_lane (base, regs, tbl, num,0xff ); } -static int qcom_qmp_phy_combo_serdes_init (struct qmp_phy *qphy) +static int qmp_combo_serdes_init (struct qmp_phy *qphy) {const struct qmp_phy_cfg *cfg = qphy->cfg;void __iomem *serdes = qphy->serdes;
@@ -1423,27 +1423,27 @@ static int qcom_qmp_phy_combo_serdes_init(struct qmp_phy *qphy)const struct qmp_phy_init_tbl *serdes_tbl = cfg->serdes_tbl;int serdes_tbl_num = cfg->serdes_tbl_num; -qcom_qmp_phy_combo_configure (serdes, cfg->regs, serdes_tbl, serdes_tbl_num); +qmp_combo_configure (serdes, cfg->regs, serdes_tbl, serdes_tbl_num);if (cfg->type ==PHY_TYPE_DP ) {switch (dp_opts->link_rate) {case 1620 : -qcom_qmp_phy_combo_configure (serdes, cfg->regs, +qmp_combo_configure (serdes, cfg->regs, cfg->serdes_tbl_rbr, cfg->serdes_tbl_rbr_num);break ;case 2700 : -qcom_qmp_phy_combo_configure (serdes, cfg->regs, +qmp_combo_configure (serdes, cfg->regs, cfg->serdes_tbl_hbr, cfg->serdes_tbl_hbr_num);break ;case 5400 : -qcom_qmp_phy_combo_configure (serdes, cfg->regs, +qmp_combo_configure (serdes, cfg->regs, cfg->serdes_tbl_hbr2, cfg->serdes_tbl_hbr2_num);break ;case 8100 : -qcom_qmp_phy_combo_configure (serdes, cfg->regs, +qmp_combo_configure (serdes, cfg->regs, cfg->serdes_tbl_hbr3, cfg->serdes_tbl_hbr3_num);break ;
@@ -1499,7 +1499,7 @@ static void qcom_qmp_v3_phy_dp_aux_init(struct qmp_phy *qphy) qphy->pcs + QSERDES_V3_DP_PHY_AUX_INTERRUPT_MASK); } -static int qcom_qmp_phy_combo_configure_dp_swing (struct qmp_phy *qphy, +static int qmp_combo_configure_dp_swing (struct qmp_phy *qphy,unsigned int drv_lvl_reg,unsigned int emp_post_reg) {const struct phy_configure_opts_dp *dp_opts = &qphy->dp_opts;
@@ -1542,8 +1542,7 @@ static void qcom_qmp_v3_phy_configure_dp_tx(struct qmp_phy *qphy)const struct phy_configure_opts_dp *dp_opts = &qphy->dp_opts;u32 bias_en, drvr_en; -if (qcom_qmp_phy_combo_configure_dp_swing (qphy, -QSERDES_V3_TX_TX_DRV_LVL , +if (qmp_combo_configure_dp_swing (qphy,QSERDES_V3_TX_TX_DRV_LVL ,QSERDES_V3_TX_TX_EMP_POST1_LVL ) <0 )return ;
@@ -1561,7 +1560,7 @@ static void qcom_qmp_v3_phy_configure_dp_tx(struct qmp_phy *qphy)writel (bias_en, qphy->tx2 +QSERDES_V3_TX_TRANSCEIVER_BIAS_EN ); } -static bool qcom_qmp_phy_combo_configure_dp_mode (struct qmp_phy *qphy) +static bool qmp_combo_configure_dp_mode (struct qmp_phy *qphy) {u32 val;bool reverse = false;
@@ -1598,7 +1597,7 @@ static int qcom_qmp_v3_phy_configure_dp_phy(struct qmp_phy *qphy)u32 phy_vco_div, status;unsigned long pixel_freq; -qcom_qmp_phy_combo_configure_dp_mode (qphy); +qmp_combo_configure_dp_mode (qphy);writel (0x05 , qphy->pcs +QSERDES_V3_DP_PHY_TX0_TX1_LANE_CTL );writel (0x05 , qphy->pcs +QSERDES_V3_DP_PHY_TX2_TX3_LANE_CTL );
@@ -1718,8 +1717,7 @@ static void qcom_qmp_v4_phy_configure_dp_tx(struct qmp_phy *qphy)writel (0x20 , qphy->tx +QSERDES_V4_TX_TX_EMP_POST1_LVL );writel (0x20 , qphy->tx2 +QSERDES_V4_TX_TX_EMP_POST1_LVL ); -qcom_qmp_phy_combo_configure_dp_swing (qphy, -QSERDES_V4_TX_TX_DRV_LVL , +qmp_combo_configure_dp_swing (qphy,QSERDES_V4_TX_TX_DRV_LVL ,QSERDES_V4_TX_TX_EMP_POST1_LVL ); }
@@ -1732,7 +1730,7 @@ static int qcom_qmp_v45_phy_configure_dp_phy(struct qmp_phy *qphy)writel (0x0f , qphy->pcs +QSERDES_V4_DP_PHY_CFG_1 ); -qcom_qmp_phy_combo_configure_dp_mode (qphy); +qmp_combo_configure_dp_mode (qphy);writel (0x13 , qphy->pcs +QSERDES_DP_PHY_AUX_CFG1 );writel (0xa4 , qphy->pcs +QSERDES_DP_PHY_AUX_CFG2 );
@@ -1976,7 +1974,7 @@ static int qcom_qmp_dp_phy_calibrate(struct phy *phy)return 0 ; } -static int qcom_qmp_phy_combo_com_init (struct qmp_phy *qphy) +static int qmp_combo_com_init (struct qmp_phy *qphy) {struct qcom_qmp *qmp = qphy->qmp;const struct qmp_phy_cfg *cfg = qphy->cfg;
@@ -2058,7 +2056,7 @@ static int qcom_qmp_phy_combo_com_init(struct qmp_phy *qphy)return ret; } -static int qcom_qmp_phy_combo_com_exit (struct qmp_phy *qphy) +static int qmp_combo_com_exit (struct qmp_phy *qphy) {struct qcom_qmp *qmp = qphy->qmp;const struct qmp_phy_cfg *cfg = qphy->cfg;
@@ -2082,7 +2080,7 @@ static int qcom_qmp_phy_combo_com_exit(struct qmp_phy *qphy)return 0 ; } -static int qcom_qmp_phy_combo_init (struct phy *phy) +static int qmp_combo_init (struct phy *phy) {struct qmp_phy *qphy =phy_get_drvdata (phy);struct qcom_qmp *qmp = qphy->qmp;
@@ -2090,7 +2088,7 @@ static int qcom_qmp_phy_combo_init(struct phy *phy)int ret;dev_vdbg (qmp->dev,"Initializing QMP phy\n" ); - ret =qcom_qmp_phy_combo_com_init (qphy); + ret =qmp_combo_com_init (qphy);if (ret)return ret;
@@ -2100,7 +2098,7 @@ static int qcom_qmp_phy_combo_init(struct phy *phy)return 0 ; } -static int qcom_qmp_phy_combo_power_on (struct phy *phy) +static int qmp_combo_power_on (struct phy *phy) {struct qmp_phy *qphy =phy_get_drvdata (phy);struct qcom_qmp *qmp = qphy->qmp;
@@ -2112,7 +2110,7 @@ static int qcom_qmp_phy_combo_power_on(struct phy *phy)unsigned int mask, val, ready;int ret; -qcom_qmp_phy_combo_serdes_init (qphy); +qmp_combo_serdes_init (qphy); ret =clk_prepare_enable (qphy->pipe_clk);if (ret) {
@@ -2121,32 +2119,29 @@ static int qcom_qmp_phy_combo_power_on(struct phy *phy) }/* Tx, Rx, and PCS configurations */ -qcom_qmp_phy_combo_configure_lane (tx, cfg->regs, - cfg->tx_tbl, cfg->tx_tbl_num,1 ); +qmp_combo_configure_lane (tx, cfg->regs, cfg->tx_tbl, cfg->tx_tbl_num,1 );if (cfg->is_dual_lane_phy) { -qcom_qmp_phy_combo_configure_lane (qphy->tx2, cfg->regs, - cfg->tx_tbl, cfg->tx_tbl_num,2 ); +qmp_combo_configure_lane (qphy->tx2, cfg->regs, cfg->tx_tbl, + cfg->tx_tbl_num,2 ); }/* Configure special DP tx tunings */ if (cfg->type ==PHY_TYPE_DP ) cfg->configure_dp_tx (qphy); -qcom_qmp_phy_combo_configure_lane (rx, cfg->regs, - cfg->rx_tbl, cfg->rx_tbl_num,1 ); +qmp_combo_configure_lane (rx, cfg->regs, cfg->rx_tbl, cfg->rx_tbl_num,1 );if (cfg->is_dual_lane_phy) { -qcom_qmp_phy_combo_configure_lane (qphy->rx2, cfg->regs, - cfg->rx_tbl, cfg->rx_tbl_num,2 ); +qmp_combo_configure_lane (qphy->rx2, cfg->regs, cfg->rx_tbl, + cfg->rx_tbl_num,2 ); }/* Configure link rate, swing, etc. */ -if (cfg->type ==PHY_TYPE_DP ) { +if (cfg->type ==PHY_TYPE_DP ) cfg->configure_dp_phy (qphy); - }else { -qcom_qmp_phy_combo_configure (pcs, cfg->regs, cfg->pcs_tbl, cfg->pcs_tbl_num); - } +else +qmp_combo_configure (pcs, cfg->regs, cfg->pcs_tbl, cfg->pcs_tbl_num); ret =reset_control_deassert (qmp->ufs_reset);if (ret)
@@ -2180,7 +2175,7 @@ static int qcom_qmp_phy_combo_power_on(struct phy *phy)return ret; } -static int qcom_qmp_phy_combo_power_off (struct phy *phy) +static int qmp_combo_power_off (struct phy *phy) {struct qmp_phy *qphy =phy_get_drvdata (phy);const struct qmp_phy_cfg *cfg = qphy->cfg;
@@ -2210,42 +2205,41 @@ static int qcom_qmp_phy_combo_power_off(struct phy *phy)return 0 ; } -static int qcom_qmp_phy_combo_exit (struct phy *phy) +static int qmp_combo_exit (struct phy *phy) {struct qmp_phy *qphy =phy_get_drvdata (phy); -qcom_qmp_phy_combo_com_exit (qphy); +qmp_combo_com_exit (qphy);return 0 ; } -static int qcom_qmp_phy_combo_enable (struct phy *phy) +static int qmp_combo_enable (struct phy *phy) {int ret; - ret =qcom_qmp_phy_combo_init (phy); + ret =qmp_combo_init (phy);if (ret)return ret; - ret =qcom_qmp_phy_combo_power_on (phy); + ret =qmp_combo_power_on (phy);if (ret) -qcom_qmp_phy_combo_exit (phy); +qmp_combo_exit (phy);return ret; } -static int qcom_qmp_phy_combo_disable (struct phy *phy) +static int qmp_combo_disable (struct phy *phy) {int ret; - ret =qcom_qmp_phy_combo_power_off (phy); + ret =qmp_combo_power_off (phy);if (ret)return ret; -return qcom_qmp_phy_combo_exit (phy); +return qmp_combo_exit (phy); } -static int qcom_qmp_phy_combo_set_mode (struct phy *phy, -enum phy_mode mode,int submode) +static int qmp_combo_set_mode (struct phy *phy,enum phy_mode mode,int submode) {struct qmp_phy *qphy =phy_get_drvdata (phy);
@@ -2254,7 +2248,7 @@ static int qcom_qmp_phy_combo_set_mode(struct phy *phy,return 0 ; } -static void qcom_qmp_phy_combo_enable_autonomous_mode (struct qmp_phy *qphy) +static void qmp_combo_enable_autonomous_mode (struct qmp_phy *qphy) {const struct qmp_phy_cfg *cfg = qphy->cfg;void __iomem *pcs_usb = qphy->pcs_usb ?: qphy->pcs;
@@ -2283,7 +2277,7 @@ static void qcom_qmp_phy_combo_enable_autonomous_mode(struct qmp_phy *qphy)qphy_clrbits (pcs_misc,QPHY_V3_PCS_MISC_CLAMP_ENABLE ,CLAMP_EN ); } -static void qcom_qmp_phy_combo_disable_autonomous_mode (struct qmp_phy *qphy) +static void qmp_combo_disable_autonomous_mode (struct qmp_phy *qphy) {const struct qmp_phy_cfg *cfg = qphy->cfg;void __iomem *pcs_usb = qphy->pcs_usb ?: qphy->pcs_usb;
@@ -2301,7 +2295,7 @@ static void qcom_qmp_phy_combo_disable_autonomous_mode(struct qmp_phy *qphy)qphy_clrbits (pcs_usb, cfg->regs[QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR ],IRQ_CLEAR ); } -static int __maybe_unused qcom_qmp_phy_combo_runtime_suspend (struct device *dev) +static int __maybe_unused qmp_combo_runtime_suspend (struct device *dev) {struct qcom_qmp *qmp =dev_get_drvdata (dev);struct qmp_phy *qphy = qmp->phys[0 ];
@@ -2318,7 +2312,7 @@ static int __maybe_unused qcom_qmp_phy_combo_runtime_suspend(struct device *dev)return 0 ; } -qcom_qmp_phy_combo_enable_autonomous_mode (qphy); +qmp_combo_enable_autonomous_mode (qphy);clk_disable_unprepare (qphy->pipe_clk);clk_bulk_disable_unprepare (cfg->num_clks, qmp->clks);
@@ -2326,7 +2320,7 @@ static int __maybe_unused qcom_qmp_phy_combo_runtime_suspend(struct device *dev)return 0 ; } -static int __maybe_unused qcom_qmp_phy_combo_runtime_resume (struct device *dev) +static int __maybe_unused qmp_combo_runtime_resume (struct device *dev) {struct qcom_qmp *qmp =dev_get_drvdata (dev);struct qmp_phy *qphy = qmp->phys[0 ];
@@ -2355,12 +2349,12 @@ static int __maybe_unused qcom_qmp_phy_combo_runtime_resume(struct device *dev)return ret; } -qcom_qmp_phy_combo_disable_autonomous_mode (qphy); +qmp_combo_disable_autonomous_mode (qphy);return 0 ; } -static int qcom_qmp_phy_combo_vreg_init (struct device *dev,const struct qmp_phy_cfg *cfg) +static int qmp_combo_vreg_init (struct device *dev,const struct qmp_phy_cfg *cfg) {struct qcom_qmp *qmp =dev_get_drvdata (dev);int num = cfg->num_vregs;
@@ -2392,7 +2386,7 @@ static int qcom_qmp_phy_combo_vreg_init(struct device *dev, const struct qmp_phyreturn 0 ; } -static int qcom_qmp_phy_combo_reset_init (struct device *dev,const struct qmp_phy_cfg *cfg) +static int qmp_combo_reset_init (struct device *dev,const struct qmp_phy_cfg *cfg) {struct qcom_qmp *qmp =dev_get_drvdata (dev);int i;
@@ -2413,7 +2407,7 @@ static int qcom_qmp_phy_combo_reset_init(struct device *dev, const struct qmp_phreturn 0 ; } -static int qcom_qmp_phy_combo_clk_init (struct device *dev,const struct qmp_phy_cfg *cfg) +static int qmp_combo_clk_init (struct device *dev,const struct qmp_phy_cfg *cfg) {struct qcom_qmp *qmp =dev_get_drvdata (dev);int num = cfg->num_clks;
@@ -2681,26 +2675,25 @@ static int phy_dp_clks_register(struct qcom_qmp *qmp, struct qmp_phy *qphy,return devm_add_action_or_reset (qmp->dev, phy_clk_release_provider, np); } -static const struct phy_ops qcom_qmp_phy_combo_usb_ops = { - .init = qcom_qmp_phy_combo_enable, - .exit = qcom_qmp_phy_combo_disable, - .set_mode = qcom_qmp_phy_combo_set_mode, +static const struct phy_ops qmp_combo_usb_ops = { + .init = qmp_combo_enable, + .exit = qmp_combo_disable, + .set_mode = qmp_combo_set_mode, .owner =THIS_MODULE , }; -static const struct phy_ops qcom_qmp_phy_combo_dp_ops = { - .init = qcom_qmp_phy_combo_init, +static const struct phy_ops qmp_combo_dp_ops = { + .init = qmp_combo_init, .configure = qcom_qmp_dp_phy_configure, - .power_on = qcom_qmp_phy_combo_power_on, + .power_on = qmp_combo_power_on, .calibrate = qcom_qmp_dp_phy_calibrate, - .power_off = qcom_qmp_phy_combo_power_off, - .exit = qcom_qmp_phy_combo_exit, - .set_mode = qcom_qmp_phy_combo_set_mode, + .power_off = qmp_combo_power_off, + .exit = qmp_combo_exit, + .set_mode = qmp_combo_set_mode, .owner =THIS_MODULE , }; -static -int qcom_qmp_phy_combo_create (struct device *dev,struct device_node *np,int id, +static int qmp_combo_create (struct device *dev,struct device_node *np,int id,void __iomem *serdes,const struct qmp_phy_cfg *cfg) {struct qcom_qmp *qmp =dev_get_drvdata (dev);
@@ -2786,9 +2779,9 @@ int qcom_qmp_phy_combo_create(struct device *dev, struct device_node *np, int id }if (cfg->type ==PHY_TYPE_DP ) - ops = &qcom_qmp_phy_combo_dp_ops; + ops = &qmp_combo_dp_ops;else - ops = &qcom_qmp_phy_combo_usb_ops; + ops = &qmp_combo_usb_ops; generic_phy =devm_phy_create (dev, np, ops);if (IS_ERR (generic_phy)) {
@@ -2806,7 +2799,7 @@ int qcom_qmp_phy_combo_create(struct device *dev, struct device_node *np, int idreturn 0 ; } -static const struct of_device_id qcom_qmp_combo_phy_of_match_table[] = { +static const struct of_device_id qmp_combo_of_match_table[] = { { .compatible ="qcom,sc7180-qmp-usb3-dp-phy" , .data = &sc7180_usb3dpphy_cfg,
@@ -2829,14 +2822,14 @@ static const struct of_device_id qcom_qmp_combo_phy_of_match_table[] = { }, { } }; -MODULE_DEVICE_TABLE (of, qcom_qmp_combo_phy_of_match_table); +MODULE_DEVICE_TABLE (of, qmp_combo_of_match_table); -static const struct dev_pm_ops qcom_qmp_phy_combo_pm_ops = { -SET_RUNTIME_PM_OPS (qcom_qmp_phy_combo_runtime_suspend, - qcom_qmp_phy_combo_runtime_resume,NULL ) +static const struct dev_pm_ops qmp_combo_pm_ops = { +SET_RUNTIME_PM_OPS (qmp_combo_runtime_suspend, + qmp_combo_runtime_resume,NULL ) }; -static int qcom_qmp_phy_combo_probe (struct platform_device *pdev) +static int qmp_combo_probe (struct platform_device *pdev) {struct qcom_qmp *qmp;struct device *dev = &pdev->dev;
@@ -2889,15 +2882,15 @@ static int qcom_qmp_phy_combo_probe(struct platform_device *pdev)mutex_init (&qmp->phy_mutex); - ret =qcom_qmp_phy_combo_clk_init (dev, cfg); + ret =qmp_combo_clk_init (dev, cfg);if (ret)return ret; - ret =qcom_qmp_phy_combo_reset_init (dev, cfg); + ret =qmp_combo_reset_init (dev, cfg);if (ret)return ret; - ret =qcom_qmp_phy_combo_vreg_init (dev, cfg); + ret =qmp_combo_vreg_init (dev, cfg);if (ret) {if (ret != -EPROBE_DEFER ) dev_err(dev, "failed to get regulator supplies: %d\n",
@@ -2931,7 +2924,7 @@ static int qcom_qmp_phy_combo_probe(struct platform_device *pdev) serdes = dp_serdes;/* Create per-lane phy */ - ret =qcom_qmp_phy_combo_create (dev, child, id, serdes, cfg); + ret =qmp_combo_create (dev, child, id, serdes, cfg);if (ret) {dev_err (dev,"failed to create lane%d phy, %d\n" , id, ret);
@@ -2949,7 +2942,7 @@ static int qcom_qmp_phy_combo_probe(struct platform_device *pdev) serdes = usb_serdes;/* Create per-lane phy */ - ret =qcom_qmp_phy_combo_create (dev, child, id, serdes, cfg); + ret =qmp_combo_create (dev, child, id, serdes, cfg);if (ret) {dev_err (dev,"failed to create lane%d phy, %d\n" , id, ret);
@@ -2980,16 +2973,16 @@ static int qcom_qmp_phy_combo_probe(struct platform_device *pdev)return ret; } -static struct platform_driver qcom_qmp_phy_combo_driver = { - .probe = qcom_qmp_phy_combo_probe, +static struct platform_driver qmp_combo_driver = { + .probe = qmp_combo_probe, .driver = { .name ="qcom-qmp-combo-phy" , - .pm = &qcom_qmp_phy_combo_pm_ops, - .of_match_table = qcom_qmp_combo_phy_of_match_table, + .pm = &qmp_combo_pm_ops, + .of_match_table = qmp_combo_of_match_table, }, }; -module_platform_driver (qcom_qmp_phy_combo_driver); +module_platform_driver (qmp_combo_driver);MODULE_AUTHOR ("Vivek Gautam <[email protected]>" );MODULE_DESCRIPTION ("Qualcomm QMP USB+DP combo PHY driver" );
Signature · 1 line
2.35.1
Re: [PATCH 12/16] phy: qcom-qmp-combo: shorten function prefixes
Quoted 10 lines · Johan Hovold
The driver function prefix has gotten unnecessarily long and hurts readability.
Shorten "
qcom_qmp_phy_" to "qmp_" (which likely stands for "Qualcomm Multi PHY" or similar anyway).Signed-off-by Johan Hovold <[email protected]>--- drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 165 +++++++++++----------- 1 file changed, 79 insertions(+), 86 deletions(-)
Signature · 8 lines
With best wishes Dmitry -- linux-phy mailing list [email protected] https://lists.infradead.org/mailman/listinfo/linux-phy
PATCH 13/16 phy: qcom-qmp-pcie-msm8996: drop unused secondary init tables
In reply to Johan HovoldDrop the secondary register initialisation tables which aren't used by this driver.
--- .../phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c | 26 ------------------- 1 file changed, 26 deletions(-)
drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c +0 -26
@@ -196,24 +196,14 @@ struct qmp_phy_cfg {/* Init sequence for PHY blocks - serdes, tx, rx, pcs */ const struct qmp_phy_init_tbl *serdes_tbl;int serdes_tbl_num; -const struct qmp_phy_init_tbl *serdes_tbl_sec; -int serdes_tbl_num_sec;const struct qmp_phy_init_tbl *tx_tbl;int tx_tbl_num; -const struct qmp_phy_init_tbl *tx_tbl_sec; -int tx_tbl_num_sec;const struct qmp_phy_init_tbl *rx_tbl;int rx_tbl_num; -const struct qmp_phy_init_tbl *rx_tbl_sec; -int rx_tbl_num_sec;const struct qmp_phy_init_tbl *pcs_tbl;int pcs_tbl_num; -const struct qmp_phy_init_tbl *pcs_tbl_sec; -int pcs_tbl_num_sec;const struct qmp_phy_init_tbl *pcs_misc_tbl;int pcs_misc_tbl_num; -const struct qmp_phy_init_tbl *pcs_misc_tbl_sec; -int pcs_misc_tbl_num_sec;/* clock ids to be requested */ const char *const *clk_list;
@@ -409,10 +399,6 @@ static int qcom_qmp_phy_pcie_msm8996_serdes_init(struct qmp_phy *qphy)int ret;qcom_qmp_phy_pcie_msm8996_configure (serdes, cfg->regs, serdes_tbl, serdes_tbl_num); -if (cfg->serdes_tbl_sec) -qcom_qmp_phy_pcie_msm8996_configure (serdes, cfg->regs, cfg->serdes_tbl_sec, - cfg->serdes_tbl_num_sec); -qphy_clrbits (serdes, cfg->regs[QPHY_COM_SW_RESET ],SW_RESET ); qphy_setbits(serdes, cfg->regs[QPHY_COM_START_CONTROL],
@@ -560,26 +546,14 @@ static int qcom_qmp_phy_pcie_msm8996_power_on(struct phy *phy)/* Tx, Rx, and PCS configurations */ qcom_qmp_phy_pcie_msm8996_configure_lane (tx, cfg->regs, cfg->tx_tbl, cfg->tx_tbl_num,1 ); -if (cfg->tx_tbl_sec) -qcom_qmp_phy_pcie_msm8996_configure_lane (tx, cfg->regs, cfg->tx_tbl_sec, - cfg->tx_tbl_num_sec,1 );qcom_qmp_phy_pcie_msm8996_configure_lane (rx, cfg->regs, cfg->rx_tbl, cfg->rx_tbl_num,1 ); -if (cfg->rx_tbl_sec) -qcom_qmp_phy_pcie_msm8996_configure_lane (rx, cfg->regs, - cfg->rx_tbl_sec, cfg->rx_tbl_num_sec,1 );qcom_qmp_phy_pcie_msm8996_configure (pcs, cfg->regs, cfg->pcs_tbl, cfg->pcs_tbl_num); -if (cfg->pcs_tbl_sec) -qcom_qmp_phy_pcie_msm8996_configure (pcs, cfg->regs, cfg->pcs_tbl_sec, - cfg->pcs_tbl_num_sec);qcom_qmp_phy_pcie_msm8996_configure (pcs_misc, cfg->regs, cfg->pcs_misc_tbl, cfg->pcs_misc_tbl_num); -if (cfg->pcs_misc_tbl_sec) -qcom_qmp_phy_pcie_msm8996_configure (pcs_misc, cfg->regs, cfg->pcs_misc_tbl_sec, - cfg->pcs_misc_tbl_num_sec);/* * Pull out PHY from POWER DOWN state.
Signature · 1 line
2.35.1
Re: [PATCH 13/16] phy: qcom-qmp-pcie-msm8996: drop unused secondary init tables
Quoted 7 lines · Johan Hovold
Drop the secondary register initialisation tables which aren't used by this driver.
Signed-off-by Johan Hovold <[email protected]>--- .../phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c | 26 ------------------- 1 file changed, 26 deletions(-)
Signature · 2 lines
With best wishes Dmitry
PATCH 14/16 phy: qcom-qmp-pcie-msm8996: shorten function prefixes
In reply to Johan HovoldThe driver function prefix has gotten unnecessarily long and hurts readability.
Shorten "qcom_qmp_phy_" to "qmp_" (which likely stands for "Qualcomm Multi PHY" or similar anyway).
--- .../phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c | 93 +++++++++---------- 1 file changed, 46 insertions(+), 47 deletions(-)
drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c +46 -47
@@ -356,7 +356,7 @@ static const struct qmp_phy_cfg msm8996_pciephy_cfg = { .pwrdn_delay_max = POWER_DOWN_DELAY_US_MAX, }; -static void qcom_qmp_phy_pcie_msm8996_configure_lane(void __iomem *base, +static void qmp_pcie_msm8996_configure_lane(void __iomem *base, const unsigned int *regs, const struct qmp_phy_init_tbl tbl[], int num,
@@ -379,15 +379,15 @@ static void qcom_qmp_phy_pcie_msm8996_configure_lane(void __iomem *base, } } -static void qcom_qmp_phy_pcie_msm8996_configure (void __iomem *base, +static void qmp_pcie_msm8996_configure (void __iomem *base,const unsigned int *regs,const struct qmp_phy_init_tbl tbl[],int num) { -qcom_qmp_phy_pcie_msm8996_configure_lane (base, regs, tbl, num,0xff ); +qmp_pcie_msm8996_configure_lane (base, regs, tbl, num,0xff ); } -static int qcom_qmp_phy_pcie_msm8996_serdes_init (struct qmp_phy *qphy) +static int qmp_pcie_msm8996_serdes_init (struct qmp_phy *qphy) {struct qcom_qmp *qmp = qphy->qmp;const struct qmp_phy_cfg *cfg = qphy->cfg;
@@ -398,7 +398,7 @@ static int qcom_qmp_phy_pcie_msm8996_serdes_init(struct qmp_phy *qphy)unsigned int mask, val;int ret; -qcom_qmp_phy_pcie_msm8996_configure (serdes, cfg->regs, serdes_tbl, serdes_tbl_num); +qmp_pcie_msm8996_configure (serdes, cfg->regs, serdes_tbl, serdes_tbl_num);qphy_clrbits (serdes, cfg->regs[QPHY_COM_SW_RESET ],SW_RESET ); qphy_setbits(serdes, cfg->regs[QPHY_COM_START_CONTROL],
@@ -418,7 +418,7 @@ static int qcom_qmp_phy_pcie_msm8996_serdes_init(struct qmp_phy *qphy)return 0 ; } -static int qcom_qmp_phy_pcie_msm8996_com_init (struct qmp_phy *qphy) +static int qmp_pcie_msm8996_com_init (struct qmp_phy *qphy) {struct qcom_qmp *qmp = qphy->qmp;const struct qmp_phy_cfg *cfg = qphy->cfg;
@@ -471,7 +471,7 @@ static int qcom_qmp_phy_pcie_msm8996_com_init(struct qmp_phy *qphy)return ret; } -static int qcom_qmp_phy_pcie_msm8996_com_exit (struct qmp_phy *qphy) +static int qmp_pcie_msm8996_com_exit (struct qmp_phy *qphy) {struct qcom_qmp *qmp = qphy->qmp;const struct qmp_phy_cfg *cfg = qphy->cfg;
@@ -501,21 +501,21 @@ static int qcom_qmp_phy_pcie_msm8996_com_exit(struct qmp_phy *qphy)return 0 ; } -static int qcom_qmp_phy_pcie_msm8996_init (struct phy *phy) +static int qmp_pcie_msm8996_init (struct phy *phy) {struct qmp_phy *qphy =phy_get_drvdata (phy);struct qcom_qmp *qmp = qphy->qmp;int ret;dev_vdbg (qmp->dev,"Initializing QMP phy\n" ); - ret =qcom_qmp_phy_pcie_msm8996_com_init (qphy); + ret =qmp_pcie_msm8996_com_init (qphy);if (ret)return ret;return 0 ; } -static int qcom_qmp_phy_pcie_msm8996_power_on (struct phy *phy) +static int qmp_pcie_msm8996_power_on (struct phy *phy) {struct qmp_phy *qphy =phy_get_drvdata (phy);struct qcom_qmp *qmp = qphy->qmp;
@@ -528,7 +528,7 @@ static int qcom_qmp_phy_pcie_msm8996_power_on(struct phy *phy)unsigned int mask, val, ready;int ret; -qcom_qmp_phy_pcie_msm8996_serdes_init (qphy); +qmp_pcie_msm8996_serdes_init (qphy); ret =reset_control_deassert (qphy->lane_rst);if (ret) {
@@ -544,15 +544,15 @@ static int qcom_qmp_phy_pcie_msm8996_power_on(struct phy *phy) }/* Tx, Rx, and PCS configurations */ -qcom_qmp_phy_pcie_msm8996_configure_lane (tx, cfg->regs, - cfg->tx_tbl, cfg->tx_tbl_num,1 ); +qmp_pcie_msm8996_configure_lane (tx, cfg->regs, cfg->tx_tbl, + cfg->tx_tbl_num,1 ); -qcom_qmp_phy_pcie_msm8996_configure_lane (rx, cfg->regs, - cfg->rx_tbl, cfg->rx_tbl_num,1 ); +qmp_pcie_msm8996_configure_lane (rx, cfg->regs, cfg->rx_tbl, + cfg->rx_tbl_num,1 ); -qcom_qmp_phy_pcie_msm8996_configure (pcs, cfg->regs, cfg->pcs_tbl, cfg->pcs_tbl_num); +qmp_pcie_msm8996_configure (pcs, cfg->regs, cfg->pcs_tbl, cfg->pcs_tbl_num); -qcom_qmp_phy_pcie_msm8996_configure (pcs_misc, cfg->regs, cfg->pcs_misc_tbl, +qmp_pcie_msm8996_configure (pcs_misc, cfg->regs, cfg->pcs_misc_tbl, cfg->pcs_misc_tbl_num);/*
@@ -591,7 +591,7 @@ static int qcom_qmp_phy_pcie_msm8996_power_on(struct phy *phy)return ret; } -static int qcom_qmp_phy_pcie_msm8996_power_off (struct phy *phy) +static int qmp_pcie_msm8996_power_off (struct phy *phy) {struct qmp_phy *qphy =phy_get_drvdata (phy);const struct qmp_phy_cfg *cfg = qphy->cfg;
@@ -616,43 +616,43 @@ static int qcom_qmp_phy_pcie_msm8996_power_off(struct phy *phy)return 0 ; } -static int qcom_qmp_phy_pcie_msm8996_exit (struct phy *phy) +static int qmp_pcie_msm8996_exit (struct phy *phy) {struct qmp_phy *qphy =phy_get_drvdata (phy);reset_control_assert (qphy->lane_rst); -qcom_qmp_phy_pcie_msm8996_com_exit (qphy); +qmp_pcie_msm8996_com_exit (qphy);return 0 ; } -static int qcom_qmp_phy_pcie_msm8996_enable (struct phy *phy) +static int qmp_pcie_msm8996_enable (struct phy *phy) {int ret; - ret =qcom_qmp_phy_pcie_msm8996_init (phy); + ret =qmp_pcie_msm8996_init (phy);if (ret)return ret; - ret =qcom_qmp_phy_pcie_msm8996_power_on (phy); + ret =qmp_pcie_msm8996_power_on (phy);if (ret) -qcom_qmp_phy_pcie_msm8996_exit (phy); +qmp_pcie_msm8996_exit (phy);return ret; } -static int qcom_qmp_phy_pcie_msm8996_disable (struct phy *phy) +static int qmp_pcie_msm8996_disable (struct phy *phy) {int ret; - ret =qcom_qmp_phy_pcie_msm8996_power_off (phy); + ret =qmp_pcie_msm8996_power_off (phy);if (ret)return ret; -return qcom_qmp_phy_pcie_msm8996_exit (phy); +return qmp_pcie_msm8996_exit (phy); } -static int qcom_qmp_phy_pcie_msm8996_vreg_init (struct device *dev,const struct qmp_phy_cfg *cfg) +static int qmp_pcie_msm8996_vreg_init (struct device *dev,const struct qmp_phy_cfg *cfg) {struct qcom_qmp *qmp =dev_get_drvdata (dev);int num = cfg->num_vregs;
@@ -668,7 +668,7 @@ static int qcom_qmp_phy_pcie_msm8996_vreg_init(struct device *dev, const structreturn devm_regulator_bulk_get (dev, num, qmp->vregs); } -static int qcom_qmp_phy_pcie_msm8996_reset_init (struct device *dev,const struct qmp_phy_cfg *cfg) +static int qmp_pcie_msm8996_reset_init (struct device *dev,const struct qmp_phy_cfg *cfg) {struct qcom_qmp *qmp =dev_get_drvdata (dev);int i;
@@ -689,7 +689,7 @@ static int qcom_qmp_phy_pcie_msm8996_reset_init(struct device *dev, const structreturn 0 ; } -static int qcom_qmp_phy_pcie_msm8996_clk_init (struct device *dev,const struct qmp_phy_cfg *cfg) +static int qmp_pcie_msm8996_clk_init (struct device *dev,const struct qmp_phy_cfg *cfg) {struct qcom_qmp *qmp =dev_get_drvdata (dev);int num = cfg->num_clks;
@@ -765,9 +765,9 @@ static int phy_pipe_clk_register(struct qcom_qmp *qmp, struct device_node *np)return devm_add_action_or_reset (qmp->dev, phy_clk_release_provider, np); } -static const struct phy_ops qcom_qmp_phy_pcie_msm8996_ops = { - .power_on = qcom_qmp_phy_pcie_msm8996_enable, - .power_off = qcom_qmp_phy_pcie_msm8996_disable, +static const struct phy_ops qmp_pcie_msm8996_ops = { + .power_on = qmp_pcie_msm8996_enable, + .power_off = qmp_pcie_msm8996_disable, .owner =THIS_MODULE , };
@@ -776,8 +776,7 @@ static void qcom_qmp_reset_control_put(void *data)reset_control_put (data); } -static -int qcom_qmp_phy_pcie_msm8996_create (struct device *dev,struct device_node *np,int id, +static int qmp_pcie_msm8996_create (struct device *dev,struct device_node *np,int id,void __iomem *serdes,const struct qmp_phy_cfg *cfg) {struct qcom_qmp *qmp =dev_get_drvdata (dev);
@@ -830,7 +829,7 @@ int qcom_qmp_phy_pcie_msm8996_create(struct device *dev, struct device_node *np,if (ret)return ret; - generic_phy =devm_phy_create (dev, np, &qcom_qmp_phy_pcie_msm8996_ops); + generic_phy =devm_phy_create (dev, np, &qmp_pcie_msm8996_ops);if (IS_ERR (generic_phy)) { ret =PTR_ERR (generic_phy);dev_err (dev,"failed to create qphy %d\n" , ret);
@@ -846,16 +845,16 @@ int qcom_qmp_phy_pcie_msm8996_create(struct device *dev, struct device_node *np,return 0 ; } -static const struct of_device_id qcom_qmp_phy_pcie_msm8996_of_match_table[] = { +static const struct of_device_id qmp_pcie_msm8996_of_match_table[] = { { .compatible ="qcom,msm8996-qmp-pcie-phy" , .data = &msm8996_pciephy_cfg, }, { }, }; -MODULE_DEVICE_TABLE (of, qcom_qmp_phy_pcie_msm8996_of_match_table); +MODULE_DEVICE_TABLE (of, qmp_pcie_msm8996_of_match_table); -static int qcom_qmp_phy_pcie_msm8996_probe (struct platform_device *pdev) +static int qmp_pcie_msm8996_probe (struct platform_device *pdev) {struct qcom_qmp *qmp;struct device *dev = &pdev->dev;
@@ -887,15 +886,15 @@ static int qcom_qmp_phy_pcie_msm8996_probe(struct platform_device *pdev)mutex_init (&qmp->phy_mutex); - ret =qcom_qmp_phy_pcie_msm8996_clk_init (dev, cfg); + ret =qmp_pcie_msm8996_clk_init (dev, cfg);if (ret)return ret; - ret =qcom_qmp_phy_pcie_msm8996_reset_init (dev, cfg); + ret =qmp_pcie_msm8996_reset_init (dev, cfg);if (ret)return ret; - ret =qcom_qmp_phy_pcie_msm8996_vreg_init (dev, cfg); + ret =qmp_pcie_msm8996_vreg_init (dev, cfg);if (ret) {if (ret != -EPROBE_DEFER ) dev_err(dev, "failed to get regulator supplies: %d\n",
@@ -915,7 +914,7 @@ static int qcom_qmp_phy_pcie_msm8996_probe(struct platform_device *pdev) id =0 ;for_each_available_child_of_node (dev->of_node, child) {/* Create per-lane phy */ - ret =qcom_qmp_phy_pcie_msm8996_create (dev, child, id, serdes, cfg); + ret =qmp_pcie_msm8996_create (dev, child, id, serdes, cfg);if (ret) {dev_err (dev,"failed to create lane%d phy, %d\n" , id, ret);
@@ -945,15 +944,15 @@ static int qcom_qmp_phy_pcie_msm8996_probe(struct platform_device *pdev)return ret; } -static struct platform_driver qcom_qmp_phy_pcie_msm8996_driver = { - .probe = qcom_qmp_phy_pcie_msm8996_probe, +static struct platform_driver qmp_pcie_msm8996_driver = { + .probe = qmp_pcie_msm8996_probe, .driver = { .name ="qcom-qmp-msm8996-pcie-phy" , - .of_match_table = qcom_qmp_phy_pcie_msm8996_of_match_table, + .of_match_table = qmp_pcie_msm8996_of_match_table, }, }; -module_platform_driver (qcom_qmp_phy_pcie_msm8996_driver); +module_platform_driver (qmp_pcie_msm8996_driver);MODULE_AUTHOR ("Vivek Gautam <[email protected]>" );MODULE_DESCRIPTION ("Qualcomm QMP MSM8996 PCIe PHY driver" );
Signature · 1 line
2.35.1
Re: [PATCH 14/16] phy: qcom-qmp-pcie-msm8996: shorten function prefixes
Quoted 11 lines · Johan Hovold
The driver function prefix has gotten unnecessarily long and hurts readability.
Shorten "
qcom_qmp_phy_" to "qmp_" (which likely stands for "Qualcomm Multi PHY" or similar anyway).Signed-off-by Johan Hovold <[email protected]>--- .../phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c | 93 +++++++++---------- 1 file changed, 46 insertions(+), 47 deletions(-)
Signature · 8 lines
With best wishes Dmitry -- linux-phy mailing list [email protected] https://lists.infradead.org/mailman/listinfo/linux-phy
PATCH 15/16 phy: qcom-qmp-ufs: shorten function prefixes
In reply to Johan HovoldThe driver function prefix has gotten unnecessarily long and hurts readability.
Shorten "qcom_qmp_phy_" to "qmp_" (which likely stands for "Qualcomm Multi PHY" or similar anyway).
--- drivers/phy/qualcomm/phy-qcom-qmp-ufs.c | 88 ++++++++++++------------- 1 file changed, 43 insertions(+), 45 deletions(-)
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c +43 -45
@@ -821,7 +821,7 @@ static const struct qmp_phy_cfg sm8450_ufsphy_cfg = { .is_dual_lane_phy = true, }; -static void qcom_qmp_phy_ufs_configure_lane(void __iomem *base, +static void qmp_ufs_configure_lane(void __iomem *base, const unsigned int *regs, const struct qmp_phy_init_tbl tbl[], int num,
@@ -844,27 +844,27 @@ static void qcom_qmp_phy_ufs_configure_lane(void __iomem *base, } } -static void qcom_qmp_phy_ufs_configure (void __iomem *base, +static void qmp_ufs_configure (void __iomem *base,const unsigned int *regs,const struct qmp_phy_init_tbl tbl[],int num) { -qcom_qmp_phy_ufs_configure_lane (base, regs, tbl, num,0xff ); +qmp_ufs_configure_lane (base, regs, tbl, num,0xff ); } -static int qcom_qmp_phy_ufs_serdes_init (struct qmp_phy *qphy) +static int qmp_ufs_serdes_init (struct qmp_phy *qphy) {const struct qmp_phy_cfg *cfg = qphy->cfg;void __iomem *serdes = qphy->serdes;const struct qmp_phy_init_tbl *serdes_tbl = cfg->serdes_tbl;int serdes_tbl_num = cfg->serdes_tbl_num; -qcom_qmp_phy_ufs_configure (serdes, cfg->regs, serdes_tbl, serdes_tbl_num); +qmp_ufs_configure (serdes, cfg->regs, serdes_tbl, serdes_tbl_num);return 0 ; } -static int qcom_qmp_phy_ufs_com_init (struct qmp_phy *qphy) +static int qmp_ufs_com_init (struct qmp_phy *qphy) {struct qcom_qmp *qmp = qphy->qmp;const struct qmp_phy_cfg *cfg = qphy->cfg;
@@ -898,7 +898,7 @@ static int qcom_qmp_phy_ufs_com_init(struct qmp_phy *qphy)return ret; } -static int qcom_qmp_phy_ufs_com_exit (struct qmp_phy *qphy) +static int qmp_ufs_com_exit (struct qmp_phy *qphy) {struct qcom_qmp *qmp = qphy->qmp;const struct qmp_phy_cfg *cfg = qphy->cfg;
@@ -912,7 +912,7 @@ static int qcom_qmp_phy_ufs_com_exit(struct qmp_phy *qphy)return 0 ; } -static int qcom_qmp_phy_ufs_init (struct phy *phy) +static int qmp_ufs_init (struct phy *phy) {struct qmp_phy *qphy =phy_get_drvdata (phy);struct qcom_qmp *qmp = qphy->qmp;
@@ -947,14 +947,14 @@ static int qcom_qmp_phy_ufs_init(struct phy *phy)return ret; } - ret =qcom_qmp_phy_ufs_com_init (qphy); + ret =qmp_ufs_com_init (qphy);if (ret)return ret;return 0 ; } -static int qcom_qmp_phy_ufs_power_on (struct phy *phy) +static int qmp_ufs_power_on (struct phy *phy) {struct qmp_phy *qphy =phy_get_drvdata (phy);struct qcom_qmp *qmp = qphy->qmp;
@@ -966,26 +966,24 @@ static int qcom_qmp_phy_ufs_power_on(struct phy *phy)unsigned int mask, val, ready;int ret; -qcom_qmp_phy_ufs_serdes_init (qphy); +qmp_ufs_serdes_init (qphy);/* Tx, Rx, and PCS configurations */ -qcom_qmp_phy_ufs_configure_lane (tx, cfg->regs, - cfg->tx_tbl, cfg->tx_tbl_num,1 ); +qmp_ufs_configure_lane (tx, cfg->regs, cfg->tx_tbl, cfg->tx_tbl_num,1 );if (cfg->is_dual_lane_phy) { -qcom_qmp_phy_ufs_configure_lane (qphy->tx2, cfg->regs, - cfg->tx_tbl, cfg->tx_tbl_num,2 ); +qmp_ufs_configure_lane (qphy->tx2, cfg->regs, + cfg->tx_tbl, cfg->tx_tbl_num,2 ); } -qcom_qmp_phy_ufs_configure_lane (rx, cfg->regs, - cfg->rx_tbl, cfg->rx_tbl_num,1 ); +qmp_ufs_configure_lane (rx, cfg->regs, cfg->rx_tbl, cfg->rx_tbl_num,1 );if (cfg->is_dual_lane_phy) { -qcom_qmp_phy_ufs_configure_lane (qphy->rx2, cfg->regs, - cfg->rx_tbl, cfg->rx_tbl_num,2 ); +qmp_ufs_configure_lane (qphy->rx2, cfg->regs, + cfg->rx_tbl, cfg->rx_tbl_num,2 ); } -qcom_qmp_phy_ufs_configure (pcs, cfg->regs, cfg->pcs_tbl, cfg->pcs_tbl_num); +qmp_ufs_configure (pcs, cfg->regs, cfg->pcs_tbl, cfg->pcs_tbl_num); ret =reset_control_deassert (qmp->ufs_reset);if (ret)
@@ -1011,7 +1009,7 @@ static int qcom_qmp_phy_ufs_power_on(struct phy *phy)return 0 ; } -static int qcom_qmp_phy_ufs_power_off (struct phy *phy) +static int qmp_ufs_power_off (struct phy *phy) {struct qmp_phy *qphy =phy_get_drvdata (phy);const struct qmp_phy_cfg *cfg = qphy->cfg;
@@ -1035,41 +1033,41 @@ static int qcom_qmp_phy_ufs_power_off(struct phy *phy)return 0 ; } -static int qcom_qmp_phy_ufs_exit (struct phy *phy) +static int qmp_ufs_exit (struct phy *phy) {struct qmp_phy *qphy =phy_get_drvdata (phy); -qcom_qmp_phy_ufs_com_exit (qphy); +qmp_ufs_com_exit (qphy);return 0 ; } -static int qcom_qmp_phy_ufs_enable (struct phy *phy) +static int qmp_ufs_enable (struct phy *phy) {int ret; - ret =qcom_qmp_phy_ufs_init (phy); + ret =qmp_ufs_init (phy);if (ret)return ret; - ret =qcom_qmp_phy_ufs_power_on (phy); + ret =qmp_ufs_power_on (phy);if (ret) -qcom_qmp_phy_ufs_exit (phy); +qmp_ufs_exit (phy);return ret; } -static int qcom_qmp_phy_ufs_disable (struct phy *phy) +static int qmp_ufs_disable (struct phy *phy) {int ret; - ret =qcom_qmp_phy_ufs_power_off (phy); + ret =qmp_ufs_power_off (phy);if (ret)return ret; -return qcom_qmp_phy_ufs_exit (phy); +return qmp_ufs_exit (phy); } -static int qcom_qmp_phy_ufs_vreg_init (struct device *dev,const struct qmp_phy_cfg *cfg) +static int qmp_ufs_vreg_init (struct device *dev,const struct qmp_phy_cfg *cfg) {struct qcom_qmp *qmp =dev_get_drvdata (dev);int num = cfg->num_vregs;
@@ -1085,7 +1083,7 @@ static int qcom_qmp_phy_ufs_vreg_init(struct device *dev, const struct qmp_phy_creturn devm_regulator_bulk_get (dev, num, qmp->vregs); } -static int qcom_qmp_phy_ufs_clk_init (struct device *dev,const struct qmp_phy_cfg *cfg) +static int qmp_ufs_clk_init (struct device *dev,const struct qmp_phy_cfg *cfg) {struct qcom_qmp *qmp =dev_get_drvdata (dev);int num = cfg->num_clks;
@@ -1102,13 +1100,13 @@ static int qcom_qmp_phy_ufs_clk_init(struct device *dev, const struct qmp_phy_cf }static const struct phy_ops qcom_qmp_ufs_ops = { - .power_on = qcom_qmp_phy_ufs_enable, - .power_off = qcom_qmp_phy_ufs_disable, + .power_on = qmp_ufs_enable, + .power_off = qmp_ufs_disable, .owner =THIS_MODULE , };static -int qcom_qmp_phy_ufs_create (struct device *dev,struct device_node *np,int id, +int qmp_ufs_create (struct device *dev,struct device_node *np,int id,void __iomem *serdes,const struct qmp_phy_cfg *cfg) {struct qcom_qmp *qmp =dev_get_drvdata (dev);
@@ -1185,7 +1183,7 @@ int qcom_qmp_phy_ufs_create(struct device *dev, struct device_node *np, int id,return 0 ; } -static const struct of_device_id qcom_qmp_phy_ufs_of_match_table[] = { +static const struct of_device_id qmp_ufs_of_match_table[] = { { .compatible ="qcom,msm8996-qmp-ufs-phy" , .data = &msm8996_ufs_cfg,
@@ -1222,9 +1220,9 @@ static const struct of_device_id qcom_qmp_phy_ufs_of_match_table[] = { }, { }, }; -MODULE_DEVICE_TABLE (of, qcom_qmp_phy_ufs_of_match_table); +MODULE_DEVICE_TABLE (of, qmp_ufs_of_match_table); -static int qcom_qmp_phy_ufs_probe (struct platform_device *pdev) +static int qmp_ufs_probe (struct platform_device *pdev) {struct qcom_qmp *qmp;struct device *dev = &pdev->dev;
@@ -1252,11 +1250,11 @@ static int qcom_qmp_phy_ufs_probe(struct platform_device *pdev)if (IS_ERR (serdes))return PTR_ERR (serdes); - ret =qcom_qmp_phy_ufs_clk_init (dev, cfg); + ret =qmp_ufs_clk_init (dev, cfg);if (ret)return ret; - ret =qcom_qmp_phy_ufs_vreg_init (dev, cfg); + ret =qmp_ufs_vreg_init (dev, cfg);if (ret) {if (ret != -EPROBE_DEFER ) dev_err(dev, "failed to get regulator supplies: %d\n",
@@ -1276,7 +1274,7 @@ static int qcom_qmp_phy_ufs_probe(struct platform_device *pdev) id =0 ;for_each_available_child_of_node (dev->of_node, child) {/* Create per-lane phy */ - ret =qcom_qmp_phy_ufs_create (dev, child, id, serdes, cfg); + ret =qmp_ufs_create (dev, child, id, serdes, cfg);if (ret) {dev_err (dev,"failed to create lane%d phy, %d\n" , id, ret);
@@ -1295,15 +1293,15 @@ static int qcom_qmp_phy_ufs_probe(struct platform_device *pdev)return ret; } -static struct platform_driver qcom_qmp_phy_ufs_driver = { - .probe = qcom_qmp_phy_ufs_probe, +static struct platform_driver qmp_ufs_driver = { + .probe = qmp_ufs_probe, .driver = { .name ="qcom-qmp-ufs-phy" , - .of_match_table = qcom_qmp_phy_ufs_of_match_table, + .of_match_table = qmp_ufs_of_match_table, }, }; -module_platform_driver (qcom_qmp_phy_ufs_driver); +module_platform_driver (qmp_ufs_driver);MODULE_AUTHOR ("Vivek Gautam <[email protected]>" );MODULE_DESCRIPTION ("Qualcomm QMP UFS PHY driver" );
Signature · 1 line
2.35.1
Re: [PATCH 15/16] phy: qcom-qmp-ufs: shorten function prefixes
Quoted 10 lines · Johan Hovold
The driver function prefix has gotten unnecessarily long and hurts readability.
Shorten "
qcom_qmp_phy_" to "qmp_" (which likely stands for "Qualcomm Multi PHY" or similar anyway).Signed-off-by Johan Hovold <[email protected]>--- drivers/phy/qualcomm/phy-qcom-qmp-ufs.c | 88 ++++++++++++------------- 1 file changed, 43 insertions(+), 45 deletions(-)
Signature · 8 lines
With best wishes Dmitry -- linux-phy mailing list [email protected] https://lists.infradead.org/mailman/listinfo/linux-phy
PATCH 16/16 phy: qcom-qmp-usb: shorten function prefixes
In reply to Johan HovoldThe driver function prefix has gotten unnecessarily long and hurts readability.
Shorten "qcom_qmp_phy_" to "qmp_" (which likely stands for "Qualcomm Multi PHY" or similar anyway).
--- drivers/phy/qualcomm/phy-qcom-qmp-ufs.c | 3 +- drivers/phy/qualcomm/phy-qcom-qmp-usb.c | 121 ++++++++++++------------ 2 files changed, 60 insertions(+), 64 deletions(-)
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c +1 -2
@@ -1105,8 +1105,7 @@ static const struct phy_ops qcom_qmp_ufs_ops = { .owner = THIS_MODULE, }; -static -int qmp_ufs_create (struct device *dev,struct device_node *np,int id, +static int qmp_ufs_create (struct device *dev,struct device_node *np,int id,void __iomem *serdes,const struct qmp_phy_cfg *cfg) {struct qcom_qmp *qmp =dev_get_drvdata (dev);
drivers/phy/qualcomm/phy-qcom-qmp-usb.c +59 -62
343 lines not on this page · raw message
Signature · 1 line
2.35.1
Re: [PATCH 16/16] phy: qcom-qmp-usb: shorten function prefixes
Quoted 17 lines · Johan Hovold
The driver function prefix has gotten unnecessarily long and hurts readability.
Shorten "
qcom_qmp_phy_" to "qmp_" (which likely stands for "Qualcomm Multi PHY" or similar anyway).Signed-off-by Johan Hovold <[email protected]>--- drivers/phy/qualcomm/phy-qcom-qmp-ufs.c | 3 +- drivers/phy/qualcomm/phy-qcom-qmp-usb.c | 121 ++++++++++++------------ 2 files changed, 60 insertions(+), 64 deletions(-)drivers/phy/qualcomm/phy-qcom-qmp-ufs.c +0
-0
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c static const struct phy_ops qcom_qmp_ufs_ops = { · line 1109
Quoted 7 lines
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c +1
-2@@ -1105,8 +1105,7 @@ static const struct phy_ops qcom_qmp_ufs_ops = { .owner = THIS_MODULE, }; -static -int qmp_ufs_create (struct device *dev,struct device_node *np,int id, +static int qmp_ufs_create (struct device *dev,struct device_node *np,int id,void __iomem *serdes,const struct qmp_phy_cfg *cfg)
This likely should go to the previous patch.
Otherwise:
Quoted 6 lines
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c +0
-0{struct qcom_qmp *qmp =dev_get_drvdata (dev);drivers/phy/qualcomm/phy-qcom-qmp-usb.c +0
-0
Signature · 8 lines
With best wishes Dmitry -- linux-phy mailing list [email protected] https://lists.infradead.org/mailman/listinfo/linux-phy
Re: [PATCH 16/16] phy: qcom-qmp-usb: shorten function prefixes
Quoted 21 lines · Dmitry Baryshkov
Quoted 20 lines · Johan Hovold
The driver function prefix has gotten unnecessarily long and hurts readability.
Shorten "
qcom_qmp_phy_" to "qmp_" (which likely stands for "Qualcomm Multi PHY" or similar anyway).Signed-off-by Johan Hovold <[email protected]>--- drivers/phy/qualcomm/phy-qcom-qmp-ufs.c | 3 +- drivers/phy/qualcomm/phy-qcom-qmp-usb.c | 121 ++++++++++++------------ 2 files changed, 60 insertions(+), 64 deletions(-)drivers/phy/qualcomm/phy-qcom-qmp-ufs.c +0
-0@@ -1105,8 +1105,7 @@ static const struct phy_ops qcom_qmp_ufs_ops = { .owner = THIS_MODULE, };
Quoted 6 lines
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c static const struct phy_ops qcom_qmp_ufs_ops = { · line 1109
Quoted 4 lines
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c +1
-2-static -int qmp_ufs_create (struct device *dev,struct device_node *np,int id, +static int qmp_ufs_create (struct device *dev,struct device_node *np,int id,void __iomem *serdes,const struct qmp_phy_cfg *cfg)This likely should go to the previous patch.
Ah, must have amended the wrong commit. Thanks for catching that.
Not sure its worth resending the series for though.
Vinod, could you fix it up or do you prefer I respin?
Quoted 3 lines
Otherwise:
Reviewed-by Dmitry Baryshkov <[email protected]>
Johan
Signature · 3 lines
linux-phy mailing list [email protected] https://lists.infradead.org/mailman/listinfo/linux-phy
Quoted 5 lines · Johan Hovold
This series clean up the QMP PHY drivers somewhat after the recent driver split.
Included are also some fixes for runtime PM not being disabled on driver unbind.
Applied, thanks
Signature · 1 line
~Vinod