mmc: dw_mmc: socfpga: move socfpga private init
Subsystems (2)
PATCH 6/22 mmc: dw_mmc: socfpga: move socfpga private init
From: Yuvaraj Kumar C D <[email protected]>
Currently platform specific private data initialization is done by dw_mci_socfpga_priv_init and dw_mci_socfpga_parse_dt. As we already have separate platform specific device tree parser dw_mci_socfpga_parse_dt, move the dw_mci_socfpga_priv_init code to dw_mci_socfpga_parse_dt. We can use the dw_mci_socfpga_priv_init to do some actual platform specific initialization.
Signed-off-by Yuvaraj Kumar C D <[email protected]>
Tested-by Alim Akhtar <[email protected]>
Tested-by Jaehoon Chung <[email protected]>
Acked-by Seungwon Jeon <[email protected]>
--- drivers/mmc/host/dw_mmc-socfpga.c | 30 ++++++++++++++---------------- 1 files changed, 14 insertions(+), 16 deletions(-)
drivers/mmc/host/dw_mmc-socfpga.c +14 -16
@@ -38,21 +38,6 @@ struct dw_mci_socfpga_priv_data {static int dw_mci_socfpga_priv_init (struct dw_mci *host) { -struct dw_mci_socfpga_priv_data *priv; - - priv =devm_kzalloc (host->dev,sizeof (*priv),GFP_KERNEL ); -if (!priv) { -dev_err (host->dev,"mem alloc failed for private data\n" ); -return -ENOMEM ; - } - - priv->sysreg =syscon_regmap_lookup_by_compatible ("altr,sys-mgr" ); -if (IS_ERR (priv->sysreg)) { -dev_err (host->dev,"regmap for altr,sys-mgr lookup failed.\n" ); -return PTR_ERR (priv->sysreg); - } - host->priv = priv; -return 0 ; }
@@ -79,12 +64,24 @@ static void dw_mci_socfpga_prepare_command(struct dw_mci *host, u32 *cmdr)static int dw_mci_socfpga_parse_dt (struct dw_mci *host) { -struct dw_mci_socfpga_priv_data *priv = host->priv; +struct dw_mci_socfpga_priv_data *priv;struct device_node *np = host->dev->of_node;u32 timing[2 ];u32 div =0 ;int ret; + priv =devm_kzalloc (host->dev,sizeof (*priv),GFP_KERNEL ); +if (!priv) { +dev_err (host->dev,"mem alloc failed for private data\n" ); +return -ENOMEM ; + } + + priv->sysreg =syscon_regmap_lookup_by_compatible ("altr,sys-mgr" ); +if (IS_ERR (priv->sysreg)) { +dev_err (host->dev,"regmap for altr,sys-mgr lookup failed.\n" ); +return PTR_ERR (priv->sysreg); + } + ret =of_property_read_u32 (np,"altr,dw-mshc-ciu-div" , &div);if (ret)dev_info (host->dev,"No dw-mshc-ciu-div specified, assuming 1" );
@@ -96,6 +93,7 @@ static int dw_mci_socfpga_parse_dt(struct dw_mci *host)return ret; priv->hs_timing =SYSMGR_SDMMC_CTRL_SET (timing[0 ], timing[1 ]); + host->priv = priv;return 0 ; }
Signature · 1 line
1.7.0.4