Skip to main content
Associate III
August 1, 2024
Solved

STM32MP157 module loading issue

  • August 1, 2024
  • 2 replies
  • 1575 views

The 'of_device_id' in my module is as follows:

static const struct of_device_id gcnano_of_match[] = {
 { .compatible = "st,gcnano" },
 { .compatible = "vivante,gc" },
 { /* end node */ }
};

In the device tree:

compatible = "vivante,gc";

When using the 'modprobe' command to load the module, it was unable to match successfully and the 'probe' function of the module was not executed. The 'compatible' property of the module is the same as the 'compatible' property of the device tree, but I changed both the 'compatible' property of the module and the device tree to 'vivante_1, gc_1' to match successfully and execute the 'probe' function. I have tried many times to change it to anything, as long as I change it back to 'vivante, gc', it won't work. Has anyone encountered this problem?

Best answer by Erwan SZYMANSKI

@zengyixiang ,
Maybe you can see galcore in the list of driver probed ? Galcore is located in the /lib/modules/xxx/extra. If you do not need it, maybe try to remove it and see if it solves something on your side. 

Kind regards,
Erwan.

2 replies

Associate III
August 2, 2024

Has anyone encountered such a situation before

Erwan SZYMANSKI
Technical Moderator
August 17, 2024

Hello @zengyixiang ,
Do you mean that if you change the name of the compatible to anything else, it will works right ? 

Are you sure that the default GPU driver module released by OpenSTLinux does not already take the resource ? I do not think you are able to run multiple instances of GPU driver. It could explain why it works only when you change the name (in this situation, the Vivante GPU driver we provide cannot probe as it does not recognize the compatible anymore).

Kind regards,
Erwan.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
Associate III
August 19, 2024

Indeed, as long as I change the name, the module can load normally. How to determine if the default GPU program is occupying the resource?

Erwan SZYMANSKI
Erwan SZYMANSKIBest answer
Technical Moderator
August 19, 2024

@zengyixiang ,
Maybe you can see galcore in the list of driver probed ? Galcore is located in the /lib/modules/xxx/extra. If you do not need it, maybe try to remove it and see if it solves something on your side. 

Kind regards,
Erwan.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.