On Wed, Dec 08, 2021 at 11:12:20AM +0200, Leon Romanovsky wrote:
On Wed, Dec 08, 2021 at 09:43:37AM +0100, Greg KH wrote:
...
The idea that you have two APIs which do the same thing, one is obfuscated version of another.
If you don't want from people to use driver core function and structures, you shouldn't expose them in global headers.
For all these APIs the rationale is very simple. If you have callback that takes a pointer to the container (*), you better use the APIs related to this container (no need to have an explicit dereferencing). Otherwise you use dev_*() APIs (when it's pointer to the pure struct device).
The value is to have coherent APIs around struct device containers.
*) under container here I assume the data structure that has the embedded struct device in it.