diff options
author | Swapnil Jakhade <sjakhade@cadence.com> | 2020-09-16 20:28:25 +0200 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2020-09-18 10:34:46 +0530 |
commit | 29d1fd2f2cc6a112abf93bca23a6852b6f1f112d (patch) | |
tree | 1bc5970a2417e48a0997f83fde7535fce833a0d7 /drivers/phy/cadence/phy-cadence-torrent.c | |
parent | 885c4f4d6cf448f6e64f407c48d8cfbecef3fb14 (diff) |
phy: cadence-torrent: Use of_device_get_match_data() to get driver data
Use of_device_get_match_data() to get driver data instead of boilerplate
code.
Signed-off-by: Swapnil Jakhade <sjakhade@cadence.com>
Link: https://lore.kernel.org/r/1600280911-9214-2-git-send-email-sjakhade@cadence.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/phy/cadence/phy-cadence-torrent.c')
-rw-r--r-- | drivers/phy/cadence/phy-cadence-torrent.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/phy/cadence/phy-cadence-torrent.c b/drivers/phy/cadence/phy-cadence-torrent.c index a065fc17de65..0211083a4d09 100644 --- a/drivers/phy/cadence/phy-cadence-torrent.c +++ b/drivers/phy/cadence/phy-cadence-torrent.c @@ -183,8 +183,6 @@ static const struct reg_field phy_pma_pll_raw_ctrl = static const struct reg_field phy_reset_ctrl = REG_FIELD(PHY_RESET, 8, 8); -static const struct of_device_id cdns_torrent_phy_of_match[]; - struct cdns_torrent_inst { struct phy *phy; u32 mlane; @@ -203,6 +201,7 @@ struct cdns_torrent_phy { unsigned long ref_clk_rate; struct cdns_torrent_inst phys[MAX_NUM_LANES]; int nsubnodes; + const struct cdns_torrent_data *init_data; struct regmap *regmap; struct regmap *regmap_common_cdb; struct regmap *regmap_phy_pcs_common_cdb; @@ -1710,24 +1709,22 @@ static int cdns_torrent_phy_probe(struct platform_device *pdev) struct cdns_torrent_phy *cdns_phy; struct device *dev = &pdev->dev; struct phy_provider *phy_provider; - const struct of_device_id *match; - struct cdns_torrent_data *data; + const struct cdns_torrent_data *data; struct device_node *child; int ret, subnodes, node = 0, i; /* Get init data for this PHY */ - match = of_match_device(cdns_torrent_phy_of_match, dev); - if (!match) + data = of_device_get_match_data(dev); + if (!data) return -EINVAL; - data = (struct cdns_torrent_data *)match->data; - cdns_phy = devm_kzalloc(dev, sizeof(*cdns_phy), GFP_KERNEL); if (!cdns_phy) return -ENOMEM; dev_set_drvdata(dev, cdns_phy); cdns_phy->dev = dev; + cdns_phy->init_data = data; cdns_phy->phy_rst = devm_reset_control_get_exclusive_by_index(dev, 0); if (IS_ERR(cdns_phy->phy_rst)) { |