usb: typec: ucsi_glink: rework quirks implementation
[ Upstream commit 3f81cf54c1889eeecbb8d9188f5f2f597622170e ] In preparation to adding more quirks, extract quirks to the static variables and reference them through match->data. Otherwise adding more quirks will add the table really cumbersome. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Link: https://lore.kernel.org/r/20240329-qcom-ucsi-fixes-v2-8-0f5d37ed04db@linaro.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
ae39c8ec42
commit
ac795af30d
@ -311,12 +311,14 @@ static void pmic_glink_ucsi_destroy(void *data)
|
||||
mutex_unlock(&ucsi->lock);
|
||||
}
|
||||
|
||||
static unsigned long quirk_sc8180x = UCSI_NO_PARTNER_PDOS;
|
||||
|
||||
static const struct of_device_id pmic_glink_ucsi_of_quirks[] = {
|
||||
{ .compatible = "qcom,qcm6490-pmic-glink", .data = (void *)UCSI_NO_PARTNER_PDOS, },
|
||||
{ .compatible = "qcom,sc8180x-pmic-glink", .data = (void *)UCSI_NO_PARTNER_PDOS, },
|
||||
{ .compatible = "qcom,sc8280xp-pmic-glink", .data = (void *)UCSI_NO_PARTNER_PDOS, },
|
||||
{ .compatible = "qcom,sm8350-pmic-glink", .data = (void *)UCSI_NO_PARTNER_PDOS, },
|
||||
{ .compatible = "qcom,sm8550-pmic-glink", .data = (void *)UCSI_NO_PARTNER_PDOS, },
|
||||
{ .compatible = "qcom,qcm6490-pmic-glink", .data = &quirk_sc8180x, },
|
||||
{ .compatible = "qcom,sc8180x-pmic-glink", .data = &quirk_sc8180x, },
|
||||
{ .compatible = "qcom,sc8280xp-pmic-glink", .data = &quirk_sc8180x, },
|
||||
{ .compatible = "qcom,sm8350-pmic-glink", .data = &quirk_sc8180x, },
|
||||
{ .compatible = "qcom,sm8550-pmic-glink", .data = &quirk_sc8180x, },
|
||||
{}
|
||||
};
|
||||
|
||||
@ -354,7 +356,7 @@ static int pmic_glink_ucsi_probe(struct auxiliary_device *adev,
|
||||
|
||||
match = of_match_device(pmic_glink_ucsi_of_quirks, dev->parent);
|
||||
if (match)
|
||||
ucsi->ucsi->quirks = (unsigned long)match->data;
|
||||
ucsi->ucsi->quirks = *(unsigned long *)match->data;
|
||||
|
||||
ucsi_set_drvdata(ucsi->ucsi, ucsi);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user