diff --git a/smartmontools/ChangeLog b/smartmontools/ChangeLog
index a63700a89f503d3a20d7d40e1664161275b6dd41..6c8f524b64b071270c31cc53b482f9b8f53b68f5 100644
--- a/smartmontools/ChangeLog
+++ b/smartmontools/ChangeLog
@@ -1,5 +1,9 @@
 $Id$
 
+2022-07-16  Douglas Gilbert  <dgilbert@interlog.com>
+
+	some spelling fixes with the help of the codespell utility
+
 2022-06-24  Douglas Gilbert  <dgilbert@interlog.com>
 
 	drivedb.h:
diff --git a/smartmontools/os_linux.cpp b/smartmontools/os_linux.cpp
index b0b95e51d09983c66f889cd1dfa72354cf13e1fc..9dac4e60f69d4ddeebff0117dd6ce28c0bf22b1c 100644
--- a/smartmontools/os_linux.cpp
+++ b/smartmontools/os_linux.cpp
@@ -481,7 +481,7 @@ int linux_ata_device::ata_command_interface(smart_command_set command, int selec
  * the SCSI_IOCTL_SEND_COMMAND ioctl is still present but deprecated sending
  * a warning to the log the first time (after power up) it is used. The SG_IO
  * Version 3 interface is the most widely used (circa lk 5.17 in 2022) and is
- * available on the primary block devive name (e.g. /dev/sdc) for all SCSI
+ * available on the primary block device name (e.g. /dev/sdc) for all SCSI
  * disks (and tapes) including all USB attached storage and all ATA/SATA
  * storage. */
 
@@ -869,7 +869,7 @@ bool linux_aacraid_device::open()
   char dev_name[128];
   snprintf(dev_name, sizeof(dev_name), "/dev/aac%d", aHost);
 
-  //Initial open of dev name to check if it exsists
+  //Initial open of dev name to check if it exists
   int afd = ::open(dev_name,O_RDWR);
 
   if(afd < 0 && errno == ENOENT) {
diff --git a/smartmontools/scsiata.cpp b/smartmontools/scsiata.cpp
index d208deaa05276577cdc856f477a5b3eed4903a7f..7074466283e04c15b0a5c6401773b797a2e0d4a2 100644
--- a/smartmontools/scsiata.cpp
+++ b/smartmontools/scsiata.cpp
@@ -596,7 +596,7 @@ static int sg_scsi_normalize_sense(const unsigned char * sensep, int sb_len,
 
 namespace sat {
 
-/// Cypress USB Brigde support.
+/// Cypress USB Bridge support.
 
 class usbcypress_device
 : public tunnelled_device<
diff --git a/smartmontools/scsicmds.cpp b/smartmontools/scsicmds.cpp
index 306336a5171927195fdd07232656b0dc47c70ec4..e17d698b310d7bbeb7bb27006bb9cfeeac5c4086 100644
--- a/smartmontools/scsicmds.cpp
+++ b/smartmontools/scsicmds.cpp
@@ -259,7 +259,7 @@ static struct scsi_opcode_name opcode_name_arr[] = {
     {REPORT_LUNS, false, 0, "report luns"},               /* 0xa0 */
     {SAT_ATA_PASSTHROUGH_12, false, 0, "ata pass-through(12)"}, /* 0xa1 */
     {MAINTENANCE_IN_12, true, MI_REP_SUP_OPCODES,
-        "report suported operation codes"},               /* 0xa3,0xc */
+        "report supported operation codes"},              /* 0xa3,0xc */
     {READ_DEFECT_12, false, 0, "read defect list(12)"},   /* 0xb7 */
 };
 
diff --git a/smartmontools/utility.cpp b/smartmontools/utility.cpp
index 1e2e4c96cbc5a7d51f29ec967298aff4dec83f1f..e0e5fa1647494fdd0aae2a42f1564803f123bdcd 100644
--- a/smartmontools/utility.cpp
+++ b/smartmontools/utility.cpp
@@ -394,7 +394,7 @@ void syserror(const char *message){
     const char *errormessage=strerror(errno);
     
     // Check that caller has handed a sensible string, and provide
-    // appropriate output. See perrror(3) man page to understand better.
+    // appropriate output. See perror(3) man page to understand better.
     if (message && *message)
       pout("%s: %s\n",message, errormessage);
     else