[PATCH] perf: xgene: Use device_get_match_data() to simplify code
Will Deacon
will at kernel.org
Thu Apr 1 18:23:24 BST 2021
On Thu, Apr 01, 2021 at 05:17:17PM +0800, tiantao (H) wrote:
>
> 在 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 at 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?
Sure, or even just have:
version = dev_data ? dev_data->id : -EINVAL;
and drop the earlier assignment of -EINVAL;
Will
More information about the linux-arm-kernel
mailing list