* [PATCH 0/2] Bluetooth: Add documentation and replace printk calls
@ 2023-11-06 22:21 Yuran Pereira
2023-11-06 22:24 ` [PATCH 1/2] Bluetooth: Add documentation to exported functions in lib Yuran Pereira
2023-11-06 22:26 ` [PATCH 2/2] Bluetooth: Replaces printk with pr_debug in bt_dbg Yuran Pereira
0 siblings, 2 replies; 7+ messages in thread
From: Yuran Pereira @ 2023-11-06 22:21 UTC (permalink / raw)
To: linux-bluetooth
Cc: Yuran Pereira, marcel, johan.hedberg, luiz.dentz, linux-kernel,
linux-kernel-mentees
The following patchset adds documentation to exported functions in
`net/bluetooth/lib.c` and ensures that `bt_*` logging functions are
calling the correct pr_* function as opposed to `printk(KERN_*`.
Yuran Pereira (2):
Bluetooth: Add documentation to exported functions in lib
Bluetooth: Replaces printk with pr_debug in bt_dbg
net/bluetooth/lib.c | 71 ++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 67 insertions(+), 4 deletions(-)
--
2.25.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2] Bluetooth: Add documentation to exported functions in lib
2023-11-06 22:21 [PATCH 0/2] Bluetooth: Add documentation and replace printk calls Yuran Pereira
@ 2023-11-06 22:24 ` Yuran Pereira
2023-11-06 23:00 ` Bluetooth: Add documentation and replace printk calls bluez.test.bot
2023-11-06 22:26 ` [PATCH 2/2] Bluetooth: Replaces printk with pr_debug in bt_dbg Yuran Pereira
1 sibling, 1 reply; 7+ messages in thread
From: Yuran Pereira @ 2023-11-06 22:24 UTC (permalink / raw)
To: linux-bluetooth
Cc: Yuran Pereira, marcel, johan.hedberg, luiz.dentz, linux-kernel,
linux-kernel-mentees
Most functions in `net/bluetooth/lib.c` lack propper
documentation.
This patch adds documentation to all exported functions
in `net/bluetooth/lib.c`.
Unnecessary or redundant comments are also removed to
ensure the file looks clean.
Signed-off-by: Yuran Pereira <yuran.pereira@hotmail.com>
---
net/bluetooth/lib.c | 69 +++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 66 insertions(+), 3 deletions(-)
diff --git a/net/bluetooth/lib.c b/net/bluetooth/lib.c
index 53a796ac078c..063032fe9c68 100644
--- a/net/bluetooth/lib.c
+++ b/net/bluetooth/lib.c
@@ -30,6 +30,15 @@
#include <net/bluetooth/bluetooth.h>
+/**
+ * baswap() - Swaps the order of a bd address
+ * @dst: Pointer to a bdaddr_t struct that will store the swapped
+ * bd address.
+ * @src: Pointer to the bdaddr_t struct to be swapped.
+ *
+ * This function reverses the byte order of a Bluetooth device
+ * address.
+ */
void baswap(bdaddr_t *dst, const bdaddr_t *src)
{
const unsigned char *s = (const unsigned char *)src;
@@ -41,7 +50,19 @@ void baswap(bdaddr_t *dst, const bdaddr_t *src)
}
EXPORT_SYMBOL(baswap);
-/* Bluetooth error codes to Unix errno mapping */
+/**
+ * bt_to_errno() - Bluetooth error codes to standard errno
+ * @code: Bluetooth error code to be converted
+ *
+ * This function takes a Bluetooth error code as input and convets
+ * it to an equivalent Unix/standard errno value.
+ *
+ * Return:
+ *
+ * If the bt error code is known, an equivalent Unix errno value
+ * is returned.
+ * If the given bt error code is not known, ENOSYS is returned.
+ */
int bt_to_errno(__u16 code)
{
switch (code) {
@@ -135,10 +156,22 @@ int bt_to_errno(__u16 code)
}
EXPORT_SYMBOL(bt_to_errno);
-/* Unix errno to Bluetooth error codes mapping */
+/**
+ * bt_status() - Standard errno value to Bluetooth error code
+ * @err: Unix/standard errno value to be converted
+ *
+ * This function converts a standard/Unix errno value to an
+ * equivalent Bluetooth error code.
+ *
+ * Return: Bluetooth error code.
+ *
+ * If the given errno is not found, 0x1f is returned by default
+ * which indicates an unspecified error.
+ * For err >= 0, no conversion is performed, and the same value
+ * is immediately returned.
+ */
__u8 bt_status(int err)
{
- /* Don't convert if already positive value */
if (err >= 0)
return err;
@@ -206,6 +239,10 @@ __u8 bt_status(int err)
}
EXPORT_SYMBOL(bt_status);
+/**
+ * bt_info() - Log Bluetooth information message
+ * @format: Message's format string
+ */
void bt_info(const char *format, ...)
{
struct va_format vaf;
@@ -222,6 +259,10 @@ void bt_info(const char *format, ...)
}
EXPORT_SYMBOL(bt_info);
+/**
+ * bt_warn() - Log Bluetooth warning message
+ * @format: Message's format string
+ */
void bt_warn(const char *format, ...)
{
struct va_format vaf;
@@ -238,6 +279,10 @@ void bt_warn(const char *format, ...)
}
EXPORT_SYMBOL(bt_warn);
+/**
+ * bt_err() - Log Bluetooth error message
+ * @format: Message's format string
+ */
void bt_err(const char *format, ...)
{
struct va_format vaf;
@@ -267,6 +312,10 @@ bool bt_dbg_get(void)
return debug_enable;
}
+/**
+ * bt_dbg() - Log Bluetooth debugging message
+ * @format: Message's format string
+ */
void bt_dbg(const char *format, ...)
{
struct va_format vaf;
@@ -287,6 +336,13 @@ void bt_dbg(const char *format, ...)
EXPORT_SYMBOL(bt_dbg);
#endif
+/**
+ * bt_warn_ratelimited() - Log rate-limited Bluetooth warning message
+ * @format: Message's format string
+ *
+ * This functions works like bt_warn, but it uses rate limiting
+ * to prevent the message from being logged too often.
+ */
void bt_warn_ratelimited(const char *format, ...)
{
struct va_format vaf;
@@ -303,6 +359,13 @@ void bt_warn_ratelimited(const char *format, ...)
}
EXPORT_SYMBOL(bt_warn_ratelimited);
+/**
+ * bt_err_ratelimited() - Log rate-limited Bluetooth error message
+ * @format: Message's format string
+ *
+ * This functions works like bt_err, but it uses rate limiting
+ * to prevent the message from being logged too often.
+ */
void bt_err_ratelimited(const char *format, ...)
{
struct va_format vaf;
--
2.25.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/2] Bluetooth: Replaces printk with pr_debug in bt_dbg
2023-11-06 22:21 [PATCH 0/2] Bluetooth: Add documentation and replace printk calls Yuran Pereira
2023-11-06 22:24 ` [PATCH 1/2] Bluetooth: Add documentation to exported functions in lib Yuran Pereira
@ 2023-11-06 22:26 ` Yuran Pereira
2023-11-07 6:31 ` Greg KH
1 sibling, 1 reply; 7+ messages in thread
From: Yuran Pereira @ 2023-11-06 22:26 UTC (permalink / raw)
To: linux-bluetooth
Cc: Yuran Pereira, marcel, johan.hedberg, luiz.dentz, linux-kernel,
linux-kernel-mentees
bt_dbg() uses printk, as opposed to other functions in this file
which use pr_* family of logging functions.
This patch changes that by replacing `printk(KERN_DEBUG` with
the equivalent pr_debug() call which makes the overall file
look more uniform and cleaner.
Signed-off-by: Yuran Pereira <yuran.pereira@hotmail.com>
---
net/bluetooth/lib.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/bluetooth/lib.c b/net/bluetooth/lib.c
index 063032fe9c68..96ba39f8b461 100644
--- a/net/bluetooth/lib.c
+++ b/net/bluetooth/lib.c
@@ -329,7 +329,7 @@ void bt_dbg(const char *format, ...)
vaf.fmt = format;
vaf.va = &args;
- printk(KERN_DEBUG pr_fmt("%pV"), &vaf);
+ pr_debug("%pV", &vaf);
va_end(args);
}
--
2.25.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* RE: Bluetooth: Add documentation and replace printk calls
2023-11-06 22:24 ` [PATCH 1/2] Bluetooth: Add documentation to exported functions in lib Yuran Pereira
@ 2023-11-06 23:00 ` bluez.test.bot
0 siblings, 0 replies; 7+ messages in thread
From: bluez.test.bot @ 2023-11-06 23:00 UTC (permalink / raw)
To: linux-bluetooth, yuran.pereira
[-- Attachment #1: Type: text/plain, Size: 2322 bytes --]
This is automated email and please do not reply to this email!
Dear submitter,
Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=799231
---Test result---
Test Summary:
CheckPatch FAIL 1.54 seconds
GitLint PASS 0.59 seconds
SubjectPrefix PASS 0.18 seconds
BuildKernel PASS 32.85 seconds
CheckAllWarning PASS 35.98 seconds
CheckSparse PASS 41.19 seconds
CheckSmatch PASS 116.09 seconds
BuildKernel32 PASS 32.19 seconds
TestRunnerSetup PASS 502.42 seconds
TestRunner_l2cap-tester PASS 29.45 seconds
TestRunner_iso-tester PASS 53.84 seconds
TestRunner_bnep-tester PASS 10.02 seconds
TestRunner_mgmt-tester PASS 203.88 seconds
TestRunner_rfcomm-tester PASS 15.10 seconds
TestRunner_sco-tester PASS 18.24 seconds
TestRunner_ioctl-tester PASS 16.98 seconds
TestRunner_mesh-tester PASS 12.28 seconds
TestRunner_smp-tester PASS 13.22 seconds
TestRunner_userchan-tester PASS 10.21 seconds
IncrementalBuild PASS 34.94 seconds
Details
##############################
Test: CheckPatch - FAIL
Desc: Run checkpatch.pl script
Output:
[1/2] Bluetooth: Add documentation to exported functions in lib
WARNING: please, no space before tabs
#121: FILE: net/bluetooth/lib.c:36:
+ * ^I^I bd address.$
ERROR: trailing whitespace
#142: FILE: net/bluetooth/lib.c:60:
+ * Return: $
total: 1 errors, 1 warnings, 0 checks, 125 lines checked
NOTE: For some of the reported defects, checkpatch may be able to
mechanically convert to the typical style using --fix or --fix-inplace.
NOTE: Whitespace errors detected.
You may wish to use scripts/cleanpatch or scripts/cleanfile
/github/workspace/src/src/13447550.patch has style problems, please review.
NOTE: Ignored message types: UNKNOWN_COMMIT_ID
NOTE: If any of the errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] Bluetooth: Replaces printk with pr_debug in bt_dbg
2023-11-06 22:26 ` [PATCH 2/2] Bluetooth: Replaces printk with pr_debug in bt_dbg Yuran Pereira
@ 2023-11-07 6:31 ` Greg KH
2023-11-07 16:02 ` Yuran Pereira
0 siblings, 1 reply; 7+ messages in thread
From: Greg KH @ 2023-11-07 6:31 UTC (permalink / raw)
To: Yuran Pereira
Cc: linux-bluetooth, johan.hedberg, marcel, linux-kernel, luiz.dentz,
linux-kernel-mentees
On Tue, Nov 07, 2023 at 03:56:08AM +0530, Yuran Pereira wrote:
> bt_dbg() uses printk, as opposed to other functions in this file
> which use pr_* family of logging functions.
>
> This patch changes that by replacing `printk(KERN_DEBUG` with
> the equivalent pr_debug() call which makes the overall file
> look more uniform and cleaner.
>
> Signed-off-by: Yuran Pereira <yuran.pereira@hotmail.com>
> ---
> net/bluetooth/lib.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/bluetooth/lib.c b/net/bluetooth/lib.c
> index 063032fe9c68..96ba39f8b461 100644
> --- a/net/bluetooth/lib.c
> +++ b/net/bluetooth/lib.c
> @@ -329,7 +329,7 @@ void bt_dbg(const char *format, ...)
> vaf.fmt = format;
> vaf.va = &args;
>
> - printk(KERN_DEBUG pr_fmt("%pV"), &vaf);
> + pr_debug("%pV", &vaf);
You might have just changed the functionality here, are you SURE this is
identical to the original code? How was it tested?
I'm not saying this is a bad idea to do, just be aware of the
consequences for this change and document it properly (hint, the
changelog does not document the user-visible change that just happened.)
Note, pr_debug() is NOT identical to printk(), look at the source for
the full details.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] Bluetooth: Replaces printk with pr_debug in bt_dbg
2023-11-07 6:31 ` Greg KH
@ 2023-11-07 16:02 ` Yuran Pereira
2023-11-07 18:13 ` Greg KH
0 siblings, 1 reply; 7+ messages in thread
From: Yuran Pereira @ 2023-11-07 16:02 UTC (permalink / raw)
To: Greg KH
Cc: linux-bluetooth, johan.hedberg, marcel, linux-kernel, luiz.dentz,
linux-kernel-mentees
Hello Greg,
On Tue, Nov 07, 2023 at 07:31:27AM +0100, Greg KH wrote:
>
> You might have just changed the functionality here, are you SURE this is
> identical to the original code? How was it tested?
>
> I'm not saying this is a bad idea to do, just be aware of the
> consequences for this change and document it properly (hint, the
> changelog does not document the user-visible change that just happened.)
>
> Note, pr_debug() is NOT identical to printk(), look at the source for
> the full details.
>
Thank you for the heads-up.
Yes, you're right.
I just took another look and it seems that using pr_debug here
does defeat the purpose of bt_dbg which was created for situations
where `DYNAMIC_DEBUG` and `DEBUG` are disabled.
The likely equivalent would have been `pr_devel` but that also
depends on `DEBUG`.
Do you think that a new `pr_devel_uncond` like the one below
(only to be used in exceptional scenarios) would be a good idea?
```
#define pr_devel_uncond(fmt, ...) \
printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
```
This would neither depend on `DYNAMIC_DEBUG` nor on `DEBUG`.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] Bluetooth: Replaces printk with pr_debug in bt_dbg
2023-11-07 16:02 ` Yuran Pereira
@ 2023-11-07 18:13 ` Greg KH
0 siblings, 0 replies; 7+ messages in thread
From: Greg KH @ 2023-11-07 18:13 UTC (permalink / raw)
To: Yuran Pereira
Cc: linux-bluetooth, johan.hedberg, marcel, linux-kernel, luiz.dentz,
linux-kernel-mentees
On Tue, Nov 07, 2023 at 09:32:51PM +0530, Yuran Pereira wrote:
> Hello Greg,
> On Tue, Nov 07, 2023 at 07:31:27AM +0100, Greg KH wrote:
> >
> > You might have just changed the functionality here, are you SURE this is
> > identical to the original code? How was it tested?
> >
> > I'm not saying this is a bad idea to do, just be aware of the
> > consequences for this change and document it properly (hint, the
> > changelog does not document the user-visible change that just happened.)
> >
> > Note, pr_debug() is NOT identical to printk(), look at the source for
> > the full details.
> >
>
> Thank you for the heads-up.
> Yes, you're right.
>
> I just took another look and it seems that using pr_debug here
> does defeat the purpose of bt_dbg which was created for situations
> where `DYNAMIC_DEBUG` and `DEBUG` are disabled.
>
> The likely equivalent would have been `pr_devel` but that also
> depends on `DEBUG`.
>
> Do you think that a new `pr_devel_uncond` like the one below
> (only to be used in exceptional scenarios) would be a good idea?
>
> ```
> #define pr_devel_uncond(fmt, ...) \
> printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
> ```
>
> This would neither depend on `DYNAMIC_DEBUG` nor on `DEBUG`.
No, not at all, the bluetooth subsystem should move to actually use the
proper dynamic debug infrastructure and not have their own "special"
subsystem loging macros/functions. What you are doing here is the
proper way forward, BUT you need to make everyone aware that it is going
to change how things work from what they do today.
In other words, it's not just a "trivial" change, you need to get
approval to change this type of functionality from the Bluetooth
developers/maintainers.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2023-11-07 18:13 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-06 22:21 [PATCH 0/2] Bluetooth: Add documentation and replace printk calls Yuran Pereira
2023-11-06 22:24 ` [PATCH 1/2] Bluetooth: Add documentation to exported functions in lib Yuran Pereira
2023-11-06 23:00 ` Bluetooth: Add documentation and replace printk calls bluez.test.bot
2023-11-06 22:26 ` [PATCH 2/2] Bluetooth: Replaces printk with pr_debug in bt_dbg Yuran Pereira
2023-11-07 6:31 ` Greg KH
2023-11-07 16:02 ` Yuran Pereira
2023-11-07 18:13 ` Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox