diff --git a/cli_classic.c b/cli_classic.c
index dd070c5..14fb825 100644
--- a/cli_classic.c
+++ b/cli_classic.c
@@ -532,7 +532,7 @@
 	free(layoutfile);
 	free(pparam);
 	/* clean up global variables */
-	free(chip_to_probe);
+	free((char *)chip_to_probe); /* Silence! Freeing is not modifying contents. */
 	chip_to_probe = NULL;
 #ifndef STANDALONE
 	ret |= close_logfile();
diff --git a/flash.h b/flash.h
index 76c6942..3149b4f 100644
--- a/flash.h
+++ b/flash.h
@@ -222,7 +222,7 @@
 extern int verbose_screen;
 extern int verbose_logfile;
 extern const char flashrom_version[];
-extern char *chip_to_probe;
+extern const char *chip_to_probe;
 void map_flash_registers(struct flashctx *flash);
 int read_memmapped(struct flashctx *flash, uint8_t *buf, unsigned int start, unsigned int len);
 int erase_flash(struct flashctx *flash);
@@ -231,7 +231,7 @@
 int min(int a, int b);
 int max(int a, int b);
 void tolower_string(char *str);
-char *extract_param(char **haystack, const char *needle, const char *delim);
+char *extract_param(const char *const *haystack, const char *needle, const char *delim);
 int verify_range(struct flashctx *flash, uint8_t *cmpbuf, unsigned int start, unsigned int len);
 int need_erase(uint8_t *have, uint8_t *want, unsigned int len, enum write_granularity gran);
 char *strcat_realloc(char *dest, const char *src);
diff --git a/flashrom.c b/flashrom.c
index 6f7d680..fd438bb 100644
--- a/flashrom.c
+++ b/flashrom.c
@@ -40,13 +40,13 @@
 #include "hwaccess.h"
 
 const char flashrom_version[] = FLASHROM_VERSION;
-char *chip_to_probe = NULL;
+const char *chip_to_probe = NULL;
 int verbose_screen = MSG_INFO;
 int verbose_logfile = MSG_DEBUG2;
 
 static enum programmer programmer = PROGRAMMER_INVALID;
 
-static char *programmer_param = NULL;
+static const char *programmer_param = NULL;
 
 /*
  * Programmers supporting multiple buses can have differing size limits on
@@ -351,7 +351,7 @@
 	return 0;
 }
 
-int programmer_init(enum programmer prog, char *param)
+int programmer_init(enum programmer prog, const char *param)
 {
 	int ret;
 
@@ -517,7 +517,7 @@
  * needle and remove everything from the first occurrence of needle to the next
  * delimiter from haystack.
  */
-char *extract_param(char **haystack, const char *needle, const char *delim)
+char *extract_param(const char *const *haystack, const char *needle, const char *delim)
 {
 	char *param_pos, *opt_pos, *rest;
 	char *opt = NULL;
diff --git a/programmer.h b/programmer.h
index 1eb0a99..8de42bc 100644
--- a/programmer.h
+++ b/programmer.h
@@ -122,7 +122,7 @@
 
 extern const struct programmer_entry programmer_table[];
 
-int programmer_init(enum programmer prog, char *param);
+int programmer_init(enum programmer prog, const char *param);
 int programmer_shutdown(void);
 
 enum bitbang_spi_master_type {
