[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
|