linux-staging.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
To: Cornelia Huck <cohuck@redhat.com>
Cc: "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	nvdimm@lists.linux.dev, "Alexey Kardashevskiy" <aik@ozlabs.ru>,
	"Benjamin Herrenschmidt" <benh@kernel.crashing.org>,
	"Samuel Iglesias Gonsalvez" <siglesias@igalia.com>,
	"Jens Taprogge" <jens.taprogge@taprogge.org>,
	"Ulf Hansson" <ulf.hansson@linaro.org>,
	"Jaroslav Kysela" <perex@perex.cz>,
	"Benjamin Tissoires" <benjamin.tissoires@redhat.com>,
	"Paul Mackerras" <paulus@samba.org>,
	"Srinivas Pandruvada" <srinivas.pandruvada@linux.intel.com>,
	"K. Y. Srinivasan" <kys@microsoft.com>,
	"Mike Christie" <michael.christie@oracle.com>,
	"Wei Liu" <wei.liu@kernel.org>,
	"Maxim Levitsky" <maximlevitsky@gmail.com>,
	"Samuel Holland" <samuel@sholland.org>,
	"Michael Ellerman" <mpe@ellerman.id.au>,
	linux-acpi@vger.kernel.org, linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	"Tomas Winkler" <tomas.winkler@intel.com>,
	"Julien Grall" <jgrall@amazon.com>,
	"Ohad Ben-Cohen" <ohad@wizery.com>,
	"Alex Williamson" <alex.williamson@redhat.com>,
	"Alex Elder" <elder@kernel.org>,
	linux-parisc@vger.kernel.org,
	"Geoff Levand" <geoff@infradead.org>,
	linux-fpga@vger.kernel.org, linux-usb@vger.kernel.org,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	linux-kernel@vger.kernel.org, linux-spi@vger.kernel.org,
	"Thorsten Scherer" <t.scherer@eckelmann.de>,
	kernel@pengutronix.de, "Jon Mason" <jdmason@kudzu.us>,
	linux-ntb@googlegroups.com, "Wu Hao" <hao.wu@intel.com>,
	"David Woodhouse" <dwmw@amazon.co.uk>,
	"Krzysztof Wilczyński" <kw@linux.com>,
	"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
	"Manohar Vanga" <manohar.vanga@gmail.com>,
	linux-wireless@vger.kernel.org,
	"Dominik Brodowski" <linux@dominikbrodowski.net>,
	virtualization@lists.linux-foundation.org,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	target-devel@vger.kernel.org,
	"Srinivas Kandagatla" <srinivas.kandagatla@linaro.org>,
	linux-i2c@vger.kernel.org,
	"Kai-Heng Feng" <kai.heng.feng@canonical.com>,
	"Stefano Stabellini" <sstabellini@kernel.org>,
	"Stephen Hemminger" <sthemmin@microsoft.com>,
	"Ira Weiny" <ira.weiny@intel.com>, "Helge Deller" <deller@gmx.de>,
	"Rafał Miłecki" <zajec5@gmail.com>,
	industrypack-devel@lists.sourceforge.net,
	linux-mips@vger.kernel.org, "Len Brown" <lenb@kernel.org>,
	alsa-devel@alsa-project.org, linux-arm-msm@vger.kernel.org,
	linux-media@vger.kernel.org, "Maxime Ripard" <mripard@kernel.org>,
	"Johan Hovold" <johan@kernel.org>,
	greybus-dev@lists.linaro.org,
	"Bjorn Helgaas" <bhelgaas@google.com>,
	"Dave Jiang" <dave.jiang@intel.com>,
	"Boris Ostrovsky" <boris.ostrovsky@oracle.com>,
	"Mika Westerberg" <mika.westerberg@linux.intel.com>,
	linux-arm-kernel@lists.infradead.org,
	"Johannes Thumshirn" <morbidrsa@gmail.com>,
	"Mathieu Poirier" <mathieu.poirier@linaro.org>,
	"Stephen Boyd" <sboyd@kernel.org>,
	"Wolfram Sang" <wsa@kernel.org>,
	"Joey Pabalan" <jpabalanb@gmail.com>,
	"Yehezkel Bernat" <YehezkelShB@gmail.com>,
	"Pali Rohár" <pali@kernel.org>,
	"Bodo Stroesser" <bostroesser@gmail.com>,
	"Alison Schofield" <alison.schofield@intel.com>,
	"Heikki Krogerus" <heikki.krogerus@linux.intel.com>,
	"Tyrel Datwyler" <tyreld@linux.ibm.com>,
	"Alexander Shishkin" <alexander.shishkin@linux.intel.com>,
	"Tom Rix" <trix@redhat.com>, "Jason Wang" <jasowang@redhat.com>,
	"SeongJae Park" <sjpark@amazon.de>,
	linux-hyperv@vger.kernel.org,
	platform-driver-x86@vger.kernel.org,
	"Frank Li" <lznuaa@gmail.com>,
	netdev@vger.kernel.org, "Qinglang Miao" <miaoqinglang@huawei.com>,
	"Jiri Slaby" <jirislaby@kernel.org>,
	"Rob Herring" <robh@kernel.org>,
	"Lorenzo Pieralisi" <lorenzo.pieralisi@arm.com>,
	"Mark Gross" <mgross@linux.intel.com>,
	linux-staging@lists.linux.dev, "Dexuan Cui" <decui@microsoft.com>,
	"Jernej Skrabec" <jernej.skrabec@gmail.com>,
	"Kishon Vijay Abraham I" <kishon@ti.com>,
	"Chen-Yu Tsai" <wens@csie.org>,
	linux-input@vger.kernel.org,
	"Matt Porter" <mporter@kernel.crashing.org>,
	"Allen Hubbe" <allenbh@gmail.com>, "Alex Dubov" <oakad@yahoo.com>,
	"Haiyang Zhang" <haiyangz@microsoft.com>,
	"Jiri Kosina" <jikos@kernel.org>,
	"Vladimir Zapolskiy" <vz@mleia.com>,
	"Ben Widawsky" <ben.widawsky@intel.com>,
	"Moritz Fischer" <mdf@kernel.org>,
	linux-cxl@vger.kernel.org, "Michael Buesch" <m@bues.ch>,
	"Dan Williams" <dan.j.williams@intel.com>,
	"Mauro Carvalho Chehab" <mchehab@kernel.org>,
	"Cristian Marussi" <cristian.marussi@arm.com>,
	"Thomas Bogendoerfer" <tsbogend@alpha.franken.de>,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	"Martyn Welch" <martyn@welchs.me.uk>,
	"Dmitry Torokhov" <dmitry.torokhov@gmail.com>,
	linux-mmc@vger.kernel.org, linux-sunxi@lists.linux.dev,
	"Stefan Richter" <stefanr@s5r6.in-berlin.de>,
	"Sudeep Holla" <sudeep.holla@arm.com>,
	"David S. Miller" <davem@davemloft.net>,
	"Sven Van Asbroeck" <TheSven73@gmail.com>,
	kvm@vger.kernel.org, "Michael S. Tsirkin" <mst@redhat.com>,
	linux-remoteproc@vger.kernel.org,
	"Bjorn Andersson" <bjorn.andersson@linaro.org>,
	"Kirti Wankhede" <kwankhede@nvidia.com>,
	"Andreas Noever" <andreas.noever@gmail.com>,
	linux-i3c@lists.infradead.org,
	linux1394-devel@lists.sourceforge.net,
	"Lee Jones" <lee.jones@linaro.org>,
	"Arnd Bergmann" <arnd@arndb.de>,
	linux-scsi@vger.kernel.org,
	"Vishal Verma" <vishal.l.verma@intel.com>,
	"Russell King" <linux@armlinux.org.uk>,
	"Andy Gross" <agross@kernel.org>,
	linux-serial@vger.kernel.org, "Jakub Kicinski" <kuba@kernel.org>,
	"Michael Jamet" <michael.jamet@intel.com>,
	"William Breathitt Gray" <vilhelm.gray@gmail.com>,
	"Hans de Goede" <hdegoede@redhat.com>,
	"Hannes Reinecke" <hare@suse.de>,
	"Adrian Hunter" <adrian.hunter@intel.com>,
	"Juergen Gross" <jgross@suse.com>,
	linuxppc-dev@lists.ozlabs.org, "Takashi Iwai" <tiwai@suse.com>,
	"Alexandre Bounine" <alex.bou9@gmail.com>,
	"Vinod Koul" <vkoul@kernel.org>,
	"Mark Brown" <broonie@kernel.org>,
	"Marc Zyngier" <maz@kernel.org>,
	dmaengine@vger.kernel.org,
	"Johannes Berg" <johannes@sipsolutions.net>,
	"Maximilian Luz" <luzmaximilian@gmail.com>
Subject: Re: [PATCH] bus: Make remove callback return void
Date: Tue, 6 Jul 2021 14:14:45 +0200	[thread overview]
Message-ID: <20210706121445.o3nxgi4bhzrw5w73@pengutronix.de> (raw)
In-Reply-To: <87mtqzhesu.fsf@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 3533 bytes --]

On Tue, Jul 06, 2021 at 01:17:37PM +0200, Cornelia Huck wrote:
> On Tue, Jul 06 2021, Cornelia Huck <cohuck@redhat.com> wrote:
> 
> > On Tue, Jul 06 2021, Uwe Kleine-König <u.kleine-koenig@pengutronix.de> wrote:
> >
> >> The driver core ignores the return value of this callback because there
> >> is only little it can do when a device disappears.
> >>
> >> This is the final bit of a long lasting cleanup quest where several
> >> buses were converted to also return void from their remove callback.
> >> Additionally some resource leaks were fixed that were caused by drivers
> >> returning an error code in the expectation that the driver won't go
> >> away.
> >>
> >> With struct bus_type::remove returning void it's prevented that newly
> >> implemented buses return an ignored error code and so don't anticipate
> >> wrong expectations for driver authors.
> >
> > Yay!
> >
> >>
> >> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> >> ---
> >> Hello,
> >>
> >> this patch depends on "PCI: endpoint: Make struct pci_epf_driver::remove
> >> return void" that is not yet applied, see
> >> https://lore.kernel.org/r/20210223090757.57604-1-u.kleine-koenig@pengutronix.de.
> >>
> >> I tested it using allmodconfig on amd64 and arm, but I wouldn't be
> >> surprised if I still missed to convert a driver. So it would be great to
> >> get this into next early after the merge window closes.
> >
> > I'm afraid you missed the s390-specific busses in drivers/s390/cio/
> > (css/ccw/ccwgroup).

:-\

> The change for vfio/mdev looks good.
> 
> The following should do the trick for s390; not sure if other
> architectures have easy-to-miss busses as well.
> 
> diff --git a/drivers/s390/cio/ccwgroup.c b/drivers/s390/cio/ccwgroup.c
> index 9748165e08e9..a66f416138ab 100644
> --- a/drivers/s390/cio/ccwgroup.c
> +++ b/drivers/s390/cio/ccwgroup.c
> @@ -439,17 +439,15 @@ module_exit(cleanup_ccwgroup);
>  
>  /************************** driver stuff ******************************/
>  
> -static int ccwgroup_remove(struct device *dev)
> +static void ccwgroup_remove(struct device *dev)
>  {
>  	struct ccwgroup_device *gdev = to_ccwgroupdev(dev);
>  	struct ccwgroup_driver *gdrv = to_ccwgroupdrv(dev->driver);
>  
>  	if (!dev->driver)
> -		return 0;
> +		return;

This is fine to be squashed into my patch. In the long run: in a remove
callback dev->driver cannot be NULL, so this if could go away.

>  	if (gdrv->remove)
>  		gdrv->remove(gdev);
> -
> -	return 0;
>  }
>  
>  static void ccwgroup_shutdown(struct device *dev)
> diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c
> index a974943c27da..ebc321edba51 100644
> --- a/drivers/s390/cio/css.c
> +++ b/drivers/s390/cio/css.c
> @@ -1371,15 +1371,14 @@ static int css_probe(struct device *dev)
>  	return ret;
>  }
>  
> -static int css_remove(struct device *dev)
> +static void css_remove(struct device *dev)
>  {
>  	struct subchannel *sch;
> -	int ret;
>  
>  	sch = to_subchannel(dev);
> -	ret = sch->driver->remove ? sch->driver->remove(sch) : 0;
> +	if (sch->driver->remove)
> +		sch->driver->remove(sch);

Maybe the return type for this function pointer can be changed to void,
too.

I will add these changes to a v2 that I plan to send out after the dust
settles some more.

Thanks
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

  reply	other threads:[~2021-07-06 12:16 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-06  9:50 [PATCH] bus: Make remove callback return void Uwe Kleine-König
2021-07-06  9:56 ` Russell King (Oracle)
2021-07-06 10:21 ` Mark Brown
2021-07-06 10:24 ` Chen-Yu Tsai
2021-07-06 10:25 ` Pali Rohár
2021-07-06 10:26 ` Mauro Carvalho Chehab
2021-07-06 10:35 ` Lee Jones
2021-07-06 10:47   ` Johannes Thumshirn
2021-07-06 10:43 ` Alexandre Belloni
2021-07-06 10:45 ` Vinod Koul
2021-07-06 10:46 ` Juergen Gross
2021-07-06 10:49 ` Johan Hovold
2021-07-06 10:56 ` Srinivas Kandagatla
2021-07-06 10:57 ` Cornelia Huck
2021-07-06 11:17   ` Cornelia Huck
2021-07-06 12:14     ` Uwe Kleine-König [this message]
2021-07-06 11:16 ` Kirti Wankhede
2021-07-06 11:42 ` Maximilian Luz
2021-07-06 14:51 ` Geoff Levand
2021-07-06 15:06 ` Yehezkel Bernat
2021-07-06 15:11 ` Mathieu Poirier
2021-07-06 15:11 ` Alexander Shishkin

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=20210706121445.o3nxgi4bhzrw5w73@pengutronix.de \
    --to=u.kleine-koenig@pengutronix.de \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=TheSven73@gmail.com \
    --cc=YehezkelShB@gmail.com \
    --cc=adrian.hunter@intel.com \
    --cc=agross@kernel.org \
    --cc=aik@ozlabs.ru \
    --cc=alex.bou9@gmail.com \
    --cc=alex.williamson@redhat.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=alison.schofield@intel.com \
    --cc=allenbh@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=andreas.noever@gmail.com \
    --cc=arnd@arndb.de \
    --cc=ben.widawsky@intel.com \
    --cc=benh@kernel.crashing.org \
    --cc=benjamin.tissoires@redhat.com \
    --cc=bhelgaas@google.com \
    --cc=bjorn.andersson@linaro.org \
    --cc=boris.ostrovsky@oracle.com \
    --cc=bostroesser@gmail.com \
    --cc=broonie@kernel.org \
    --cc=cohuck@redhat.com \
    --cc=cristian.marussi@arm.com \
    --cc=dan.j.williams@intel.com \
    --cc=dave.jiang@intel.com \
    --cc=davem@davemloft.net \
    --cc=decui@microsoft.com \
    --cc=deller@gmx.de \
    --cc=dmaengine@vger.kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=dwmw@amazon.co.uk \
    --cc=elder@kernel.org \
    --cc=geoff@infradead.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=greybus-dev@lists.linaro.org \
    --cc=haiyangz@microsoft.com \
    --cc=hao.wu@intel.com \
    --cc=hare@suse.de \
    --cc=hdegoede@redhat.com \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=industrypack-devel@lists.sourceforge.net \
    --cc=ira.weiny@intel.com \
    --cc=jasowang@redhat.com \
    --cc=jdmason@kudzu.us \
    --cc=jens.taprogge@taprogge.org \
    --cc=jernej.skrabec@gmail.com \
    --cc=jgrall@amazon.com \
    --cc=jgross@suse.com \
    --cc=jikos@kernel.org \
    --cc=jirislaby@kernel.org \
    --cc=johan@kernel.org \
    --cc=johannes@sipsolutions.net \
    --cc=jpabalanb@gmail.com \
    --cc=kai.heng.feng@canonical.com \
    --cc=kernel@pengutronix.de \
    --cc=kishon@ti.com \
    --cc=kuba@kernel.org \
    --cc=kvm@vger.kernel.org \
    --cc=kw@linux.com \
    --cc=kwankhede@nvidia.com \
    --cc=kys@microsoft.com \
    --cc=lee.jones@linaro.org \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-cxl@vger.kernel.org \
    --cc=linux-fpga@vger.kernel.org \
    --cc=linux-hyperv@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-i3c@lists.infradead.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-ntb@googlegroups.com \
    --cc=linux-parisc@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-remoteproc@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=linux-staging@lists.linux.dev \
    --cc=linux-sunxi@lists.linux.dev \
    --cc=linux-usb@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linux1394-devel@lists.sourceforge.net \
    --cc=linux@armlinux.org.uk \
    --cc=linux@dominikbrodowski.net \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=luzmaximilian@gmail.com \
    --cc=lznuaa@gmail.com \
    --cc=m@bues.ch \
    --cc=manohar.vanga@gmail.com \
    --cc=martin.petersen@oracle.com \
    --cc=martyn@welchs.me.uk \
    --cc=mathieu.poirier@linaro.org \
    --cc=maximlevitsky@gmail.com \
    --cc=maz@kernel.org \
    --cc=mchehab@kernel.org \
    --cc=mdf@kernel.org \
    --cc=mgross@linux.intel.com \
    --cc=miaoqinglang@huawei.com \
    --cc=michael.christie@oracle.com \
    --cc=michael.jamet@intel.com \
    --cc=mika.westerberg@linux.intel.com \
    --cc=morbidrsa@gmail.com \
    --cc=mpe@ellerman.id.au \
    --cc=mporter@kernel.crashing.org \
    --cc=mripard@kernel.org \
    --cc=mst@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=nvdimm@lists.linux.dev \
    --cc=oakad@yahoo.com \
    --cc=ohad@wizery.com \
    --cc=pali@kernel.org \
    --cc=paulus@samba.org \
    --cc=perex@perex.cz \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=rjw@rjwysocki.net \
    --cc=robh@kernel.org \
    --cc=samuel@sholland.org \
    --cc=sboyd@kernel.org \
    --cc=siglesias@igalia.com \
    --cc=sjpark@amazon.de \
    --cc=srinivas.kandagatla@linaro.org \
    --cc=srinivas.pandruvada@linux.intel.com \
    --cc=sstabellini@kernel.org \
    --cc=stefanr@s5r6.in-berlin.de \
    --cc=sthemmin@microsoft.com \
    --cc=sudeep.holla@arm.com \
    --cc=t.scherer@eckelmann.de \
    --cc=target-devel@vger.kernel.org \
    --cc=tiwai@suse.com \
    --cc=tomas.winkler@intel.com \
    --cc=trix@redhat.com \
    --cc=tsbogend@alpha.franken.de \
    --cc=tyreld@linux.ibm.com \
    --cc=ulf.hansson@linaro.org \
    --cc=vilhelm.gray@gmail.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=vishal.l.verma@intel.com \
    --cc=vkoul@kernel.org \
    --cc=vz@mleia.com \
    --cc=wei.liu@kernel.org \
    --cc=wens@csie.org \
    --cc=wsa@kernel.org \
    --cc=xen-devel@lists.xenproject.org \
    --cc=zajec5@gmail.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).