lkml.org 
[lkml]   [2021]   [Jul]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v3 3/7] Bluetooth: hci_qca: provide default device data
    On Mon 21 Jun 17:31 CDT 2021, Dmitry Baryshkov wrote:

    > In order to simplify probe function provide default device data. This
    > removes the rest of if (data) checks.
    >

    Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>

    Regards,
    Bjorn

    > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    > ---
    > drivers/bluetooth/hci_qca.c | 24 ++++++++++++++----------
    > 1 file changed, 14 insertions(+), 10 deletions(-)
    >
    > diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c
    > index 53deea2eb7b4..3704dbadba1d 100644
    > --- a/drivers/bluetooth/hci_qca.c
    > +++ b/drivers/bluetooth/hci_qca.c
    > @@ -1874,6 +1874,11 @@ static const struct qca_device_data qca_soc_data_wcn6750 = {
    > .capabilities = QCA_CAP_WIDEBAND_SPEECH | QCA_CAP_VALID_LE_STATES,
    > };
    >
    > +static const struct qca_device_data qca_soc_data_default = {
    > + .soc_type = QCA_ROME,
    > + .num_vregs = 0,
    > +};
    > +
    > static void qca_power_shutdown(struct hci_uart *hu)
    > {
    > struct qca_serdev *qcadev;
    > @@ -2019,12 +2024,15 @@ static int qca_serdev_probe(struct serdev_device *serdev)
    > int err;
    > bool power_ctrl_enabled = true;
    >
    > + data = device_get_match_data(&serdev->dev);
    > + if (!data)
    > + return -EINVAL;
    > +
    > qcadev = devm_kzalloc(&serdev->dev, sizeof(*qcadev), GFP_KERNEL);
    > if (!qcadev)
    > return -ENOMEM;
    >
    > qcadev->serdev_hu.serdev = serdev;
    > - data = device_get_match_data(&serdev->dev);
    > serdev_device_set_drvdata(serdev, qcadev);
    > device_property_read_string(&serdev->dev, "firmware-name",
    > &qcadev->firmware_name);
    > @@ -2033,9 +2041,8 @@ static int qca_serdev_probe(struct serdev_device *serdev)
    > if (!qcadev->oper_speed)
    > BT_DBG("UART will pick default operating speed");
    >
    > - if (data &&
    > - (qca_is_wcn399x(data->soc_type) ||
    > - qca_is_wcn6750(data->soc_type))) {
    > + if ((qca_is_wcn399x(data->soc_type) ||
    > + qca_is_wcn6750(data->soc_type))) {
    > qcadev->btsoc_type = data->soc_type;
    > qcadev->bt_power = devm_kzalloc(&serdev->dev,
    > sizeof(struct qca_power),
    > @@ -2077,10 +2084,7 @@ static int qca_serdev_probe(struct serdev_device *serdev)
    > return err;
    > }
    > } else {
    > - if (data)
    > - qcadev->btsoc_type = data->soc_type;
    > - else
    > - qcadev->btsoc_type = QCA_ROME;
    > + qcadev->btsoc_type = data->soc_type;
    >
    > qcadev->bt_en = devm_gpiod_get_optional(&serdev->dev, "enable",
    > GPIOD_OUT_LOW);
    > @@ -2309,9 +2313,9 @@ static SIMPLE_DEV_PM_OPS(qca_pm_ops, qca_suspend, qca_resume);
    >
    > #ifdef CONFIG_OF
    > static const struct of_device_id qca_bluetooth_of_match[] = {
    > - { .compatible = "qcom,qca6174-bt" },
    > + { .compatible = "qcom,qca6174-bt", .data = &qca_soc_data_default},
    > { .compatible = "qcom,qca6390-bt", .data = &qca_soc_data_qca6390},
    > - { .compatible = "qcom,qca9377-bt" },
    > + { .compatible = "qcom,qca9377-bt", .data = &qca_soc_data_default},
    > { .compatible = "qcom,wcn3990-bt", .data = &qca_soc_data_wcn3990},
    > { .compatible = "qcom,wcn3991-bt", .data = &qca_soc_data_wcn3991},
    > { .compatible = "qcom,wcn3998-bt", .data = &qca_soc_data_wcn3998},
    > --
    > 2.30.2
    >

    \
     
     \ /
      Last update: 2021-07-14 19:28    [W:3.444 / U:0.232 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site