* [PATCH v4 1/4] dt-bindings: net: bluetooth: Add broadcom-bluetooth
@ 2017-08-17 17:59 Loic Poulain
2017-08-17 17:59 ` [PATCH v4 2/4] ARM: dts: bcm283x: Use stdout-path instead of console bootarg Loic Poulain
` (3 more replies)
0 siblings, 4 replies; 13+ messages in thread
From: Loic Poulain @ 2017-08-17 17:59 UTC (permalink / raw)
To: robh+dt, f.fainelli, rjui, marcel, johan.hedberg, stefan.wahren
Cc: devicetree, linux-bluetooth, linux-rpi-kernel, Loic Poulain
Add binding document for serial bluetooth chips using
Broadcom protocol.
Signed-off-by: Loic Poulain <loic.poulain@gmail.com>
---
v2: dt-bindings as separate patch
rebase on upcoming pi3 dts changes
v3: changes in bcm serdev drivers:
name refactoring and additional comments
Add generic host_set_baudrate method
Use agnostic device_property_read
v4: changes in doc and dts:
Add additional params to broadcom bt dt-bindings
Set the max baudrate to 2000000 instead of 921600
use chosen/stdout-path instead of console=
remove useless earlyprintk
same changes in bcm283x.dtsi
.../devicetree/bindings/net/broadcom-bluetooth.txt | 35 ++++++++++++++++++++++
1 file changed, 35 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/broadcom-bluetooth.txt
diff --git a/Documentation/devicetree/bindings/net/broadcom-bluetooth.txt b/Documentation/devicetree/bindings/net/broadcom-bluetooth.txt
new file mode 100644
index 0000000..4194ff7
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/broadcom-bluetooth.txt
@@ -0,0 +1,35 @@
+Broadcom Bluetooth Chips
+---------------------
+
+This documents the binding structure and common properties for serial
+attached Broadcom devices.
+
+Serial attached Broadcom devices shall be a child node of the host UART
+device the slave device is attached to.
+
+Required properties:
+
+ - compatible: should contain one of the following:
+ * "brcm,bcm43438-bt"
+
+Optional properties:
+
+ - max-speed: see Documentation/devicetree/bindings/serial/slave-device.txt
+ - shutdown-gpios: GPIO specifier, used to enable the BT module
+ - device-wakeup-gpios: GPIO specifier, used to wakeup the controller
+ - host-wakeup-gpios: GPIO specifier, used to wakeup the host processor
+ - clocks: clock specifier if external clock provided to the controller
+ - clock-names: should be "extclk"
+
+
+Example:
+
+&uart2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart2_pins>;
+
+ bluetooth {
+ compatible = "brcm,bcm43438-bt";
+ max-speed = <921600>;
+ };
+};
--
1.9.1
^ permalink raw reply related [flat|nested] 13+ messages in thread* [PATCH v4 2/4] ARM: dts: bcm283x: Use stdout-path instead of console bootarg 2017-08-17 17:59 [PATCH v4 1/4] dt-bindings: net: bluetooth: Add broadcom-bluetooth Loic Poulain @ 2017-08-17 17:59 ` Loic Poulain 2017-08-22 2:30 ` Rob Herring 2017-08-17 17:59 ` [PATCH v4 3/4] ARM: dts: bcm2837-rpi-3-b: Add bcm43438 serial slave Loic Poulain ` (2 subsequent siblings) 3 siblings, 1 reply; 13+ messages in thread From: Loic Poulain @ 2017-08-17 17:59 UTC (permalink / raw) To: robh+dt, f.fainelli, rjui, marcel, johan.hedberg, stefan.wahren Cc: devicetree, linux-bluetooth, linux-rpi-kernel, Loic Poulain Add the serial port config to "chosen/stdout-path". Create serial0/1 aliases referring to uart0 ant uart1 paths. Remove unneeded earlyprintk. Signed-off-by: Loic Poulain <loic.poulain@gmail.com> --- v2: dt-bindings as separate patch rebase on upcoming pi3 dts changes v3: changes in bcm serdev drivers: name refactoring and additional comments Add generic host_set_baudrate method Use agnostic device_property_read v4: changes in doc and dts: Add additional params to broadcom bt dt-bindings Set the max baudrate to 2000000 instead of 921600 use chosen/stdout-path instead of console= remove useless earlyprintk same changes in bcm283x.dtsi arch/arm/boot/dts/bcm283x.dtsi | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi index 431dcfc..013431e 100644 --- a/arch/arm/boot/dts/bcm283x.dtsi +++ b/arch/arm/boot/dts/bcm283x.dtsi @@ -20,8 +20,13 @@ #address-cells = <1>; #size-cells = <1>; + aliases { + serial0 = &uart0; + serial1 = &uart1; + }; + chosen { - bootargs = "earlyprintk console=ttyAMA0"; + stdout-path = "serial0:115200n8"; }; thermal-zones { -- 1.9.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v4 2/4] ARM: dts: bcm283x: Use stdout-path instead of console bootarg 2017-08-17 17:59 ` [PATCH v4 2/4] ARM: dts: bcm283x: Use stdout-path instead of console bootarg Loic Poulain @ 2017-08-22 2:30 ` Rob Herring 0 siblings, 0 replies; 13+ messages in thread From: Rob Herring @ 2017-08-22 2:30 UTC (permalink / raw) To: Loic Poulain Cc: f.fainelli, rjui, marcel, johan.hedberg, stefan.wahren, devicetree, linux-bluetooth, linux-rpi-kernel On Thu, Aug 17, 2017 at 07:59:49PM +0200, Loic Poulain wrote: > Add the serial port config to "chosen/stdout-path". > Create serial0/1 aliases referring to uart0 ant uart1 paths. > Remove unneeded earlyprintk. > > Signed-off-by: Loic Poulain <loic.poulain@gmail.com> > --- > v2: dt-bindings as separate patch > rebase on upcoming pi3 dts changes > v3: changes in bcm serdev drivers: > name refactoring and additional comments > Add generic host_set_baudrate method > Use agnostic device_property_read > v4: changes in doc and dts: > Add additional params to broadcom bt dt-bindings > Set the max baudrate to 2000000 instead of 921600 > use chosen/stdout-path instead of console= > remove useless earlyprintk > same changes in bcm283x.dtsi > > arch/arm/boot/dts/bcm283x.dtsi | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) Acked-by: Rob Herring <robh@kernel.org> ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v4 3/4] ARM: dts: bcm2837-rpi-3-b: Add bcm43438 serial slave 2017-08-17 17:59 [PATCH v4 1/4] dt-bindings: net: bluetooth: Add broadcom-bluetooth Loic Poulain 2017-08-17 17:59 ` [PATCH v4 2/4] ARM: dts: bcm283x: Use stdout-path instead of console bootarg Loic Poulain @ 2017-08-17 17:59 ` Loic Poulain 2017-08-22 2:31 ` Rob Herring 2017-08-23 14:22 ` Marcel Holtmann 2017-08-17 17:59 ` [PATCH v4 4/4] Bluetooth: hci_bcm: Add serdev support Loic Poulain 2017-08-22 2:29 ` [PATCH v4 1/4] dt-bindings: net: bluetooth: Add broadcom-bluetooth Rob Herring 3 siblings, 2 replies; 13+ messages in thread From: Loic Poulain @ 2017-08-17 17:59 UTC (permalink / raw) To: robh+dt, f.fainelli, rjui, marcel, johan.hedberg, stefan.wahren Cc: devicetree, linux-bluetooth, linux-rpi-kernel, Loic Poulain Add BCM43438 (bluetooth) as a slave device of uart0 (pl011/ttyAMA0). This allows to automatically insert the bcm43438 to the bluetooth subsystem instead of relying on userspace helpers (hciattach). Overwrite chosen/stdout-path to use 8250 aux uart as console. Signed-off-by: Loic Poulain <loic.poulain@gmail.com> --- v2: dt-bindings as separate patch rebase on upcoming pi3 dts changes v3: changes in bcm serdev drivers: name refactoring and additional comments Add generic host_set_baudrate method Use agnostic device_property_read v4: changes in doc and dts: Add additional params to broadcom bt dt-bindings Set the max baudrate to 2000000 instead of 921600 use chosen/stdout-path instead of console= remove useless earlyprintk same changes in bcm283x.dtsi arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts index 20725ca..e4488cb 100644 --- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts +++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts @@ -8,6 +8,11 @@ compatible = "raspberrypi,3-model-b", "brcm,bcm2837"; model = "Raspberry Pi 3 Model B"; + chosen { + /* 8250 auxiliar UART instead of pl011 */ + stdout-path = "serial1:115200n8"; + }; + memory { reg = <0 0x40000000>; }; @@ -24,6 +29,11 @@ pinctrl-names = "default"; pinctrl-0 = <&uart0_gpio32 &gpclk2_gpio43>; status = "okay"; + + bluetooth { + compatible = "brcm,bcm43438-bt"; + max-speed = <2000000>; + }; }; /* uart1 is mapped to the pin header */ -- 1.9.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v4 3/4] ARM: dts: bcm2837-rpi-3-b: Add bcm43438 serial slave 2017-08-17 17:59 ` [PATCH v4 3/4] ARM: dts: bcm2837-rpi-3-b: Add bcm43438 serial slave Loic Poulain @ 2017-08-22 2:31 ` Rob Herring 2017-08-23 14:22 ` Marcel Holtmann 1 sibling, 0 replies; 13+ messages in thread From: Rob Herring @ 2017-08-22 2:31 UTC (permalink / raw) To: Loic Poulain Cc: f.fainelli, rjui, marcel, johan.hedberg, stefan.wahren, devicetree, linux-bluetooth, linux-rpi-kernel On Thu, Aug 17, 2017 at 07:59:50PM +0200, Loic Poulain wrote: > Add BCM43438 (bluetooth) as a slave device of uart0 (pl011/ttyAMA0). > This allows to automatically insert the bcm43438 to the bluetooth > subsystem instead of relying on userspace helpers (hciattach). > > Overwrite chosen/stdout-path to use 8250 aux uart as console. > > Signed-off-by: Loic Poulain <loic.poulain@gmail.com> > --- > v2: dt-bindings as separate patch > rebase on upcoming pi3 dts changes > v3: changes in bcm serdev drivers: > name refactoring and additional comments > Add generic host_set_baudrate method > Use agnostic device_property_read > v4: changes in doc and dts: > Add additional params to broadcom bt dt-bindings > Set the max baudrate to 2000000 instead of 921600 > use chosen/stdout-path instead of console= > remove useless earlyprintk > same changes in bcm283x.dtsi > > arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 10 ++++++++++ > 1 file changed, 10 insertions(+) Acked-by: Rob Herring <robh@kernel.org> ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v4 3/4] ARM: dts: bcm2837-rpi-3-b: Add bcm43438 serial slave 2017-08-17 17:59 ` [PATCH v4 3/4] ARM: dts: bcm2837-rpi-3-b: Add bcm43438 serial slave Loic Poulain 2017-08-22 2:31 ` Rob Herring @ 2017-08-23 14:22 ` Marcel Holtmann 2017-08-23 16:17 ` Eric Anholt 2017-08-23 16:22 ` Rob Herring 1 sibling, 2 replies; 13+ messages in thread From: Marcel Holtmann @ 2017-08-23 14:22 UTC (permalink / raw) To: Loic Poulain Cc: robh+dt, f.fainelli, rjui, Johan Hedberg, stefan.wahren, devicetree, linux-bluetooth, linux-rpi-kernel Hi Loic, > Add BCM43438 (bluetooth) as a slave device of uart0 (pl011/ttyAMA0). > This allows to automatically insert the bcm43438 to the bluetooth > subsystem instead of relying on userspace helpers (hciattach). > > Overwrite chosen/stdout-path to use 8250 aux uart as console. > > Signed-off-by: Loic Poulain <loic.poulain@gmail.com> > --- > v2: dt-bindings as separate patch > rebase on upcoming pi3 dts changes > v3: changes in bcm serdev drivers: > name refactoring and additional comments > Add generic host_set_baudrate method > Use agnostic device_property_read > v4: changes in doc and dts: > Add additional params to broadcom bt dt-bindings > Set the max baudrate to 2000000 instead of 921600 > use chosen/stdout-path instead of console= > remove useless earlyprintk > same changes in bcm283x.dtsi > > arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 10 ++++++++++ > 1 file changed, 10 insertions(+) do you mind resending the 2 pending patches with Rob’s ack on it. And ensure that this goes with DT tree since I can currently not take it since net-next has not pulled in the pending DT patches. Regards Marcel ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v4 3/4] ARM: dts: bcm2837-rpi-3-b: Add bcm43438 serial slave 2017-08-23 14:22 ` Marcel Holtmann @ 2017-08-23 16:17 ` Eric Anholt 2017-08-23 16:22 ` Rob Herring 1 sibling, 0 replies; 13+ messages in thread From: Eric Anholt @ 2017-08-23 16:17 UTC (permalink / raw) To: Marcel Holtmann, Loic Poulain Cc: devicetree, Johan Hedberg, rjui, linux-bluetooth, robh+dt, linux-rpi-kernel [-- Attachment #1: Type: text/plain, Size: 1496 bytes --] Marcel Holtmann <marcel@holtmann.org> writes: > Hi Loic, > >> Add BCM43438 (bluetooth) as a slave device of uart0 (pl011/ttyAMA0). >> This allows to automatically insert the bcm43438 to the bluetooth >> subsystem instead of relying on userspace helpers (hciattach). >> >> Overwrite chosen/stdout-path to use 8250 aux uart as console. >> >> Signed-off-by: Loic Poulain <loic.poulain@gmail.com> >> --- >> v2: dt-bindings as separate patch >> rebase on upcoming pi3 dts changes >> v3: changes in bcm serdev drivers: >> name refactoring and additional comments >> Add generic host_set_baudrate method >> Use agnostic device_property_read >> v4: changes in doc and dts: >> Add additional params to broadcom bt dt-bindings >> Set the max baudrate to 2000000 instead of 921600 >> use chosen/stdout-path instead of console= >> remove useless earlyprintk >> same changes in bcm283x.dtsi >> >> arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 10 ++++++++++ >> 1 file changed, 10 insertions(+) > > do you mind resending the 2 pending patches with Rob’s ack on it. And ensure that this goes with DT tree since I can currently not take it since net-next has not pulled in the pending DT patches. Normally we wouldn't need a resend and I'd just apply the acks when applying the DT patches, but I don't see them in my mail. (Also, note that since we're already at rc6 I might not be able to apply DT patches to -next until rc1 rolls around) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 832 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v4 3/4] ARM: dts: bcm2837-rpi-3-b: Add bcm43438 serial slave 2017-08-23 14:22 ` Marcel Holtmann 2017-08-23 16:17 ` Eric Anholt @ 2017-08-23 16:22 ` Rob Herring 1 sibling, 0 replies; 13+ messages in thread From: Rob Herring @ 2017-08-23 16:22 UTC (permalink / raw) To: Marcel Holtmann Cc: Loic Poulain, Florian Fainelli, Ray Jui, Johan Hedberg, Stefan Wahren, devicetree@vger.kernel.org, open list:BLUETOOTH DRIVERS, linux-rpi-kernel On Wed, Aug 23, 2017 at 9:22 AM, Marcel Holtmann <marcel@holtmann.org> wrot= e: > Hi Loic, > >> Add BCM43438 (bluetooth) as a slave device of uart0 (pl011/ttyAMA0). >> This allows to automatically insert the bcm43438 to the bluetooth >> subsystem instead of relying on userspace helpers (hciattach). >> >> Overwrite chosen/stdout-path to use 8250 aux uart as console. >> >> Signed-off-by: Loic Poulain <loic.poulain@gmail.com> >> --- >> v2: dt-bindings as separate patch >> rebase on upcoming pi3 dts changes >> v3: changes in bcm serdev drivers: >> name refactoring and additional comments >> Add generic host_set_baudrate method >> Use agnostic device_property_read >> v4: changes in doc and dts: >> Add additional params to broadcom bt dt-bindings >> Set the max baudrate to 2000000 instead of 921600 >> use chosen/stdout-path instead of console=3D >> remove useless earlyprintk >> same changes in bcm283x.dtsi >> >> arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 10 ++++++++++ >> 1 file changed, 10 insertions(+) > > do you mind resending the 2 pending patches with Rob=E2=80=99s ack on it.= And ensure that this goes with DT tree since I can currently not take it s= ince net-next has not pulled in the pending DT patches. They will go thru arm-soc via the sub-arch maintainer (Florian I think). Rob ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v4 4/4] Bluetooth: hci_bcm: Add serdev support 2017-08-17 17:59 [PATCH v4 1/4] dt-bindings: net: bluetooth: Add broadcom-bluetooth Loic Poulain 2017-08-17 17:59 ` [PATCH v4 2/4] ARM: dts: bcm283x: Use stdout-path instead of console bootarg Loic Poulain 2017-08-17 17:59 ` [PATCH v4 3/4] ARM: dts: bcm2837-rpi-3-b: Add bcm43438 serial slave Loic Poulain @ 2017-08-17 17:59 ` Loic Poulain 2017-08-17 19:30 ` Marcel Holtmann 2017-08-17 19:48 ` Marcel Holtmann 2017-08-22 2:29 ` [PATCH v4 1/4] dt-bindings: net: bluetooth: Add broadcom-bluetooth Rob Herring 3 siblings, 2 replies; 13+ messages in thread From: Loic Poulain @ 2017-08-17 17:59 UTC (permalink / raw) To: robh+dt, f.fainelli, rjui, marcel, johan.hedberg, stefan.wahren Cc: devicetree, linux-bluetooth, linux-rpi-kernel, Loic Poulain Add basic support for Broadcom serial slave devices. Probe the serial device, retrieve its maximum speed and register a new hci uart device. Tested/compatible with bcm43438 (RPi3). Signed-off-by: Loic Poulain <loic.poulain@gmail.com> --- v2: dt-bindings as separate patch rebase on upcoming pi3 dts changes v3: changes in bcm serdev drivers: name refactoring and additional comments Add generic host_set_baudrate method Use agnostic device_property_read v4: changes in doc and dts: Add additional params to broadcom bt dt-bindings Set the max baudrate to 2000000 instead of 921600 use chosen/stdout-path instead of console= remove useless earlyprintk same changes in bcm283x.dtsi drivers/bluetooth/hci_bcm.c | 85 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 83 insertions(+), 2 deletions(-) diff --git a/drivers/bluetooth/hci_bcm.c b/drivers/bluetooth/hci_bcm.c index 1eb286a..34882f1 100644 --- a/drivers/bluetooth/hci_bcm.c +++ b/drivers/bluetooth/hci_bcm.c @@ -27,6 +27,8 @@ #include <linux/firmware.h> #include <linux/module.h> #include <linux/acpi.h> +#include <linux/of.h> +#include <linux/property.h> #include <linux/platform_device.h> #include <linux/clk.h> #include <linux/gpio/consumer.h> @@ -34,6 +36,7 @@ #include <linux/interrupt.h> #include <linux/dmi.h> #include <linux/pm_runtime.h> +#include <linux/serdev.h> #include <net/bluetooth/bluetooth.h> #include <net/bluetooth/hci_core.h> @@ -46,6 +49,7 @@ #define BCM_AUTOSUSPEND_DELAY 5000 /* default autosleep delay */ +/* platform device driver resources */ struct bcm_device { struct list_head list; @@ -69,6 +73,12 @@ struct bcm_device { #endif }; +/* serdev driver resources */ +struct bcm_serdev { + struct hci_uart hu; +}; + +/* generic bcm uart resources */ struct bcm_data { struct sk_buff *rx_skb; struct sk_buff_head txq; @@ -80,6 +90,14 @@ struct bcm_data { static DEFINE_MUTEX(bcm_device_lock); static LIST_HEAD(bcm_device_list); +static inline void host_set_baudrate(struct hci_uart *hu, unsigned int speed) +{ + if (hu->serdev) + serdev_device_set_baudrate(hu->serdev, speed); + else + hci_uart_set_baudrate(hu, speed); +} + static int bcm_set_baudrate(struct hci_uart *hu, unsigned int speed) { struct hci_dev *hdev = hu->hdev; @@ -290,6 +308,14 @@ static int bcm_open(struct hci_uart *hu) hu->priv = bcm; + /* If this is a serdev defined device, then only use + * serdev open primitive and skip the rest. + */ + if (hu->serdev) { + serdev_device_open(hu->serdev); + goto out; + } + if (!hu->tty->dev) goto out; @@ -325,6 +351,12 @@ static int bcm_close(struct hci_uart *hu) bt_dev_dbg(hu->hdev, "hu %p", hu); + /* If this is a serdev defined device, only use serdev + * close primitive and then continue as usual. + */ + if (hu->serdev) + serdev_device_close(hu->serdev); + /* Protect bcm->dev against removal of the device or driver */ mutex_lock(&bcm_device_lock); if (bcm_device_exists(bdev)) { @@ -400,7 +432,7 @@ static int bcm_setup(struct hci_uart *hu) speed = 0; if (speed) - hci_uart_set_baudrate(hu, speed); + host_set_baudrate(hu, speed); /* Operational speed if any */ if (hu->oper_speed) @@ -413,7 +445,7 @@ static int bcm_setup(struct hci_uart *hu) if (speed) { err = bcm_set_baudrate(hu, speed); if (!err) - hci_uart_set_baudrate(hu, speed); + host_set_baudrate(hu, speed); } finalize: @@ -906,9 +938,57 @@ static int bcm_remove(struct platform_device *pdev) }, }; +static int bcm_serdev_probe(struct serdev_device *serdev) +{ + struct bcm_serdev *bcmdev; + u32 speed; + int err; + + bcmdev = devm_kzalloc(&serdev->dev, sizeof(*bcmdev), GFP_KERNEL); + if (!bcmdev) + return -ENOMEM; + + bcmdev->hu.serdev = serdev; + serdev_device_set_drvdata(serdev, bcmdev); + + err = device_property_read_u32(&serdev->dev, "max-speed", &speed); + if (!err) + bcmdev->hu.oper_speed = speed; + + return hci_uart_register_device(&bcmdev->hu, &bcm_proto); +} + +static void bcm_serdev_remove(struct serdev_device *serdev) +{ + struct bcm_serdev *bcmdev = serdev_device_get_drvdata(serdev); + + hci_uart_unregister_device(&bcmdev->hu); +} + +#ifdef CONFIG_OF +static const struct of_device_id bcm_bluetooth_of_match[] = { + { .compatible = "brcm,bcm43438-bt" }, + { }, +}; +MODULE_DEVICE_TABLE(of, bcm_bluetooth_of_match); +#endif + +static struct serdev_device_driver bcm_serdev_driver = { + .probe = bcm_serdev_probe, + .remove = bcm_serdev_remove, + .driver = { + .name = "hci_uart_bcm", + .of_match_table = of_match_ptr(bcm_bluetooth_of_match), + }, +}; + int __init bcm_init(void) { + /* For now, we need to keep both platform device + * driver (ACPI generated) and serdev driver (DT). + */ platform_driver_register(&bcm_driver); + serdev_device_driver_register(&bcm_serdev_driver); return hci_uart_register_proto(&bcm_proto); } @@ -916,6 +996,7 @@ int __init bcm_init(void) int __exit bcm_deinit(void) { platform_driver_unregister(&bcm_driver); + serdev_device_driver_unregister(&bcm_serdev_driver); return hci_uart_unregister_proto(&bcm_proto); } -- 1.9.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v4 4/4] Bluetooth: hci_bcm: Add serdev support 2017-08-17 17:59 ` [PATCH v4 4/4] Bluetooth: hci_bcm: Add serdev support Loic Poulain @ 2017-08-17 19:30 ` Marcel Holtmann 2017-08-17 19:48 ` Marcel Holtmann 1 sibling, 0 replies; 13+ messages in thread From: Marcel Holtmann @ 2017-08-17 19:30 UTC (permalink / raw) To: Loic Poulain Cc: Rob Herring, f.fainelli, Ray Jui, Johan Hedberg, Stefan Wahren, devicetree, open list:BLUETOOTH DRIVERS, linux-rpi-kernel Hi Loic, > Add basic support for Broadcom serial slave devices. > Probe the serial device, retrieve its maximum speed and > register a new hci uart device. > > Tested/compatible with bcm43438 (RPi3). > > Signed-off-by: Loic Poulain <loic.poulain@gmail.com> > --- > v2: dt-bindings as separate patch > rebase on upcoming pi3 dts changes > v3: changes in bcm serdev drivers: > name refactoring and additional comments > Add generic host_set_baudrate method > Use agnostic device_property_read > v4: changes in doc and dts: > Add additional params to broadcom bt dt-bindings > Set the max baudrate to 2000000 instead of 921600 > use chosen/stdout-path instead of console= > remove useless earlyprintk > same changes in bcm283x.dtsi > > drivers/bluetooth/hci_bcm.c | 85 +++++++++++++++++++++++++++++++++++++++++++-- > 1 file changed, 83 insertions(+), 2 deletions(-) you are missing the serdev dependency. diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig index 3a6ead603e49..fae5a74dc737 100644 --- a/drivers/bluetooth/Kconfig +++ b/drivers/bluetooth/Kconfig @@ -168,6 +168,7 @@ config BT_HCIUART_INTEL config BT_HCIUART_BCM bool "Broadcom protocol support" depends on BT_HCIUART + depends on BT_HCIUART_SERDEV select BT_HCIUART_H4 select BT_BCM help Regards Marcel ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v4 4/4] Bluetooth: hci_bcm: Add serdev support 2017-08-17 17:59 ` [PATCH v4 4/4] Bluetooth: hci_bcm: Add serdev support Loic Poulain 2017-08-17 19:30 ` Marcel Holtmann @ 2017-08-17 19:48 ` Marcel Holtmann 2017-08-17 20:12 ` Loic Poulain 1 sibling, 1 reply; 13+ messages in thread From: Marcel Holtmann @ 2017-08-17 19:48 UTC (permalink / raw) To: Loic Poulain Cc: robh+dt, f.fainelli, rjui, Johan Hedberg, stefan.wahren, devicetree, linux-bluetooth, linux-rpi-kernel Hi Loic, > Add basic support for Broadcom serial slave devices. > Probe the serial device, retrieve its maximum speed and > register a new hci uart device. > > Tested/compatible with bcm43438 (RPi3). > > Signed-off-by: Loic Poulain <loic.poulain@gmail.com> > --- > v2: dt-bindings as separate patch > rebase on upcoming pi3 dts changes > v3: changes in bcm serdev drivers: > name refactoring and additional comments > Add generic host_set_baudrate method > Use agnostic device_property_read > v4: changes in doc and dts: > Add additional params to broadcom bt dt-bindings > Set the max baudrate to 2000000 instead of 921600 > use chosen/stdout-path instead of console= > remove useless earlyprintk > same changes in bcm283x.dtsi > > drivers/bluetooth/hci_bcm.c | 85 +++++++++++++++++++++++++++++++++++++++++++-- > 1 file changed, 83 insertions(+), 2 deletions(-) I decided to amend your patch with the required Kconfig addition and then just applied 1/4 and 4/4 to bluetooth-next tree. For 2/4 and 3/4, I think they should go through the DT tree since they depend on other changes. I can not apply since none of these changes are in any of my parent trees. Regards Marcel ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v4 4/4] Bluetooth: hci_bcm: Add serdev support 2017-08-17 19:48 ` Marcel Holtmann @ 2017-08-17 20:12 ` Loic Poulain 0 siblings, 0 replies; 13+ messages in thread From: Loic Poulain @ 2017-08-17 20:12 UTC (permalink / raw) To: Marcel Holtmann Cc: robh+dt, f.fainelli, rjui, Johan Hedberg, stefan.wahren, devicetree, linux-bluetooth, linux-rpi-kernel Hi Marcel, On 17/08/2017 21:48, Marcel Holtmann wrote: > Hi Loic, > >> Add basic support for Broadcom serial slave devices. >> Probe the serial device, retrieve its maximum speed and >> register a new hci uart device. >> >> Tested/compatible with bcm43438 (RPi3). >> >> Signed-off-by: Loic Poulain <loic.poulain@gmail.com> >> --- >> v2: dt-bindings as separate patch >> rebase on upcoming pi3 dts changes >> v3: changes in bcm serdev drivers: >> name refactoring and additional comments >> Add generic host_set_baudrate method >> Use agnostic device_property_read >> v4: changes in doc and dts: >> Add additional params to broadcom bt dt-bindings >> Set the max baudrate to 2000000 instead of 921600 >> use chosen/stdout-path instead of console= >> remove useless earlyprintk >> same changes in bcm283x.dtsi >> >> drivers/bluetooth/hci_bcm.c | 85 +++++++++++++++++++++++++++++++++++++++++++-- >> 1 file changed, 83 insertions(+), 2 deletions(-) > I decided to amend your patch with the required Kconfig addition and then just applied 1/4 and 4/4 to bluetooth-next tree. > > For 2/4 and 3/4, I think they should go through the DT tree since they depend on other changes. I can not apply since none of these changes are in any of my parent trees. > > Thanks for the amend. Indeed 2 and 3 depend on the following DT tree changes (Stefan): [PATCH v2] ARM: dts: bcm283x: Move the BCM2837 DT contents from arm64 to arm. [PATCH V2 0/3] ARM: bcm283x: Raspberry Pi Zero W support Regards, Loic ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v4 1/4] dt-bindings: net: bluetooth: Add broadcom-bluetooth 2017-08-17 17:59 [PATCH v4 1/4] dt-bindings: net: bluetooth: Add broadcom-bluetooth Loic Poulain ` (2 preceding siblings ...) 2017-08-17 17:59 ` [PATCH v4 4/4] Bluetooth: hci_bcm: Add serdev support Loic Poulain @ 2017-08-22 2:29 ` Rob Herring 3 siblings, 0 replies; 13+ messages in thread From: Rob Herring @ 2017-08-22 2:29 UTC (permalink / raw) To: Loic Poulain Cc: f.fainelli, rjui, marcel, johan.hedberg, stefan.wahren, devicetree, linux-bluetooth, linux-rpi-kernel On Thu, Aug 17, 2017 at 07:59:48PM +0200, Loic Poulain wrote: > Add binding document for serial bluetooth chips using > Broadcom protocol. > > Signed-off-by: Loic Poulain <loic.poulain@gmail.com> > --- > v2: dt-bindings as separate patch > rebase on upcoming pi3 dts changes > v3: changes in bcm serdev drivers: > name refactoring and additional comments > Add generic host_set_baudrate method > Use agnostic device_property_read > v4: changes in doc and dts: > Add additional params to broadcom bt dt-bindings > Set the max baudrate to 2000000 instead of 921600 > use chosen/stdout-path instead of console= > remove useless earlyprintk > same changes in bcm283x.dtsi > > .../devicetree/bindings/net/broadcom-bluetooth.txt | 35 ++++++++++++++++++++++ > 1 file changed, 35 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/broadcom-bluetooth.txt Acked-by: Rob Herring <robh@kernel.org> ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2017-08-23 16:22 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-08-17 17:59 [PATCH v4 1/4] dt-bindings: net: bluetooth: Add broadcom-bluetooth Loic Poulain 2017-08-17 17:59 ` [PATCH v4 2/4] ARM: dts: bcm283x: Use stdout-path instead of console bootarg Loic Poulain 2017-08-22 2:30 ` Rob Herring 2017-08-17 17:59 ` [PATCH v4 3/4] ARM: dts: bcm2837-rpi-3-b: Add bcm43438 serial slave Loic Poulain 2017-08-22 2:31 ` Rob Herring 2017-08-23 14:22 ` Marcel Holtmann 2017-08-23 16:17 ` Eric Anholt 2017-08-23 16:22 ` Rob Herring 2017-08-17 17:59 ` [PATCH v4 4/4] Bluetooth: hci_bcm: Add serdev support Loic Poulain 2017-08-17 19:30 ` Marcel Holtmann 2017-08-17 19:48 ` Marcel Holtmann 2017-08-17 20:12 ` Loic Poulain 2017-08-22 2:29 ` [PATCH v4 1/4] dt-bindings: net: bluetooth: Add broadcom-bluetooth Rob Herring
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).