Commit 38d19752 authored by Ryder Lee's avatar Ryder Lee Committed by Matthias Brugger
Browse files

soc: mediatek: use of_device_get_match_data()



The usage of of_device_get_match_data() reduce the code size a bit.

Also, the only way to call pwrap_probe() is to match an entry in
of_pwrap_match_tbl[], so of_id cannot be NULL.

Signed-off-by: default avatarRyder Lee <ryder.lee@mediatek.com>
Signed-off-by: default avatarMatthias Brugger <matthias.bgg@gmail.com>
parent 60cc43fc
Loading
Loading
Loading
Loading
+3 −10
Original line number Diff line number Diff line
@@ -1458,19 +1458,12 @@ static int pwrap_probe(struct platform_device *pdev)
	int ret, irq;
	struct pmic_wrapper *wrp;
	struct device_node *np = pdev->dev.of_node;
	const struct of_device_id *of_id =
		of_match_device(of_pwrap_match_tbl, &pdev->dev);
	const struct of_device_id *of_slave_id = NULL;
	struct resource *res;

	if (!of_id) {
		dev_err(&pdev->dev, "Error: No device match found\n");
		return -ENODEV;
	}
	if (np->child)
		of_slave_id = of_match_node(of_slave_match_tbl, np->child);

	if (pdev->dev.of_node->child)
		of_slave_id = of_match_node(of_slave_match_tbl,
					    pdev->dev.of_node->child);
	if (!of_slave_id) {
		dev_dbg(&pdev->dev, "slave pmic should be defined in dts\n");
		return -EINVAL;
@@ -1482,7 +1475,7 @@ static int pwrap_probe(struct platform_device *pdev)

	platform_set_drvdata(pdev, wrp);

	wrp->master = of_id->data;
	wrp->master = of_device_get_match_data(&pdev->dev);
	wrp->slave = of_slave_id->data;
	wrp->dev = &pdev->dev;

+1 −3
Original line number Diff line number Diff line
@@ -1067,15 +1067,13 @@ static const struct of_device_id of_scpsys_match_tbl[] = {

static int scpsys_probe(struct platform_device *pdev)
{
	const struct of_device_id *match;
	const struct scp_subdomain *sd;
	const struct scp_soc_data *soc;
	struct scp *scp;
	struct genpd_onecell_data *pd_data;
	int i, ret;

	match = of_match_device(of_scpsys_match_tbl, &pdev->dev);
	soc = (const struct scp_soc_data *)match->data;
	soc = of_device_get_match_data(&pdev->dev);

	scp = init_scp(pdev, soc->domains, soc->num_domains, &soc->regs,
			soc->bus_prot_reg_update);