Ist es möglich, zwei verschiedene Kernelmodule basierend auf derselben Geräte-ID zu schreiben?
Posted: 20 Jan 2025, 18:20
Ich versuche, einen Gerätetreiber für einen Zähler zu schreiben.
Aber mir ist aufgefallen, dass es einen anderen Gerätetreiber gibt, der dieselbe Gerätebaumentität verwendet, aber das ist eher ein RTC-Treiber.
Das Gerät im Gerätebaum hat sowohl einen Zähler als auch einen RTC.
Wenn ich dieselbe Geräte-ID in zwei Treibern verwende, scheint ein Treiber nicht zu funktionieren.
Tatsächlich ist das der Fall um rtc-snvs.c
Im Quellcode gibt es einen Abschnitt wie folgt.
Der Treiber für rtc-snvs verwendet die hier definierten snvs_dt_ids.
Aber es scheint, dass der Treiber, den ich für den Zähler schreiben möchte, auch diese snvs_dt_ids verwenden muss.
Es wäre gut, wenn jemand eine Idee hätte, wie mit diesem Fall umgegangen werden soll.
Aber mir ist aufgefallen, dass es einen anderen Gerätetreiber gibt, der dieselbe Gerätebaumentität verwendet, aber das ist eher ein RTC-Treiber.
Das Gerät im Gerätebaum hat sowohl einen Zähler als auch einen RTC.
Wenn ich dieselbe Geräte-ID in zwei Treibern verwende, scheint ein Treiber nicht zu funktionieren.
Tatsächlich ist das der Fall um rtc-snvs.c
Im Quellcode gibt es einen Abschnitt wie folgt.
Code: Select all
static const struct of_device_id snvs_dt_ids[] = {
{ .compatible = "fsl,sec-v4.0-mon-rtc-lp", },
{ /* sentinel */}
};
Aber es scheint, dass der Treiber, den ich für den Zähler schreiben möchte, auch diese snvs_dt_ids verwenden muss.
Es wäre gut, wenn jemand eine Idee hätte, wie mit diesem Fall umgegangen werden soll.