Messages in this thread | | | Date | Fri, 3 Apr 2020 22:15:41 +0200 | From | Thierry Reding <> | Subject | Re: [PATCH v2 2/7] clocksource: Add Tegra186 timers support |
| |
On Fri, Apr 03, 2020 at 07:33:24PM +0300, Dmitry Osipenko wrote: > 01.04.2020 01:19, Thierry Reding пишет: > ... > > +static int tegra186_timer_probe(struct platform_device *pdev) > > +{ > > + struct device *dev = &pdev->dev; > > + struct tegra186_timer *tegra; > > + int err; > > + > > + tegra = devm_kzalloc(dev, sizeof(*tegra), GFP_KERNEL); > > + if (!tegra) > > + return -ENOMEM; > > + > > + tegra->soc = of_device_get_match_data(dev); > > + dev_set_drvdata(dev, tegra); > > + tegra->dev = dev; > > + > > + tegra->regs = devm_platform_ioremap_resource(pdev, 0); > > + if (IS_ERR(tegra->regs)) > > + return PTR_ERR(tegra->regs); > > + > > + err = platform_get_irq(pdev, 0); > > + if (err < 0) { > > + dev_err(dev, "failed to get interrupt #0: %d\n", err); > > + return err; > > + } > > + > > + tegra->irq = err; > > + > > + err = devm_request_irq(dev, tegra->irq, tegra186_timer_irq, > > + IRQF_ONESHOT | IRQF_TRIGGER_HIGH, > > + "tegra186-timer", tegra); > > Looks like there is no need to store tegra->irq in the struct > tegra186_timer.
After moving devm_request_irq() to a later point in ->probe() we now have to store it somewhere because err is being reused. But I can store it in a local variable instead.
Thierry [unhandled content-type:application/pgp-signature] | |