Top |
Platform drivers are the implementation of the different profiles for
the whole system. A driver will need to implement support for power-saver
and balanced
at a minimum.
If no system-specific platform driver is available, a placeholder driver
will be put in place, and the performance
profile will be unavailable.
There should not be a need to implement system-specific drivers, as the
[platform_profile
] (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/ABI/testing/sysfs-platform_profile)
kernel API offers a way to implement system-specific profiles which
power-profiles-daemon
can consume.
When a driver implements the performance
profile, it might set the
“performance-degraded” property if the profile isn't running to
its fullest performance for any reason, such as thermal limits being
reached, or because a part of the user's body is too close for safety,
for example.
struct PpdDriverPlatformClass { PpdDriverClass parent_class; };
New Platform drivers should derive from PpdDriverPlatform and implement
at least one of
and probe()
activate_profile
.