diff --git a/arch/arm64/configs/vendor/lahaina_GKI.config b/arch/arm64/configs/vendor/lahaina_GKI.config index 540b446f94f1..3b5674cd221a 100644 --- a/arch/arm64/configs/vendor/lahaina_GKI.config +++ b/arch/arm64/configs/vendor/lahaina_GKI.config @@ -103,3 +103,9 @@ CONFIG_MSM_ADSPRPC=m CONFIG_MSM_CDSP_LOADER=m CONFIG_UIO_MSM_SHAREDMEM=m CONFIG_QCOM_SOCINFO=m +CONFIG_BTFM_SLIM=m +# CONFIG_SND_SOC_WCD9335 is not set +# CONFIG_SLIM_QCOM_CTRL is not set +# CONFIG_SLIM_QCOM_NGD_CTRL is not set +# CONFIG_SLIMBUS_MSM_CTRL is not set +# CONFIG_SLIMBUS_MSM_NGD is not set diff --git a/arch/arm64/configs/vendor/lahaina_QGKI.config b/arch/arm64/configs/vendor/lahaina_QGKI.config index cdefa99b72de..706302a117aa 100644 --- a/arch/arm64/configs/vendor/lahaina_QGKI.config +++ b/arch/arm64/configs/vendor/lahaina_QGKI.config @@ -69,3 +69,10 @@ CONFIG_CORESIGHT_TGU=y # CONFIG_CORESIGHT_CATU is not set # CONFIG_CORESIGHT_CTI_SAVE_DISABLE is not set # CONFIG_CORESIGHT_TPDM_DEFAULT_ENABLE is not set +CONFIG_BTFM_SLIM=m +# CONFIG_QCOM_SPMI_TEMP_ALARM is not set +# CONFIG_SND_SOC_WCD9335 is not set +# CONFIG_SLIM_QCOM_CTRL is not set +# CONFIG_SLIM_QCOM_NGD_CTRL is not set +# CONFIG_SLIMBUS_MSM_CTRL is not set +# CONFIG_SLIMBUS_MSM_NGD is not set diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig index 543cade8c3d7..c9fa35a3d633 100644 --- a/drivers/bluetooth/Kconfig +++ b/drivers/bluetooth/Kconfig @@ -449,37 +449,15 @@ config MSM_BT_POWER into the kernel or say M to compile as a module. config BTFM_SLIM - tristate "MSM Bluetooth/FM Slimbus Driver" + tristate "MSM Bluetooth/FM Slimbus Device" + depends on MSM_BT_POWER select SLIMBUS help This enables BT/FM slimbus driver to get multiple audio channel. - This will make use of slimbus platform driver and slimbus codec - driver to communicate with slimbus machine driver and LPSS which - is Slimbus master. - - Slimbus slave initialization and configuration will be done through - this driver. - Say Y here to compile support for Bluetooth/FM Slimbus driver - into the kernel or say M to compile as a module. - -config BTFM_SLIM_WCN3990 - tristate "MSM Bluetooth/FM WCN3990 Device" - select BTFM_SLIM - help - This enables specific driver handle for WCN3990 device. - It is designed to adapt any future BT/FM device to implement a specific - chip initialization process and control. - - Say Y here to compile support for Bluetooth slimbus driver - into the kernel or say M to compile as a module. - -config BT_SLIM_QCA6390 - tristate "MSM Bluetooth QCA6390 Device" - select BTFM_SLIM - help - This enables specific driver handle for QCA6390 device. - It is designed to adapt any future BT/FM device to implement a specific - chip initialization process and control. + This will make use of slimbus platform driver and slimbus + codec driver to communicate with slimbus machine driver and LPSS which + is Slimbus master.Slimbus slave initialization and configuration + will be done through this driver. Say Y here to compile support for Bluetooth slimbus driver into the kernel or say M to compile as a module. diff --git a/drivers/bluetooth/Makefile b/drivers/bluetooth/Makefile index 20ae567e41e6..d97bdb1649f1 100644 --- a/drivers/bluetooth/Makefile +++ b/drivers/bluetooth/Makefile @@ -33,10 +33,9 @@ obj-$(CONFIG_BT_HCIRSI) += btrsi.o obj-$(CONFIG_MSM_BT_POWER) += btpower.o -obj-$(CONFIG_BTFM_SLIM) += btfm_slim.o -obj-$(CONFIG_BTFM_SLIM) += btfm_slim_codec.o -obj-$(CONFIG_BTFM_SLIM_WCN3990) += btfm_slim_slave.o -obj-$(CONFIG_BT_SLIM_QCA6390) += btfm_slim_slave.o +bt_fm_slim-objs := btfm_slim.o btfm_slim_codec.o btfm_slim_slave.o + +obj-$(CONFIG_BTFM_SLIM) += bt_fm_slim.o btmrvl-y := btmrvl_main.o btmrvl-$(CONFIG_DEBUG_FS) += btmrvl_debugfs.o diff --git a/drivers/bluetooth/btfm_slim.c b/drivers/bluetooth/btfm_slim.c index a69536dd286d..b171bce1f97a 100644 --- a/drivers/bluetooth/btfm_slim.c +++ b/drivers/bluetooth/btfm_slim.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -19,7 +20,6 @@ #include #include "btfm_slim.h" #include "btfm_slim_slave.h" -#include int btfm_slim_write(struct btfmslim *btfmslim, uint16_t reg, int bytes, void *src, uint8_t pgd) @@ -308,7 +308,7 @@ static int btfm_slim_alloc_port(struct btfmslim *btfmslim) if (!btfmslim) return ret; - chipset_ver = get_chipset_version(); + chipset_ver = btpower_get_chipset_version(); BTFMSLIM_INFO("chipset soc version:%x", chipset_ver); rx_chs = btfmslim->rx_chs; @@ -543,7 +543,8 @@ static int btfm_slim_probe(struct slim_device *slim) BTFMSLIM_ERR("error, registering slimbus codec failed"); goto free; } - ret = bt_register_slimdev(&slim->dev); + + ret = btpower_register_slimdev(&slim->dev); if (ret < 0) { btfm_slim_unregister_codec(&slim->dev); goto free; diff --git a/include/linux/btpower.h b/include/linux/btpower.h index e96ec3ae7078..1b0d06946f60 100644 --- a/include/linux/btpower.h +++ b/include/linux/btpower.h @@ -43,8 +43,8 @@ struct bluetooth_power_platform_data { int (*bt_power_setup)(int id); /* Bluetooth power setup function */ }; -int bt_register_slimdev(struct device *dev); -int get_chipset_version(void); +int btpower_register_slimdev(struct device *dev); +int btpower_get_chipset_version(void); #define BT_CMD_SLIM_TEST 0xbfac #define BT_CMD_PWR_CTRL 0xbfad