* [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
* 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
* [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: [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