cancel
Showing results for 
Search instead for 
Did you mean: 

STM32MP157 module loading issue

zengyixiang
Associate III

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?

1 ACCEPTED SOLUTION

Accepted Solutions

@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.

View solution in original post

4 REPLIES 4
zengyixiang
Associate III

Has anyone encountered such a situation before

Erwan SZYMANSKI
ST Employee

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.

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?

@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.