diff mbox series

[v1,1/2] Bluetooth: hci_qca: Add qcomm devcoredump sysfs support

Message ID 1682666213-7973-1-git-send-email-quic_saluvala@quicinc.com (mailing list archive)
State Superseded
Headers show
Series [v1,1/2] Bluetooth: hci_qca: Add qcomm devcoredump sysfs support | expand

Checks

Context Check Description
tedd_an/pre-ci_am success Success
tedd_an/CheckPatch success CheckPatch PASS
tedd_an/GitLint success Gitlint PASS
tedd_an/SubjectPrefix success Gitlint PASS
tedd_an/BuildKernel fail BuildKernel: FAIL: drivers/bluetooth/hci_qca.c: In function ‘qca_controller_memdump’: drivers/bluetooth/hci_qca.c:1070:10: error: implicit declaration of function ‘hci_devcoredump_init’; did you mean ‘hci_devcd_init’? [-Werror=implicit-function-declaration] 1070 | ret = hci_devcoredump_init(hu->hdev, qca_memdump->ram_dump_size); | ^~~~~~~~~~~~~~~~~~~~ | hci_devcd_init drivers/bluetooth/hci_qca.c:1119:4: error: implicit declaration of function ‘hci_devcoredump_append_pattern’; did you mean ‘hci_devcd_append_pattern’? [-Werror=implicit-function-declaration] 1119 | hci_devcoredump_append_pattern(hu->hdev, 0x00, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | hci_devcd_append_pattern drivers/bluetooth/hci_qca.c:1136:4: error: implicit declaration of function ‘hci_devcoredump_append’; did you mean ‘hci_devcd_append’? [-Werror=implicit-function-declaration] 1136 | hci_devcoredump_append(hu->hdev, skb); | ^~~~~~~~~~~~~~~~~~~~~~ | hci_devcd_append drivers/bluetooth/hci_qca.c:1150:4: error: implicit declaration of function ‘hci_devcoredump_complete’; did you mean ‘hci_devcd_complete’? [-Werror=implicit-function-declaration] 1150 | hci_devcoredump_complete(hu->hdev); | ^~~~~~~~~~~~~~~~~~~~~~~~ | hci_devcd_complete drivers/bluetooth/hci_qca.c: In function ‘qca_hw_error’: drivers/bluetooth/hci_qca.c:1561:3: error: implicit declaration of function ‘hci_devcoredump_abort’; did you mean ‘hci_devcd_abort’? [-Werror=implicit-function-declaration] 1561 | hci_devcoredump_abort(hu->hdev); | ^~~~~~~~~~~~~~~~~~~~~ | hci_devcd_abort drivers/bluetooth/hci_qca.c: In function ‘hciqca_coredump_enabled’: drivers/bluetooth/hci_qca.c:1732:25: error: ‘struct device’ has no member named ‘coredump_disabled’ 1732 | return !hu->serdev->dev.coredump_disabled; | ^ drivers/bluetooth/hci_qca.c: In function ‘qca_setup’: drivers/bluetooth/hci_qca.c:1874:17: error: ‘struct hci_devcoredump’ has no member named ‘enabled’ 1874 | hu->hdev->dump.enabled = hciqca_coredump_enabled; | ^ drivers/bluetooth/hci_qca.c:1914:2: error: implicit declaration of function ‘hci_devcoredump_register’; did you mean ‘hci_devcd_register’? [-Werror=implicit-function-declaration] 1914 | hci_devcoredump_register(hdev, hci_coredump_qca, qca_dmp_hdr, NULL); | ^~~~~~~~~~~~~~~~~~~~~~~~ | hci_devcd_register drivers/bluetooth/hci_qca.c: In function ‘hciqca_coredump’: drivers/bluetooth/hci_qca.c:2487:10: error: ‘struct device’ has no member named ‘coredump_disabled’ 2487 | if (!dev->coredump_disabled && hdev->dump.coredump) | ^~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:252: drivers/bluetooth/hci_qca.o] Error 1 make[2]: *** [scripts/Makefile.build:494: drivers/bluetooth] Error 2 make[1]: *** [scripts/Makefile.build:494: drivers] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:2025: .] Error 2
tedd_an/CheckAllWarning fail CheckAllWarning: FAIL: drivers/bluetooth/hci_qca.c:981:5: warning: no previous prototype for ‘qca_dmp_hdr’ [-Wmissing-prototypes] 981 | int qca_dmp_hdr(struct hci_dev *hdev, char *buf, size_t size) | ^~~~~~~~~~~ drivers/bluetooth/hci_qca.c: In function ‘qca_controller_memdump’: drivers/bluetooth/hci_qca.c:1070:10: error: implicit declaration of function ‘hci_devcoredump_init’; did you mean ‘hci_devcd_init’? [-Werror=implicit-function-declaration] 1070 | ret = hci_devcoredump_init(hu->hdev, qca_memdump->ram_dump_size); | ^~~~~~~~~~~~~~~~~~~~ | hci_devcd_init drivers/bluetooth/hci_qca.c:1119:4: error: implicit declaration of function ‘hci_devcoredump_append_pattern’; did you mean ‘hci_devcd_append_pattern’? [-Werror=implicit-function-declaration] 1119 | hci_devcoredump_append_pattern(hu->hdev, 0x00, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | hci_devcd_append_pattern drivers/bluetooth/hci_qca.c:1136:4: error: implicit declaration of function ‘hci_devcoredump_append’; did you mean ‘hci_devcd_append’? [-Werror=implicit-function-declaration] 1136 | hci_devcoredump_append(hu->hdev, skb); | ^~~~~~~~~~~~~~~~~~~~~~ | hci_devcd_append drivers/bluetooth/hci_qca.c:1150:4: error: implicit declaration of function ‘hci_devcoredump_complete’; did you mean ‘hci_devcd_complete’? [-Werror=implicit-function-declaration] 1150 | hci_devcoredump_complete(hu->hdev); | ^~~~~~~~~~~~~~~~~~~~~~~~ | hci_devcd_complete drivers/bluetooth/hci_qca.c: In function ‘qca_hw_error’: drivers/bluetooth/hci_qca.c:1561:3: error: implicit declaration of function ‘hci_devcoredump_abort’; did you mean ‘hci_devcd_abort’? [-Werror=implicit-function-declaration] 1561 | hci_devcoredump_abort(hu->hdev); | ^~~~~~~~~~~~~~~~~~~~~ | hci_devcd_abort drivers/bluetooth/hci_qca.c: In function ‘hciqca_coredump_enabled’: drivers/bluetooth/hci_qca.c:1732:25: error: ‘struct device’ has no member named ‘coredump_disabled’ 1732 | return !hu->serdev->dev.coredump_disabled; | ^ drivers/bluetooth/hci_qca.c: In function ‘qca_setup’: drivers/bluetooth/hci_qca.c:1874:17: error: ‘struct hci_devcoredump’ has no member named ‘enabled’ 1874 | hu->hdev->dump.enabled = hciqca_coredump_enabled; | ^ drivers/bluetooth/hci_qca.c:1914:2: error: implicit declaration of function ‘hci_devcoredump_register’; did you mean ‘hci_devcd_register’? [-Werror=implicit-function-declaration] 1914 | hci_devcoredump_register(hdev, hci_coredump_qca, qca_dmp_hdr, NULL); | ^~~~~~~~~~~~~~~~~~~~~~~~ | hci_devcd_register drivers/bluetooth/hci_qca.c: In function ‘hciqca_coredump’: drivers/bluetooth/hci_qca.c:2487:10: error: ‘struct device’ has no member named ‘coredump_disabled’ 2487 | if (!dev->coredump_disabled && hdev->dump.coredump) | ^~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:252: drivers/bluetooth/hci_qca.o] Error 1 make[2]: *** [scripts/Makefile.build:494: drivers/bluetooth] Error 2 make[1]: *** [scripts/Makefile.build:494: drivers] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:2025: .] Error 2
tedd_an/CheckSparse fail CheckSparse: FAIL: net/bluetooth/af_bluetooth.c:178:25: warning: context imbalance in 'bt_accept_enqueue' - different lock contexts for basic block drivers/bluetooth/hci_qca.c: In function ‘qca_controller_memdump’: drivers/bluetooth/hci_qca.c:1070:10: error: implicit declaration of function ‘hci_devcoredump_init’; did you mean ‘hci_devcd_init’? [-Werror=implicit-function-declaration] 1070 | ret = hci_devcoredump_init(hu->hdev, qca_memdump->ram_dump_size); | ^~~~~~~~~~~~~~~~~~~~ | hci_devcd_init drivers/bluetooth/hci_qca.c:1119:4: error: implicit declaration of function ‘hci_devcoredump_append_pattern’; did you mean ‘hci_devcd_append_pattern’? [-Werror=implicit-function-declaration] 1119 | hci_devcoredump_append_pattern(hu->hdev, 0x00, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | hci_devcd_append_pattern drivers/bluetooth/hci_qca.c:1136:4: error: implicit declaration of function ‘hci_devcoredump_append’; did you mean ‘hci_devcd_append’? [-Werror=implicit-function-declaration] 1136 | hci_devcoredump_append(hu->hdev, skb); | ^~~~~~~~~~~~~~~~~~~~~~ | hci_devcd_append drivers/bluetooth/hci_qca.c:1150:4: error: implicit declaration of function ‘hci_devcoredump_complete’; did you mean ‘hci_devcd_complete’? [-Werror=implicit-function-declaration] 1150 | hci_devcoredump_complete(hu->hdev); | ^~~~~~~~~~~~~~~~~~~~~~~~ | hci_devcd_complete drivers/bluetooth/hci_qca.c: In function ‘qca_hw_error’: drivers/bluetooth/hci_qca.c:1561:3: error: implicit declaration of function ‘hci_devcoredump_abort’; did you mean ‘hci_devcd_abort’? [-Werror=implicit-function-declaration] 1561 | hci_devcoredump_abort(hu->hdev); | ^~~~~~~~~~~~~~~~~~~~~ | hci_devcd_abort drivers/bluetooth/hci_qca.c: In function ‘hciqca_coredump_enabled’: drivers/bluetooth/hci_qca.c:1732:25: error: ‘struct device’ has no member named ‘coredump_disabled’ 1732 | return !hu->serdev->dev.coredump_disabled; | ^ drivers/bluetooth/hci_qca.c: In function ‘qca_setup’: drivers/bluetooth/hci_qca.c:1874:17: error: ‘struct hci_devcoredump’ has no member named ‘enabled’ 1874 | hu->hdev->dump.enabled = hciqca_coredump_enabled; | ^ drivers/bluetooth/hci_qca.c:1914:2: error: implicit declaration of function ‘hci_devcoredump_register’; did you mean ‘hci_devcd_register’? [-Werror=implicit-function-declaration] 1914 | hci_devcoredump_register(hdev, hci_coredump_qca, qca_dmp_hdr, NULL); | ^~~~~~~~~~~~~~~~~~~~~~~~ | hci_devcd_register drivers/bluetooth/hci_qca.c: In function ‘hciqca_coredump’: drivers/bluetooth/hci_qca.c:2487:10: error: ‘struct device’ has no member named ‘coredump_disabled’ 2487 | if (!dev->coredump_disabled && hdev->dump.coredump) | ^~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:252: drivers/bluetooth/hci_qca.o] Error 1 make[2]: *** [scripts/Makefile.build:494: drivers/bluetooth] Error 2 make[1]: *** [scripts/Makefile.build:494: drivers] Error 2 make[1]: *** Waiting for unfinished jobs.... net/bluetooth/hci_event.c: note: in included file (through include/net/bluetooth/hci_core.h): ./include/net/bluetooth/hci.h:2646:47: warning: array of flexible structures ./include/net/bluetooth/hci.h:2732:43: warning: array of flexible structures net/bluetooth/hci_codec.c: note: in included file: ./include/net/bluetooth/hci_core.h:150:35: warning: array of flexible structures net/bluetooth/sco.c: note: in included file: ./include/net/bluetooth/hci_core.h:150:35: warning: array of flexible structures make: *** [Makefile:2025: .] Error 2
tedd_an/CheckSmatch fail CheckSparse: FAIL: drivers/bluetooth/hci_qca.c: In function ‘qca_controller_memdump’: drivers/bluetooth/hci_qca.c:1070:10: error: implicit declaration of function ‘hci_devcoredump_init’; did you mean ‘hci_devcd_init’? [-Werror=implicit-function-declaration] 1070 | ret = hci_devcoredump_init(hu->hdev, qca_memdump->ram_dump_size); | ^~~~~~~~~~~~~~~~~~~~ | hci_devcd_init drivers/bluetooth/hci_qca.c:1119:4: error: implicit declaration of function ‘hci_devcoredump_append_pattern’; did you mean ‘hci_devcd_append_pattern’? [-Werror=implicit-function-declaration] 1119 | hci_devcoredump_append_pattern(hu->hdev, 0x00, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | hci_devcd_append_pattern drivers/bluetooth/hci_qca.c:1136:4: error: implicit declaration of function ‘hci_devcoredump_append’; did you mean ‘hci_devcd_append’? [-Werror=implicit-function-declaration] 1136 | hci_devcoredump_append(hu->hdev, skb); | ^~~~~~~~~~~~~~~~~~~~~~ | hci_devcd_append drivers/bluetooth/hci_qca.c:1150:4: error: implicit declaration of function ‘hci_devcoredump_complete’; did you mean ‘hci_devcd_complete’? [-Werror=implicit-function-declaration] 1150 | hci_devcoredump_complete(hu->hdev); | ^~~~~~~~~~~~~~~~~~~~~~~~ | hci_devcd_complete drivers/bluetooth/hci_qca.c: In function ‘qca_hw_error’: drivers/bluetooth/hci_qca.c:1561:3: error: implicit declaration of function ‘hci_devcoredump_abort’; did you mean ‘hci_devcd_abort’? [-Werror=implicit-function-declaration] 1561 | hci_devcoredump_abort(hu->hdev); | ^~~~~~~~~~~~~~~~~~~~~ | hci_devcd_abort drivers/bluetooth/hci_qca.c: In function ‘hciqca_coredump_enabled’: drivers/bluetooth/hci_qca.c:1732:25: error: ‘struct device’ has no member named ‘coredump_disabled’ 1732 | return !hu->serdev->dev.coredump_disabled; | ^ drivers/bluetooth/hci_qca.c: In function ‘qca_setup’: drivers/bluetooth/hci_qca.c:1874:17: error: ‘struct hci_devcoredump’ has no member named ‘enabled’ 1874 | hu->hdev->dump.enabled = hciqca_coredump_enabled; | ^ drivers/bluetooth/hci_qca.c:1914:2: error: implicit declaration of function ‘hci_devcoredump_register’; did you mean ‘hci_devcd_register’? [-Werror=implicit-function-declaration] 1914 | hci_devcoredump_register(hdev, hci_coredump_qca, qca_dmp_hdr, NULL); | ^~~~~~~~~~~~~~~~~~~~~~~~ | hci_devcd_register drivers/bluetooth/hci_qca.c: In function ‘hciqca_coredump’: drivers/bluetooth/hci_qca.c:2487:10: error: ‘struct device’ has no member named ‘coredump_disabled’ 2487 | if (!dev->coredump_disabled && hdev->dump.coredump) | ^~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:252: drivers/bluetooth/hci_qca.o] Error 1 make[2]: *** [scripts/Makefile.build:494: drivers/bluetooth] Error 2 make[1]: *** [scripts/Makefile.build:494: drivers] Error 2 make[1]: *** Waiting for unfinished jobs.... net/bluetooth/hci_event.c: note: in included file (through include/net/bluetooth/hci_core.h): ./include/net/bluetooth/hci.h:2646:47: warning: array of flexible structures ./include/net/bluetooth/hci.h:2732:43: warning: array of flexible structures net/bluetooth/hci_codec.c: note: in included file: ./include/net/bluetooth/hci_core.h:150:35: warning: array of flexible structures net/bluetooth/sco.c: note: in included file: ./include/net/bluetooth/hci_core.h:150:35: warning: array of flexible structures make: *** [Makefile:2025: .] Error 2
tedd_an/BuildKernel32 fail BuildKernel32: FAIL: drivers/bluetooth/hci_qca.c: In function ‘qca_controller_memdump’: drivers/bluetooth/hci_qca.c:1070:10: error: implicit declaration of function ‘hci_devcoredump_init’; did you mean ‘hci_devcd_init’? [-Werror=implicit-function-declaration] 1070 | ret = hci_devcoredump_init(hu->hdev, qca_memdump->ram_dump_size); | ^~~~~~~~~~~~~~~~~~~~ | hci_devcd_init drivers/bluetooth/hci_qca.c:1119:4: error: implicit declaration of function ‘hci_devcoredump_append_pattern’; did you mean ‘hci_devcd_append_pattern’? [-Werror=implicit-function-declaration] 1119 | hci_devcoredump_append_pattern(hu->hdev, 0x00, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | hci_devcd_append_pattern drivers/bluetooth/hci_qca.c:1136:4: error: implicit declaration of function ‘hci_devcoredump_append’; did you mean ‘hci_devcd_append’? [-Werror=implicit-function-declaration] 1136 | hci_devcoredump_append(hu->hdev, skb); | ^~~~~~~~~~~~~~~~~~~~~~ | hci_devcd_append drivers/bluetooth/hci_qca.c:1150:4: error: implicit declaration of function ‘hci_devcoredump_complete’; did you mean ‘hci_devcd_complete’? [-Werror=implicit-function-declaration] 1150 | hci_devcoredump_complete(hu->hdev); | ^~~~~~~~~~~~~~~~~~~~~~~~ | hci_devcd_complete drivers/bluetooth/hci_qca.c: In function ‘qca_hw_error’: drivers/bluetooth/hci_qca.c:1561:3: error: implicit declaration of function ‘hci_devcoredump_abort’; did you mean ‘hci_devcd_abort’? [-Werror=implicit-function-declaration] 1561 | hci_devcoredump_abort(hu->hdev); | ^~~~~~~~~~~~~~~~~~~~~ | hci_devcd_abort drivers/bluetooth/hci_qca.c: In function ‘hciqca_coredump_enabled’: drivers/bluetooth/hci_qca.c:1732:25: error: ‘struct device’ has no member named ‘coredump_disabled’ 1732 | return !hu->serdev->dev.coredump_disabled; | ^ drivers/bluetooth/hci_qca.c: In function ‘qca_setup’: drivers/bluetooth/hci_qca.c:1874:17: error: ‘struct hci_devcoredump’ has no member named ‘enabled’ 1874 | hu->hdev->dump.enabled = hciqca_coredump_enabled; | ^ drivers/bluetooth/hci_qca.c:1914:2: error: implicit declaration of function ‘hci_devcoredump_register’; did you mean ‘hci_devcd_register’? [-Werror=implicit-function-declaration] 1914 | hci_devcoredump_register(hdev, hci_coredump_qca, qca_dmp_hdr, NULL); | ^~~~~~~~~~~~~~~~~~~~~~~~ | hci_devcd_register drivers/bluetooth/hci_qca.c: In function ‘hciqca_coredump’: drivers/bluetooth/hci_qca.c:2487:10: error: ‘struct device’ has no member named ‘coredump_disabled’ 2487 | if (!dev->coredump_disabled && hdev->dump.coredump) | ^~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:252: drivers/bluetooth/hci_qca.o] Error 1 make[2]: *** [scripts/Makefile.build:494: drivers/bluetooth] Error 2 make[1]: *** [scripts/Makefile.build:494: drivers] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:2025: .] Error 2
tedd_an/TestRunnerSetup success TestRunnerSetup PASS
tedd_an/TestRunner_l2cap-tester success TestRunner PASS
tedd_an/TestRunner_iso-tester success TestRunner PASS
tedd_an/TestRunner_bnep-tester success TestRunner PASS
tedd_an/TestRunner_mgmt-tester success TestRunner PASS
tedd_an/TestRunner_rfcomm-tester success TestRunner PASS
tedd_an/TestRunner_sco-tester success TestRunner PASS
tedd_an/TestRunner_ioctl-tester success TestRunner PASS
tedd_an/TestRunner_mesh-tester success TestRunner PASS
tedd_an/TestRunner_smp-tester success TestRunner PASS
tedd_an/TestRunner_userchan-tester success TestRunner PASS
tedd_an/IncrementalBuild fail [v1,1/2] Bluetooth: hci_qca: Add qcomm devcoredump sysfs support drivers/bluetooth/hci_qca.c: In function ‘hciqca_coredump_enabled’: drivers/bluetooth/hci_qca.c:1710:25: error: ‘struct device’ has no member named ‘coredump_disabled’ 1710 | return !hu->serdev->dev.coredump_disabled; | ^ drivers/bluetooth/hci_qca.c: In function ‘qca_setup’: drivers/bluetooth/hci_qca.c:1793:17: error: ‘struct hci_devcoredump’ has no member named ‘enabled’ 1793 | hu->hdev->dump.enabled = hciqca_coredump_enabled; | ^ drivers/bluetooth/hci_qca.c: In function ‘hciqca_coredump’: drivers/bluetooth/hci_qca.c:2403:10: error: ‘struct device’ has no member named ‘coredump_disabled’ 2403 | if (!dev->coredump_disabled && hdev->dump.coredump) | ^~ make[3]: *** [scripts/Makefile.build:252: drivers/bluetooth/hci_qca.o] Error 1 make[2]: *** [scripts/Makefile.build:494: drivers/bluetooth] Error 2 make[1]: *** [scripts/Makefile.build:494: drivers] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:2025: .] Error 2

Commit Message

Sai Teja Aluvala April 28, 2023, 7:16 a.m. UTC
This patch implements the hci_qca driver side .coredump() callback to
trigger a devcoredump via sysfs and .enable_coredump() callback to
check if the devcoredump functionality is enabled for a device.

Signed-off-by: Sai Teja Aluvala <quic_saluvala@quicinc.com>
Reviewed-by: Manish Mandlik <mmandlik@google.com>

---
 drivers/bluetooth/hci_qca.c | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

Comments

bluez.test.bot@gmail.com April 28, 2023, 7:56 a.m. UTC | #1
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=743760

---Test result---

Test Summary:
CheckPatch                    PASS      1.57 seconds
GitLint                       PASS      0.69 seconds
SubjectPrefix                 PASS      0.25 seconds
BuildKernel                   FAIL      26.11 seconds
CheckAllWarning               FAIL      28.77 seconds
CheckSparse                   FAIL      32.42 seconds
CheckSmatch                   FAIL      85.67 seconds
BuildKernel32                 FAIL      25.21 seconds
TestRunnerSetup               PASS      445.15 seconds
TestRunner_l2cap-tester       PASS      17.21 seconds
TestRunner_iso-tester         PASS      21.48 seconds
TestRunner_bnep-tester        PASS      5.59 seconds
TestRunner_mgmt-tester        PASS      116.11 seconds
TestRunner_rfcomm-tester      PASS      9.04 seconds
TestRunner_sco-tester         PASS      8.37 seconds
TestRunner_ioctl-tester       PASS      9.72 seconds
TestRunner_mesh-tester        PASS      7.19 seconds
TestRunner_smp-tester         PASS      8.22 seconds
TestRunner_userchan-tester    PASS      5.96 seconds
IncrementalBuild              FAIL      23.85 seconds

Details
##############################
Test: BuildKernel - FAIL
Desc: Build Kernel for Bluetooth
Output:

drivers/bluetooth/hci_qca.c: In function ‘qca_controller_memdump’:
drivers/bluetooth/hci_qca.c:1070:10: error: implicit declaration of function ‘hci_devcoredump_init’; did you mean ‘hci_devcd_init’? [-Werror=implicit-function-declaration]
 1070 |    ret = hci_devcoredump_init(hu->hdev, qca_memdump->ram_dump_size);
      |          ^~~~~~~~~~~~~~~~~~~~
      |          hci_devcd_init
drivers/bluetooth/hci_qca.c:1119:4: error: implicit declaration of function ‘hci_devcoredump_append_pattern’; did you mean ‘hci_devcd_append_pattern’? [-Werror=implicit-function-declaration]
 1119 |    hci_devcoredump_append_pattern(hu->hdev, 0x00,
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |    hci_devcd_append_pattern
drivers/bluetooth/hci_qca.c:1136:4: error: implicit declaration of function ‘hci_devcoredump_append’; did you mean ‘hci_devcd_append’? [-Werror=implicit-function-declaration]
 1136 |    hci_devcoredump_append(hu->hdev, skb);
      |    ^~~~~~~~~~~~~~~~~~~~~~
      |    hci_devcd_append
drivers/bluetooth/hci_qca.c:1150:4: error: implicit declaration of function ‘hci_devcoredump_complete’; did you mean ‘hci_devcd_complete’? [-Werror=implicit-function-declaration]
 1150 |    hci_devcoredump_complete(hu->hdev);
      |    ^~~~~~~~~~~~~~~~~~~~~~~~
      |    hci_devcd_complete
drivers/bluetooth/hci_qca.c: In function ‘qca_hw_error’:
drivers/bluetooth/hci_qca.c:1561:3: error: implicit declaration of function ‘hci_devcoredump_abort’; did you mean ‘hci_devcd_abort’? [-Werror=implicit-function-declaration]
 1561 |   hci_devcoredump_abort(hu->hdev);
      |   ^~~~~~~~~~~~~~~~~~~~~
      |   hci_devcd_abort
drivers/bluetooth/hci_qca.c: In function ‘hciqca_coredump_enabled’:
drivers/bluetooth/hci_qca.c:1732:25: error: ‘struct device’ has no member named ‘coredump_disabled’
 1732 |  return !hu->serdev->dev.coredump_disabled;
      |                         ^
drivers/bluetooth/hci_qca.c: In function ‘qca_setup’:
drivers/bluetooth/hci_qca.c:1874:17: error: ‘struct hci_devcoredump’ has no member named ‘enabled’
 1874 |   hu->hdev->dump.enabled = hciqca_coredump_enabled;
      |                 ^
drivers/bluetooth/hci_qca.c:1914:2: error: implicit declaration of function ‘hci_devcoredump_register’; did you mean ‘hci_devcd_register’? [-Werror=implicit-function-declaration]
 1914 |  hci_devcoredump_register(hdev, hci_coredump_qca, qca_dmp_hdr, NULL);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~
      |  hci_devcd_register
drivers/bluetooth/hci_qca.c: In function ‘hciqca_coredump’:
drivers/bluetooth/hci_qca.c:2487:10: error: ‘struct device’ has no member named ‘coredump_disabled’
 2487 |  if (!dev->coredump_disabled && hdev->dump.coredump)
      |          ^~
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:252: drivers/bluetooth/hci_qca.o] Error 1
make[2]: *** [scripts/Makefile.build:494: drivers/bluetooth] Error 2
make[1]: *** [scripts/Makefile.build:494: drivers] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:2025: .] Error 2
##############################
Test: CheckAllWarning - FAIL
Desc: Run linux kernel with all warning enabled
Output:

drivers/bluetooth/hci_qca.c:981:5: warning: no previous prototype for ‘qca_dmp_hdr’ [-Wmissing-prototypes]
  981 | int qca_dmp_hdr(struct hci_dev *hdev, char *buf, size_t size)
      |     ^~~~~~~~~~~
drivers/bluetooth/hci_qca.c: In function ‘qca_controller_memdump’:
drivers/bluetooth/hci_qca.c:1070:10: error: implicit declaration of function ‘hci_devcoredump_init’; did you mean ‘hci_devcd_init’? [-Werror=implicit-function-declaration]
 1070 |    ret = hci_devcoredump_init(hu->hdev, qca_memdump->ram_dump_size);
      |          ^~~~~~~~~~~~~~~~~~~~
      |          hci_devcd_init
drivers/bluetooth/hci_qca.c:1119:4: error: implicit declaration of function ‘hci_devcoredump_append_pattern’; did you mean ‘hci_devcd_append_pattern’? [-Werror=implicit-function-declaration]
 1119 |    hci_devcoredump_append_pattern(hu->hdev, 0x00,
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |    hci_devcd_append_pattern
drivers/bluetooth/hci_qca.c:1136:4: error: implicit declaration of function ‘hci_devcoredump_append’; did you mean ‘hci_devcd_append’? [-Werror=implicit-function-declaration]
 1136 |    hci_devcoredump_append(hu->hdev, skb);
      |    ^~~~~~~~~~~~~~~~~~~~~~
      |    hci_devcd_append
drivers/bluetooth/hci_qca.c:1150:4: error: implicit declaration of function ‘hci_devcoredump_complete’; did you mean ‘hci_devcd_complete’? [-Werror=implicit-function-declaration]
 1150 |    hci_devcoredump_complete(hu->hdev);
      |    ^~~~~~~~~~~~~~~~~~~~~~~~
      |    hci_devcd_complete
drivers/bluetooth/hci_qca.c: In function ‘qca_hw_error’:
drivers/bluetooth/hci_qca.c:1561:3: error: implicit declaration of function ‘hci_devcoredump_abort’; did you mean ‘hci_devcd_abort’? [-Werror=implicit-function-declaration]
 1561 |   hci_devcoredump_abort(hu->hdev);
      |   ^~~~~~~~~~~~~~~~~~~~~
      |   hci_devcd_abort
drivers/bluetooth/hci_qca.c: In function ‘hciqca_coredump_enabled’:
drivers/bluetooth/hci_qca.c:1732:25: error: ‘struct device’ has no member named ‘coredump_disabled’
 1732 |  return !hu->serdev->dev.coredump_disabled;
      |                         ^
drivers/bluetooth/hci_qca.c: In function ‘qca_setup’:
drivers/bluetooth/hci_qca.c:1874:17: error: ‘struct hci_devcoredump’ has no member named ‘enabled’
 1874 |   hu->hdev->dump.enabled = hciqca_coredump_enabled;
      |                 ^
drivers/bluetooth/hci_qca.c:1914:2: error: implicit declaration of function ‘hci_devcoredump_register’; did you mean ‘hci_devcd_register’? [-Werror=implicit-function-declaration]
 1914 |  hci_devcoredump_register(hdev, hci_coredump_qca, qca_dmp_hdr, NULL);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~
      |  hci_devcd_register
drivers/bluetooth/hci_qca.c: In function ‘hciqca_coredump’:
drivers/bluetooth/hci_qca.c:2487:10: error: ‘struct device’ has no member named ‘coredump_disabled’
 2487 |  if (!dev->coredump_disabled && hdev->dump.coredump)
      |          ^~
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:252: drivers/bluetooth/hci_qca.o] Error 1
make[2]: *** [scripts/Makefile.build:494: drivers/bluetooth] Error 2
make[1]: *** [scripts/Makefile.build:494: drivers] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:2025: .] Error 2
##############################
Test: CheckSparse - FAIL
Desc: Run sparse tool with linux kernel
Output:

net/bluetooth/af_bluetooth.c:178:25: warning: context imbalance in 'bt_accept_enqueue' - different lock contexts for basic block
drivers/bluetooth/hci_qca.c: In function ‘qca_controller_memdump’:
drivers/bluetooth/hci_qca.c:1070:10: error: implicit declaration of function ‘hci_devcoredump_init’; did you mean ‘hci_devcd_init’? [-Werror=implicit-function-declaration]
 1070 |    ret = hci_devcoredump_init(hu->hdev, qca_memdump->ram_dump_size);
      |          ^~~~~~~~~~~~~~~~~~~~
      |          hci_devcd_init
drivers/bluetooth/hci_qca.c:1119:4: error: implicit declaration of function ‘hci_devcoredump_append_pattern’; did you mean ‘hci_devcd_append_pattern’? [-Werror=implicit-function-declaration]
 1119 |    hci_devcoredump_append_pattern(hu->hdev, 0x00,
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |    hci_devcd_append_pattern
drivers/bluetooth/hci_qca.c:1136:4: error: implicit declaration of function ‘hci_devcoredump_append’; did you mean ‘hci_devcd_append’? [-Werror=implicit-function-declaration]
 1136 |    hci_devcoredump_append(hu->hdev, skb);
      |    ^~~~~~~~~~~~~~~~~~~~~~
      |    hci_devcd_append
drivers/bluetooth/hci_qca.c:1150:4: error: implicit declaration of function ‘hci_devcoredump_complete’; did you mean ‘hci_devcd_complete’? [-Werror=implicit-function-declaration]
 1150 |    hci_devcoredump_complete(hu->hdev);
      |    ^~~~~~~~~~~~~~~~~~~~~~~~
      |    hci_devcd_complete
drivers/bluetooth/hci_qca.c: In function ‘qca_hw_error’:
drivers/bluetooth/hci_qca.c:1561:3: error: implicit declaration of function ‘hci_devcoredump_abort’; did you mean ‘hci_devcd_abort’? [-Werror=implicit-function-declaration]
 1561 |   hci_devcoredump_abort(hu->hdev);
      |   ^~~~~~~~~~~~~~~~~~~~~
      |   hci_devcd_abort
drivers/bluetooth/hci_qca.c: In function ‘hciqca_coredump_enabled’:
drivers/bluetooth/hci_qca.c:1732:25: error: ‘struct device’ has no member named ‘coredump_disabled’
 1732 |  return !hu->serdev->dev.coredump_disabled;
      |                         ^
drivers/bluetooth/hci_qca.c: In function ‘qca_setup’:
drivers/bluetooth/hci_qca.c:1874:17: error: ‘struct hci_devcoredump’ has no member named ‘enabled’
 1874 |   hu->hdev->dump.enabled = hciqca_coredump_enabled;
      |                 ^
drivers/bluetooth/hci_qca.c:1914:2: error: implicit declaration of function ‘hci_devcoredump_register’; did you mean ‘hci_devcd_register’? [-Werror=implicit-function-declaration]
 1914 |  hci_devcoredump_register(hdev, hci_coredump_qca, qca_dmp_hdr, NULL);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~
      |  hci_devcd_register
drivers/bluetooth/hci_qca.c: In function ‘hciqca_coredump’:
drivers/bluetooth/hci_qca.c:2487:10: error: ‘struct device’ has no member named ‘coredump_disabled’
 2487 |  if (!dev->coredump_disabled && hdev->dump.coredump)
      |          ^~
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:252: drivers/bluetooth/hci_qca.o] Error 1
make[2]: *** [scripts/Makefile.build:494: drivers/bluetooth] Error 2
make[1]: *** [scripts/Makefile.build:494: drivers] Error 2
make[1]: *** Waiting for unfinished jobs....
net/bluetooth/hci_event.c: note: in included file (through include/net/bluetooth/hci_core.h):
./include/net/bluetooth/hci.h:2646:47: warning: array of flexible structures
./include/net/bluetooth/hci.h:2732:43: warning: array of flexible structures
net/bluetooth/hci_codec.c: note: in included file:
./include/net/bluetooth/hci_core.h:150:35: warning: array of flexible structures
net/bluetooth/sco.c: note: in included file:
./include/net/bluetooth/hci_core.h:150:35: warning: array of flexible structures
make: *** [Makefile:2025: .] Error 2
##############################
Test: CheckSmatch - FAIL
Desc: Run smatch tool with source
Output:

drivers/bluetooth/hci_qca.c: In function ‘qca_controller_memdump’:
drivers/bluetooth/hci_qca.c:1070:10: error: implicit declaration of function ‘hci_devcoredump_init’; did you mean ‘hci_devcd_init’? [-Werror=implicit-function-declaration]
 1070 |    ret = hci_devcoredump_init(hu->hdev, qca_memdump->ram_dump_size);
      |          ^~~~~~~~~~~~~~~~~~~~
      |          hci_devcd_init
drivers/bluetooth/hci_qca.c:1119:4: error: implicit declaration of function ‘hci_devcoredump_append_pattern’; did you mean ‘hci_devcd_append_pattern’? [-Werror=implicit-function-declaration]
 1119 |    hci_devcoredump_append_pattern(hu->hdev, 0x00,
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |    hci_devcd_append_pattern
drivers/bluetooth/hci_qca.c:1136:4: error: implicit declaration of function ‘hci_devcoredump_append’; did you mean ‘hci_devcd_append’? [-Werror=implicit-function-declaration]
 1136 |    hci_devcoredump_append(hu->hdev, skb);
      |    ^~~~~~~~~~~~~~~~~~~~~~
      |    hci_devcd_append
drivers/bluetooth/hci_qca.c:1150:4: error: implicit declaration of function ‘hci_devcoredump_complete’; did you mean ‘hci_devcd_complete’? [-Werror=implicit-function-declaration]
 1150 |    hci_devcoredump_complete(hu->hdev);
      |    ^~~~~~~~~~~~~~~~~~~~~~~~
      |    hci_devcd_complete
drivers/bluetooth/hci_qca.c: In function ‘qca_hw_error’:
drivers/bluetooth/hci_qca.c:1561:3: error: implicit declaration of function ‘hci_devcoredump_abort’; did you mean ‘hci_devcd_abort’? [-Werror=implicit-function-declaration]
 1561 |   hci_devcoredump_abort(hu->hdev);
      |   ^~~~~~~~~~~~~~~~~~~~~
      |   hci_devcd_abort
drivers/bluetooth/hci_qca.c: In function ‘hciqca_coredump_enabled’:
drivers/bluetooth/hci_qca.c:1732:25: error: ‘struct device’ has no member named ‘coredump_disabled’
 1732 |  return !hu->serdev->dev.coredump_disabled;
      |                         ^
drivers/bluetooth/hci_qca.c: In function ‘qca_setup’:
drivers/bluetooth/hci_qca.c:1874:17: error: ‘struct hci_devcoredump’ has no member named ‘enabled’
 1874 |   hu->hdev->dump.enabled = hciqca_coredump_enabled;
      |                 ^
drivers/bluetooth/hci_qca.c:1914:2: error: implicit declaration of function ‘hci_devcoredump_register’; did you mean ‘hci_devcd_register’? [-Werror=implicit-function-declaration]
 1914 |  hci_devcoredump_register(hdev, hci_coredump_qca, qca_dmp_hdr, NULL);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~
      |  hci_devcd_register
drivers/bluetooth/hci_qca.c: In function ‘hciqca_coredump’:
drivers/bluetooth/hci_qca.c:2487:10: error: ‘struct device’ has no member named ‘coredump_disabled’
 2487 |  if (!dev->coredump_disabled && hdev->dump.coredump)
      |          ^~
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:252: drivers/bluetooth/hci_qca.o] Error 1
make[2]: *** [scripts/Makefile.build:494: drivers/bluetooth] Error 2
make[1]: *** [scripts/Makefile.build:494: drivers] Error 2
make[1]: *** Waiting for unfinished jobs....
net/bluetooth/hci_event.c: note: in included file (through include/net/bluetooth/hci_core.h):
./include/net/bluetooth/hci.h:2646:47: warning: array of flexible structures
./include/net/bluetooth/hci.h:2732:43: warning: array of flexible structures
net/bluetooth/hci_codec.c: note: in included file:
./include/net/bluetooth/hci_core.h:150:35: warning: array of flexible structures
net/bluetooth/sco.c: note: in included file:
./include/net/bluetooth/hci_core.h:150:35: warning: array of flexible structures
make: *** [Makefile:2025: .] Error 2
##############################
Test: BuildKernel32 - FAIL
Desc: Build 32bit Kernel for Bluetooth
Output:

drivers/bluetooth/hci_qca.c: In function ‘qca_controller_memdump’:
drivers/bluetooth/hci_qca.c:1070:10: error: implicit declaration of function ‘hci_devcoredump_init’; did you mean ‘hci_devcd_init’? [-Werror=implicit-function-declaration]
 1070 |    ret = hci_devcoredump_init(hu->hdev, qca_memdump->ram_dump_size);
      |          ^~~~~~~~~~~~~~~~~~~~
      |          hci_devcd_init
drivers/bluetooth/hci_qca.c:1119:4: error: implicit declaration of function ‘hci_devcoredump_append_pattern’; did you mean ‘hci_devcd_append_pattern’? [-Werror=implicit-function-declaration]
 1119 |    hci_devcoredump_append_pattern(hu->hdev, 0x00,
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |    hci_devcd_append_pattern
drivers/bluetooth/hci_qca.c:1136:4: error: implicit declaration of function ‘hci_devcoredump_append’; did you mean ‘hci_devcd_append’? [-Werror=implicit-function-declaration]
 1136 |    hci_devcoredump_append(hu->hdev, skb);
      |    ^~~~~~~~~~~~~~~~~~~~~~
      |    hci_devcd_append
drivers/bluetooth/hci_qca.c:1150:4: error: implicit declaration of function ‘hci_devcoredump_complete’; did you mean ‘hci_devcd_complete’? [-Werror=implicit-function-declaration]
 1150 |    hci_devcoredump_complete(hu->hdev);
      |    ^~~~~~~~~~~~~~~~~~~~~~~~
      |    hci_devcd_complete
drivers/bluetooth/hci_qca.c: In function ‘qca_hw_error’:
drivers/bluetooth/hci_qca.c:1561:3: error: implicit declaration of function ‘hci_devcoredump_abort’; did you mean ‘hci_devcd_abort’? [-Werror=implicit-function-declaration]
 1561 |   hci_devcoredump_abort(hu->hdev);
      |   ^~~~~~~~~~~~~~~~~~~~~
      |   hci_devcd_abort
drivers/bluetooth/hci_qca.c: In function ‘hciqca_coredump_enabled’:
drivers/bluetooth/hci_qca.c:1732:25: error: ‘struct device’ has no member named ‘coredump_disabled’
 1732 |  return !hu->serdev->dev.coredump_disabled;
      |                         ^
drivers/bluetooth/hci_qca.c: In function ‘qca_setup’:
drivers/bluetooth/hci_qca.c:1874:17: error: ‘struct hci_devcoredump’ has no member named ‘enabled’
 1874 |   hu->hdev->dump.enabled = hciqca_coredump_enabled;
      |                 ^
drivers/bluetooth/hci_qca.c:1914:2: error: implicit declaration of function ‘hci_devcoredump_register’; did you mean ‘hci_devcd_register’? [-Werror=implicit-function-declaration]
 1914 |  hci_devcoredump_register(hdev, hci_coredump_qca, qca_dmp_hdr, NULL);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~
      |  hci_devcd_register
drivers/bluetooth/hci_qca.c: In function ‘hciqca_coredump’:
drivers/bluetooth/hci_qca.c:2487:10: error: ‘struct device’ has no member named ‘coredump_disabled’
 2487 |  if (!dev->coredump_disabled && hdev->dump.coredump)
      |          ^~
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:252: drivers/bluetooth/hci_qca.o] Error 1
make[2]: *** [scripts/Makefile.build:494: drivers/bluetooth] Error 2
make[1]: *** [scripts/Makefile.build:494: drivers] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:2025: .] Error 2
##############################
Test: IncrementalBuild - FAIL
Desc: Incremental build with the patches in the series
Output:
[v1,1/2] Bluetooth: hci_qca: Add qcomm devcoredump sysfs support

drivers/bluetooth/hci_qca.c: In function ‘hciqca_coredump_enabled’:
drivers/bluetooth/hci_qca.c:1710:25: error: ‘struct device’ has no member named ‘coredump_disabled’
 1710 |  return !hu->serdev->dev.coredump_disabled;
      |                         ^
drivers/bluetooth/hci_qca.c: In function ‘qca_setup’:
drivers/bluetooth/hci_qca.c:1793:17: error: ‘struct hci_devcoredump’ has no member named ‘enabled’
 1793 |   hu->hdev->dump.enabled = hciqca_coredump_enabled;
      |                 ^
drivers/bluetooth/hci_qca.c: In function ‘hciqca_coredump’:
drivers/bluetooth/hci_qca.c:2403:10: error: ‘struct device’ has no member named ‘coredump_disabled’
 2403 |  if (!dev->coredump_disabled && hdev->dump.coredump)
      |          ^~
make[3]: *** [scripts/Makefile.build:252: drivers/bluetooth/hci_qca.o] Error 1
make[2]: *** [scripts/Makefile.build:494: drivers/bluetooth] Error 2
make[1]: *** [scripts/Makefile.build:494: drivers] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:2025: .] Error 2


---
Regards,
Linux Bluetooth
kernel test robot April 28, 2023, 7:36 p.m. UTC | #2
Hi Sai,

kernel test robot noticed the following build errors:

[auto build test ERROR on bluetooth/master]
[also build test ERROR on bluetooth-next/master linus/master v6.3 next-20230427]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Sai-Teja-Aluvala/Bluetooth-hci_qca-Add-qcomm-devcoredump-support/20230428-152145
base:   https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth.git master
patch link:    https://lore.kernel.org/r/1682666213-7973-1-git-send-email-quic_saluvala%40quicinc.com
patch subject: [PATCH v1 1/2] Bluetooth: hci_qca: Add qcomm devcoredump sysfs support
config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20230429/202304290337.5apzPPgA-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/intel-lab-lkp/linux/commit/14f992843ff24a60f1eab6bb1024679f5f0aafae
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Sai-Teja-Aluvala/Bluetooth-hci_qca-Add-qcomm-devcoredump-support/20230428-152145
        git checkout 14f992843ff24a60f1eab6bb1024679f5f0aafae
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k SHELL=/bin/bash drivers/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202304290337.5apzPPgA-lkp@intel.com/

All errors (new ones prefixed by >>):

   drivers/bluetooth/hci_qca.c: In function 'hciqca_coredump_enabled':
>> drivers/bluetooth/hci_qca.c:1705:32: error: 'struct device' has no member named 'coredump_disabled'
    1705 |         return !hu->serdev->dev.coredump_disabled;
         |                                ^
   drivers/bluetooth/hci_qca.c: In function 'qca_setup':
>> drivers/bluetooth/hci_qca.c:1785:25: error: 'struct hci_dev' has no member named 'dump'
    1785 |                 hu->hdev->dump.enabled = hciqca_coredump_enabled;
         |                         ^~
   drivers/bluetooth/hci_qca.c: In function 'hciqca_coredump':
   drivers/bluetooth/hci_qca.c:2374:17: error: 'struct device' has no member named 'coredump_disabled'
    2374 |         if (!dev->coredump_disabled && hdev->dump.coredump)
         |                 ^~
   drivers/bluetooth/hci_qca.c:2374:44: error: 'struct hci_dev' has no member named 'dump'
    2374 |         if (!dev->coredump_disabled && hdev->dump.coredump)
         |                                            ^~
   drivers/bluetooth/hci_qca.c:2375:21: error: 'struct hci_dev' has no member named 'dump'
    2375 |                 hdev->dump.coredump(hdev);
         |                     ^~


vim +1705 drivers/bluetooth/hci_qca.c

  1699	
  1700	#ifdef CONFIG_DEV_COREDUMP
  1701	static bool hciqca_coredump_enabled(struct hci_dev *hdev)
  1702	{
  1703		struct hci_uart *hu = hci_get_drvdata(hdev);
  1704	
> 1705		return !hu->serdev->dev.coredump_disabled;
  1706	}
  1707	#endif
  1708	
  1709	static int qca_setup(struct hci_uart *hu)
  1710	{
  1711		struct hci_dev *hdev = hu->hdev;
  1712		struct qca_data *qca = hu->priv;
  1713		unsigned int speed, qca_baudrate = QCA_BAUDRATE_115200;
  1714		unsigned int retries = 0;
  1715		enum qca_btsoc_type soc_type = qca_soc_type(hu);
  1716		const char *firmware_name = qca_get_firmware_name(hu);
  1717		int ret;
  1718		struct qca_btsoc_version ver;
  1719	
  1720		ret = qca_check_speeds(hu);
  1721		if (ret)
  1722			return ret;
  1723	
  1724		clear_bit(QCA_ROM_FW, &qca->flags);
  1725		/* Patch downloading has to be done without IBS mode */
  1726		set_bit(QCA_IBS_DISABLED, &qca->flags);
  1727	
  1728		/* Enable controller to do both LE scan and BR/EDR inquiry
  1729		 * simultaneously.
  1730		 */
  1731		set_bit(HCI_QUIRK_SIMULTANEOUS_DISCOVERY, &hdev->quirks);
  1732	
  1733		bt_dev_info(hdev, "setting up %s",
  1734			qca_is_wcn399x(soc_type) ? "wcn399x" :
  1735			(soc_type == QCA_WCN6750) ? "wcn6750" : "ROME/QCA6390");
  1736	
  1737		qca->memdump_state = QCA_MEMDUMP_IDLE;
  1738	
  1739	retry:
  1740		ret = qca_power_on(hdev);
  1741		if (ret)
  1742			goto out;
  1743	
  1744		clear_bit(QCA_SSR_TRIGGERED, &qca->flags);
  1745	
  1746		if (qca_is_wcn399x(soc_type) ||
  1747		    qca_is_wcn6750(soc_type)) {
  1748			set_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks);
  1749			hci_set_aosp_capable(hdev);
  1750	
  1751			ret = qca_read_soc_version(hdev, &ver, soc_type);
  1752			if (ret)
  1753				goto out;
  1754		} else {
  1755			qca_set_speed(hu, QCA_INIT_SPEED);
  1756		}
  1757	
  1758		/* Setup user speed if needed */
  1759		speed = qca_get_speed(hu, QCA_OPER_SPEED);
  1760		if (speed) {
  1761			ret = qca_set_speed(hu, QCA_OPER_SPEED);
  1762			if (ret)
  1763				goto out;
  1764	
  1765			qca_baudrate = qca_get_baudrate_value(speed);
  1766		}
  1767	
  1768		if (!(qca_is_wcn399x(soc_type) ||
  1769		     qca_is_wcn6750(soc_type))) {
  1770			/* Get QCA version information */
  1771			ret = qca_read_soc_version(hdev, &ver, soc_type);
  1772			if (ret)
  1773				goto out;
  1774		}
  1775	
  1776		/* Setup patch / NVM configurations */
  1777		ret = qca_uart_setup(hdev, qca_baudrate, soc_type, ver,
  1778				firmware_name);
  1779		if (!ret) {
  1780			clear_bit(QCA_IBS_DISABLED, &qca->flags);
  1781			qca_debugfs_init(hdev);
  1782			hu->hdev->hw_error = qca_hw_error;
  1783			hu->hdev->cmd_timeout = qca_cmd_timeout;
  1784	#ifdef CONFIG_DEV_COREDUMP
> 1785			hu->hdev->dump.enabled = hciqca_coredump_enabled;
  1786	#endif
  1787			if (device_can_wakeup(hu->serdev->ctrl->dev.parent))
  1788				hu->hdev->wakeup = qca_wakeup;
  1789		} else if (ret == -ENOENT) {
  1790			/* No patch/nvm-config found, run with original fw/config */
  1791			set_bit(QCA_ROM_FW, &qca->flags);
  1792			ret = 0;
  1793		} else if (ret == -EAGAIN) {
  1794			/*
  1795			 * Userspace firmware loader will return -EAGAIN in case no
  1796			 * patch/nvm-config is found, so run with original fw/config.
  1797			 */
  1798			set_bit(QCA_ROM_FW, &qca->flags);
  1799			ret = 0;
  1800		}
  1801	
  1802	out:
  1803		if (ret && retries < MAX_INIT_RETRIES) {
  1804			bt_dev_warn(hdev, "Retry BT power ON:%d", retries);
  1805			qca_power_shutdown(hu);
  1806			if (hu->serdev) {
  1807				serdev_device_close(hu->serdev);
  1808				ret = serdev_device_open(hu->serdev);
  1809				if (ret) {
  1810					bt_dev_err(hdev, "failed to open port");
  1811					return ret;
  1812				}
  1813			}
  1814			retries++;
  1815			goto retry;
  1816		}
  1817	
  1818		/* Setup bdaddr */
  1819		if (soc_type == QCA_ROME)
  1820			hu->hdev->set_bdaddr = qca_set_bdaddr_rome;
  1821		else
  1822			hu->hdev->set_bdaddr = qca_set_bdaddr;
  1823	
  1824		return ret;
  1825	}
  1826
diff mbox series

Patch

diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c
index 1b06450..e21180d 100644
--- a/drivers/bluetooth/hci_qca.c
+++ b/drivers/bluetooth/hci_qca.c
@@ -1702,6 +1702,15 @@  static int qca_power_on(struct hci_dev *hdev)
 	return ret;
 }
 
+#ifdef CONFIG_DEV_COREDUMP
+static bool hciqca_coredump_enabled(struct hci_dev *hdev)
+{
+	struct hci_uart *hu = hci_get_drvdata(hdev);
+
+	return !hu->serdev->dev.coredump_disabled;
+}
+#endif
+
 static int qca_setup(struct hci_uart *hu)
 {
 	struct hci_dev *hdev = hu->hdev;
@@ -1780,6 +1789,9 @@  static int qca_setup(struct hci_uart *hu)
 		qca_debugfs_init(hdev);
 		hu->hdev->hw_error = qca_hw_error;
 		hu->hdev->cmd_timeout = qca_cmd_timeout;
+#ifdef CONFIG_DEV_COREDUMP
+		hu->hdev->dump.enabled = hciqca_coredump_enabled;
+#endif
 		if (device_can_wakeup(hu->serdev->ctrl->dev.parent))
 			hu->hdev->wakeup = qca_wakeup;
 	} else if (ret == -ENOENT) {
@@ -2380,6 +2392,18 @@  static const struct acpi_device_id qca_bluetooth_acpi_match[] = {
 MODULE_DEVICE_TABLE(acpi, qca_bluetooth_acpi_match);
 #endif
 
+#ifdef CONFIG_DEV_COREDUMP
+static void hciqca_coredump(struct device *dev)
+{
+	struct serdev_device *serdev = to_serdev_device(dev);
+	struct qca_serdev *qcadev = serdev_device_get_drvdata(serdev);
+	struct hci_uart *hu = &qcadev->serdev_hu;
+	struct hci_dev  *hdev = hu->hdev;
+
+	if (!dev->coredump_disabled && hdev->dump.coredump)
+		hdev->dump.coredump(hdev);
+}
+#endif
 
 static struct serdev_device_driver qca_serdev_driver = {
 	.probe = qca_serdev_probe,
@@ -2390,6 +2414,9 @@  static struct serdev_device_driver qca_serdev_driver = {
 		.acpi_match_table = ACPI_PTR(qca_bluetooth_acpi_match),
 		.shutdown = qca_serdev_shutdown,
 		.pm = &qca_pm_ops,
+#ifdef CONFIG_DEV_COREDUMP
+		.coredump = hciqca_coredump,
+#endif
 	},
 };