diff --git a/common/action.h b/common/action.h
index 98c4ef81..8f1f5b79 100644
--- a/common/action.h
+++ b/common/action.h
@@ -50,7 +50,7 @@ void action_exec(keyevent_t event);
action_t action_for_key(uint8_t layer, key_t key);
/* macro */
-const prog_macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt);
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt);
/* user defined special function */
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt);
diff --git a/common/action_macro.c b/common/action_macro.c
index 71d1506f..29cfd23d 100644
--- a/common/action_macro.c
+++ b/common/action_macro.c
@@ -28,7 +28,7 @@ along with this program. If not, see .
#ifndef NO_ACTION_MACRO
#define MACRO_READ() (macro = pgm_read_byte(macro_p++))
-void action_macro_play(const prog_macro_t *macro_p)
+void action_macro_play(const macro_t *macro_p)
{
macro_t macro = END;
uint8_t interval = 0;
diff --git a/common/action_macro.h b/common/action_macro.h
index ee5c7c42..eea8ef57 100644
--- a/common/action_macro.h
+++ b/common/action_macro.h
@@ -21,15 +21,14 @@ along with this program. If not, see .
#define MACRO_NONE 0
-#define MACRO(...) ({ static prog_macro_t _m[] PROGMEM = { __VA_ARGS__ }; _m; })
+#define MACRO(...) ({ static const macro_t __m[] PROGMEM = { __VA_ARGS__ }; &__m[0]; })
typedef uint8_t macro_t;
-typedef macro_t prog_macro_t PROGMEM;
#ifndef NO_ACTION_MACRO
-void action_macro_play(const prog_macro_t *macro);
+void action_macro_play(const macro_t *macro_p);
#else
#define action_macro_play(macro)
#endif
diff --git a/common/keymap.c b/common/keymap.c
index 8e2b8607..cf4711bf 100644
--- a/common/keymap.c
+++ b/common/keymap.c
@@ -106,7 +106,7 @@ action_t action_for_key(uint8_t layer, key_t key)
/* Macro */
__attribute__ ((weak))
-const prog_macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
return MACRO_NONE;
}
diff --git a/common/xprintf.S b/common/xprintf.S
index b5a97b20..0cec70ce 100644
--- a/common/xprintf.S
+++ b/common/xprintf.S
@@ -80,7 +80,7 @@ xputc:
;---------------------------------------------------------------------------
; Direct ROM string output
;
-;Prototype: void xputs (const prog_char *str // rom string to be output
+;Prototype: void xputs (const char *str_p // rom string to be output
; );
.func xputs
@@ -179,9 +179,9 @@ xitoa:
; Formatted string output (16/32bit version)
;
;Prototype:
-; void xprintf (const prog_char *format, ...);
-; void xsprintf(char*, const prog_char *format, ...);
-; void xfprintf(void(*func)(char), const prog_char *format, ...);
+; void __xprintf (const char *format_p, ...);
+; void __xsprintf(char*, const char *format_p, ...);
+; void __xfprintf(void(*func)(char), const char *format_p, ...);
;
#if USE_XPRINTF
diff --git a/common/xprintf.h b/common/xprintf.h
index cddec994..f58bca81 100644
--- a/common/xprintf.h
+++ b/common/xprintf.h
@@ -23,7 +23,7 @@ void xputc(char chr);
/*-----------------------------------------------------------------------------*/
-void xputs(const prog_char *string);
+void xputs(const char *string_p);
/* The string placed in the ROM is forwarded to xputc() directly.
*/
@@ -51,9 +51,9 @@ void xitoa(long value, char radix, char width);
#define xsprintf(str, format, ...) __xsprintf(str, PSTR(format), ##__VA_ARGS__)
#define xfprintf(func, format, ...) __xfprintf(func, PSTR(format), ##__VA_ARGS__)
-void __xprintf(const prog_char *format, ...); /* Send formatted string to the registered device */
-void __xsprintf(char*, const prog_char *format, ...); /* Put formatted string to the memory */
-void __xfprintf(void(*func)(uint8_t), const prog_char *format, ...); /* Send formatted string to the specified device */
+void __xprintf(const char *format_p, ...); /* Send formatted string to the registered device */
+void __xsprintf(char*, const char *format_p, ...); /* Put formatted string to the memory */
+void __xfprintf(void(*func)(uint8_t), const char *format_p, ...); /* Send formatted string to the specified device */
/* Format string is placed in the ROM. The format flags is similar to printf().
diff --git a/converter/pc98_usb/keymap.c b/converter/pc98_usb/keymap.c
index 3ab0a4db..7420e24a 100644
--- a/converter/pc98_usb/keymap.c
+++ b/converter/pc98_usb/keymap.c
@@ -125,7 +125,7 @@ enum macro_id {
DUMMY,
};
-const prog_macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
keyevent_t event = record->event;
//uint8_t tap_count = record->tap_count;
diff --git a/keyboard/hhkb/keymap.c b/keyboard/hhkb/keymap.c
index eb66b9dc..265fb872 100644
--- a/keyboard/hhkb/keymap.c
+++ b/keyboard/hhkb/keymap.c
@@ -209,7 +209,7 @@ static const uint16_t PROGMEM fn_actions[] = {
/*
* Macro definition
*/
-const prog_macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
keyevent_t event = record->event;
tap_t tap = record->tap;