Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add galp7 #79

Merged
merged 1 commit into from
May 6, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/app/bios.rs
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
if base < limit && limit < old_data.len() {
&old_data[base..limit + 1]
} else {
return Err(format!("old region {:#X}:{:#X} is invalid", base, limit));

Check warning on line 40 in src/app/bios.rs

View workflow job for this annotation

GitHub Actions / clippy

variables can be used directly in the `format!` string

warning: variables can be used directly in the `format!` string --> src/app/bios.rs:40:28 | 40 | return Err(format!("old region {:#X}:{:#X} is invalid", base, limit)); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args = note: `#[warn(clippy::uninlined_format_args)]` on by default help: change this to | 40 - return Err(format!("old region {:#X}:{:#X} is invalid", base, limit)); 40 + return Err(format!("old region {base:#X}:{limit:#X} is invalid")); |
}
}
None => return Err("missing old region".to_string()),
Expand All @@ -48,7 +48,7 @@
if base < limit && limit < new_data.len() {
&mut new_data[base..limit + 1]
} else {
return Err(format!("new region {:#X}:{:#X} is invalid", base, limit));

Check warning on line 51 in src/app/bios.rs

View workflow job for this annotation

GitHub Actions / clippy

variables can be used directly in the `format!` string

warning: variables can be used directly in the `format!` string --> src/app/bios.rs:51:28 | 51 | return Err(format!("new region {:#X}:{:#X} is invalid", base, limit)); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args help: change this to | 51 - return Err(format!("new region {:#X}:{:#X} is invalid", base, limit)); 51 + return Err(format!("new region {base:#X}:{limit:#X} is invalid")); |
}
}
None => return Err("missing new region".to_string()),
Expand Down Expand Up @@ -144,6 +144,7 @@
"galp4" |
"galp5" |
"galp6" |
"galp7" |
"gaze14" |
"gaze15" |
"gaze16-3050" |
Expand Down Expand Up @@ -529,7 +530,7 @@
println!("Failed to preserve boot order");
}

let cmd = format!("{} {} bios flash", FIRMWARENSH, FIRMWAREDIR);

Check warning on line 533 in src/app/bios.rs

View workflow job for this annotation

GitHub Actions / clippy

variables can be used directly in the `format!` string

warning: variables can be used directly in the `format!` string --> src/app/bios.rs:533:23 | 533 | let cmd = format!("{} {} bios flash", FIRMWARENSH, FIRMWAREDIR); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args help: change this to | 533 - let cmd = format!("{} {} bios flash", FIRMWARENSH, FIRMWAREDIR); 533 + let cmd = format!("{FIRMWARENSH} {FIRMWAREDIR} bios flash"); |
let status = shell(&cmd)?;

#[allow(clippy::single_match)]
Expand Down
1 change: 1 addition & 0 deletions src/app/ec.rs
Original file line number Diff line number Diff line change
Expand Up @@ -60,19 +60,19 @@
let mut system_version = String::new();

for table in crate::dmi::dmi() {
match table.header.kind {
1 => {
if let Ok(info) = dmi::SystemInfo::from_bytes(&table.data) {
let index = info.version;
if index > 0 {
if let Some(value) = table.strings.get((index - 1) as usize) {
system_version = value.trim().to_string();
}
}
}
}
_ => {}
}

Check warning on line 75 in src/app/ec.rs

View workflow job for this annotation

GitHub Actions / clippy

you seem to be trying to use `match` for an equality check. Consider using `if`

warning: you seem to be trying to use `match` for an equality check. Consider using `if` --> src/app/ec.rs:63:17 | 63 | / match table.header.kind { 64 | | 1 => { 65 | | if let Ok(info) = dmi::SystemInfo::from_bytes(&table.data) { 66 | | let index = info.version; ... | 74 | | _ => {} 75 | | } | |_________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match = note: `#[warn(clippy::single_match)]` on by default help: try this | 63 ~ if table.header.kind == 1 { 64 + if let Ok(info) = dmi::SystemInfo::from_bytes(&table.data) { 65 + let index = info.version; 66 + if index > 0 { 67 + if let Some(value) = table.strings.get((index - 1) as usize) { 68 + system_version = value.trim().to_string(); 69 + } 70 + } 71 + } 72 + } |
}

if system_version == "pang12" {
Expand Down Expand Up @@ -142,7 +142,7 @@
match self {
EcKind::Pang12(pmc) => {
let mut hms = [0u8; 3];
for i in 0..hms.len() {

Check warning on line 145 in src/app/ec.rs

View workflow job for this annotation

GitHub Actions / clippy

the loop variable `i` is used to index `hms`

warning: the loop variable `i` is used to index `hms` --> src/app/ec.rs:145:26 | 145 | for i in 0..hms.len() { | ^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop = note: `#[warn(clippy::needless_range_loop)]` on by default help: consider using an iterator | 145 | for (i, <item>) in hms.iter_mut().enumerate() { | ~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
match pmc.acpi_read(0x08 + i as u8) {
Ok(value) => hms[i] = value,
Err(err) => {
Expand All @@ -153,7 +153,7 @@
}

let mut ymd = [0u8; 3];
for i in 0..ymd.len() {

Check warning on line 156 in src/app/ec.rs

View workflow job for this annotation

GitHub Actions / clippy

the loop variable `i` is used to index `ymd`

warning: the loop variable `i` is used to index `ymd` --> src/app/ec.rs:156:26 | 156 | for i in 0..ymd.len() { | ^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop help: consider using an iterator | 156 | for (i, <item>) in ymd.iter_mut().enumerate() { | ~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
match pmc.acpi_read(0x0C + i as u8) {
Ok(value) => ymd[i] = value,
Err(err) => {
Expand Down Expand Up @@ -224,13 +224,13 @@

pub fn validate_data(&self, data: Vec<u8>) -> bool {
// Special case for pang12
match &self.ec {
EcKind::Pang12(_pmc) => {
return data.len() == 128 * 1024
&& &data[0x50 ..= 0x05F] == b"ITE EC-V14.6 \0";
},
_ => (),
}

Check warning on line 233 in src/app/ec.rs

View workflow job for this annotation

GitHub Actions / clippy

you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`

warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` --> src/app/ec.rs:227:9 | 227 | / match &self.ec { 228 | | EcKind::Pang12(_pmc) => { 229 | | return data.len() == 128 * 1024 230 | | && &data[0x50 ..= 0x05F] == b"ITE EC-V14.6 \0"; 231 | | }, 232 | | _ => (), 233 | | } | |_________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match help: try this | 227 ~ if let EcKind::Pang12(_pmc) = &self.ec { 228 + return data.len() == 128 * 1024 229 + && &data[0x50 ..= 0x05F] == b"ITE EC-V14.6 \0"; 230 + } |

let normalize_model = |model: &str| -> String {
match model {
Expand Down Expand Up @@ -268,6 +268,7 @@
"NS50_70PU" => "system76/darp8".to_string(),
"NV40Mx" | "NV40Mx-DV" | "NV40MJ" => "system76/galp5".to_string(),
"NV4xPZ" => "system76/galp6".to_string(),
"NV40RZ" => "system76/galp7".to_string(),
"PB50Ex" => "system76/addw1".to_string(),
"PBx0Dx2" => "system76/addw2".to_string(),
"P950Ex" => "system76/oryp5".to_string(),
Expand Down Expand Up @@ -690,18 +691,18 @@
fn validate(&self) -> Result<bool> {
// If EC tag does not exist
if find(ECTAG).is_err() {
match &self.ec {
// Make sure EC is unlocked if running System76 EC
EcKind::System76(_, _) => match unsafe { security_unlock() } {
Ok(()) => (),
Err(err) => {
println!("{} Failed to unlock: {:?}", self.name(), err);
return Err(Error::DeviceError);
}
},
// Assume EC is unlocked if not running System76 EC
_ => (),
}

Check warning on line 705 in src/app/ec.rs

View workflow job for this annotation

GitHub Actions / clippy

you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`

warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` --> src/app/ec.rs:694:13 | 694 | / match &self.ec { 695 | | // Make sure EC is unlocked if running System76 EC 696 | | EcKind::System76(_, _) => match unsafe { security_unlock() } { 697 | | Ok(()) => (), ... | 704 | | _ => (), 705 | | } | |_____________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match help: try this | 694 ~ if let EcKind::System76(_, _) = &self.ec { match unsafe { security_unlock() } { 695 + Ok(()) => (), 696 + Err(err) => { 697 + println!("{} Failed to unlock: {:?}", self.name(), err); 698 + return Err(Error::DeviceError); 699 + } 700 + } } |
}

let data = load(self.path())?;
Expand All @@ -723,10 +724,10 @@
EcKind::Pang12(_pmc) => {
find(FIRMWARENSH)?;
let command = if self.master { "ec" } else { "ec2" };
let status = shell(&format!(
"{} {} {} flash",
FIRMWARENSH, FIRMWAREDIR, command
))?;

Check warning on line 730 in src/app/ec.rs

View workflow job for this annotation

GitHub Actions / clippy

variables can be used directly in the `format!` string

warning: variables can be used directly in the `format!` string --> src/app/ec.rs:727:37 | 727 | let status = shell(&format!( | _____________________________________^ 728 | | "{} {} {} flash", 729 | | FIRMWARENSH, FIRMWAREDIR, command 730 | | ))?; | |_________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
if status == 0 {
Ok(())
} else {
Expand Down Expand Up @@ -760,10 +761,10 @@
} else {
find(FIRMWARENSH)?;
let command = if self.master { "ec" } else { "ec2" };
let status = shell(&format!(
"{} {} {} flash",
FIRMWARENSH, FIRMWAREDIR, command
))?;

Check warning on line 767 in src/app/ec.rs

View workflow job for this annotation

GitHub Actions / clippy

variables can be used directly in the `format!` string

warning: variables can be used directly in the `format!` string --> src/app/ec.rs:764:41 | 764 | let status = shell(&format!( | _________________________________________^ 765 | | "{} {} {} flash", 766 | | FIRMWARENSH, FIRMWAREDIR, command 767 | | ))?; | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
if status == 0 {
Ok(())
} else {
Expand Down
Loading