All of lore.kernel.org
 help / color / mirror / Atom feed
From: "tiantao (H)" <tiantao6@huawei.com>
To: Will Deacon <will@kernel.org>, Tian Tao <tiantao6@hisilicon.com>
Cc: <mark.rutland@arm.com>, <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH] perf: xgene: Use device_get_match_data() to simplify code
Date: Thu, 1 Apr 2021 17:17:17 +0800	[thread overview]
Message-ID: <fda6cf28-6aba-9a48-fee4-a3c538b8a477@huawei.com> (raw)
In-Reply-To: <20210401090800.GC8781@willie-the-truck>


在 2021/4/1 17:08, Will Deacon 写道:
> On Thu, Apr 01, 2021 at 11:36:44AM +0800, Tian Tao wrote:
>> Use device_get_match_data() here to simplify the code a bit.
>>
>> Signed-off-by: Tian Tao <tiantao6@hisilicon.com>
>> ---
>>   drivers/perf/xgene_pmu.c | 17 ++---------------
>>   1 file changed, 2 insertions(+), 15 deletions(-)
>>
>> diff --git a/drivers/perf/xgene_pmu.c b/drivers/perf/xgene_pmu.c
>> index ffe3bde..befd2eb 100644
>> --- a/drivers/perf/xgene_pmu.c
>> +++ b/drivers/perf/xgene_pmu.c
>> @@ -1836,7 +1836,6 @@ static int xgene_pmu_offline_cpu(unsigned int cpu, struct hlist_node *node)
>>   static int xgene_pmu_probe(struct platform_device *pdev)
>>   {
>>   	const struct xgene_pmu_data *dev_data;
>> -	const struct of_device_id *of_id;
>>   	struct xgene_pmu *xgene_pmu;
>>   	struct resource *res;
>>   	int irq, rc;
>> @@ -1857,21 +1856,9 @@ static int xgene_pmu_probe(struct platform_device *pdev)
>>   	platform_set_drvdata(pdev, xgene_pmu);
>>   
>>   	version = -EINVAL;
>> -	of_id = of_match_device(xgene_pmu_of_match, &pdev->dev);
>> -	if (of_id) {
>> -		dev_data = (const struct xgene_pmu_data *) of_id->data;
>> -		version = dev_data->id;
>> -	}
>> -
>> -#ifdef CONFIG_ACPI
>> -	if (ACPI_COMPANION(&pdev->dev)) {
>> -		const struct acpi_device_id *acpi_id;
>> +	dev_data = device_get_match_data(&pdev->dev);
>> +	version = dev_data->id;
> What prevents device_get_match_data() from returning NULL? The old code
> handled the case where we didn't get a match.

What about doing it like this?

diff --git a/drivers/perf/xgene_pmu.c b/drivers/perf/xgene_pmu.c
index ffe3bde..bd89148 100644
--- a/drivers/perf/xgene_pmu.c
+++ b/drivers/perf/xgene_pmu.c
@@ -1836,7 +1836,6 @@ static int xgene_pmu_offline_cpu(unsigned int cpu, 
struct hlist_node *node)
  static int xgene_pmu_probe(struct platform_device *pdev)
  {
         const struct xgene_pmu_data *dev_data;
-       const struct of_device_id *of_id;
         struct xgene_pmu *xgene_pmu;
         struct resource *res;
         int irq, rc;
@@ -1857,21 +1856,11 @@ static int xgene_pmu_probe(struct 
platform_device *pdev)
         platform_set_drvdata(pdev, xgene_pmu);

         version = -EINVAL;
-       of_id = of_match_device(xgene_pmu_of_match, &pdev->dev);
-       if (of_id) {
-               dev_data = (const struct xgene_pmu_data *) of_id->data;
+       dev_data = device_get_match_data(&pdev->dev);
+       if (dev_data)
                 version = dev_data->id;
-       }
-
-#ifdef CONFIG_ACPI
-       if (ACPI_COMPANION(&pdev->dev)) {
-               const struct acpi_device_id *acpi_id;

-               acpi_id = acpi_match_device(xgene_pmu_acpi_match, 
&pdev->dev);
-               if (acpi_id)
-                       version = (int) acpi_id->driver_data;
-       }
-#endif
         if (version < 0)
                 return -ENODEV;

--
2.7.4

>
> Will
> .
>


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2021-04-01  9:19 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-01  3:36 [PATCH] perf: xgene: Use device_get_match_data() to simplify code Tian Tao
2021-04-01  9:08 ` Will Deacon
2021-04-01  9:17   ` tiantao (H) [this message]
2021-04-01 17:23     ` Will Deacon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fda6cf28-6aba-9a48-fee4-a3c538b8a477@huawei.com \
    --to=tiantao6@huawei.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=mark.rutland@arm.com \
    --cc=tiantao6@hisilicon.com \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.