1 // SPDX-License-Identifier: GPL-2.0
2 
3 #include <dm/uclass.h>
4 #include <net-common.h>
5 #include <linux/time.h>
6 #include <rtc.h>
7 
copy_filename(char * dst,const char * src,int size)8 void copy_filename(char *dst, const char *src, int size)
9 {
10 	if (src && *src && (*src == '"')) {
11 		++src;
12 		--size;
13 	}
14 
15 	while ((--size > 0) && src && *src && (*src != '"'))
16 		*dst++ = *src++;
17 	*dst = '\0';
18 }
19 
20 struct wget_http_info default_wget_info = {
21 	.method = WGET_HTTP_METHOD_GET,
22 	.set_bootdev = true,
23 };
24 
25 struct wget_http_info *wget_info;
26 
wget_request(ulong dst_addr,char * uri,struct wget_http_info * info)27 int wget_request(ulong dst_addr, char *uri, struct wget_http_info *info)
28 {
29 	wget_info = info ? info : &default_wget_info;
30 	return wget_do_request(dst_addr, uri);
31 }
32 
net_sntp_set_rtc(u32 seconds)33 void net_sntp_set_rtc(u32 seconds)
34 {
35 	struct rtc_time tm;
36 	struct udevice *dev;
37 	int ret;
38 
39 	rtc_to_tm(seconds, &tm);
40 
41 	ret = uclass_get_device(UCLASS_RTC, 0, &dev);
42 	if (ret)
43 		printf("SNTP: cannot find RTC: err=%d\n", ret);
44 	else
45 		dm_rtc_set(dev, &tm);
46 
47 	printf("Date: %4d-%02d-%02d Time: %2d:%02d:%02d\n",
48 	       tm.tm_year, tm.tm_mon, tm.tm_mday,
49 	       tm.tm_hour, tm.tm_min, tm.tm_sec);
50 }
51