Difference between functions in platform_driver and *_ops structures

31 views Asked by At

If we take an ahci driver as an example. In ahci_platform.c there are some driver functions described under:

static struct platform_driver ahci_driver = {...functions...}. 

The question is: What's the difference between functions described under platform_driver structure and functions described under *_ops (ahci_ops as an example)?

From my understanding, functions in the platform_driver structure are usually called automatically when loading/unloading the driver as an example. Functions described in *_ops are more user-accessible functions. Is that correct?

0

There are 0 answers