[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 5/5] bus: Make remove callback return void
 
- To: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
 
- From: Sudeep Holla <sudeep.holla@xxxxxxx>
 
- Date: Wed, 14 Jul 2021 11:25:29 +0100
 
- Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>, kernel@xxxxxxxxxxxxxx,	Sudeep Holla <sudeep.holla@xxxxxxx>,	Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>,	Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>,	Alexandre Bounine <alex.bou9@xxxxxxxxx>,	Alex Dubov <oakad@xxxxxxxxx>, Alex Elder <elder@xxxxxxxxxx>,	Alex Williamson <alex.williamson@xxxxxxxxxx>,	Alison Schofield <alison.schofield@xxxxxxxxx>,	Allen Hubbe <allenbh@xxxxxxxxx>,	Andreas Noever <andreas.noever@xxxxxxxxx>,	Andy Gross <agross@xxxxxxxxxx>, Arnd Bergmann <arnd@xxxxxxxx>,	Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>,	Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>,	Ben Widawsky <ben.widawsky@xxxxxxxxx>,	Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>,	Bjorn Helgaas <bhelgaas@xxxxxxxxxx>,	Bodo Stroesser <bostroesser@xxxxxxxxx>,	Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>,	Chen-Yu Tsai <wens@xxxxxxxx>,	Christian Borntraeger <borntraeger@xxxxxxxxxx>,	Cornelia Huck <cohuck@xxxxxxxxxx>,	Cristian Marussi <cristian.marussi@xxxxxxx>,	Dan Williams <dan.j.williams@xxxxxxxxx>,	Dave Jiang <dave.jiang@xxxxxxxxx>,	"David S. Miller" <davem@xxxxxxxxxxxxx>,	David Woodhouse <dwmw@xxxxxxxxxxxx>,	Dexuan Cui <decui@xxxxxxxxxxxxx>,	Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>,	Dominik Brodowski <linux@xxxxxxxxxxxxxxxxxxxx>,	Finn Thain <fthain@xxxxxxxxxxxxxx>,	Florian Fainelli <f.fainelli@xxxxxxxxx>,	Frank Li <lznuaa@xxxxxxxxx>,	Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>,	Geoff Levand <geoff@xxxxxxxxxxxxx>,	Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>,	Hannes Reinecke <hare@xxxxxxx>, Hans de Goede <hdegoede@xxxxxxxxxx>,	Harald Freudenberger <freude@xxxxxxxxxxxxx>,	Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>,	Heiko Carstens <hca@xxxxxxxxxxxxx>, Helge Deller <deller@xxxxxx>,	Ira Weiny <ira.weiny@xxxxxxxxx>, Jakub Kicinski <kuba@xxxxxxxxxx>,	"James E.J. Bottomley" <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>,	Jaroslav Kysela <perex@xxxxxxxx>, Jason Wang <jasowang@xxxxxxxxxx>,	Jens Taprogge <jens.taprogge@xxxxxxxxxxxx>,	Jernej Skrabec <jernej.skrabec@xxxxxxxxx>,	Jiri Kosina <jikos@xxxxxxxxxx>, Jiri Slaby <jirislaby@xxxxxxxxxx>,	Joey Pabalan <jpabalanb@xxxxxxxxx>, Johan Hovold <johan@xxxxxxxxxx>,	Johannes Berg <johannes@xxxxxxxxxxxxxxxx>,	Johannes Thumshirn <morbidrsa@xxxxxxxxx>,	Jon Mason <jdmason@xxxxxxxx>, Juergen Gross <jgross@xxxxxxxx>,	Julien Grall <jgrall@xxxxxxxxxx>,	Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx>,	Kirti Wankhede <kwankhede@xxxxxxxxxx>,	Kishon Vijay Abraham I <kishon@xxxxxx>,	Krzysztof Wilczyński <kw@xxxxxxxxx>,	"K. Y. Srinivasan" <kys@xxxxxxxxxxxxx>,	Lee Jones <lee.jones@xxxxxxxxxx>, Len Brown <lenb@xxxxxxxxxx>,	Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>,	Manohar Vanga <manohar.vanga@xxxxxxxxx>,	Marc Zyngier <maz@xxxxxxxxxx>, Mark Brown <broonie@xxxxxxxxxx>,	Mark Gross <mgross@xxxxxxxxxxxxxxx>,	"Martin K. Petersen" <martin.petersen@xxxxxxxxxx>,	Martyn Welch <martyn@xxxxxxxxxxxx>,	Mathieu Poirier <mathieu.poirier@xxxxxxxxxx>,	Matt Porter <mporter@xxxxxxxxxxxxxxxxxxx>,	Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>,	Maxime Ripard <mripard@xxxxxxxxxx>,	Maximilian Luz <luzmaximilian@xxxxxxxxx>,	Maxim Levitsky <maximlevitsky@xxxxxxxxx>,	Michael Buesch <m@xxxxxxx>, Michael Ellerman <mpe@xxxxxxxxxxxxxx>,	Michael Jamet <michael.jamet@xxxxxxxxx>,	"Michael S. Tsirkin" <mst@xxxxxxxxxx>,	Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>,	Mike Christie <michael.christie@xxxxxxxxxx>,	Moritz Fischer <mdf@xxxxxxxxxx>, Ohad Ben-Cohen <ohad@xxxxxxxxxx>,	Pali Rohár <pali@xxxxxxxxxx>,	Paul Mackerras <paulus@xxxxxxxxx>,	Peter Oberparleiter <oberpar@xxxxxxxxxxxxx>,	"Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx>,	Rafał Miłecki <zajec5@xxxxxxxxx>,	Rich Felker <dalias@xxxxxxxx>,	Rikard Falkeborn <rikard.falkeborn@xxxxxxxxx>,	Rob Herring <robh@xxxxxxxxxx>, Russell King <linux@xxxxxxxxxxxxxxx>,	"Russell King (Oracle)" <rmk+kernel@xxxxxxxxxxxxxxx>,	Samuel Holland <samuel@xxxxxxxxxxxx>,	Samuel Iglesias Gonsalvez <siglesias@xxxxxxxxxx>,	SeongJae Park <sjpark@xxxxxxxxx>,	Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx>,	Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx>,	Stefano Stabellini <sstabellini@xxxxxxxxxx>,	Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx>,	Stephen Boyd <sboyd@xxxxxxxxxx>,	Stephen Hemminger <sthemmin@xxxxxxxxxxxxx>,	Sven Van Asbroeck <TheSven73@xxxxxxxxx>,	Takashi Iwai <tiwai@xxxxxxxx>,	Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx>,	Thorsten Scherer <t.scherer@xxxxxxxxxxxx>,	Tomas Winkler <tomas.winkler@xxxxxxxxx>, Tom Rix <trix@xxxxxxxxxx>,	Tyrel Datwyler <tyreld@xxxxxxxxxxxxx>,	Ulf Hansson <ulf.hansson@xxxxxxxxxx>,	Vasily Gorbik <gor@xxxxxxxxxxxxx>,	Vineeth Vijayan <vneethv@xxxxxxxxxxxxx>,	Vinod Koul <vkoul@xxxxxxxxxx>,	Vishal Verma <vishal.l.verma@xxxxxxxxx>,	Wei Liu <wei.liu@xxxxxxxxxx>,	William Breathitt Gray <vilhelm.gray@xxxxxxxxx>,	Wolfram Sang <wsa@xxxxxxxxxx>, Wu Hao <hao.wu@xxxxxxxxx>,	Yehezkel Bernat <YehezkelShB@xxxxxxxxx>,	Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx>,	YueHaibing <yuehaibing@xxxxxxxxxx>, Yufen Yu <yuyufen@xxxxxxxxxx>,	alsa-devel@xxxxxxxxxxxxxxxx, dmaengine@xxxxxxxxxxxxxxx,	greybus-dev@xxxxxxxxxxxxxxxx,	industrypack-devel@xxxxxxxxxxxxxxxxxxxxx, kvm@xxxxxxxxxxxxxxx,	linux1394-devel@xxxxxxxxxxxxxxxxxxxxx, linux-acpi@xxxxxxxxxxxxxxx,	linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-arm-msm@xxxxxxxxxxxxxxx,	linux-cxl@xxxxxxxxxxxxxxx, linux-fpga@xxxxxxxxxxxxxxx,	linux-hyperv@xxxxxxxxxxxxxxx, linux-i2c@xxxxxxxxxxxxxxx,	linux-i3c@xxxxxxxxxxxxxxxxxxx, linux-input@xxxxxxxxxxxxxxx,	linux-kernel@xxxxxxxxxxxxxxx, linux-m68k@xxxxxxxxxxxxxxxxxxxx,	linux-media@xxxxxxxxxxxxxxx, linux-mips@xxxxxxxxxxxxxxx,	linux-mmc@xxxxxxxxxxxxxxx, linux-ntb@xxxxxxxxxxxxxxxx,	linux-parisc@xxxxxxxxxxxxxxx, linux-pci@xxxxxxxxxxxxxxx,	linuxppc-dev@xxxxxxxxxxxxxxxx, linux-remoteproc@xxxxxxxxxxxxxxx,	linux-s390@xxxxxxxxxxxxxxx, linux-scsi@xxxxxxxxxxxxxxx,	linux-serial@xxxxxxxxxxxxxxx, linux-sh@xxxxxxxxxxxxxxx,	linux-spi@xxxxxxxxxxxxxxx, linux-staging@xxxxxxxxxxxxxxx,	linux-sunxi@xxxxxxxxxxxxxxx, linux-usb@xxxxxxxxxxxxxxx,	linux-wireless@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxxxxxx,	nvdimm@xxxxxxxxxxxxxxx, platform-driver-x86@xxxxxxxxxxxxxxx,	sparclinux@xxxxxxxxxxxxxxx, target-devel@xxxxxxxxxxxxxxx,	virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx,	xen-devel@xxxxxxxxxxxxxxxxxxxx, Johannes Thumshirn <jth@xxxxxxxxxx>,	"Rafael J . Wysocki" <rafael@xxxxxxxxxx>
 
- Delivery-date: Wed, 14 Jul 2021 10:27:44 +0000
 
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
 
 
 
On Tue, Jul 13, 2021 at 09:35:22PM +0200, Uwe Kleine-König 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.
> 
[...]
> diff --git a/drivers/firmware/arm_scmi/bus.c b/drivers/firmware/arm_scmi/bus.c
> index 784cf0027da3..2682c3df651c 100644
> --- a/drivers/firmware/arm_scmi/bus.c
> +++ b/drivers/firmware/arm_scmi/bus.c
> @@ -116,15 +116,13 @@ static int scmi_dev_probe(struct device *dev)
>       return scmi_drv->probe(scmi_dev);
>  }
>  
> -static int scmi_dev_remove(struct device *dev)
> +static void scmi_dev_remove(struct device *dev)
>  {
>       struct scmi_driver *scmi_drv = to_scmi_driver(dev->driver);
>       struct scmi_device *scmi_dev = to_scmi_dev(dev);
>  
>       if (scmi_drv->remove)
>               scmi_drv->remove(scmi_dev);
> -
> -     return 0;
>  }
>  
>  static struct bus_type scmi_bus_type = {
Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx>
--
Regards,
Sudeep
 
    
     |