* [PATCH v2 0/2] regulator: core: Fix error checking and messages
@ 2023-05-24 12:22 Geert Uytterhoeven
2023-05-24 12:22 ` [PATCH v2 1/2] regulator: core: Fix more error checking for debugfs_create_dir() Geert Uytterhoeven
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Geert Uytterhoeven @ 2023-05-24 12:22 UTC (permalink / raw)
To: Liam Girdwood, Mark Brown, Osama Muhammad
Cc: linux-kernel, Geert Uytterhoeven
Hi all,
This patch series corrects an error check, fixes error messages when
debugfs is not enabled, and improves debugfs error handling in the
regulator core.
Changes compared to v1:
- Split in two patches,
- Improve rationale.
Thanks for your comments!
Geert Uytterhoeven (2):
regulator: core: Fix more error checking for debugfs_create_dir()
regulator: core: Streamline debugfs operations
drivers/regulator/core.c | 30 +++++++++++++-----------------
1 file changed, 13 insertions(+), 17 deletions(-)
--
2.34.1
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2 1/2] regulator: core: Fix more error checking for debugfs_create_dir()
2023-05-24 12:22 [PATCH v2 0/2] regulator: core: Fix error checking and messages Geert Uytterhoeven
@ 2023-05-24 12:22 ` Geert Uytterhoeven
2023-05-25 10:33 ` Mark Brown
2023-05-24 12:22 ` [PATCH v2 2/2] regulator: core: Streamline debugfs operations Geert Uytterhoeven
2023-05-30 15:29 ` [PATCH v2 0/2] regulator: core: Fix error checking and messages Mark Brown
2 siblings, 1 reply; 5+ messages in thread
From: Geert Uytterhoeven @ 2023-05-24 12:22 UTC (permalink / raw)
To: Liam Girdwood, Mark Brown, Osama Muhammad
Cc: linux-kernel, Geert Uytterhoeven
In case of failure, debugfs_create_dir() does not return NULL, but an
error pointer. Most incorrect error checks were fixed, but the one in
create_regulator() was forgotten.
Fix the remaining error check.
Fixes: 2bf1c45be3b8f3a3 ("regulator: Fix error checking for debugfs_create_dir")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
v2:
- Split off from "regulator: core: Streamline debugfs operations".
---
drivers/regulator/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index 698ab7f5004bf6b7..ad8baf65f63e369b 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -1911,7 +1911,7 @@ static struct regulator *create_regulator(struct regulator_dev *rdev,
if (err != -EEXIST)
regulator->debugfs = debugfs_create_dir(supply_name, rdev->debugfs);
- if (!regulator->debugfs) {
+ if (IS_ERR(regulator->debugfs))
rdev_dbg(rdev, "Failed to create debugfs directory\n");
} else {
debugfs_create_u32("uA_load", 0444, regulator->debugfs,
--
2.34.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v2 2/2] regulator: core: Streamline debugfs operations
2023-05-24 12:22 [PATCH v2 0/2] regulator: core: Fix error checking and messages Geert Uytterhoeven
2023-05-24 12:22 ` [PATCH v2 1/2] regulator: core: Fix more error checking for debugfs_create_dir() Geert Uytterhoeven
@ 2023-05-24 12:22 ` Geert Uytterhoeven
2023-05-30 15:29 ` [PATCH v2 0/2] regulator: core: Fix error checking and messages Mark Brown
2 siblings, 0 replies; 5+ messages in thread
From: Geert Uytterhoeven @ 2023-05-24 12:22 UTC (permalink / raw)
To: Liam Girdwood, Mark Brown, Osama Muhammad
Cc: linux-kernel, Geert Uytterhoeven
If CONFIG_DEBUG_FS is not set:
regulator: Failed to create debugfs directory
...
regulator-dummy: Failed to create debugfs directory
As per the comments for debugfs_create_dir(), errors returned by this
function should be expected, and ignored:
* If debugfs is not enabled in the kernel, the value -%ENODEV will be
* returned.
*
* NOTE: it's expected that most callers should _ignore_ the errors returned
* by this function. Other debugfs functions handle the fact that the "dentry"
* passed to them could be an error and they don't crash in that case.
* Drivers should generally work fine even if debugfs fails to init anyway.
Adhere to the debugfs spirit, and streamline all operations by:
1. Demoting the importance of the printed error messages to debug
level, like is already done in create_regulator(),
2. Further ignoring any returned errors, as by design, all debugfs
functions are no-ops when passed an error pointer.
Fixes: 2bf1c45be3b8f3a3 ("regulator: Fix error checking for debugfs_create_dir")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
v2:
- Spin off error check fix into a separate patch,
- Improve rationale.
---
drivers/regulator/core.c | 28 ++++++++++++----------------
1 file changed, 12 insertions(+), 16 deletions(-)
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index ad8baf65f63e369b..d8e1caaf207e108f 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -1913,17 +1913,15 @@ static struct regulator *create_regulator(struct regulator_dev *rdev,
regulator->debugfs = debugfs_create_dir(supply_name, rdev->debugfs);
if (IS_ERR(regulator->debugfs))
rdev_dbg(rdev, "Failed to create debugfs directory\n");
- } else {
- debugfs_create_u32("uA_load", 0444, regulator->debugfs,
- ®ulator->uA_load);
- debugfs_create_u32("min_uV", 0444, regulator->debugfs,
- ®ulator->voltage[PM_SUSPEND_ON].min_uV);
- debugfs_create_u32("max_uV", 0444, regulator->debugfs,
- ®ulator->voltage[PM_SUSPEND_ON].max_uV);
- debugfs_create_file("constraint_flags", 0444,
- regulator->debugfs, regulator,
- &constraint_flags_fops);
- }
+
+ debugfs_create_u32("uA_load", 0444, regulator->debugfs,
+ ®ulator->uA_load);
+ debugfs_create_u32("min_uV", 0444, regulator->debugfs,
+ ®ulator->voltage[PM_SUSPEND_ON].min_uV);
+ debugfs_create_u32("max_uV", 0444, regulator->debugfs,
+ ®ulator->voltage[PM_SUSPEND_ON].max_uV);
+ debugfs_create_file("constraint_flags", 0444, regulator->debugfs,
+ regulator, &constraint_flags_fops);
/*
* Check now if the regulator is an always on regulator - if
@@ -5256,10 +5254,8 @@ static void rdev_init_debugfs(struct regulator_dev *rdev)
}
rdev->debugfs = debugfs_create_dir(rname, debugfs_root);
- if (IS_ERR(rdev->debugfs)) {
- rdev_warn(rdev, "Failed to create debugfs directory\n");
- return;
- }
+ if (IS_ERR(rdev->debugfs))
+ rdev_dbg(rdev, "Failed to create debugfs directory\n");
debugfs_create_u32("use_count", 0444, rdev->debugfs,
&rdev->use_count);
@@ -6179,7 +6175,7 @@ static int __init regulator_init(void)
debugfs_root = debugfs_create_dir("regulator", NULL);
if (IS_ERR(debugfs_root))
- pr_warn("regulator: Failed to create debugfs directory\n");
+ pr_debug("regulator: Failed to create debugfs directory\n");
#ifdef CONFIG_DEBUG_FS
debugfs_create_file("supply_map", 0444, debugfs_root, NULL,
--
2.34.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v2 1/2] regulator: core: Fix more error checking for debugfs_create_dir()
2023-05-24 12:22 ` [PATCH v2 1/2] regulator: core: Fix more error checking for debugfs_create_dir() Geert Uytterhoeven
@ 2023-05-25 10:33 ` Mark Brown
0 siblings, 0 replies; 5+ messages in thread
From: Mark Brown @ 2023-05-25 10:33 UTC (permalink / raw)
To: Geert Uytterhoeven; +Cc: Liam Girdwood, Osama Muhammad, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 957 bytes --]
On Wed, May 24, 2023 at 02:22:17PM +0200, Geert Uytterhoeven wrote:
> In case of failure, debugfs_create_dir() does not return NULL, but an
> error pointer. Most incorrect error checks were fixed, but the one in
> create_regulator() was forgotten.
This breaks the build:
/build/stage/linux/drivers/regulator/core.c:1916:11: error: expected identifier
or ‘(’ before ‘else’
1916 | } else {
| ^~~~
/build/stage/linux/drivers/regulator/core.c:1933:9: error: expected identifier o
r ‘(’ before ‘if’
1933 | if (!regulator_ops_is_valid(rdev, REGULATOR_CHANGE_STATUS) &&
| ^~
/build/stage/linux/drivers/regulator/core.c:1937:9: error: expected identifier o
r ‘(’ before ‘return’
1937 | return regulator;
| ^~~~~~
/build/stage/linux/drivers/regulator/core.c:1938:1: error: expected identifier or ‘(’ before ‘}’ token
1938 | }
| ^
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 0/2] regulator: core: Fix error checking and messages
2023-05-24 12:22 [PATCH v2 0/2] regulator: core: Fix error checking and messages Geert Uytterhoeven
2023-05-24 12:22 ` [PATCH v2 1/2] regulator: core: Fix more error checking for debugfs_create_dir() Geert Uytterhoeven
2023-05-24 12:22 ` [PATCH v2 2/2] regulator: core: Streamline debugfs operations Geert Uytterhoeven
@ 2023-05-30 15:29 ` Mark Brown
2 siblings, 0 replies; 5+ messages in thread
From: Mark Brown @ 2023-05-30 15:29 UTC (permalink / raw)
To: Liam Girdwood, Osama Muhammad, Geert Uytterhoeven; +Cc: linux-kernel
On Wed, 24 May 2023 14:22:16 +0200, Geert Uytterhoeven wrote:
> Hi all,
>
> This patch series corrects an error check, fixes error messages when
> debugfs is not enabled, and improves debugfs error handling in the
> regulator core.
>
> Changes compared to v1:
> - Split in two patches,
> - Improve rationale.
>
> [...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next
Thanks!
[1/2] regulator: core: Fix more error checking for debugfs_create_dir()
commit: 2715bb11cfff964aa33946847f9527cfbd4874f5
[2/2] regulator: core: Streamline debugfs operations
commit: 08880713ceec023dd94d634f1e8902728c385939
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-05-30 15:30 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-24 12:22 [PATCH v2 0/2] regulator: core: Fix error checking and messages Geert Uytterhoeven
2023-05-24 12:22 ` [PATCH v2 1/2] regulator: core: Fix more error checking for debugfs_create_dir() Geert Uytterhoeven
2023-05-25 10:33 ` Mark Brown
2023-05-24 12:22 ` [PATCH v2 2/2] regulator: core: Streamline debugfs operations Geert Uytterhoeven
2023-05-30 15:29 ` [PATCH v2 0/2] regulator: core: Fix error checking and messages Mark Brown
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).