[tobetter:odroid-5.15.y 48/75] drivers/power/reset/odroid-reboot.c:63:6: error: no previous prototype for 'odroid_card_reset'

From: kernel test robot
Date: Wed Nov 03 2021 - 22:16:39 EST


tree: https://github.com/tobetter/linux odroid-5.15.y
head: 49f1393b8740941fa5176620b302f25ab5f786dc
commit: 6932eadd168304b517e2b2eeaaf8cad510004acc [48/75] ODROID-COMMON: power:reset: Add odroid support
config: arm-allyesconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/tobetter/linux/commit/6932eadd168304b517e2b2eeaaf8cad510004acc
git remote add tobetter https://github.com/tobetter/linux
git fetch --no-tags tobetter odroid-5.15.y
git checkout 6932eadd168304b517e2b2eeaaf8cad510004acc
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=arm

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

>> drivers/power/reset/odroid-reboot.c:63:6: error: no previous prototype for 'odroid_card_reset' [-Werror=missing-prototypes]
63 | void odroid_card_reset(void)
| ^~~~~~~~~~~~~~~~~
drivers/power/reset/odroid-reboot.c: In function 'odroid_restart_probe':
>> drivers/power/reset/odroid-reboot.c:141:17: error: 'arm_pm_restart' undeclared (first use in this function); did you mean 'alarm_restart'?
141 | arm_pm_restart = do_odroid_restart;
| ^~~~~~~~~~~~~~
| alarm_restart
drivers/power/reset/odroid-reboot.c:141:17: note: each undeclared identifier is reported only once for each function it appears in
cc1: all warnings being treated as errors


vim +/odroid_card_reset +63 drivers/power/reset/odroid-reboot.c

62
> 63 void odroid_card_reset(void)
64 {
65 int ret = 0;
66
67 if ((sd_vqsw == 0) && (sd_vmmc == 0))
68 return;
69
70 if (sd_vqen == 0) {
71 gpio_free(sd_vqsw);
72 gpio_free(sd_vmmc);
73 ret = gpio_request_one(sd_vqsw,
74 GPIOF_OUT_INIT_LOW, "REBOOT");
75 CHECK_RET(ret);
76 mdelay(10);
77 ret = gpio_direction_output(sd_vqsw, 1);
78 CHECK_RET(ret);
79 ret = gpio_request_one(sd_vmmc,
80 GPIOF_OUT_INIT_LOW, "REBOOT");
81 CHECK_RET(ret);
82 mdelay(10);
83 ret = gpio_direction_output(sd_vqsw, 0);
84 CHECK_RET(ret);
85 ret = gpio_direction_output(sd_vmmc, 1);
86 CHECK_RET(ret);
87 mdelay(5);
88 gpio_free(sd_vqsw);
89 gpio_free(sd_vmmc);
90 } else {
91 gpio_free(sd_vqsw);
92 gpio_free(sd_vqen);
93 gpio_free(sd_vmmc);
94
95 ret = gpio_request_one(sd_vqsw,
96 GPIOF_OUT_INIT_LOW, "REBOOT");
97 CHECK_RET(ret);
98 ret = gpio_request_one(sd_vqen,
99 GPIOF_OUT_INIT_LOW, "REBOOT");
100 CHECK_RET(ret);
101 ret = gpio_request_one(sd_vmmc,
102 GPIOF_OUT_INIT_LOW, "REBOOT");
103 CHECK_RET(ret);
104 mdelay(100);
105 ret = gpio_direction_input(sd_vqen);
106 CHECK_RET(ret);
107 ret = gpio_direction_input(sd_vmmc);
108 CHECK_RET(ret);
109 ret = gpio_direction_input(sd_vqsw);
110 CHECK_RET(ret);
111 mdelay(5);
112 gpio_free(sd_vqen);
113 gpio_free(sd_vmmc);
114 gpio_free(sd_vqsw);
115 }
116 }
117
118 static void do_odroid_restart(enum reboot_mode reboot_mode, const char *cmd)
119 {
120 odroid_card_reset();
121 __invoke_psci_fn_smc(psci_function_id_restart,
122 0, 0, 0);
123 }
124
125 static void do_odroid_poweroff(void)
126 {
127 odroid_card_reset();
128
129 __invoke_psci_fn_smc(0x82000042, 1, 0, 0);
130 __invoke_psci_fn_smc(psci_function_id_poweroff,
131 0, 0, 0);
132 }
133
134 static int odroid_restart_probe(struct platform_device *pdev)
135 {
136 struct device_node *of_node;
137 u32 id;
138
139 if (!of_property_read_u32(pdev->dev.of_node, "sys_reset", &id)) {
140 psci_function_id_restart = id;
> 141 arm_pm_restart = do_odroid_restart;
142 }
143
144 if (!of_property_read_u32(pdev->dev.of_node, "sys_poweroff", &id)) {
145 psci_function_id_poweroff = id;
146 pm_power_off = do_odroid_poweroff;
147 }
148
149 of_node = pdev->dev.of_node;
150
151 sd_vqsw = of_get_named_gpio(of_node, "sd-vqsw", 0);
152 if (!gpio_is_valid(sd_vqsw)) sd_vqsw = 0;
153
154 sd_vmmc = of_get_named_gpio(of_node, "sd-vmmc", 0);
155 if (!gpio_is_valid(sd_vmmc)) sd_vmmc = 0;
156
157 sd_vqen = of_get_named_gpio(of_node, "sd-vqen", 0);
158 if (!gpio_is_valid(sd_vqen)) sd_vqen = 0;
159
160 return 0;
161 }
162

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip