[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220113101430.12869-1-u.kleine-koenig@pengutronix.de>
Date: Thu, 13 Jan 2022 11:14:28 +0100
From: Uwe Kleine-König
<u.kleine-koenig@...gutronix.de>
To: Tony Lindgren <tony@...mide.com>, Lee Jones <lee.jones@...aro.org>
Cc: linux-omap@...r.kernel.org, linux-kernel@...r.kernel.org,
kernel@...gutronix.de
Subject: [PATCH 0/2] mfd: twlx030: i2c remove callback cleanup
Hello,
the remove paths of the twl4030 chip can fail and then returns an error
code in twl_remove() early. This isn't a good thing, because the device
will still go away with some resources not freed.
For the twl6030 this cannot happen, and the first patch is just a small
cleanup. For the twl4030 the situation is improved a bit: When the
failure happens, the dummy slave devices are removed now.
Note that twl4030_exit_irq() is incomplete. The irq isn't freed and
maybe some more cleanup is missing which might boom if an irq triggers
after the device is removed. Not sure that twl6030_exit_irq() is better
in this regard.
I noticed this issue because I work on making i2c_driver::remove return
void as returning a value != 0 there is almost always an error attached
to wrong expectations.
Best regards
Uwe
Uwe Kleine-König (2):
mfd: twl6030: Make twl6030_exit_irq() return void
mfd: twl4030: Make twl4030_exit_irq() return void
drivers/mfd/twl-core.c | 8 ++------
drivers/mfd/twl-core.h | 4 ++--
drivers/mfd/twl4030-irq.c | 7 ++-----
drivers/mfd/twl6030-irq.c | 3 +--
4 files changed, 7 insertions(+), 15 deletions(-)
base-commit: 455e73a07f6e288b0061dfcf4fcf54fa9fe06458
--
2.34.1
Powered by blists - more mailing lists