* [PATCH 0/3] drivers/phy/cadence: Constify static structs
@ 2020-09-12 20:46 Rikard Falkeborn
2020-09-12 20:46 ` [PATCH 1/3] phy: cadence: Sierra: " Rikard Falkeborn
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Rikard Falkeborn @ 2020-09-12 20:46 UTC (permalink / raw)
To: Kishon Vijay Abraham I, Vinod Koul
Cc: linux-kernel, Peter Chen, Swapnil Jakhade, Yuti Amonkar,
Sanket Parmar, Rikard Falkeborn
Constify a number of static structs that are never changed to allow the
compiler to put them in read-only memory.
Rikard Falkeborn (3):
phy: cadence: Sierra: Constify static structs
phy: cadence: salvo: Constify cdns_nxp_sequence_pair
phy: cadence: torrent: Constify regmap_config structs
drivers/phy/cadence/phy-cadence-salvo.c | 6 +++---
drivers/phy/cadence/phy-cadence-sierra.c | 24 +++++++++++------------
drivers/phy/cadence/phy-cadence-torrent.c | 12 ++++++------
3 files changed, 21 insertions(+), 21 deletions(-)
--
2.28.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/3] phy: cadence: Sierra: Constify static structs
2020-09-12 20:46 [PATCH 0/3] drivers/phy/cadence: Constify static structs Rikard Falkeborn
@ 2020-09-12 20:46 ` Rikard Falkeborn
2020-09-12 20:46 ` [PATCH 2/3] phy: cadence: salvo: Constify cdns_nxp_sequence_pair Rikard Falkeborn
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Rikard Falkeborn @ 2020-09-12 20:46 UTC (permalink / raw)
To: Kishon Vijay Abraham I, Vinod Koul
Cc: linux-kernel, Peter Chen, Swapnil Jakhade, Yuti Amonkar,
Sanket Parmar, Rikard Falkeborn
The static cdns_reg_pairs and regmap_config structs are not modified and
can be made const. This allows the compiler to put them in read-only
memory.
Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com>
---
drivers/phy/cadence/phy-cadence-sierra.c | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/drivers/phy/cadence/phy-cadence-sierra.c b/drivers/phy/cadence/phy-cadence-sierra.c
index faed652b73f7..453ef26fa1c7 100644
--- a/drivers/phy/cadence/phy-cadence-sierra.c
+++ b/drivers/phy/cadence/phy-cadence-sierra.c
@@ -172,10 +172,10 @@ struct cdns_sierra_data {
u32 pcie_ln_regs;
u32 usb_cmn_regs;
u32 usb_ln_regs;
- struct cdns_reg_pairs *pcie_cmn_vals;
- struct cdns_reg_pairs *pcie_ln_vals;
- struct cdns_reg_pairs *usb_cmn_vals;
- struct cdns_reg_pairs *usb_ln_vals;
+ const struct cdns_reg_pairs *pcie_cmn_vals;
+ const struct cdns_reg_pairs *pcie_ln_vals;
+ const struct cdns_reg_pairs *usb_cmn_vals;
+ const struct cdns_reg_pairs *usb_ln_vals;
};
struct cdns_regmap_cdb_context {
@@ -233,7 +233,7 @@ static int cdns_regmap_read(void *context, unsigned int reg, unsigned int *val)
.reg_read = cdns_regmap_read, \
}
-static struct regmap_config cdns_sierra_lane_cdb_config[] = {
+static const struct regmap_config cdns_sierra_lane_cdb_config[] = {
SIERRA_LANE_CDB_REGMAP_CONF("0"),
SIERRA_LANE_CDB_REGMAP_CONF("1"),
SIERRA_LANE_CDB_REGMAP_CONF("2"),
@@ -252,7 +252,7 @@ static struct regmap_config cdns_sierra_lane_cdb_config[] = {
SIERRA_LANE_CDB_REGMAP_CONF("15"),
};
-static struct regmap_config cdns_sierra_common_cdb_config = {
+static const struct regmap_config cdns_sierra_common_cdb_config = {
.name = "sierra_common_cdb",
.reg_stride = 1,
.fast_io = true,
@@ -260,7 +260,7 @@ static struct regmap_config cdns_sierra_common_cdb_config = {
.reg_read = cdns_regmap_read,
};
-static struct regmap_config cdns_sierra_phy_config_ctrl_config = {
+static const struct regmap_config cdns_sierra_phy_config_ctrl_config = {
.name = "sierra_phy_config_ctrl",
.reg_stride = 1,
.fast_io = true,
@@ -274,7 +274,7 @@ static int cdns_sierra_phy_init(struct phy *gphy)
struct cdns_sierra_phy *phy = dev_get_drvdata(gphy->dev.parent);
struct regmap *regmap;
int i, j;
- struct cdns_reg_pairs *cmn_vals, *ln_vals;
+ const struct cdns_reg_pairs *cmn_vals, *ln_vals;
u32 num_cmn_regs, num_ln_regs;
/* Initialise the PHY registers, unless auto configured */
@@ -654,7 +654,7 @@ static int cdns_sierra_phy_remove(struct platform_device *pdev)
}
/* refclk100MHz_32b_PCIe_cmn_pll_ext_ssc */
-static struct cdns_reg_pairs cdns_pcie_cmn_regs_ext_ssc[] = {
+static const struct cdns_reg_pairs cdns_pcie_cmn_regs_ext_ssc[] = {
{0x2106, SIERRA_CMN_PLLLC_LF_COEFF_MODE1_PREG},
{0x2106, SIERRA_CMN_PLLLC_LF_COEFF_MODE0_PREG},
{0x8A06, SIERRA_CMN_PLLLC_BWCAL_MODE1_PREG},
@@ -663,7 +663,7 @@ static struct cdns_reg_pairs cdns_pcie_cmn_regs_ext_ssc[] = {
};
/* refclk100MHz_32b_PCIe_ln_ext_ssc */
-static struct cdns_reg_pairs cdns_pcie_ln_regs_ext_ssc[] = {
+static const struct cdns_reg_pairs cdns_pcie_ln_regs_ext_ssc[] = {
{0x813E, SIERRA_CLKPATHCTRL_TMR_PREG},
{0x8047, SIERRA_RX_CREQ_FLTR_A_MODE3_PREG},
{0x808F, SIERRA_RX_CREQ_FLTR_A_MODE2_PREG},
@@ -674,7 +674,7 @@ static struct cdns_reg_pairs cdns_pcie_ln_regs_ext_ssc[] = {
};
/* refclk100MHz_20b_USB_cmn_pll_ext_ssc */
-static struct cdns_reg_pairs cdns_usb_cmn_regs_ext_ssc[] = {
+static const struct cdns_reg_pairs cdns_usb_cmn_regs_ext_ssc[] = {
{0x2085, SIERRA_CMN_PLLLC_LF_COEFF_MODE1_PREG},
{0x2085, SIERRA_CMN_PLLLC_LF_COEFF_MODE0_PREG},
{0x0000, SIERRA_CMN_PLLLC_BWCAL_MODE0_PREG},
@@ -682,7 +682,7 @@ static struct cdns_reg_pairs cdns_usb_cmn_regs_ext_ssc[] = {
};
/* refclk100MHz_20b_USB_ln_ext_ssc */
-static struct cdns_reg_pairs cdns_usb_ln_regs_ext_ssc[] = {
+static const struct cdns_reg_pairs cdns_usb_ln_regs_ext_ssc[] = {
{0xFE0A, SIERRA_DET_STANDEC_A_PREG},
{0x000F, SIERRA_DET_STANDEC_B_PREG},
{0x55A5, SIERRA_DET_STANDEC_C_PREG},
--
2.28.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/3] phy: cadence: salvo: Constify cdns_nxp_sequence_pair
2020-09-12 20:46 [PATCH 0/3] drivers/phy/cadence: Constify static structs Rikard Falkeborn
2020-09-12 20:46 ` [PATCH 1/3] phy: cadence: Sierra: " Rikard Falkeborn
@ 2020-09-12 20:46 ` Rikard Falkeborn
2020-09-13 5:12 ` Peter Chen
2020-09-12 20:46 ` [PATCH 3/3] phy: cadence: torrent: Constify regmap_config structs Rikard Falkeborn
2020-09-16 12:13 ` [PATCH 0/3] drivers/phy/cadence: Constify static structs Vinod Koul
3 siblings, 1 reply; 6+ messages in thread
From: Rikard Falkeborn @ 2020-09-12 20:46 UTC (permalink / raw)
To: Kishon Vijay Abraham I, Vinod Koul
Cc: linux-kernel, Peter Chen, Swapnil Jakhade, Yuti Amonkar,
Sanket Parmar, Rikard Falkeborn
cdns_nxp_sequence_pair[] are never modified and can be made const to allow
the compiler to put them in read-only memory.
Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com>
---
drivers/phy/cadence/phy-cadence-salvo.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/phy/cadence/phy-cadence-salvo.c b/drivers/phy/cadence/phy-cadence-salvo.c
index 8c33d3215f2d..88e239adc3b8 100644
--- a/drivers/phy/cadence/phy-cadence-salvo.c
+++ b/drivers/phy/cadence/phy-cadence-salvo.c
@@ -97,7 +97,7 @@ struct cdns_reg_pairs {
struct cdns_salvo_data {
u8 reg_offset_shift;
- struct cdns_reg_pairs *init_sequence_val;
+ const struct cdns_reg_pairs *init_sequence_val;
u8 init_sequence_length;
};
@@ -126,7 +126,7 @@ static void cdns_salvo_write(struct cdns_salvo_phy *salvo_phy,
* Below bringup sequence pair are from Cadence PHY's User Guide
* and NXP platform tuning results.
*/
-static struct cdns_reg_pairs cdns_nxp_sequence_pair[] = {
+static const struct cdns_reg_pairs cdns_nxp_sequence_pair[] = {
{0x0830, PHY_PMA_CMN_CTRL1},
{0x0010, TB_ADDR_CMN_DIAG_HSCLK_SEL},
{0x00f0, TB_ADDR_CMN_PLL0_VCOCAL_INIT_TMR},
@@ -217,7 +217,7 @@ static int cdns_salvo_phy_init(struct phy *phy)
return ret;
for (i = 0; i < data->init_sequence_length; i++) {
- struct cdns_reg_pairs *reg_pair = data->init_sequence_val + i;
+ const struct cdns_reg_pairs *reg_pair = data->init_sequence_val + i;
cdns_salvo_write(salvo_phy, reg_pair->off, reg_pair->val);
}
--
2.28.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/3] phy: cadence: torrent: Constify regmap_config structs
2020-09-12 20:46 [PATCH 0/3] drivers/phy/cadence: Constify static structs Rikard Falkeborn
2020-09-12 20:46 ` [PATCH 1/3] phy: cadence: Sierra: " Rikard Falkeborn
2020-09-12 20:46 ` [PATCH 2/3] phy: cadence: salvo: Constify cdns_nxp_sequence_pair Rikard Falkeborn
@ 2020-09-12 20:46 ` Rikard Falkeborn
2020-09-16 12:13 ` [PATCH 0/3] drivers/phy/cadence: Constify static structs Vinod Koul
3 siblings, 0 replies; 6+ messages in thread
From: Rikard Falkeborn @ 2020-09-12 20:46 UTC (permalink / raw)
To: Kishon Vijay Abraham I, Vinod Koul
Cc: linux-kernel, Peter Chen, Swapnil Jakhade, Yuti Amonkar,
Sanket Parmar, Rikard Falkeborn
The regmap_config structs are never modified and can be made const to
allow the compiler to put them in read-only memory.
Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com>
---
drivers/phy/cadence/phy-cadence-torrent.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/phy/cadence/phy-cadence-torrent.c b/drivers/phy/cadence/phy-cadence-torrent.c
index 7116127358ee..835bd7563f36 100644
--- a/drivers/phy/cadence/phy-cadence-torrent.c
+++ b/drivers/phy/cadence/phy-cadence-torrent.c
@@ -331,21 +331,21 @@ static int cdns_regmap_dptx_read(void *context, unsigned int reg,
.reg_read = cdns_regmap_read, \
}
-static struct regmap_config cdns_torrent_tx_lane_cdb_config[] = {
+static const struct regmap_config cdns_torrent_tx_lane_cdb_config[] = {
TORRENT_TX_LANE_CDB_REGMAP_CONF("0"),
TORRENT_TX_LANE_CDB_REGMAP_CONF("1"),
TORRENT_TX_LANE_CDB_REGMAP_CONF("2"),
TORRENT_TX_LANE_CDB_REGMAP_CONF("3"),
};
-static struct regmap_config cdns_torrent_rx_lane_cdb_config[] = {
+static const struct regmap_config cdns_torrent_rx_lane_cdb_config[] = {
TORRENT_RX_LANE_CDB_REGMAP_CONF("0"),
TORRENT_RX_LANE_CDB_REGMAP_CONF("1"),
TORRENT_RX_LANE_CDB_REGMAP_CONF("2"),
TORRENT_RX_LANE_CDB_REGMAP_CONF("3"),
};
-static struct regmap_config cdns_torrent_common_cdb_config = {
+static const struct regmap_config cdns_torrent_common_cdb_config = {
.name = "torrent_common_cdb",
.reg_stride = 1,
.fast_io = true,
@@ -353,7 +353,7 @@ static struct regmap_config cdns_torrent_common_cdb_config = {
.reg_read = cdns_regmap_read,
};
-static struct regmap_config cdns_torrent_phy_pcs_cmn_cdb_config = {
+static const struct regmap_config cdns_torrent_phy_pcs_cmn_cdb_config = {
.name = "torrent_phy_pcs_cmn_cdb",
.reg_stride = 1,
.fast_io = true,
@@ -361,7 +361,7 @@ static struct regmap_config cdns_torrent_phy_pcs_cmn_cdb_config = {
.reg_read = cdns_regmap_read,
};
-static struct regmap_config cdns_torrent_phy_pma_cmn_cdb_config = {
+static const struct regmap_config cdns_torrent_phy_pma_cmn_cdb_config = {
.name = "torrent_phy_pma_cmn_cdb",
.reg_stride = 1,
.fast_io = true,
@@ -369,7 +369,7 @@ static struct regmap_config cdns_torrent_phy_pma_cmn_cdb_config = {
.reg_read = cdns_regmap_read,
};
-static struct regmap_config cdns_torrent_dptx_phy_config = {
+static const struct regmap_config cdns_torrent_dptx_phy_config = {
.name = "torrent_dptx_phy",
.reg_stride = 1,
.fast_io = true,
--
2.28.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* RE: [PATCH 2/3] phy: cadence: salvo: Constify cdns_nxp_sequence_pair
2020-09-12 20:46 ` [PATCH 2/3] phy: cadence: salvo: Constify cdns_nxp_sequence_pair Rikard Falkeborn
@ 2020-09-13 5:12 ` Peter Chen
0 siblings, 0 replies; 6+ messages in thread
From: Peter Chen @ 2020-09-13 5:12 UTC (permalink / raw)
To: Rikard Falkeborn, Kishon Vijay Abraham I, Vinod Koul
Cc: linux-kernel, Swapnil Jakhade, Yuti Amonkar, Sanket Parmar
>
> cdns_nxp_sequence_pair[] are never modified and can be made const to allow
> the compiler to put them in read-only memory.
>
> Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com>
Reviewed-by: Peter Chen <peter.chen@nxp.com>
Peter
> ---
> drivers/phy/cadence/phy-cadence-salvo.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/phy/cadence/phy-cadence-salvo.c
> b/drivers/phy/cadence/phy-cadence-salvo.c
> index 8c33d3215f2d..88e239adc3b8 100644
> --- a/drivers/phy/cadence/phy-cadence-salvo.c
> +++ b/drivers/phy/cadence/phy-cadence-salvo.c
> @@ -97,7 +97,7 @@ struct cdns_reg_pairs {
>
> struct cdns_salvo_data {
> u8 reg_offset_shift;
> - struct cdns_reg_pairs *init_sequence_val;
> + const struct cdns_reg_pairs *init_sequence_val;
> u8 init_sequence_length;
> };
>
> @@ -126,7 +126,7 @@ static void cdns_salvo_write(struct cdns_salvo_phy
> *salvo_phy,
> * Below bringup sequence pair are from Cadence PHY's User Guide
> * and NXP platform tuning results.
> */
> -static struct cdns_reg_pairs cdns_nxp_sequence_pair[] = {
> +static const struct cdns_reg_pairs cdns_nxp_sequence_pair[] = {
> {0x0830, PHY_PMA_CMN_CTRL1},
> {0x0010, TB_ADDR_CMN_DIAG_HSCLK_SEL},
> {0x00f0, TB_ADDR_CMN_PLL0_VCOCAL_INIT_TMR},
> @@ -217,7 +217,7 @@ static int cdns_salvo_phy_init(struct phy *phy)
> return ret;
>
> for (i = 0; i < data->init_sequence_length; i++) {
> - struct cdns_reg_pairs *reg_pair = data->init_sequence_val + i;
> + const struct cdns_reg_pairs *reg_pair = data->init_sequence_val + i;
>
> cdns_salvo_write(salvo_phy, reg_pair->off, reg_pair->val);
> }
> --
> 2.28.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 0/3] drivers/phy/cadence: Constify static structs
2020-09-12 20:46 [PATCH 0/3] drivers/phy/cadence: Constify static structs Rikard Falkeborn
` (2 preceding siblings ...)
2020-09-12 20:46 ` [PATCH 3/3] phy: cadence: torrent: Constify regmap_config structs Rikard Falkeborn
@ 2020-09-16 12:13 ` Vinod Koul
3 siblings, 0 replies; 6+ messages in thread
From: Vinod Koul @ 2020-09-16 12:13 UTC (permalink / raw)
To: Rikard Falkeborn
Cc: Kishon Vijay Abraham I, linux-kernel, Peter Chen,
Swapnil Jakhade, Yuti Amonkar, Sanket Parmar
On 12-09-20, 22:46, Rikard Falkeborn wrote:
> Constify a number of static structs that are never changed to allow the
> compiler to put them in read-only memory.
Applied, thanks
--
~Vinod
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-09-16 19:58 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-12 20:46 [PATCH 0/3] drivers/phy/cadence: Constify static structs Rikard Falkeborn
2020-09-12 20:46 ` [PATCH 1/3] phy: cadence: Sierra: " Rikard Falkeborn
2020-09-12 20:46 ` [PATCH 2/3] phy: cadence: salvo: Constify cdns_nxp_sequence_pair Rikard Falkeborn
2020-09-13 5:12 ` Peter Chen
2020-09-12 20:46 ` [PATCH 3/3] phy: cadence: torrent: Constify regmap_config structs Rikard Falkeborn
2020-09-16 12:13 ` [PATCH 0/3] drivers/phy/cadence: Constify static structs Vinod Koul
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).