diff --git a/app/gimletlet/app-mgmt.toml b/app/gimletlet/app-mgmt.toml index 7dd5019ecb..5d9e0389ae 100644 --- a/app/gimletlet/app-mgmt.toml +++ b/app/gimletlet/app-mgmt.toml @@ -49,7 +49,7 @@ task-slots = ["sys", "user_leds"] [tasks.net] name = "task-net" -stacksize = 3000 +stacksize = 3184 priority = 3 features = ["mgmt", "h753", "use-spi-core", "spi2"] max-sizes = {flash = 131072, ram = 16384, sram1_mac = 16384} diff --git a/build/lpc55pins/src/lib.rs b/build/lpc55pins/src/lib.rs index ec63924e2e..e1579c8df0 100644 --- a/build/lpc55pins/src/lib.rs +++ b/build/lpc55pins/src/lib.rs @@ -143,14 +143,24 @@ pub fn codegen(pins: Vec) -> Result<()> { let mut file = std::fs::File::create(dest_path)?; let mut buf = BufWriter::new(Vec::new()); - if pins.iter().any(|p| p.name.is_some()) { + writeln!( + &mut file, + "fn setup_pins(task : TaskId) -> Result<(), ()> {{" + )?; + if pins + .iter() + .any(|p| p.direction.is_some() || p.name.is_some() || p.value.is_some()) + { + // Each conditional branch in pins loop uses Pin. writeln!(&mut buf, "use drv_lpc55_gpio_api::Pin;")?; } + if pins.iter().any(|p| p.value.is_some()) { + writeln!(&mut buf, "use drv_lpc55_gpio_api::Value;")?; + } writeln!( &mut file, - "fn setup_pins(task : TaskId) -> Result<(), ()> {{" + "use drv_lpc55_gpio_api::{{AltFn, Digimode, Invert, Mode, Opendrain, Pin, Pins, Slew}};" )?; - writeln!(&mut file, "use drv_lpc55_gpio_api::*;")?; writeln!(&mut file, "let iocon = Pins::from(task);")?; for p in pins { writeln!(&mut file, "iocon.iocon_configure(")?; @@ -177,7 +187,9 @@ pub fn codegen(pins: Vec) -> Result<()> { Some(d) => { writeln!(&mut file, "iocon.set_dir(")?; writeln!(&mut file, "{}", p.pin.to_token_stream())?; - writeln!(&mut file, "Direction::{d:?}")?; + // Note: GPIO API is used directly to avoid a duplicate import + // problem in lpc55-sprot-server. + writeln!(&mut file, "drv_lpc55_gpio_api::Direction::{d:?}")?; writeln!(&mut file, ");")?; } } diff --git a/build/xtask/src/sizes.rs b/build/xtask/src/sizes.rs index bb7cd7ab60..0fef37563d 100644 --- a/build/xtask/src/sizes.rs +++ b/build/xtask/src/sizes.rs @@ -9,7 +9,7 @@ use std::path::Path; use std::process; use anyhow::{bail, Context, Result}; -use colored::*; +use colored::Colorize; use goblin::Object; use indexmap::map::Entry; use indexmap::IndexMap; diff --git a/drv/eeprom/src/main.rs b/drv/eeprom/src/main.rs index 77e1b661c9..2aa0655b76 100644 --- a/drv/eeprom/src/main.rs +++ b/drv/eeprom/src/main.rs @@ -15,7 +15,7 @@ #![no_main] use derive_idol_err::IdolError; -use drv_i2c_devices::at24csw080::*; +use drv_i2c_devices::at24csw080::{At24Csw080, Error}; use idol_runtime::{NotificationHandler, RequestError}; use userlib::{task_slot, FromPrimitive}; diff --git a/drv/fpga-devices/src/ecp5_spi.rs b/drv/fpga-devices/src/ecp5_spi.rs index 13798c1373..576932481f 100644 --- a/drv/fpga-devices/src/ecp5_spi.rs +++ b/drv/fpga-devices/src/ecp5_spi.rs @@ -178,7 +178,7 @@ impl FpgaUserDesign for Ecp5UsingSpi { impl Ecp5UsingSpi { pub fn configure_gpio(&self) { - use sys_api::*; + use sys_api::{OutputType, Pull, Speed}; self.sys.gpio_set(self.done); self.sys.gpio_configure_output( diff --git a/drv/fpga-devices/src/ecp5_spi_mux_pca9538.rs b/drv/fpga-devices/src/ecp5_spi_mux_pca9538.rs index 70c2919349..29bef73f56 100644 --- a/drv/fpga-devices/src/ecp5_spi_mux_pca9538.rs +++ b/drv/fpga-devices/src/ecp5_spi_mux_pca9538.rs @@ -87,7 +87,7 @@ impl Driver { } pub fn init(&self) -> Result<(), Error> { - use sys_api::*; + use sys_api::{OutputType, Pull, Speed}; self.config.sys.gpio_set(self.config.spi_mux_select); self.config.sys.gpio_configure_output( diff --git a/drv/fpga-server/src/main.rs b/drv/fpga-server/src/main.rs index b443bc910a..534ef40051 100644 --- a/drv/fpga-server/src/main.rs +++ b/drv/fpga-server/src/main.rs @@ -98,8 +98,8 @@ fn main() -> ! { let user_design = spi.device(drv_spi_api::devices::ECP5_FRONT_IO_USER_DESIGN); - use drv_i2c_devices::pca9538::*; - use drv_fpga_devices::ecp5_spi_mux_pca9538::*; + use drv_i2c_devices::pca9538::{PinSet, Pca9538}; + use drv_fpga_devices::ecp5_spi_mux_pca9538::{Driver, DriverConfig, DevicePins}; let gpio = Pca9538::new( i2c_config::devices::pca9538(I2C.get_task_id())[0], diff --git a/drv/i2c-api/src/lib.rs b/drv/i2c-api/src/lib.rs index af67501a8c..f58d5dc4d3 100644 --- a/drv/i2c-api/src/lib.rs +++ b/drv/i2c-api/src/lib.rs @@ -24,7 +24,10 @@ use zerocopy::{AsBytes, FromBytes}; -pub use drv_i2c_types::*; +pub use drv_i2c_types::{ + Controller, Mux, Op, PortIndex, ReservedAddress, ResponseCode, + ResponseCodeU8, Segment, +}; use userlib::{sys_send, FromPrimitive, Lease, TaskId}; /// diff --git a/drv/i2c-devices/src/adm1272.rs b/drv/i2c-devices/src/adm1272.rs index 9fdb3d2765..5e20a3aa38 100644 --- a/drv/i2c-devices/src/adm1272.rs +++ b/drv/i2c-devices/src/adm1272.rs @@ -10,7 +10,7 @@ use crate::{ pmbus_validate, BadValidation, CurrentSensor, TempSensor, Validate, VoltageSensor, }; -use drv_i2c_api::*; +use drv_i2c_api::{I2cDevice, ResponseCode}; use num_traits::float::FloatCore; use pmbus::commands::*; use ringbuf::*; diff --git a/drv/i2c-devices/src/adt7420.rs b/drv/i2c-devices/src/adt7420.rs index 1c72ad68c6..5af4b954fe 100644 --- a/drv/i2c-devices/src/adt7420.rs +++ b/drv/i2c-devices/src/adt7420.rs @@ -5,7 +5,7 @@ //! Driver for the ADT7420 temperature sensor use crate::TempSensor; -use drv_i2c_api::*; +use drv_i2c_api::{I2cDevice, ResponseCode}; use userlib::units::*; const ADT7420_ID: u8 = 0xcb; diff --git a/drv/i2c-devices/src/at24csw080.rs b/drv/i2c-devices/src/at24csw080.rs index c8adb1ca91..7cdf112204 100644 --- a/drv/i2c-devices/src/at24csw080.rs +++ b/drv/i2c-devices/src/at24csw080.rs @@ -5,7 +5,7 @@ //! Driver for the AT24CSW080/4 I2C EEPROM use crate::Validate; -use drv_i2c_api::*; +use drv_i2c_api::{I2cDevice, ResponseCode}; use userlib::{hl::sleep_for, FromPrimitive, ToPrimitive}; use zerocopy::{AsBytes, FromBytes}; diff --git a/drv/i2c-devices/src/bmr491.rs b/drv/i2c-devices/src/bmr491.rs index a6470b5106..45758f56ce 100644 --- a/drv/i2c-devices/src/bmr491.rs +++ b/drv/i2c-devices/src/bmr491.rs @@ -10,7 +10,7 @@ use crate::{ pmbus_validate, BadValidation, CurrentSensor, TempSensor, Validate, VoltageSensor, }; -use drv_i2c_api::*; +use drv_i2c_api::{I2cDevice, ResponseCode}; use pmbus::commands::*; use userlib::units::*; diff --git a/drv/i2c-devices/src/ds2482.rs b/drv/i2c-devices/src/ds2482.rs index 225cac9136..1d43befedf 100644 --- a/drv/i2c-devices/src/ds2482.rs +++ b/drv/i2c-devices/src/ds2482.rs @@ -5,7 +5,7 @@ //! Driver for the DS2482-100 1-wire initiator use bitfield::bitfield; -use drv_i2c_api::*; +use drv_i2c_api::{I2cDevice, ResponseCode}; use drv_onewire::Identifier; use ringbuf::*; diff --git a/drv/i2c-devices/src/emc2305.rs b/drv/i2c-devices/src/emc2305.rs index 23f4d7fe15..e783da7362 100644 --- a/drv/i2c-devices/src/emc2305.rs +++ b/drv/i2c-devices/src/emc2305.rs @@ -6,7 +6,7 @@ use crate::Validate; use bitfield::bitfield; -use drv_i2c_api::*; +use drv_i2c_api::{I2cDevice, ResponseCode}; use ringbuf::*; use userlib::{ units::{PWMDuty, Rpm}, diff --git a/drv/i2c-devices/src/isl68224.rs b/drv/i2c-devices/src/isl68224.rs index 8be08db8d4..4ab7511f24 100644 --- a/drv/i2c-devices/src/isl68224.rs +++ b/drv/i2c-devices/src/isl68224.rs @@ -8,7 +8,7 @@ use crate::{ pmbus_validate, BadValidation, CurrentSensor, TempSensor, Validate, VoltageSensor, }; -use drv_i2c_api::*; +use drv_i2c_api::{I2cDevice, ResponseCode}; use pmbus::commands::isl68224::*; use pmbus::commands::CommandCode; use pmbus::*; diff --git a/drv/i2c-devices/src/ltc4282.rs b/drv/i2c-devices/src/ltc4282.rs index 9e737a3e1f..23e20ca7ba 100644 --- a/drv/i2c-devices/src/ltc4282.rs +++ b/drv/i2c-devices/src/ltc4282.rs @@ -7,7 +7,7 @@ use crate::{CurrentSensor, Validate, VoltageSensor}; use bitfield::bitfield; use core::cell::Cell; -use drv_i2c_api::*; +use drv_i2c_api::{I2cDevice, ResponseCode}; use userlib::{ units::{Amperes, Ohms, Volts}, FromPrimitive, diff --git a/drv/i2c-devices/src/m24c02.rs b/drv/i2c-devices/src/m24c02.rs index c96eba0358..90ec20ac84 100644 --- a/drv/i2c-devices/src/m24c02.rs +++ b/drv/i2c-devices/src/m24c02.rs @@ -5,7 +5,7 @@ //! Driver for the M24C02-WMN6TP EEPROM attached to a MWOCP68 power shelf use crate::Validate; -use drv_i2c_api::*; +use drv_i2c_api::{I2cDevice, ResponseCode}; //////////////////////////////////////////////////////////////////////////////// diff --git a/drv/i2c-devices/src/max31790.rs b/drv/i2c-devices/src/max31790.rs index 93d2a1607b..695095242c 100644 --- a/drv/i2c-devices/src/max31790.rs +++ b/drv/i2c-devices/src/max31790.rs @@ -6,7 +6,7 @@ use crate::Validate; use bitfield::bitfield; -use drv_i2c_api::*; +use drv_i2c_api::{I2cDevice, ResponseCode}; use ringbuf::*; use userlib::{ units::{PWMDuty, Rpm}, diff --git a/drv/i2c-devices/src/max5970.rs b/drv/i2c-devices/src/max5970.rs index fea5914959..5a6dd2f765 100644 --- a/drv/i2c-devices/src/max5970.rs +++ b/drv/i2c-devices/src/max5970.rs @@ -5,7 +5,7 @@ //! Driver for the MAX5970 hot swap controller use crate::{CurrentSensor, Validate, VoltageSensor}; -use drv_i2c_api::*; +use drv_i2c_api::{I2cDevice, ResponseCode}; use num_traits::float::FloatCore; use userlib::{ units::{Amperes, Ohms, Volts}, diff --git a/drv/i2c-devices/src/max6634.rs b/drv/i2c-devices/src/max6634.rs index ef73304673..7150415309 100644 --- a/drv/i2c-devices/src/max6634.rs +++ b/drv/i2c-devices/src/max6634.rs @@ -5,7 +5,7 @@ //! Driver for the MAX6634 temperature sensor use crate::{TempSensor, Validate}; -use drv_i2c_api::*; +use drv_i2c_api::{I2cDevice, ResponseCode}; use userlib::units::*; #[allow(dead_code)] diff --git a/drv/i2c-devices/src/mcp9808.rs b/drv/i2c-devices/src/mcp9808.rs index 294f0fc166..439a27aff4 100644 --- a/drv/i2c-devices/src/mcp9808.rs +++ b/drv/i2c-devices/src/mcp9808.rs @@ -5,7 +5,7 @@ //! Driver for the MCP9808 temperature sensor use crate::TempSensor; -use drv_i2c_api::*; +use drv_i2c_api::{I2cDevice, ResponseCode}; use userlib::units::*; pub enum Register { diff --git a/drv/i2c-devices/src/mwocp68.rs b/drv/i2c-devices/src/mwocp68.rs index 5dccabb02e..130028fefd 100644 --- a/drv/i2c-devices/src/mwocp68.rs +++ b/drv/i2c-devices/src/mwocp68.rs @@ -9,7 +9,7 @@ use crate::{ InputVoltageSensor, Validate, VoltageSensor, }; use core::cell::Cell; -use drv_i2c_api::*; +use drv_i2c_api::{I2cDevice, ResponseCode}; use pmbus::commands::mwocp68::*; use pmbus::commands::CommandCode; use pmbus::units::{Celsius, Rpm}; diff --git a/drv/i2c-devices/src/pca9538.rs b/drv/i2c-devices/src/pca9538.rs index f20901c3ac..acd5b0c3e6 100644 --- a/drv/i2c-devices/src/pca9538.rs +++ b/drv/i2c-devices/src/pca9538.rs @@ -5,7 +5,7 @@ //! Driver for the PCA9538 GPIO expander use crate::Validate; -use drv_i2c_api::*; +use drv_i2c_api::{I2cDevice, ResponseCode}; use userlib::FromPrimitive; /// `PinSet` is a bit vector indicating on which pins/ports a given operation is diff --git a/drv/i2c-devices/src/pca9956b.rs b/drv/i2c-devices/src/pca9956b.rs index d84fffe518..a71b47ba5b 100644 --- a/drv/i2c-devices/src/pca9956b.rs +++ b/drv/i2c-devices/src/pca9956b.rs @@ -5,7 +5,7 @@ //! Driver for the PCA9956B LED driver use crate::Validate; -use drv_i2c_api::*; +use drv_i2c_api::{I2cDevice, ResponseCode}; use num_derive::FromPrimitive; use num_traits::FromPrimitive; diff --git a/drv/i2c-devices/src/pct2075.rs b/drv/i2c-devices/src/pct2075.rs index f83eda544d..c513dffc34 100644 --- a/drv/i2c-devices/src/pct2075.rs +++ b/drv/i2c-devices/src/pct2075.rs @@ -5,7 +5,7 @@ //! Driver for the PCT2075 temperature sensor use crate::{TempSensor, Validate}; -use drv_i2c_api::*; +use drv_i2c_api::{I2cDevice, ResponseCode}; use userlib::units::*; #[allow(dead_code)] diff --git a/drv/i2c-devices/src/raa229618.rs b/drv/i2c-devices/src/raa229618.rs index c4a47fa325..b1b0fa0cf7 100644 --- a/drv/i2c-devices/src/raa229618.rs +++ b/drv/i2c-devices/src/raa229618.rs @@ -8,7 +8,7 @@ use crate::{ pmbus_validate, BadValidation, CurrentSensor, TempSensor, Validate, VoltageSensor, }; -use drv_i2c_api::*; +use drv_i2c_api::{I2cDevice, ResponseCode}; use pmbus::commands::raa229618::*; use pmbus::commands::CommandCode; use pmbus::*; diff --git a/drv/i2c-devices/src/sbrmi.rs b/drv/i2c-devices/src/sbrmi.rs index ffab24a334..587123026c 100644 --- a/drv/i2c-devices/src/sbrmi.rs +++ b/drv/i2c-devices/src/sbrmi.rs @@ -7,7 +7,7 @@ //! threads cannot exceed a 7-bit quantity in this processor generation). use crate::Validate; -use drv_i2c_api::*; +use drv_i2c_api::{I2cDevice, ResponseCode}; use ringbuf::*; use zerocopy::FromBytes; diff --git a/drv/i2c-devices/src/sbtsi.rs b/drv/i2c-devices/src/sbtsi.rs index 3972ecd278..f437075e28 100644 --- a/drv/i2c-devices/src/sbtsi.rs +++ b/drv/i2c-devices/src/sbtsi.rs @@ -5,7 +5,7 @@ //! Driver for AMD SB-TSI interface use crate::{TempSensor, Validate}; -use drv_i2c_api::*; +use drv_i2c_api::{I2cDevice, ResponseCode}; use userlib::units::*; #[allow(dead_code)] diff --git a/drv/i2c-devices/src/tmp117.rs b/drv/i2c-devices/src/tmp117.rs index b11652dc40..f6903582bc 100644 --- a/drv/i2c-devices/src/tmp117.rs +++ b/drv/i2c-devices/src/tmp117.rs @@ -5,7 +5,7 @@ //! Driver for the TMP117 temperature sensor use crate::{TempSensor, Validate}; -use drv_i2c_api::*; +use drv_i2c_api::{I2cDevice, ResponseCode}; use userlib::units::*; #[allow(dead_code)] diff --git a/drv/i2c-devices/src/tmp451.rs b/drv/i2c-devices/src/tmp451.rs index 89b7d6895c..f9391d2e27 100644 --- a/drv/i2c-devices/src/tmp451.rs +++ b/drv/i2c-devices/src/tmp451.rs @@ -5,7 +5,7 @@ //! Driver for the TMP451 temperature sensor use crate::{TempSensor, Validate}; -use drv_i2c_api::*; +use drv_i2c_api::{I2cDevice, ResponseCode}; use userlib::units::*; #[allow(dead_code)] diff --git a/drv/i2c-devices/src/tps546b24a.rs b/drv/i2c-devices/src/tps546b24a.rs index 6adf9f910e..d776ed9e6b 100644 --- a/drv/i2c-devices/src/tps546b24a.rs +++ b/drv/i2c-devices/src/tps546b24a.rs @@ -10,7 +10,7 @@ use crate::{ pmbus_validate, BadValidation, CurrentSensor, TempSensor, Validate, VoltageSensor, }; -use drv_i2c_api::*; +use drv_i2c_api::{I2cDevice, ResponseCode}; use pmbus::commands::*; use userlib::units::*; diff --git a/drv/i2c-devices/src/tse2004av.rs b/drv/i2c-devices/src/tse2004av.rs index 69c297682a..d0d7a83c02 100644 --- a/drv/i2c-devices/src/tse2004av.rs +++ b/drv/i2c-devices/src/tse2004av.rs @@ -6,7 +6,7 @@ //! for SPD (serial presence detection) and temperature sensing on DIMMs. use crate::TempSensor; -use drv_i2c_api::*; +use drv_i2c_api::{I2cDevice, ResponseCode}; use userlib::units::*; #[allow(dead_code)] diff --git a/drv/ignition-server/src/main.rs b/drv/ignition-server/src/main.rs index 1be32f4703..2b2e75b7bd 100644 --- a/drv/ignition-server/src/main.rs +++ b/drv/ignition-server/src/main.rs @@ -7,10 +7,15 @@ #![no_std] #![no_main] -use drv_ignition_api::*; +use drv_ignition_api::{ + Counters, IgnitionError, Port, PortState, Request, SystemPowerState, + Target, TransceiverEvents, TransceiverSelect, PORT_MAX, +}; use drv_sidecar_mainboard_controller::ignition::*; use ringbuf::*; -use userlib::{hl, sys_get_timer, sys_set_timer, task_slot, UnwrapLite}; +#[cfg(feature = "sequencer")] +use userlib::hl; +use userlib::{sys_get_timer, sys_set_timer, task_slot, UnwrapLite}; task_slot!(FPGA, fpga); #[cfg(feature = "sequencer")] diff --git a/drv/lpc55-gpio/src/main.rs b/drv/lpc55-gpio/src/main.rs index 3b4b2de569..932a577931 100644 --- a/drv/lpc55-gpio/src/main.rs +++ b/drv/lpc55-gpio/src/main.rs @@ -42,8 +42,8 @@ use lpc55_pac as device; -use drv_lpc55_gpio_api::*; -use drv_lpc55_syscon_api::*; +use drv_lpc55_gpio_api::{Direction, Pin, Value}; +use drv_lpc55_syscon_api::{Peripheral, Syscon}; use idol_runtime::{NotificationHandler, RequestError}; use userlib::{task_slot, RecvMessage}; diff --git a/drv/lpc55-i2c/src/main.rs b/drv/lpc55-i2c/src/main.rs index c949dab437..52a8674d52 100644 --- a/drv/lpc55-i2c/src/main.rs +++ b/drv/lpc55-i2c/src/main.rs @@ -21,7 +21,9 @@ #![no_std] #![no_main] -use drv_lpc55_gpio_api::*; +use drv_lpc55_gpio_api::{ + AltFn, Digimode, Invert, Mode, Opendrain, Pin, Pins, Slew, +}; use drv_lpc55_syscon_api::{Peripheral, Syscon}; use lpc55_pac as device; use userlib::{hl, task_slot, FromPrimitive, LeaseAttributes}; diff --git a/drv/lpc55-swd/build.rs b/drv/lpc55-swd/build.rs index 1b03391152..b12533f09d 100644 --- a/drv/lpc55-swd/build.rs +++ b/drv/lpc55-swd/build.rs @@ -50,9 +50,11 @@ fn generate_swd_functions(config: &TaskConfig) -> Result<()> { #( { - use drv_lpc55_gpio_api::*; + use drv_lpc55_gpio_api::{ + AltFn, Digimode, Invert, Mode, Opendrain, Pins, Slew, + }; - let (pin, conf) = drv_lpc55_gpio_api::Pins::iocon_conf_val(#out_cfg); + let (pin, conf) = Pins::iocon_conf_val(#out_cfg); let base = iocon_base + 4 * pin; unsafe { core::ptr::write_volatile(base as *mut u32, conf); @@ -65,8 +67,11 @@ fn generate_swd_functions(config: &TaskConfig) -> Result<()> { #( { - use drv_lpc55_gpio_api::*; - let (pin, conf) = drv_lpc55_gpio_api::Pins::iocon_conf_val(#in_cfg); + use drv_lpc55_gpio_api::{ + AltFn, Digimode, Invert, Mode, Opendrain, Pins, Slew, + }; + + let (pin, conf) = Pins::iocon_conf_val(#in_cfg); let base = iocon_base + 4 * pin; unsafe { core::ptr::write_volatile(base as *mut u32, conf); diff --git a/drv/lpc55-swd/src/main.rs b/drv/lpc55-swd/src/main.rs index 13e912f0ed..6cb325286a 100644 --- a/drv/lpc55-swd/src/main.rs +++ b/drv/lpc55-swd/src/main.rs @@ -777,7 +777,7 @@ impl ServerImpl { } fn swd_dongle_detected(&self) -> bool { - use drv_lpc55_gpio_api::*; + use drv_lpc55_gpio_api::{Pins, Value}; let gpio = Pins::from(self.gpio); gpio.read_val(SP_TO_ROT_JTAG_DETECT_L) == Value::Zero diff --git a/drv/lpc55-syscon/src/main.rs b/drv/lpc55-syscon/src/main.rs index c9ebdd8d9b..2c6fd1df6c 100644 --- a/drv/lpc55-syscon/src/main.rs +++ b/drv/lpc55-syscon/src/main.rs @@ -110,7 +110,7 @@ #![no_std] #![no_main] -use drv_lpc55_syscon_api::*; +use drv_lpc55_syscon_api::{Peripheral, Reg}; use idol_runtime::{NotificationHandler, RequestError}; use lpc55_pac as device; use task_jefe_api::{Jefe, ResetReason}; diff --git a/drv/lpc55-usart/src/main.rs b/drv/lpc55-usart/src/main.rs index 50cca3bd15..453a886a61 100644 --- a/drv/lpc55-usart/src/main.rs +++ b/drv/lpc55-usart/src/main.rs @@ -17,7 +17,7 @@ #![no_main] use core::ops::Deref; -use drv_lpc55_syscon_api::*; +use drv_lpc55_syscon_api::{Peripheral, Syscon}; use lib_lpc55_usart::{Usart, Write}; use lpc55_pac as device; use userlib::*; diff --git a/drv/meanwell/src/main.rs b/drv/meanwell/src/main.rs index 1342573392..1ece608592 100644 --- a/drv/meanwell/src/main.rs +++ b/drv/meanwell/src/main.rs @@ -47,7 +47,7 @@ cfg_if::cfg_if! { } fn set(index: usize, val: bool) -> Result<(), RequestError> { - use drv_stm32xx_sys_api::*; + use drv_stm32xx_sys_api::Sys; let sys = SYS.get_task_id(); let sys = Sys::from(sys); @@ -61,7 +61,7 @@ fn set(index: usize, val: bool) -> Result<(), RequestError> { } fn get(index: usize) -> Result> { - use drv_stm32xx_sys_api::*; + use drv_stm32xx_sys_api::Sys; let sys = SYS.get_task_id(); let sys = Sys::from(sys); @@ -147,7 +147,7 @@ fn main() -> ! { deadline, }; - use drv_stm32xx_sys_api::*; + use drv_stm32xx_sys_api::{OutputType, Pull, Speed, Sys}; let sys = SYS.get_task_id(); let sys = Sys::from(sys); diff --git a/drv/sidecar-front-io/src/controller.rs b/drv/sidecar-front-io/src/controller.rs index ef7a205568..fc877d0e1e 100644 --- a/drv/sidecar-front-io/src/controller.rs +++ b/drv/sidecar-front-io/src/controller.rs @@ -3,7 +3,10 @@ // file, You can obtain one at https://mozilla.org/MPL/2.0/. use crate::{Addr, SIDECAR_IO_BITSTREAM_CHECKSUM}; -use drv_fpga_api::*; +use drv_fpga_api::{ + await_fpga_ready, BitstreamType, DeviceState, Fpga, FpgaError, + FpgaUserDesign, WriteOp, +}; use userlib::UnwrapLite; pub struct FrontIOController { diff --git a/drv/sidecar-mainboard-controller/src/lib.rs b/drv/sidecar-mainboard-controller/src/lib.rs index d58433e546..9f7fd64d9d 100644 --- a/drv/sidecar-mainboard-controller/src/lib.rs +++ b/drv/sidecar-mainboard-controller/src/lib.rs @@ -4,7 +4,12 @@ #![no_std] -use drv_fpga_api::*; +use drv_fpga_api::{ + await_fpga_ready, DeviceState, Fpga, FpgaError, FpgaUserDesign, + FpgaUserDesignIdent, +}; +#[cfg(feature = "bitstream")] +use drv_fpga_api::{BitstreamType, WriteOp}; include!(concat!(env!("OUT_DIR"), "/sidecar_mainboard_controller.rs")); diff --git a/drv/sidecar-mainboard-i2c-emulator/src/main.rs b/drv/sidecar-mainboard-i2c-emulator/src/main.rs index bff7026759..eeee55f9fc 100644 --- a/drv/sidecar-mainboard-i2c-emulator/src/main.rs +++ b/drv/sidecar-mainboard-i2c-emulator/src/main.rs @@ -9,7 +9,7 @@ #![no_std] #![no_main] -use drv_i2c_api::*; +use drv_i2c_api::{I2cDevice, ResponseCode}; use ringbuf::*; use userlib::*; diff --git a/drv/stm32g0-usart/src/main.rs b/drv/stm32g0-usart/src/main.rs index 4b17baa3a6..462ea3d058 100644 --- a/drv/stm32g0-usart/src/main.rs +++ b/drv/stm32g0-usart/src/main.rs @@ -180,7 +180,9 @@ fn turn_on_usart() { } fn configure_pins() { - use drv_stm32xx_sys_api::*; + use drv_stm32xx_sys_api::{ + Alternate, OutputType, PinSet, Port, Pull, Speed, Sys, + }; let gpio_driver = SYS.get_task_id(); let gpio_driver = Sys::from(gpio_driver); diff --git a/drv/stm32h7-spi-server-core/src/lib.rs b/drv/stm32h7-spi-server-core/src/lib.rs index caef849dbe..ffe061e443 100644 --- a/drv/stm32h7-spi-server-core/src/lib.rs +++ b/drv/stm32h7-spi-server-core/src/lib.rs @@ -16,7 +16,7 @@ #![no_std] #![no_main] -use drv_spi_api::*; +use drv_spi_api::{CsState, SpiError, SpiOperation, SpiServer}; use idol_runtime::{BufReader, BufWriter, ClientError, RequestError}; use ringbuf::*; diff --git a/drv/stm32h7-spi-server/src/main.rs b/drv/stm32h7-spi-server/src/main.rs index 83a8df3583..a318c410d9 100644 --- a/drv/stm32h7-spi-server/src/main.rs +++ b/drv/stm32h7-spi-server/src/main.rs @@ -12,7 +12,7 @@ use core::convert::Infallible; -use drv_spi_api::*; +use drv_spi_api::{CsState, SpiError}; use idol_runtime::{ LeaseBufReader, LeaseBufWriter, Leased, LenLimit, NotificationHandler, RequestError, R, W, diff --git a/drv/stm32h7-sprot-server/src/main.rs b/drv/stm32h7-sprot-server/src/main.rs index 036fdeee1d..741335e629 100644 --- a/drv/stm32h7-sprot-server/src/main.rs +++ b/drv/stm32h7-sprot-server/src/main.rs @@ -13,7 +13,15 @@ use drv_lpc55_update_api::{ RotBootInfo, RotComponent, RotPage, SlotId, SwitchDuration, UpdateTarget, }; use drv_spi_api::{CsState, SpiDevice, SpiServer}; -use drv_sprot_api::*; +use drv_sprot_api::{ + AttestOrSprotError, AttestReq, AttestRsp, CabooseReq, CabooseRsp, + DumpOrSprotError, DumpReq, DumpRsp, Header, LifecycleState, PulseStatus, + RawCabooseOrSprotError, ReqBody, Request, Response, RotPageRsp, RotState, + RspBody, SpIoStats, SpStatus, SprotError, SprotIoStats, SprotProtocolError, + SprotStatus, StateOrSprotError, StateReq, StateRsp, SwdReq, UpdateReq, + UpdateRsp, VersionedRotBootInfo, CRC_SIZE, CURRENT_VERSION, MAX_BLOB_SIZE, + MIN_VERSION, REQUEST_BUF_SIZE, RESPONSE_BUF_SIZE, ROT_FIFO_SIZE, +}; use drv_stm32xx_sys_api as sys_api; use hubpack::SerializedSize; use idol_runtime::{NotificationHandler, RequestError}; diff --git a/drv/stm32xx-i2c-server/src/main.rs b/drv/stm32xx-i2c-server/src/main.rs index 5073c77505..3cf54a722d 100644 --- a/drv/stm32xx-i2c-server/src/main.rs +++ b/drv/stm32xx-i2c-server/src/main.rs @@ -7,8 +7,13 @@ #![no_std] #![no_main] -use drv_i2c_api::*; -use drv_stm32xx_i2c::*; +use drv_i2c_api::{ + Controller, Marshal, Mux, Op, PortIndex, ReservedAddress, ResponseCode, + ResponseCodeU8, Segment, +}; +use drv_stm32xx_i2c::{ + I2cControl, I2cControlResult, I2cController, I2cMux, I2cPins, ReadLength, +}; use drv_stm32xx_sys_api::{Mode, OutputType, PinSet, Pull, Speed, Sys}; use fixedmap::*; diff --git a/drv/user-leds/src/main.rs b/drv/user-leds/src/main.rs index 549fac5ea7..e7b07c06e2 100644 --- a/drv/user-leds/src/main.rs +++ b/drv/user-leds/src/main.rs @@ -367,7 +367,7 @@ cfg_if::cfg_if! { #[cfg(feature = "stm32g0")] fn enable_led_pins() { - use drv_stm32xx_sys_api::*; + use drv_stm32xx_sys_api::{OutputType, Pull, Speed, Sys}; let sys = SYS.get_task_id(); let sys = Sys::from(sys); @@ -394,7 +394,7 @@ fn led_info(led: Led) -> (drv_stm32xx_sys_api::PinSet, bool) { #[cfg(feature = "stm32g0")] fn led_on(led: Led) { - use drv_stm32xx_sys_api::*; + use drv_stm32xx_sys_api::Sys; let sys = SYS.get_task_id(); let sys = Sys::from(sys); @@ -405,7 +405,7 @@ fn led_on(led: Led) { #[cfg(feature = "stm32g0")] fn led_off(led: Led) { - use drv_stm32xx_sys_api::*; + use drv_stm32xx_sys_api::Sys; let sys = SYS.get_task_id(); let sys = Sys::from(sys); @@ -417,7 +417,7 @@ fn led_off(led: Led) { #[cfg(feature = "stm32g0")] fn led_toggle(led: Led) { - use drv_stm32xx_sys_api::*; + use drv_stm32xx_sys_api::Sys; let sys = SYS.get_task_id(); let sys = Sys::from(sys); @@ -490,7 +490,7 @@ cfg_if::cfg_if! { #[cfg(feature = "stm32h7")] fn enable_led_pins() { - use drv_stm32xx_sys_api::*; + use drv_stm32xx_sys_api::{OutputType, Pull, Speed, Sys}; let sys = SYS.get_task_id(); let sys = Sys::from(sys); @@ -543,7 +543,7 @@ fn led_info(led: Led) -> (drv_stm32xx_sys_api::PinSet, bool) { #[cfg(feature = "stm32h7")] fn led_on(led: Led) { - use drv_stm32xx_sys_api::*; + use drv_stm32xx_sys_api::Sys; let sys = SYS.get_task_id(); let sys = Sys::from(sys); @@ -554,7 +554,7 @@ fn led_on(led: Led) { #[cfg(feature = "stm32h7")] fn led_off(led: Led) { - use drv_stm32xx_sys_api::*; + use drv_stm32xx_sys_api::Sys; let sys = SYS.get_task_id(); let sys = Sys::from(sys); @@ -566,7 +566,7 @@ fn led_off(led: Led) { #[cfg(feature = "stm32h7")] fn led_toggle(led: Led) { - use drv_stm32xx_sys_api::*; + use drv_stm32xx_sys_api::Sys; let sys = SYS.get_task_id(); let sys = Sys::from(sys); @@ -614,7 +614,9 @@ const fn led_gpio_num(led: Led) -> drv_lpc55_gpio_api::Pin { #[cfg(feature = "lpc55")] fn enable_led_pins() { - use drv_lpc55_gpio_api::*; + use drv_lpc55_gpio_api::{ + AltFn, Digimode, Direction, Invert, Mode, Opendrain, Pins, Slew, + }; let gpio_driver = GPIO.get_task_id(); let gpio_driver = Pins::from(gpio_driver); diff --git a/task/control-plane-agent/src/mgs_compute_sled.rs b/task/control-plane-agent/src/mgs_compute_sled.rs index e013d136e1..5a232bd2d6 100644 --- a/task/control-plane-agent/src/mgs_compute_sled.rs +++ b/task/control-plane-agent/src/mgs_compute_sled.rs @@ -1345,7 +1345,9 @@ impl UsartHandler { fn configure_usart() -> Usart { use drv_stm32h7_usart::device; - use drv_stm32h7_usart::drv_stm32xx_sys_api::*; + use drv_stm32h7_usart::drv_stm32xx_sys_api::{ + Alternate, Peripheral, PinSet, Port, Sys, + }; // TODO: this module should _not_ know our clock rate. That's a hack. const CLOCK_HZ: u32 = 100_000_000; diff --git a/task/hiffy/src/lpc55.rs b/task/hiffy/src/lpc55.rs index de050a452b..f42ddec15f 100644 --- a/task/hiffy/src/lpc55.rs +++ b/task/hiffy/src/lpc55.rs @@ -5,7 +5,9 @@ #[cfg(feature = "spi")] use crate::common::{spi_read, spi_write}; use byteorder::ByteOrder; -use drv_lpc55_gpio_api::*; +use drv_lpc55_gpio_api::{ + AltFn, Digimode, Direction, Invert, Mode, Opendrain, Slew, +}; use hif::*; use hubris_num_tasks::Task; use ringbuf::*; diff --git a/task/hiffy/src/stm32g0.rs b/task/hiffy/src/stm32g0.rs index cd0011dfbf..7b377cf1d3 100644 --- a/task/hiffy/src/stm32g0.rs +++ b/task/hiffy/src/stm32g0.rs @@ -370,7 +370,7 @@ fn gpio_configure( _data: &[u8], _rval: &mut [u8], ) -> Result { - use drv_stm32xx_sys_api::*; + use drv_stm32xx_sys_api::{Alternate, Mode, OutputType, Pull, Speed}; if stack.len() < 7 { return Err(Failure::Fault(Fault::MissingParameters)); diff --git a/task/hiffy/src/stm32h7.rs b/task/hiffy/src/stm32h7.rs index 7f46acd43f..e850cdaf48 100644 --- a/task/hiffy/src/stm32h7.rs +++ b/task/hiffy/src/stm32h7.rs @@ -460,7 +460,7 @@ fn gpio_configure( _data: &[u8], _rval: &mut [u8], ) -> Result { - use drv_stm32xx_sys_api::*; + use drv_stm32xx_sys_api::{Alternate, Mode, OutputType, Pull, Speed}; if stack.len() < 7 { return Err(Failure::Fault(Fault::MissingParameters)); diff --git a/task/power/src/bsp/gimlet_bcdef.rs b/task/power/src/bsp/gimlet_bcdef.rs index 01523360c8..ff541922d8 100644 --- a/task/power/src/bsp/gimlet_bcdef.rs +++ b/task/power/src/bsp/gimlet_bcdef.rs @@ -7,7 +7,7 @@ use crate::{ PowerState, SensorId, }; -use drv_i2c_devices::max5970::*; +use drv_i2c_devices::max5970::{Max5970, Register}; use ringbuf::*; use userlib::units::*; diff --git a/task/power/src/bsp/psc_bc.rs b/task/power/src/bsp/psc_bc.rs index b5c5a594cd..92b231f189 100644 --- a/task/power/src/bsp/psc_bc.rs +++ b/task/power/src/bsp/psc_bc.rs @@ -34,7 +34,7 @@ impl State { pub(crate) fn init() -> Self { // Before talking to the power shelves, we have to enable an I2C buffer userlib::task_slot!(SYS, sys); - use drv_stm32xx_sys_api::*; + use drv_stm32xx_sys_api::{OutputType, Port, Pull, Speed, Sys}; let sys_task = SYS.get_task_id(); let sys = Sys::from(sys_task); diff --git a/task/power/src/main.rs b/task/power/src/main.rs index e12ea8520c..0781199757 100644 --- a/task/power/src/main.rs +++ b/task/power/src/main.rs @@ -10,14 +10,14 @@ #![no_std] #![no_main] -use drv_i2c_devices::adm1272::*; -use drv_i2c_devices::bmr491::*; -use drv_i2c_devices::isl68224::*; -use drv_i2c_devices::ltc4282::*; -use drv_i2c_devices::max5970::*; -use drv_i2c_devices::mwocp68::*; -use drv_i2c_devices::raa229618::*; -use drv_i2c_devices::tps546b24a::*; +use drv_i2c_devices::adm1272::Adm1272; +use drv_i2c_devices::bmr491::Bmr491; +use drv_i2c_devices::isl68224::Isl68224; +use drv_i2c_devices::ltc4282::Ltc4282; +use drv_i2c_devices::max5970::Max5970; +use drv_i2c_devices::mwocp68::Mwocp68; +use drv_i2c_devices::raa229618::Raa229618; +use drv_i2c_devices::tps546b24a::Tps546B24A; use pmbus::Phase; use ringbuf::*; use task_power_api::{ diff --git a/task/sp_measure/src/main.rs b/task/sp_measure/src/main.rs index d64d69f499..760954992a 100644 --- a/task/sp_measure/src/main.rs +++ b/task/sp_measure/src/main.rs @@ -5,7 +5,7 @@ #![no_std] #![no_main] -use drv_sp_ctrl_api::*; +use drv_sp_ctrl_api::SpCtrl; use ringbuf::*; use sha3::{Digest, Sha3_256}; use userlib::*;