1. 12 10月, 2017 1 次提交
    • A
      Bluetooth: BT_HCIUART now depends on SERIAL_DEV_BUS · 05e89fb5
      Arnd Bergmann 提交于
      It is no longer possible to build BT_HCIUART into the kernel
      when SERIAL_DEV_BUS is a loadable module, even if none of the
      SERIAL_DEV_BUS based implementations are selected:
      
      drivers/bluetooth/hci_ldisc.o: In function `hci_uart_set_flow_control':
      hci_ldisc.c:(.text+0xb40): undefined reference to `serdev_device_set_flow_control'
      hci_ldisc.c:(.text+0xb5c): undefined reference to `serdev_device_set_tiocm'
      
      This adds a dependency to avoid the broken configuration.
      
      Fixes: 7841d554 ("Bluetooth: hci_uart_set_flow_control: Fix NULL deref when using serdev")
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      05e89fb5
  2. 10 10月, 2017 1 次提交
    • J
      Bluetooth: avoid silent hci_bcm ACPI PM regression · 4294625e
      Johan Hovold 提交于
      The hci_bcm platform-device hack which was used to implement
      power management for ACPI devices is being replaced by a
      serial-device-bus implementation.
      
      Unfortunately, when the corresponding change to the ACPI code lands (a
      change that will stop enumerating and registering the serial-device-node
      child as a platform device) PM will break silently unless serdev
      TTY-port controller support has been enabled. Specifically, hciattach
      (btattach) would still succeed, but power management would no longer
      work.
      
      Although this is strictly a runtime dependency, let's make the driver
      depend on SERIAL_DEV_CTRL_TTYPORT, which is the particular serdev
      controller implementation used by the ACPI devices currently managed by
      this driver, to avoid breaking PM without anyone noticing.
      
      Note that the driver already has a (build-time) dependency on the serdev
      bus code.
      Signed-off-by: NJohan Hovold <johan@kernel.org>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      4294625e
  3. 18 8月, 2017 1 次提交
  4. 25 7月, 2017 1 次提交
  5. 18 5月, 2017 2 次提交
    • T
      Bluetooth: hci_nokia: select BT_HCIUART_H4 · c42c88e6
      Tobias Regnery 提交于
      We see the following build failure with CONFIG_BT_HCIUART_NOKIA=y and
      CONFIG_BT_HCIUART_H4=n:
      
      drivers/bluetooth/hci_nokia.c: In function 'nokia_recv':
      drivers/bluetooth/hci_nokia.c:644:18: error: implicit declaration of function 'h4_recv_buf' [-Werror=implicit-function-declaration]
      ...
      
      Fix this by selecting the BT_HCIUART_H4 symbol like all the other users
      of the protocoll.
      
      Fixes: 7bb31868 ("Bluetooth: add nokia driver")
      Signed-off-by: NTobias Regnery <tobias.regnery@gmail.com>
      Reviewed-by: NSebastian Reichel <sre@kernel.org>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      c42c88e6
    • T
      Bluetooth: hci_uart: fix kconfig dependency · 76c4969f
      Tobias Regnery 提交于
      We see the following link error with CONFIG_BT_HCIUART=y,
      CONFIG_BT_HCIUART_LL=y and CONFIG_SERIAL_DEV_BUS=m:
      
      drivers/built-in.o: In function 'll_close':
      supp.c:(.text+0x55add4): undefined reference to 'serdev_device_close'
      supp.c:(.text+0x55add4): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol 'serdev_device_close'
      drivers/built-in.o: In function 'll_open':
      supp.c:(.text+0x55aed0): undefined reference to 'serdev_device_open'
      supp.c:(.text+0x55aed0): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol 'serdev_device_open'
      drivers/built-in.o: In function `hci_ti_probe':
      supp.c:(.text+0x55b00c): undefined reference to 'hci_uart_register_device'
      supp.c:(.text+0x55b00c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol 'hci_uart_register_device'
      drivers/built-in.o: In function `ll_setup':
      supp.c:(.text+0x55b08c): undefined reference to 'serdev_device_set_flow_control'
      supp.c:(.text+0x55b08c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol 'serdev_device_set_flow_control'
      supp.c:(.text+0x55b324): undefined reference to 'serdev_device_set_baudrate'
      supp.c:(.text+0x55b324): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol 'serdev_device_set_baudrate'
      drivers/built-in.o: In function 'll_init':
      supp.c:(.init.text+0x1b508): undefined reference to '__serdev_device_driver_register'
      supp.c:(.init.text+0x1b508): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol '__serdev_device_driver_register'
      
      Fix this by dependig BT_HCIUART_LL on the BT_HCIUART_SERDEV symbol.
      This implies a dependency on BT_HCIUART and hci_ll.c is only compiled in
      if SERIAl_DEV_BUS is built in or SERIAL_DEV_BUS and BT_HCIUART are
      modules.
      
      Fixes: 37180552 ("bluetooth: hci_uart: add LL protocol serdev driver support")
      Signed-off-by: NTobias Regnery <tobias.regnery@gmail.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      76c4969f
  6. 22 4月, 2017 1 次提交
    • A
      Bluetooth: try to improve CONFIG_SERIAL_DEV_BUS dependency · 1fb78fb6
      Arnd Bergmann 提交于
      With CONFIG_SERIAL_DEV_BUS=m, the hci_serdev.o file does not actually
      get built into hci_uart.o as the Makefile doesn't pick it up, leading
      to a link error with anything referring to it:
      
      ERROR: "hci_uart_register_device" [drivers/bluetooth/hci_nokia.ko] undefined!
      scripts/Makefile.modpost:91: recipe for target '__modpost' failed
      
      Changing this in the Makefile would cause another problem when
      hci_uart itself is built-in and cannot reference symbols from the
      serdev module.
      
      This tries to address both problems by introducing a new hidden
      Kconfig symbol that controls both the compilation of hci_serdev.o
      and whether the Nokia driver can be selected. This seems to address
      the problem for me, though there might be a better way to do it.
      
      Fixes: 7bb31868 ("Bluetooth: add nokia driver")
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      1fb78fb6
  7. 13 4月, 2017 1 次提交
  8. 29 3月, 2017 1 次提交
  9. 23 3月, 2017 1 次提交
  10. 17 2月, 2017 1 次提交
  11. 20 9月, 2016 3 次提交
  12. 24 2月, 2016 1 次提交
  13. 21 10月, 2015 2 次提交
    • A
      Bluetooth: bpa10x: fix BT_HCIUART dependency · 7841d06e
      Arnd Bergmann 提交于
      The change to bpa10x to use the h4_recv_buf helper added a dependency
      on BT_HCIUART. This was incorrectly added to Kconfig by adding a
      'select' statement, which now in turn causes build failures
      when CONFIG_TTY is not set:
      
      warning: (BT_HCIBPA10X) selects BT_HCIUART which has unmet direct dependencies (NET && BT && TTY)
      vers/built-in.o: In function `hci_uart_tty_receive':
      fpga-mgr.c:(.text+0x282824): undefined reference to `tty_unthrottle'
      drivers/built-in.o: In function `hci_uart_tty_ioctl':
      fpga-mgr.c:(.text+0x282aa0): undefined reference to `n_tty_ioctl_helper'
      drivers/built-in.o: In function `hci_uart_flush':
      
      This replaces the 'select BT_HCIUART' dependency with 'depends on', which
      does not have this kind of problem. Alternatively, one could add 'depends
      on TTY', but avoiding 'select' on user-visible options is generally the
      preferred choice as that does not introduce the potential for dependency
      loops or incomplete dependency chains.
      
      Fixes: 91489919 ("Bluetooth: bpa10x: Fix missing BT_HCIUART dependency")
      Fixes: 943cc592 ("Bluetooth: bpa10x: Use h4_recv_buf helper for frame reassembly")
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      7841d06e
    • M
      Bluetooth: bpa10x: Fix missing BT_HCIUART dependency · 91489919
      Marcel Holtmann 提交于
      Selecting just BT_HCIUART_H4 is not enough and it also needs to select
      BT_HCIUART to avoid this warning:
      
      warning: (BT_HCIBPA10X) selects BT_HCIUART_H4 which has unmet direct
      dependencies (NET && BT && BT_HCIUART)
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com>
      91489919
  14. 08 10月, 2015 1 次提交
  15. 04 10月, 2015 1 次提交
    • L
      Bluetooth: btintel: Add iBT register access over HCI support · d06f107b
      Loic Poulain 提交于
      Add regmap ibt to support Intel Bluetooth silicon register access
      over HCI. Intel BT/FM combo chip allows to read/write some registers
      (e.g. FM registers) via its HCI interface.
      
      Read/Write operations are performed via a HCI transaction composed of
      a HCI command (host->controller) followed by a HCI command complete
      event (controller->host). Read/Write Command opcodes can be specified
      to the regmap init function.
      We define data formats which are intel/vendor specific.
      
      Register Read/Write HCI command payload (Host):
      Field: | REG ADDR | MODE | DATA_LEN | DATA... |
      size:  |   32b    |  8b  |    8b    |  8b*    |
      
      Register Read HCI command complete event payload (Controller):
      Field: | CMD STATUS | REG ADDR | DATA... |
      size:  |     8b     |   32b    |  8b*    |
      
      Register Write HCI command complete event payload (Controller):
      Field: | CMD_STATUS |
      size:  |     8b     |
      
      Since this payload is HCI encapsulated, Little Endian byte order is
      used.
      
      Write/Read Example:
      
      If we write 0x0000002a at address 0x00008c04, with opcode_write 0xfc5d,
      The resulting transaction is (btmon trace):
      
      < HCI Command (0x3f|0x005d) plen 10 [hci0]
              04 8c 00 00 02 04 2a 00 00 00
      > HCI Event (0x0e) plen 4
            Unknown (0x3f|0x005d) ncmd 1
              00
      
      Then, if we read the same register with opcode_read 0xfc5e:
      
      < HCI Command (0x3f|0x005e) plen 6 [hci0]
              04 8c 00 00 02 04
      > HCI Event (0x0e) plen 12 [hci0]
            Unknown (0x3f|0x005e) ncmd 1
              00 04 8c 00 00 2a 00 00 00
      Signed-off-by: NLoic Poulain <loic.poulain@intel.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      d06f107b
  16. 22 9月, 2015 1 次提交
  17. 11 8月, 2015 2 次提交
  18. 23 7月, 2015 1 次提交
  19. 14 5月, 2015 1 次提交
  20. 08 4月, 2015 12 次提交
  21. 04 12月, 2014 1 次提交
    • X
      Bluetooth: btmrvl add firmware dump support · dc759613
      Xinming Hu 提交于
      This patch adds firmware dump support for marvell
      bluetooth chipset. Currently only SD8897 is supported.
      This is implemented based on dev_coredump, a new mechnism
      introduced in kernel 3.18rc3
      
      Firmware dump can be trigger by
      echo 1 > /sys/kernel/debug/bluetooth/hci*/config/fw_dump
      and when the dump operation is completed, data can be read by
      cat /sys/class/devcoredump/devcd*/data
      
      We have prepared following script to divide fw memory
      dump data into multiple files based on memory type.
      
       [root]# cat btmrvl_split_dump_data.sh
       #!/bin/bash
       # usage: ./btmrvl_split_dump_data.sh dump_data
      
       fw_dump_data=$1
      
       mem_type="ITCM DTCM SQRAM APU CIU ICU MAC EXT7 EXT8 EXT9 EXT10 EXT11 EXT12 EXT13 EXTLAST"
      
       for name in ${mem_type[@]}
       do
               sed -n "/Start dump $name/,/End dump/p" $fw_dump_data  > tmp.$name.log
               if [ ! -s tmp.$name.log ]
                       then
                               rm -rf tmp.$name.log
                       else
                               # Remove the describle info "Start dump" and "End dump"
                               sed '1d' tmp.$name.log | sed '$d' > /data/$name.log
                               if [ -s /data/$name.log ]
                               then
                                       echo "generate /data/$name.log"
                               else
                                       sed '1d' tmp.$name.log | sed '$d' > /var/$name.log
                                       echo "generate /var/$name.log"
                               fi
                               rm -rf tmp.$name.log
               fi
       done
      Signed-off-by: NXinming Hu <huxm@marvell.com>
      Signed-off-by: NCathy Luo <cluo@marvell.com>
      Signed-off-by: NAvinash Patil <patila@marvell.com>
      Reviewed-by: NJohannes Berg <johannes@sipsolutions.net>
      Reviewed-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      dc759613
  22. 30 9月, 2014 1 次提交
  23. 03 7月, 2014 1 次提交
  24. 10 3月, 2014 1 次提交