main, rules: Rename Jxxx to AppleJxxx

This makes it more clear that we're matching against Apple machines. The
kernel driver will be updated to use this naming scheme. For backwards
compatibility, we add a rule to rename J313 at runtime (the only enabled
model at this time).

This update must be released together with a matching asahi-audio update
(but the kernel can come later).

Signed-off-by: Hector Martin <marcan@marcan.st>
This commit is contained in:
Hector Martin 2023-12-04 17:24:31 +09:00
parent 38e5b9f4c4
commit 4fb7fe7b41
2 changed files with 24 additions and 19 deletions

View file

@ -1,25 +1,28 @@
# Temporary compat rule
SUBSYSTEM=="sound", KERNEL=="card*", ATTR{id}=="J313", ATTR{id}="AppleJ313"
SUBSYSTEM=="sound", DRIVERS=="snd-soc-macaudio", GOTO="speakersafetyd_macaudio" SUBSYSTEM=="sound", DRIVERS=="snd-soc-macaudio", GOTO="speakersafetyd_macaudio"
GOTO="speakersafetyd_end" GOTO="speakersafetyd_end"
LABEL="speakersafetyd_macaudio" LABEL="speakersafetyd_macaudio"
KERNEL=="pcmC*D2c", ATTRS{id}=="J*", ENV{ACP_IGNORE}="1" KERNEL=="pcmC*D2c", ATTRS{id}=="AppleJ*", ENV{ACP_IGNORE}="1"
#KERNEL=="pcmC*D2c", ATTRS{id}=="J180", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service" #KERNEL=="pcmC*D2c", ATTRS{id}=="AppleJ180", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service"
#KERNEL=="pcmC*D2c", ATTRS{id}=="J274", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service" #KERNEL=="pcmC*D2c", ATTRS{id}=="AppleJ274", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service"
#KERNEL=="pcmC*D2c", ATTRS{id}=="J293", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service" #KERNEL=="pcmC*D2c", ATTRS{id}=="AppleJ293", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service"
KERNEL=="pcmC*D2c", ATTRS{id}=="J313", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service" KERNEL=="pcmC*D2c", ATTRS{id}=="AppleJ313", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service"
#KERNEL=="pcmC*D2c", ATTRS{id}=="J314", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service" #KERNEL=="pcmC*D2c", ATTRS{id}=="AppleJ314", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service"
#KERNEL=="pcmC*D2c", ATTRS{id}=="J316", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service" #KERNEL=="pcmC*D2c", ATTRS{id}=="AppleJ316", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service"
#KERNEL=="pcmC*D2c", ATTRS{id}=="J375", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service" #KERNEL=="pcmC*D2c", ATTRS{id}=="AppleJ375", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service"
#KERNEL=="pcmC*D2c", ATTRS{id}=="J413", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service" #KERNEL=="pcmC*D2c", ATTRS{id}=="AppleJ413", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service"
#KERNEL=="pcmC*D2c", ATTRS{id}=="J414", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service" #KERNEL=="pcmC*D2c", ATTRS{id}=="AppleJ414", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service"
#KERNEL=="pcmC*D2c", ATTRS{id}=="J415", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service" #KERNEL=="pcmC*D2c", ATTRS{id}=="AppleJ415", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service"
#KERNEL=="pcmC*D2c", ATTRS{id}=="J416", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service" #KERNEL=="pcmC*D2c", ATTRS{id}=="AppleJ416", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service"
#KERNEL=="pcmC*D2c", ATTRS{id}=="J456", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service" #KERNEL=="pcmC*D2c", ATTRS{id}=="AppleJ456", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service"
#KERNEL=="pcmC*D2c", ATTRS{id}=="J457", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service" #KERNEL=="pcmC*D2c", ATTRS{id}=="AppleJ457", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service"
#KERNEL=="pcmC*D2c", ATTRS{id}=="J473", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service" #KERNEL=="pcmC*D2c", ATTRS{id}=="AppleJ473", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service"
#KERNEL=="pcmC*D2c", ATTRS{id}=="J474", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service" #KERNEL=="pcmC*D2c", ATTRS{id}=="AppleJ474", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service"
#KERNEL=="pcmC*D2c", ATTRS{id}=="J475", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service" #KERNEL=="pcmC*D2c", ATTRS{id}=="AppleJ475", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service"
#KERNEL=="pcmC*D2c", ATTRS{id}=="J493", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service" #KERNEL=="pcmC*D2c", ATTRS{id}=="AppleJ493", TAG+="systemd", ENV{SYSTEMD_WANTS}="speakersafetyd.service"
LABEL="speakersafetyd_end" LABEL="speakersafetyd_end"

View file

@ -115,7 +115,9 @@ fn main() {
config_path.set_extension("conf"); config_path.set_extension("conf");
info!("Config file: {:?}", config_path); info!("Config file: {:?}", config_path);
let device = format!("hw:{}", model.to_ascii_uppercase()); let maker_titlecase = maker[0..1].to_ascii_uppercase() + &maker[1..];
let device = format!("hw:{}{}", maker_titlecase, model.to_ascii_uppercase());
info!("Device: {}", device); info!("Device: {}", device);
let mut cfg: Ini = Ini::new_cs(); let mut cfg: Ini = Ini::new_cs();