On 21/09/2022 20:48, Konrad Dybcio wrote: > > > On 21.09.2022 20:47, Konrad Dybcio wrote: >> >> >> On 21.09.2022 09:31, Krzysztof Kozlowski wrote: >>> On 21/09/2022 00:39, Richard Acayan wrote: >>>> The Snapdragon 670 needs the IOMMU for GENI I2C. Add a compatible string to >>>> support it. >>>> >>>> Signed-off-by: Richard Acayan <mailingradian@xxxxxxxxx> >>>> --- >>>> drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 1 + >>>> 1 file changed, 1 insertion(+) >>>> >>>> diff --git a/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c b/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c >>>> index b2708de25ea3..bf9653b9eb89 100644 >>>> --- a/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c >>>> +++ b/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c >>>> @@ -431,6 +431,7 @@ static const struct of_device_id __maybe_unused qcom_smmu_impl_of_match[] = { >>>> { .compatible = "qcom,sc8180x-smmu-500" }, >>>> { .compatible = "qcom,sc8280xp-smmu-500" }, >>>> { .compatible = "qcom,sdm630-smmu-v2" }, >>>> + { .compatible = "qcom,sdm670-smmu-500" }, >>> >>> Why do we keep adding compatibles to the driver for apparently >>> compatible devices? >> >> Because Linux has not funny run on bare Qualcomm hardware ever since at least msm8x60 times and > s/funny/fully > > unfortunate typo, this is not funny, quite the contrary.. > > Konrad >> we are not interacting with real hardware, only with Qualcomm's flawed virtual implementation >> of it, that's abstracted to us through various generations of their saddening software stack. This >> is also the case for many more standard components, even as far as the GIC on recent boards.. Unfortunately I don't get this explanation... you mean some other firmware requires Linux drivers to use specific compatibles instead of one fallback? All of these do not have driver data, so they are essentially compatible for Linux driver. Growing this list in the driver seems pointless. What is the benefit of growing driver with same entries, except more patches? Best regards, Krzysztof