[PATCH v1] 3: Added dcp_rng driver device binding code
Heinrich Schuchardt
xypron.glpk at gmx.de
Thu Sep 8 21:31:29 CEST 2022
On 9/8/22 20:18, Simon Glass wrote:
> Hi Kshitiz,
>
> +Ilias Apalodimas
>
>
> On Thu, 8 Sept 2022 at 02:59, Kshitiz Varshney <kshitiz.varshney at nxp.com> wrote:
>>
>> From: Kshitiz <kshitiz.varshney at nxp.com>
>>
>> This commit manually binds dcp_rng device driver and initalizes it inside
>> arch_misc_init() function.
>>
>> Signed-off-by: Kshitiz Varshney <kshitiz.varshney at nxp.com>
>> Reviewed-by: Ye Li <ye.li at nxp.com>
CC the maintainer of RNG Sughosh Ganu <sughosh.ganu at linaro.org>
>> ---
>> arch/arm/mach-imx/mx6/soc.c | 16 ++++++++++++++++
>> 1 file changed, 16 insertions(+)
>>
>> diff --git a/arch/arm/mach-imx/mx6/soc.c b/arch/arm/mach-imx/mx6/soc.c
>> index 3e538754d9..9bf16119c2 100644
>> --- a/arch/arm/mach-imx/mx6/soc.c
>> +++ b/arch/arm/mach-imx/mx6/soc.c
>> @@ -31,6 +31,8 @@
>> #include <hang.h>
>> #include <cpu_func.h>
>> #include <env.h>
>> +#include<dm/device-internal.h>
>> +#include<dm/lists.h>
>>
>> DECLARE_GLOBAL_DATA_PTR;
>>
>> @@ -1005,6 +1007,20 @@ int arch_misc_init(void)
>> if (ret)
>> printf("Failed to initialize caam_jr: %d\n", ret);
>> }
>> +
>> + if (IS_ENABLED(CONFIG_FSL_DCP_RNG)) {
>> + struct udevice *dev;
>> + int ret;
>> +
>> + ret = device_bind_driver(NULL, "dcp_rng", "dcp_rng", NULL);
>
> This needs to be in the device tree. This it the kind of madness I was
> warning about with Ilias, so I have copied him here.
>
> We need to stop manually binding devices when they should be in the DT.
>
>> + if (ret)
>> + printf("Couldn't bind dcp rng driver (%d)\n", ret);
>> +
>> + ret = uclass_get_device_by_driver(UCLASS_RNG, DM_DRIVER_GET(dcp_rng), &dev);
>> + if (ret)
>> + printf("Failed to initialize dcp rng: %d\n", ret);
>> + }
>> +
>> setup_serial_number();
>> return 0;
>> }
>> --
>> 2.25.1
>>
>
> Regards,
> SImon
More information about the U-Boot
mailing list