Re: [PATCH] dt-bindings: mmc: move compatible property to its specific binding

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Dharma,

On Tue, Jan 7, 2025 at 4:34 AM <Dharma.B@xxxxxxxxxxxxx> wrote:
>
> On 20/12/24 1:41 am, Conor Dooley wrote:
> > On Thu, Dec 19, 2024 at 09:40:41AM +0530, Dharma Balasubiramani wrote:
> >> Move the `compatible` property into its specific binding to make the MMC
> >> slot more generic and modular.
> > This makes no sense, as presented. What's the real reason for this
> > change? You want to ref mmc-slot.yaml but the compatible is causing a
> > driver to probe?
>
> We don’t have the configuration for that driver enabled. Wouldn’t
> including the compatible in the DTS files without the actual driver be
> redundant?
>
> Is it the correct approach to add the compatible just to fix the dt
> binding errors?
Let me try to summarize what I understand so far:
- your are trying to convert the dt-binding of atmel-hsmci from .txt to .yaml
- while doing so Rob asked to reference the mmc-slot schema
- after referencing the mmc-slot schema you now get warnings in when
validating the .dts because your .dts doesn't specify compatible =
"mmc-slot"

Is that correct?

There aren't many MMC controllers with multiple slot support out there.
When I wrote the dt-bindings for amlogic,meson-mx-sdio I *think* (it's
been some years) Ulf pointed out another dt-binding
(Documentation/devicetree/bindings/mmc/cavium-mmc.txt) and driver
(drivers/mmc/host/cavium-thunderx.c) that already used the mmc-slot
compatible string.

> related discussion:
> https://lore.kernel.org/lkml/63473475-f29e-4a65-a0aa-1f1e4112b57d@xxxxxxxxxxxxx/
Rob has suggested two approaches in that thread:
- don't mark the "compatible" property as required (in
Documentation/devicetree/bindings/mmc/mmc-slot.yaml)
- add the compatible string where needed (I attached a diff with an
example where I picked one random Atmel board and added the compatible
string)

Your patch is different from these suggestions as it forbids the
compatible property in the generic mmc-slot binding.
What's the problem with Rob's suggestions? If they cannot be
implemented then please document why that is.


Best regards,
Martin
diff --git a/arch/arm/boot/dts/microchip/at91sam9n12ek.dts b/arch/arm/boot/dts/microchip/at91sam9n12ek.dts
index 643c3b2ab97e..a27fcef28df5 100644
--- a/arch/arm/boot/dts/microchip/at91sam9n12ek.dts
+++ b/arch/arm/boot/dts/microchip/at91sam9n12ek.dts
@@ -80,6 +80,7 @@ &pinctrl_mmc0_slot0_clk_cmd_dat0
 					&pinctrl_mmc0_slot0_dat1_3>;
 				status = "okay";
 				slot@0 {
+					compatible = "mmc-slot";
 					reg = <0>;
 					bus-width = <4>;
 					cd-gpios = <&pioA 7 GPIO_ACTIVE_HIGH>;

[Index of Archives]     [Linux Memonry Technology]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux