Hi Ilias, On Fri, 8 Jul 2022 at 02:24, Ilias Apalodimas <ilias.apalodi...@linaro.org> wrote: > > Hi Simon, > > [...] > > > > + > > > UCLASS_DRIVER(tpm) = { > > > - .id = UCLASS_TPM, > > > - .name = "tpm", > > > - .flags = DM_UC_FLAG_SEQ_ALIAS, > > > + .id = UCLASS_TPM, > > > + .name = "tpm", > > > + .flags = DM_UC_FLAG_SEQ_ALIAS, > > > #if CONFIG_IS_ENABLED(OF_REAL) > > > - .post_bind = dm_scan_fdt_dev, > > > + .post_bind = dm_scan_fdt_dev, > > > #endif > > > + .post_probe = tpm_uclass_post_probe, > > > .per_device_auto = sizeof(struct tpm_chip_priv), > > > }; > > > -- > > > 2.25.1 > > > > > > > The driver needs a compatible string so it can be in the device tree. > > Why? I've tried to hint this on the previous iteration of the patch. > The RNG here is not a *device*. The TPM is the device and you are > guaranteed to have an RNG. The way to get a random number is send a > special command to the TPM. So all that we should do here is leverage > the fact that the TPM is already in the device tree. > > And fwiw we should stick to try to stick to what the DT spec defines > as much as possible. I personally don't see this as a special usecase > were deviating from the spec is justified.
This is not a deviation from a spec. What spec? Also, I don't want to get into another discussion about what a device is. We can disagree on that if you like. One reason is that U-Boot generally requires compatible strings, e.g. with of-platdata. But also we can refer to the rand device from elsewhere in the tree. I know that Linux does lots of ad-hoc device creation and doesn't really have the concept of a uclass consistently applied, but this is U-Boot. So please add a compatible string sow e can use it in the DT. \Regards, Simon