[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5d70794731198ec7bc59bd95e50a8aa81cf97c7b.camel@redhat.com>
Date: Tue, 20 Aug 2024 09:40:09 +0200
From: Philipp Stanner <pstanner@...hat.com>
To: Andy Shevchenko <andy@...nel.org>
Cc: onathan Corbet <corbet@....net>, Jens Axboe <axboe@...nel.dk>, Wu Hao
<hao.wu@...el.com>, Tom Rix <trix@...hat.com>, Moritz Fischer
<mdf@...nel.org>, Xu Yilun <yilun.xu@...el.com>, Linus Walleij
<linus.walleij@...aro.org>, Bartosz Golaszewski <brgl@...ev.pl>, "David S.
Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, Jakub
Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Alexandre
Torgue <alexandre.torgue@...s.st.com>, Jose Abreu <joabreu@...opsys.com>,
Maxime Coquelin <mcoquelin.stm32@...il.com>, Bjorn Helgaas
<bhelgaas@...gle.com>, Alvaro Karsz <alvaro.karsz@...id-run.com>, "Michael
S. Tsirkin" <mst@...hat.com>, Jason Wang <jasowang@...hat.com>, Xuan Zhuo
<xuanzhuo@...ux.alibaba.com>, Eugenio Pérez
<eperezma@...hat.com>, Richard Cochran <richardcochran@...il.com>, Mark
Brown <broonie@...nel.org>, David Lechner <dlechner@...libre.com>, Uwe
Kleine-König <u.kleine-koenig@...gutronix.de>, Jonathan
Cameron <Jonathan.Cameron@...wei.com>, Hannes Reinecke <hare@...e.de>,
Damien Le Moal <dlemoal@...nel.org>, Chaitanya Kulkarni <kch@...dia.com>,
"Martin K. Petersen" <martin.petersen@...cle.com>,
linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-block@...r.kernel.org, linux-fpga@...r.kernel.org,
linux-gpio@...r.kernel.org, netdev@...r.kernel.org,
linux-stm32@...md-mailman.stormreply.com,
linux-arm-kernel@...ts.infradead.org, linux-pci@...r.kernel.org,
virtualization@...ts.linux.dev
Subject: Re: [PATCH 6/9] ethernet: cavium: Replace deprecated PCI functions
On Mon, 2024-08-19 at 21:23 +0300, Andy Shevchenko wrote:
> On Mon, Aug 19, 2024 at 06:51:46PM +0200, Philipp Stanner wrote:
> > pcim_iomap_regions() and pcim_iomap_table() have been deprecated by
> > the PCI subsystem in commit e354bb84a4c1 ("PCI: Deprecate
> > pcim_iomap_table(), pcim_iomap_regions_request_all()").
> >
> > Replace these functions with the function pcim_iomap_region().
>
> ...
>
> cavium_ptp_probe()
>
> > - pcim_iounmap_regions(pdev, 1 << PCI_PTP_BAR_NO);
> > + pcim_iounmap_region(pdev, PCI_PTP_BAR_NO);
> >
> > error_free:
> > devm_kfree(dev, clock);
>
> Both are questionable. Why do we need either of them?
You seem to criticize my pcim_iounmap_region() etc. in other unwind
paths, too. I think your criticism is often justified. This driver
here, however, was the one which made me suspicious and hesitate and
removing those calls; because of the code below:
pcim_iounmap_region(pdev, PCI_PTP_BAR_NO);
error_free:
devm_kfree(dev, clock);
error:
/* For `cavium_ptp_get()` we need to differentiate between the case
* when the core has not tried to probe this device and the case when
* the probe failed. In the later case we pretend that the
* initialization was successful and keep the error in
* `dev->driver_data`.
*/
pci_set_drvdata(pdev, ERR_PTR(err));
return 0;
}
So in case of an error they return 0 and do... stuff.
I don't want to touch that without someone who maintains (and, ideally,
understands) the code details what's going on here.
P.
Powered by blists - more mailing lists