Eliminate the use of addr_of and addr_of_mut

addr_of and addr_of_mut is now soft-deprecated, changing to use raw
pointers which was introduced in Rust 1.82. Also fixing clippy warnings.

Signed-off-by: Imre Kis <imre.kis@arm.com>
Change-Id: I3ba72fd6f3239fce6c9735dc2d975210d5359a1d
diff --git a/Cargo.toml b/Cargo.toml
index ccd7d8f..297377e 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -12,7 +12,8 @@
 edition = "2021"
 license = "MIT OR Apache-2.0"
 repository = "https://git.trustedfirmware.org/rust-spmc/rust-spmc.git"
-keywords = ["arm", "sp806", "watchdog", "timer", "driver"]
+keywords = ["arm", "sp805", "watchdog", "timer", "driver"]
+rust-version = "1.82"
 
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
diff --git a/src/lib.rs b/src/lib.rs
index a5cbea0..da2994d 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2023-2024 Arm Limited and/or its affiliates <open-source-office@arm.com>
+// SPDX-FileCopyrightText: Copyright 2023-2025 Arm Limited and/or its affiliates <open-source-office@arm.com>
 // SPDX-License-Identifier: MIT OR Apache-2.0
 
 //! Arm Watchdog Module (SP805) driver
@@ -7,10 +7,7 @@
 
 #![no_std]
 
-use core::{
-    ops::{Deref, DerefMut},
-    ptr::addr_of_mut,
-};
+use core::ops::{Deref, DerefMut};
 
 use bitflags::bitflags;
 
@@ -82,13 +79,13 @@
     pub fn new(regs: &'a mut R) -> Self {
         // SAFETY: regs can be dereferenced as a valid SP805 register block
         unsafe {
-            addr_of_mut!(regs.wdog_lock).write_volatile(Self::UNLOCK);
+            (&raw mut regs.wdog_lock).write_volatile(Self::UNLOCK);
         }
         Self { regs }
     }
 }
 
-impl<'a, R> Deref for WatchdogUnlockGuard<'a, R>
+impl<R> Deref for WatchdogUnlockGuard<'_, R>
 where
     R: DerefMut<Target = SP805Registers>,
 {
@@ -99,7 +96,7 @@
     }
 }
 
-impl<'a, R> DerefMut for WatchdogUnlockGuard<'a, R>
+impl<R> DerefMut for WatchdogUnlockGuard<'_, R>
 where
     R: DerefMut<Target = SP805Registers>,
 {
@@ -108,14 +105,14 @@
     }
 }
 
-impl<'a, R> Drop for WatchdogUnlockGuard<'a, R>
+impl<R> Drop for WatchdogUnlockGuard<'_, R>
 where
     R: DerefMut<Target = SP805Registers>,
 {
     fn drop(&mut self) {
         // SAFETY: self.regs can be dereferenced as a valid SP805 register block
         unsafe {
-            addr_of_mut!(self.regs.wdog_lock).write_volatile(Self::LOCK);
+            (&raw mut self.regs.wdog_lock).write_volatile(Self::LOCK);
         }
     }
 }
@@ -145,9 +142,9 @@
 
         // SAFETY: self.regs can be dereferenced as a valid SP805 register block
         unsafe {
-            addr_of_mut!(regs.wdog_load).write_volatile(load_value);
-            addr_of_mut!(regs.wdog_intclr).write_volatile(1);
-            addr_of_mut!(regs.wdog_control)
+            (&raw mut regs.wdog_load).write_volatile(load_value);
+            (&raw mut regs.wdog_intclr).write_volatile(1);
+            (&raw mut regs.wdog_control)
                 .write_volatile((ControlRegister::INTEN | ControlRegister::RESEN).bits());
         }
     }
@@ -156,8 +153,7 @@
     pub fn disable(&mut self) {
         // SAFETY: self.regs can be dereferenced as a valid SP805 register block
         unsafe {
-            addr_of_mut!(self.unlock().wdog_control)
-                .write_volatile(ControlRegister::empty().bits());
+            (&raw mut self.unlock().wdog_control).write_volatile(ControlRegister::empty().bits());
         }
     }
 
@@ -167,7 +163,7 @@
 
         // SAFETY: self.regs can be dereferenced as a valid SP805 register block
         unsafe {
-            addr_of_mut!(self.unlock().wdog_load).write_volatile(load_value);
+            (&raw mut self.unlock().wdog_load).write_volatile(load_value);
         }
     }