Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

speakup: Fix building as extmod

spk_priv_keyinfo.h should be opened from the speakup directory. When
building as extmod we should thus open it from the module directory
rather than the main Linux source.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Link: https://lore.kernel.org/r/20221118012206.j6hq6b6nfx2jhqg6@begin
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Samuel Thibault and committed by
Greg Kroah-Hartman
e68a558f 27158c72

+8 -3
+3 -1
drivers/accessibility/speakup/Makefile
··· 40 40 makemapdata-objs := makemapdata.o 41 41 42 42 quiet_cmd_mkmap = MKMAP $@ 43 - cmd_mkmap = TOPDIR=$(srctree) $(obj)/makemapdata > $@ 43 + cmd_mkmap = TOPDIR=$(srctree) \ 44 + SPKDIR=$(if $(KBUILD_EXTMOD),$(KBUILD_EXTMOD),$(srctree)/drivers/accessibility/speakup) \ 45 + $(obj)/makemapdata > $@ 44 46 45 47 $(obj)/mapdata.h: $(obj)/makemapdata 46 48 $(call cmd,mkmap)
+5 -2
drivers/accessibility/speakup/makemapdata.c
··· 51 51 { 52 52 int value, i; 53 53 struct st_key *this; 54 - const char *dir_name; 54 + const char *dir_name, *spk_dir_name; 55 55 char *cp; 56 56 57 57 dir_name = getenv("TOPDIR"); 58 58 if (!dir_name) 59 59 dir_name = "."; 60 + spk_dir_name = getenv("SPKDIR"); 61 + if (!spk_dir_name) 62 + spk_dir_name = "drivers/accessibility/speakup"; 60 63 bzero(key_table, sizeof(key_table)); 61 64 add_key("shift", 1, is_shift); 62 65 add_key("altgr", 2, is_shift); ··· 86 83 add_key(def_name, value, is_input); 87 84 } 88 85 89 - open_input(dir_name, "drivers/accessibility/speakup/spk_priv_keyinfo.h"); 86 + open_input(spk_dir_name, "spk_priv_keyinfo.h"); 90 87 while (get_define()) { 91 88 if (strlen(def_val) > 5) { 92 89 //if (def_val[0] == '(')