Re: [PATCH] bus: Make remove callback return void

From: Mathieu Poirier
Date: Tue Jul 06 2021 - 11:11:47 EST


On Tue, 6 Jul 2021 at 03:56, Uwe Kleine-König
<u.kleine-koenig@xxxxxxxxxxxxxx> 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.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
> ---
> 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@xxxxxxxxxxxxxx.
>
> 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 send this mail to all people that get_maintainer.pl emits for this
> patch. I wonder how many recipents will refuse this mail because of the
> long Cc: list :-)
>
> Best regards
> Uwe
>
> arch/arm/common/locomo.c | 3 +--
> arch/arm/common/sa1111.c | 4 +---
> arch/arm/mach-rpc/ecard.c | 4 +---
> arch/mips/sgi-ip22/ip22-gio.c | 3 +--
> arch/parisc/kernel/drivers.c | 5 ++---
> arch/powerpc/platforms/ps3/system-bus.c | 3 +--
> arch/powerpc/platforms/pseries/ibmebus.c | 3 +--
> arch/powerpc/platforms/pseries/vio.c | 3 +--
> drivers/acpi/bus.c | 3 +--
> drivers/amba/bus.c | 4 +---
> drivers/base/auxiliary.c | 4 +---
> drivers/base/isa.c | 4 +---
> drivers/base/platform.c | 4 +---
> drivers/bcma/main.c | 6 ++----
> drivers/bus/sunxi-rsb.c | 4 +---
> drivers/cxl/core.c | 3 +--
> drivers/dax/bus.c | 4 +---
> drivers/dma/idxd/sysfs.c | 4 +---
> drivers/firewire/core-device.c | 4 +---
> drivers/firmware/arm_scmi/bus.c | 4 +---
> drivers/firmware/google/coreboot_table.c | 4 +---
> drivers/fpga/dfl.c | 4 +---
> drivers/hid/hid-core.c | 4 +---
> drivers/hid/intel-ish-hid/ishtp/bus.c | 4 +---
> drivers/hv/vmbus_drv.c | 5 +----
> drivers/hwtracing/intel_th/core.c | 4 +---
> drivers/i2c/i2c-core-base.c | 5 +----
> drivers/i3c/master.c | 4 +---
> drivers/input/gameport/gameport.c | 3 +--
> drivers/input/serio/serio.c | 3 +--
> drivers/ipack/ipack.c | 4 +---
> drivers/macintosh/macio_asic.c | 4 +---
> drivers/mcb/mcb-core.c | 4 +---
> drivers/media/pci/bt8xx/bttv-gpio.c | 3 +--
> drivers/memstick/core/memstick.c | 3 +--
> drivers/mfd/mcp-core.c | 3 +--
> drivers/misc/mei/bus.c | 4 +---
> drivers/misc/tifm_core.c | 3 +--
> drivers/mmc/core/bus.c | 4 +---
> drivers/mmc/core/sdio_bus.c | 4 +---
> drivers/net/netdevsim/bus.c | 3 +--
> drivers/ntb/core.c | 4 +---
> drivers/ntb/ntb_transport.c | 4 +---
> drivers/nvdimm/bus.c | 3 +--
> drivers/pci/endpoint/pci-epf-core.c | 4 +---
> drivers/pci/pci-driver.c | 3 +--
> drivers/pcmcia/ds.c | 4 +---
> drivers/platform/surface/aggregator/bus.c | 4 +---
> drivers/platform/x86/wmi.c | 4 +---
> drivers/pnp/driver.c | 3 +--
> drivers/rapidio/rio-driver.c | 4 +---
> drivers/rpmsg/rpmsg_core.c | 4 +---

Reviewed-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx>