Hello, this patch series adapts the platform drivers below drivers/watchdog to use the .remove_new() callback. Compared to the traditional .remove() callback .remove_new() returns no value. This is a good thing because the driver core doesn't (and cannot) cope for errors during remove. The only effect of a non-zero return value in .remove() is that the driver core emits a warning. The device is removed anyhow and an early return from .remove() usually yields a resource leak. One driver suffering from this problem (s3c2410) is fixed by the first patch. By changing the remove callback to return void driver authors cannot reasonably (but wrongly) assume any more that there happens some kind of cleanup later. All watchdog drivers but the above mentioned one returned zero unconditionally in their remove callback, so they could all be converted trivially to .remove_new(). Note that this series depends on commit 5c5a7680e67b ("platform: Provide a remove callback that returns no value") that is already in Linus' tree but not yet included in a tagged version. Best regards Uwe Uwe Kleine-König (34): watchdog: s3c2410: Don't skip cleanup in remove's error path watchdog: acquirewdt: Convert to platform remove callback returning void watchdog: advantechwdt: Convert to platform remove callback returning void watchdog: ar7: Convert to platform remove callback returning void watchdog: at91rm9200: Convert to platform remove callback returning void watchdog: ath79: Convert to platform remove callback returning void watchdog: bcm2835: Convert to platform remove callback returning void watchdog: bcm47xx: Convert to platform remove callback returning void watchdog: bcm_kona: Convert to platform remove callback returning void watchdog: cpwd: Convert to platform remove callback returning void watchdog: dw: Convert to platform remove callback returning void watchdog: gef: Convert to platform remove callback returning void watchdog: geodewdt: Convert to platform remove callback returning void watchdog: ib700wdt: Convert to platform remove callback returning void watchdog: ie6xx: Convert to platform remove callback returning void watchdog: lpc18xx: Convert to platform remove callback returning void watchdog: mtx-1: Convert to platform remove callback returning void watchdog: nic7018: Convert to platform remove callback returning void watchdog: nv_tco: Convert to platform remove callback returning void watchdog: omap: Convert to platform remove callback returning void watchdog: orion: Convert to platform remove callback returning void watchdog: rc32434: Convert to platform remove callback returning void watchdog: rdc321x: Convert to platform remove callback returning void watchdog: renesas: Convert to platform remove callback returning void watchdog: riowd: Convert to platform remove callback returning void watchdog: rn5t618: Convert to platform remove callback returning void watchdog: rti: Convert to platform remove callback returning void watchdog: s3c2410: Convert to platform remove callback returning void watchdog: sa1100: Convert to platform remove callback returning void watchdog: sch311x: Convert to platform remove callback returning void watchdog: shwdt: Convert to platform remove callback returning void watchdog: st_lpc: Convert to platform remove callback returning void watchdog: stmp3xxx_rtc: Convert to platform remove callback returning void watchdog: wm8350: Convert to platform remove callback returning void drivers/watchdog/acquirewdt.c | 6 ++---- drivers/watchdog/advantechwdt.c | 6 ++---- drivers/watchdog/ar7_wdt.c | 5 ++--- drivers/watchdog/at91rm9200_wdt.c | 6 ++---- drivers/watchdog/ath79_wdt.c | 5 ++--- drivers/watchdog/bcm2835_wdt.c | 6 ++---- drivers/watchdog/bcm47xx_wdt.c | 6 ++---- drivers/watchdog/bcm_kona_wdt.c | 6 ++---- drivers/watchdog/cpwd.c | 6 ++---- drivers/watchdog/dw_wdt.c | 6 ++---- drivers/watchdog/gef_wdt.c | 6 ++---- drivers/watchdog/geodewdt.c | 5 ++--- drivers/watchdog/ib700wdt.c | 5 ++--- drivers/watchdog/ie6xx_wdt.c | 6 ++---- drivers/watchdog/lpc18xx_wdt.c | 6 ++---- drivers/watchdog/mtx-1_wdt.c | 5 ++--- drivers/watchdog/nic7018_wdt.c | 6 ++---- drivers/watchdog/nv_tco.c | 6 ++---- drivers/watchdog/omap_wdt.c | 6 ++---- drivers/watchdog/orion_wdt.c | 5 ++--- drivers/watchdog/rc32434_wdt.c | 5 ++--- drivers/watchdog/rdc321x_wdt.c | 6 ++---- drivers/watchdog/renesas_wdt.c | 6 ++---- drivers/watchdog/riowd.c | 6 ++---- drivers/watchdog/rn5t618_wdt.c | 6 ++---- drivers/watchdog/rti_wdt.c | 6 ++---- drivers/watchdog/s3c2410_wdt.c | 9 ++++----- drivers/watchdog/sa1100_wdt.c | 6 ++---- drivers/watchdog/sch311x_wdt.c | 5 ++--- drivers/watchdog/shwdt.c | 6 ++---- drivers/watchdog/st_lpc_wdt.c | 6 ++---- drivers/watchdog/stmp3xxx_rtc_wdt.c | 5 ++--- drivers/watchdog/wm8350_wdt.c | 5 ++--- 33 files changed, 68 insertions(+), 123 deletions(-) base-commit: 2eb29d59ddf02e39774abfb60b2030b0b7e27c1f -- 2.39.1