Hi, On Thu, Nov 9, 2023 at 5:52 AM Rob Herring <robh+dt@xxxxxxxxxx> wrote: > > > > End of background from Doug's cover letter. > > > > I think that using "status" is not a good idea, I find that confusing. > > "status" is what defines a device's state in terms of enabled, > present, available. That's exactly what we're expressing here. > > Now, I do not think we should be mixing the device class (e.g. > touchscreen) into status. I said this on v1, but apparently that was > not listened to. Interesting. I must have missed the "don't mix device class into status" part. Do you have a link to your post about that? Maybe there's other stuff I missed... Having the device class stuck at the end there was at least part of my last post [1] which gathered no response. I think one of the reasons that I felt we needed to mux the device class into status was that it was going to make the code a lot less fragile. Everything I've seen indicates that you don't want us to create a "HW prober" node that could be used to provide relevant phandles for different classes of devices, so the "HW prober" code needs to either search through the whole device tree for a status of "failed-needs-probe" or needs to contain per-board, hardcoded, fully-qualified paths. I don't think we want to include hardcoded, fully-qualified paths in the code. That would mean that if someone changed a node name somewhere in the path to one of the devices that we're dealing with then it would break. So if we're searching the whole device tree for "failed-needs-probe" then we need to figure out which devices are related to each other. If a given board has second sources for MIPI panels, touchscreens, and trackpads then we need to know which of the "failed-needs-probe" devices are trackpads, which are touchscreens, and which are MIPI panels. Do you have any suggestions for how we should do that? Maybe it was in some other thread that I missed? I guess we could have a board-specific table mapping (compatible + node name + reg) to a class, but that feels awkward. [1] https://lore.kernel.org/r/CAD=FV=UjVAgT-febtj4=UZ2GQp01D-ern2Ff9+ODcHeQBOsdTQ@xxxxxxxxxxxxxx