Message ID | 20231205110903.68898-2-brgl@bgdev.pl (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | [1/2] Bluetooth: qca: add regulators for QCA6390 | expand |
On Tue, Dec 05, 2023 at 12:09:03PM +0100, Bartosz Golaszewski wrote: > From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> > > The Bluetooth module on QCA6390 needs to be powered-on by enabling the > relevant regulators and driving the enable GPIO high. We can reuse the > power sequence for the WNC models. > > Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> > --- > drivers/bluetooth/hci_qca.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c > index 7f25931a946e..351ba904c8c2 100644 > --- a/drivers/bluetooth/hci_qca.c > +++ b/drivers/bluetooth/hci_qca.c > @@ -1788,6 +1788,7 @@ static int qca_power_on(struct hci_dev *hdev) > case QCA_WCN6750: > case QCA_WCN6855: > case QCA_WCN7850: > + case QCA_QCA6390: > ret = qca_regulator_init(hu); > break; > > @@ -2137,6 +2138,7 @@ static void qca_power_shutdown(struct hci_uart *hu) > > case QCA_WCN6750: > case QCA_WCN6855: > + case QCA_QCA6390: > gpiod_set_value_cansleep(qcadev->bt_en, 0); > msleep(100); > qca_regulator_disable(qcadev); > @@ -2284,6 +2286,7 @@ static int qca_serdev_probe(struct serdev_device *serdev) > case QCA_WCN6750: > case QCA_WCN6855: > case QCA_WCN7850: > + case QCA_QCA6390: > qcadev->bt_power = devm_kzalloc(&serdev->dev, > sizeof(struct qca_power), > GFP_KERNEL); > @@ -2394,6 +2397,7 @@ static void qca_serdev_remove(struct serdev_device *serdev) > case QCA_WCN6750: > case QCA_WCN6855: > case QCA_WCN7850: > + case QCA_QCA6390: > if (power->vregs_on) { > qca_power_shutdown(&qcadev->serdev_hu); > break; These two patches should also be squashed into one. Makes no sense to separate them. Johan
diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c index 7f25931a946e..351ba904c8c2 100644 --- a/drivers/bluetooth/hci_qca.c +++ b/drivers/bluetooth/hci_qca.c @@ -1788,6 +1788,7 @@ static int qca_power_on(struct hci_dev *hdev) case QCA_WCN6750: case QCA_WCN6855: case QCA_WCN7850: + case QCA_QCA6390: ret = qca_regulator_init(hu); break; @@ -2137,6 +2138,7 @@ static void qca_power_shutdown(struct hci_uart *hu) case QCA_WCN6750: case QCA_WCN6855: + case QCA_QCA6390: gpiod_set_value_cansleep(qcadev->bt_en, 0); msleep(100); qca_regulator_disable(qcadev); @@ -2284,6 +2286,7 @@ static int qca_serdev_probe(struct serdev_device *serdev) case QCA_WCN6750: case QCA_WCN6855: case QCA_WCN7850: + case QCA_QCA6390: qcadev->bt_power = devm_kzalloc(&serdev->dev, sizeof(struct qca_power), GFP_KERNEL); @@ -2394,6 +2397,7 @@ static void qca_serdev_remove(struct serdev_device *serdev) case QCA_WCN6750: case QCA_WCN6855: case QCA_WCN7850: + case QCA_QCA6390: if (power->vregs_on) { qca_power_shutdown(&qcadev->serdev_hu); break;