* [PATCH v2 00/27] mfd: Assorted resource lifetime, teardown, and error-handling fixes
@ 2026-10-27 9:30 Lee Jones
2026-10-27 9:30 ` [PATCH v2 27/27] mfd: ti_am335x_tscadc: Remove redundant ti_tscadc_dev_get() helper Lee Jones
0 siblings, 1 reply; 2+ messages in thread
From: Lee Jones @ 2026-10-27 9:30 UTC (permalink / raw)
To: lee, Matthias Brugger, AngeloGioacchino Del Regno, linux-kernel,
linux-arm-kernel, linux-mediatek
Cc: Aaro Koskinen, Andi Shyti, Andreas Kemnade, Andy Shevchenko,
AnilKumar Ch, Arnd Bergmann, Binbin Zhou, Brent Casavant,
Chong Qiao, Corey Minyard, David Lechner, Dmitry Torokhov,
Felipe Balbi, Gyungoh Yoo, Heikki Krogerus, Hsin-Hsiung Wang,
Huacai Chen, Jarkko Nikula, Jonathan Cameron, Joshua Kinard,
Kai Svahn, Kevin Hilman, Kumar Sanghvi, Linus Walleij,
linux-crypto, linux-i2c, linux-iio, linux-input, linux-omap,
Mattias Nilsson, Mattias Wallin, Matti Vaittinen, mfd,
Mika Westerberg, Milo Kim, Ming Yu, Nuno Sá,
Pantelis Antoniou, Pat Gefre, Paul Burton, Peter Ujfalusi,
Qunqin Zhao, Rabin Vincent, Rachna Patil, Roger Quadros,
Samuel Ortiz, Sascha Hauer, Sebastian Andrzej Siewior, Shi Hao,
Srinidhi Kasagar, Stanislaw Skowronek, Stephen Warren,
Sundar Iyer, syed khasim, Thomas Bogendoerfer, Thomas Richard,
Tony Lindgren, Yinggang Gu
These issues were reported by Sashiko.
This series addresses a collection of resource lifetime, teardown
ordering, error-handling, and bounds-checking bugs across several MFD
drivers.
v1 => v2:
- Collected Acked-by, Reviewed-by, and Tested-by tags from the list
- Dropped "mfd: cgbc: Zero-initialise version buffer in
cgbc_get_version()" in favour of Thomas Richard's upcoming central
cgbc_command() validation series
- Restored Fixes: tags (without Cc: stable@vger.kernel.org) on the four
non-Stable MFD cell stack-pointer clean-ups (ls2kbmc, bd96801,
ti_am335x_tscadc, and db8500-prcmu)
Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
Cc: Andi Shyti <andi.shyti@kernel.org>
Cc: Andreas Kemnade <andreas@kemnade.info>
Cc: Andy Shevchenko <andy@kernel.org>
Cc: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Cc: AnilKumar Ch <anilkumar@ti.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Binbin Zhou <zhoubinbin@loongson.cn>
Cc: Brent Casavant <bcasavan@sgi.com>
Cc: Chong Qiao <qiaochong@loongson.cn>
Cc: Corey Minyard <corey@minyard.net>
Cc: David Lechner <dlechner@baylibre.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Felipe Balbi <balbi@ti.com>
Cc: Gyungoh Yoo <jack.yoo@maxim-ic.com>
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Cc: Hsin-Hsiung Wang <hsin-hsiung.wang@mediatek.com>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Cc: Jonathan Cameron <jic23@kernel.org>
Cc: Joshua Kinard <linux@kumba.dev>
Cc: Kai Svahn <kai.svahn@nokia.com>
Cc: Kevin Hilman <khilman@baylibre.com>
Cc: Kumar Sanghvi <kumar.sanghvi@stericsson.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-crypto@vger.kernel.org
Cc: linux-i2c@vger.kernel.org
Cc: linux-iio@vger.kernel.org
Cc: linux-input@vger.kernel.org
Cc: linux-mediatek@lists.infradead.org
Cc: linux-omap@vger.kernel.org
Cc: Matthias Brugger <matthias.bgg@gmail.com>
Cc: Mattias Nilsson <mattias.i.nilsson@stericsson.com>
Cc: Mattias Wallin <mattias.wallin@stericsson.com>
Cc: Matti Vaittinen <mazziesaccount@gmail.com>
Cc: mfd@lists.linux.dev
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Milo Kim <woogyom.kim@gmail.com>
Cc: Ming Yu <tmyu0@nuvoton.com>
Cc: "Nuno Sá" <nuno.sa@analog.com>
Cc: Pantelis Antoniou <panto@antoniou-consulting.com>
Cc: Pat Gefre <pfg@sgi.com>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
Cc: Qunqin Zhao <zhaoqunqin@loongson.cn>
Cc: Rabin Vincent <rabin.vincent@stericsson.com>
Cc: Rachna Patil <rachna@ti.com>
Cc: Roger Quadros <rogerq@kernel.org>
Cc: Samuel Ortiz <sameo@linux.intel.com>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Shi Hao <i.shihao.999@gmail.com>
Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Cc: Stanislaw Skowronek <skylark@unaligned.org>
Cc: Stephen Warren <swarren@nvidia.com>
Cc: Sundar Iyer <sundar.iyer@stericsson.com>
Cc: syed khasim <x0khasim@ti.com>
Cc: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Cc: Thomas Richard <thomas.richard@bootlin.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Yinggang Gu <guyinggang@loongson.cn>
Lee Jones (27):
mfd: nct6694: Allocate USB DMA buffers with kzalloc_obj()
mfd: ls2kbmc: Unregister GPIO GSI via devm_add_action_or_reset()
mfd: ls2kbmc: Cancel reset work on teardown via devm_work_autocancel()
mfd: ls2kbmc: Allocate simplefb platform_data on the heap
mfd: bd96801: Allocate watchdog IRQ resource on the heap
mfd: ti_am335x_tscadc: Retrieve parent driver data via
dev_get_drvdata()
mfd: db8500-prcmu: Make AB8500 cell and IRQ resource static
mfd: nct6694: Do not resubmit interrupt URB on endpoint stall (-EPIPE)
mfd: ioc3: Request parent IRQ via request_irq() and free before domain
removal
mfd: intel-lpss: Remove registered MFD child devices on probe failure
mfd: max8907: Manage power-off handler via
devm_register_sys_off_handler()
mfd: twl-core: Clear pm_power_off callback in twl_remove()
mfd: twl-core: Clear twl_priv pointer on teardown and probe failure
mfd: loongson-se: Check return value of dma_set_mask_and_coherent()
mfd: loongson-se: Zero-initialise controller command structures
mfd: loongson-se: Reinitialise completions and wait uninterruptibly
for commands
mfd: loongson-se: Zero-allocate driver data and initialise engine
completions in probe
mfd: loongson-se: Prevent out-of-bounds engine access in
se_irq_handler()
mfd: loongson-se: Stop controller and mask interrupts on teardown and
shutdown
mfd: loongson-se: Validate engine ID, DMA buffer size, and IRQ
registration
mfd: abx500-core: Unregister device ops on devm release
mfd: ab8500-core: Register sysfs attribute groups via
devm_device_add_group()
mfd: tps65217: Manage IRQ domain teardown via devres
mfd: mt6397: Manage IRQ domain lifecycle with devres
mfd: mt6397: Unregister PM notifier on probe failure and unbind
i2c: cgbc: Propagate hardware errors when polling read status
mfd: ti_am335x_tscadc: Remove redundant ti_tscadc_dev_get() helper
drivers/i2c/busses/i2c-cgbc.c | 27 ++++--
drivers/iio/adc/ti_am335x_adc.c | 2 +-
drivers/input/touchscreen/ti_am335x_tsc.c | 2 +-
drivers/mfd/ab8500-core.c | 11 +--
drivers/mfd/abx500-core.c | 29 +++---
drivers/mfd/db8500-prcmu.c | 8 +-
drivers/mfd/intel-lpss.c | 1 +
drivers/mfd/ioc3.c | 32 ++++---
drivers/mfd/loongson-se.c | 110 +++++++++++++++++-----
drivers/mfd/ls2k-bmc-core.c | 27 ++++--
drivers/mfd/max8907.c | 28 ++++--
drivers/mfd/mt6358-irq.c | 17 +++-
drivers/mfd/mt6397-core.c | 4 +-
drivers/mfd/mt6397-irq.c | 31 +++++-
drivers/mfd/nct6694.c | 23 +++--
drivers/mfd/rohm-bd96801.c | 11 ++-
drivers/mfd/ti_am335x_tscadc.c | 7 +-
drivers/mfd/tps65217.c | 40 ++++----
drivers/mfd/twl-core.c | 45 +++++----
include/linux/mfd/loongson-se.h | 8 +-
include/linux/mfd/ti_am335x_tscadc.h | 7 --
21 files changed, 326 insertions(+), 144 deletions(-)
--
2.56.0.307.g5fe7bd680c-goog
^ permalink raw reply [flat|nested] 2+ messages in thread* [PATCH v2 27/27] mfd: ti_am335x_tscadc: Remove redundant ti_tscadc_dev_get() helper
2026-10-27 9:30 [PATCH v2 00/27] mfd: Assorted resource lifetime, teardown, and error-handling fixes Lee Jones
@ 2026-10-27 9:30 ` Lee Jones
0 siblings, 0 replies; 2+ messages in thread
From: Lee Jones @ 2026-10-27 9:30 UTC (permalink / raw)
To: lee, Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko, Dmitry Torokhov, Shi Hao, Rachna Patil,
linux-iio, linux-kernel, linux-input, mfd
Cc: Andy Shevchenko, Jonathan Cameron
Now that ti_tscadc_dev_get() is a single-line wrapper around
dev_get_drvdata(p->dev.parent), remove the bespoke helper and retrieve
the parent driver data directly in the child ADC and touchscreen
drivers.
Acked-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> # for input
Acked-by: Jonathan Cameron <jonathan.cameron@oss.qualcomm.com>
Signed-off-by: Lee Jones <lee@kernel.org>
---
drivers/iio/adc/ti_am335x_adc.c | 2 +-
drivers/input/touchscreen/ti_am335x_tsc.c | 2 +-
include/linux/mfd/ti_am335x_tscadc.h | 5 -----
3 files changed, 2 insertions(+), 7 deletions(-)
diff --git a/drivers/iio/adc/ti_am335x_adc.c b/drivers/iio/adc/ti_am335x_adc.c
index 1516dd332f90..77ea59d6c6b7 100644
--- a/drivers/iio/adc/ti_am335x_adc.c
+++ b/drivers/iio/adc/ti_am335x_adc.c
@@ -636,7 +636,7 @@ static int tiadc_probe(struct platform_device *pdev)
adc_dev = iio_priv(indio_dev);
- adc_dev->mfd_tscadc = ti_tscadc_dev_get(pdev);
+ adc_dev->mfd_tscadc = dev_get_drvdata(pdev->dev.parent);
tiadc_parse_dt(pdev, adc_dev);
indio_dev->name = dev_name(&pdev->dev);
diff --git a/drivers/input/touchscreen/ti_am335x_tsc.c b/drivers/input/touchscreen/ti_am335x_tsc.c
index 623546e80668..40ffdec9d207 100644
--- a/drivers/input/touchscreen/ti_am335x_tsc.c
+++ b/drivers/input/touchscreen/ti_am335x_tsc.c
@@ -418,7 +418,7 @@ static int titsc_probe(struct platform_device *pdev)
{
struct titsc *ts_dev;
struct input_dev *input_dev;
- struct ti_tscadc_dev *tscadc_dev = ti_tscadc_dev_get(pdev);
+ struct ti_tscadc_dev *tscadc_dev = dev_get_drvdata(pdev->dev.parent);
int err;
/* Allocate memory for device */
diff --git a/include/linux/mfd/ti_am335x_tscadc.h b/include/linux/mfd/ti_am335x_tscadc.h
index 4a048a897cf3..36d365b64fe6 100644
--- a/include/linux/mfd/ti_am335x_tscadc.h
+++ b/include/linux/mfd/ti_am335x_tscadc.h
@@ -175,11 +175,6 @@ struct ti_tscadc_dev {
struct adc_device *adc;
};
-static inline struct ti_tscadc_dev *ti_tscadc_dev_get(struct platform_device *p)
-{
- return dev_get_drvdata(p->dev.parent);
-}
-
static inline bool ti_adc_with_touchscreen(struct ti_tscadc_dev *tscadc)
{
return of_device_is_compatible(tscadc->dev->of_node,
--
2.56.0.307.g5fe7bd680c-goog
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-10-27 10:39 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-27 9:30 [PATCH v2 00/27] mfd: Assorted resource lifetime, teardown, and error-handling fixes Lee Jones
2026-10-27 9:30 ` [PATCH v2 27/27] mfd: ti_am335x_tscadc: Remove redundant ti_tscadc_dev_get() helper Lee Jones
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox