From 72bddbc271ad7707e270279039c413ae583d4d43 Mon Sep 17 00:00:00 2001
From: ParkHyeonJin <qokkop@ajou.ac.kr>
Date: Wed, 24 Jun 2020 21:20:04 +0100
Subject: [PATCH] Status

---
 Status/.goutputstream-D9ZJM0                 |  67 ++
 Status/app                                   | Bin 0 -> 13576 bytes
 Status/app.c                                 | 218 ++++++
 Status/buzzerdriver/.buzzer.ko.cmd           |   1 +
 Status/buzzerdriver/.buzzer.mod.o.cmd        | 499 +++++++++++++
 Status/buzzerdriver/.buzzer.o.cmd            | 720 +++++++++++++++++++
 Status/buzzerdriver/.tmp_versions/buzzer.mod |   3 +
 Status/buzzerdriver/Makefile                 |  12 +
 Status/buzzerdriver/Module.symvers           |   0
 Status/buzzerdriver/app                      | Bin 0 -> 8256 bytes
 Status/buzzerdriver/app.c                    |  40 ++
 Status/buzzerdriver/buzzer                   | Bin 0 -> 8668 bytes
 Status/buzzerdriver/buzzer.c                 | 100 +++
 Status/buzzerdriver/buzzer.ko                | Bin 0 -> 7772 bytes
 Status/buzzerdriver/buzzer.mod.c             |  50 ++
 Status/buzzerdriver/buzzer.mod.o             | Bin 0 -> 3096 bytes
 Status/buzzerdriver/buzzer.o                 | Bin 0 -> 6840 bytes
 Status/buzzerdriver/chat                     | Bin 0 -> 13084 bytes
 Status/buzzerdriver/modules.order            |   1 +
 Status/buzzerdriver/script.sh                |   6 +
 Status/lcdapp.c                              | 120 ++++
 Status/lcdapp.h                              |  29 +
 Status/lcddriver/.lcddriver.ko.cmd           |   1 +
 Status/lcddriver/.lcddriver.mod.o.cmd        | 499 +++++++++++++
 Status/lcddriver/.lcddriver.o.cmd            | 720 +++++++++++++++++++
 Status/lcddriver/.tmp_versions/lcddriver.mod |   3 +
 Status/lcddriver/Makefile                    |  12 +
 Status/lcddriver/Module.symvers              |   0
 Status/lcddriver/lcddriver.c                 | 149 ++++
 Status/lcddriver/lcddriver.ko                | Bin 0 -> 7308 bytes
 Status/lcddriver/lcddriver.mod.c             |  47 ++
 Status/lcddriver/lcddriver.mod.o             | Bin 0 -> 2908 bytes
 Status/lcddriver/lcddriver.o                 | Bin 0 -> 6388 bytes
 Status/lcddriver/modules.order               |   1 +
 Status/lcddriver/script.sh                   |   4 +
 35 files changed, 3302 insertions(+)
 create mode 100644 Status/.goutputstream-D9ZJM0
 create mode 100755 Status/app
 create mode 100644 Status/app.c
 create mode 100644 Status/buzzerdriver/.buzzer.ko.cmd
 create mode 100644 Status/buzzerdriver/.buzzer.mod.o.cmd
 create mode 100644 Status/buzzerdriver/.buzzer.o.cmd
 create mode 100644 Status/buzzerdriver/.tmp_versions/buzzer.mod
 create mode 100755 Status/buzzerdriver/Makefile
 create mode 100644 Status/buzzerdriver/Module.symvers
 create mode 100755 Status/buzzerdriver/app
 create mode 100755 Status/buzzerdriver/app.c
 create mode 100755 Status/buzzerdriver/buzzer
 create mode 100644 Status/buzzerdriver/buzzer.c
 create mode 100644 Status/buzzerdriver/buzzer.ko
 create mode 100644 Status/buzzerdriver/buzzer.mod.c
 create mode 100644 Status/buzzerdriver/buzzer.mod.o
 create mode 100644 Status/buzzerdriver/buzzer.o
 create mode 100755 Status/buzzerdriver/chat
 create mode 100644 Status/buzzerdriver/modules.order
 create mode 100755 Status/buzzerdriver/script.sh
 create mode 100644 Status/lcdapp.c
 create mode 100644 Status/lcdapp.h
 create mode 100644 Status/lcddriver/.lcddriver.ko.cmd
 create mode 100644 Status/lcddriver/.lcddriver.mod.o.cmd
 create mode 100644 Status/lcddriver/.lcddriver.o.cmd
 create mode 100644 Status/lcddriver/.tmp_versions/lcddriver.mod
 create mode 100755 Status/lcddriver/Makefile
 create mode 100644 Status/lcddriver/Module.symvers
 create mode 100644 Status/lcddriver/lcddriver.c
 create mode 100644 Status/lcddriver/lcddriver.ko
 create mode 100644 Status/lcddriver/lcddriver.mod.c
 create mode 100644 Status/lcddriver/lcddriver.mod.o
 create mode 100644 Status/lcddriver/lcddriver.o
 create mode 100644 Status/lcddriver/modules.order
 create mode 100755 Status/lcddriver/script.sh

diff --git a/Status/.goutputstream-D9ZJM0 b/Status/.goutputstream-D9ZJM0
new file mode 100644
index 0000000..0383510
--- /dev/null
+++ b/Status/.goutputstream-D9ZJM0
@@ -0,0 +1,67 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <string.h>
+#include <fcntl.h>
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/ioctl.h>
+#include <sys/sysmacros.h>
+#include "lcdapp.h"
+
+#define I2C_BUS		"/dev/lcd" 	// lcd driver 
+
+#define LCD_RS		0 // LCD RS : 0 = command, 1 = data
+#define LCD_RW		1 // LCD R/W : 0 = write, 1 = read
+#define LCD_EN		2 // LCD EN : 0 = disable, 1 = enable
+#define LCD_BL 		3 // LCD BL : 0 = backlight off, 1 = backlight on
+
+#define LCD_MAJOR_NUMBER 509
+#define LCD_MINOR_NUMBER 0
+#define I2C_SLAVE	0x3F214008
+#define TEMP_MAJOR_NUMBER 502
+#define TEMP_MINOR_NUMBER 102
+#define TEMP_DEV_PATH_NAME "/dev/temp"
+
+
+
+void main() { 
+	//i2c_start(); 
+	int i2cFile;
+	int fd;
+	dev_t lcd_dev;
+	dev_t temp_dev;
+    
+   
+	lcd_dev = makedev(LCD_MAJOR_NUMBER, LCD_MINOR_NUMBER);
+	mknod(I2C_BUS, S_IFCHR|0666, lcd_dev);
+	temp_dev = makedev(TEMP_MAJOR_NUMBER, TEMP_MINOR_NUMBER);
+    mknod(TEMP_DEV_PATH_NAME, S_IFCHR|0666, temp_dev);
+    
+    i2cFile = open(I2C_BUS, O_RDWR);
+    fd = open(TEMP_DEV_PATH_NAME, O_RDWR);
+	if(i2cFile < 0) {
+		printf("fail to open lcd.\n");
+		return;
+	}
+    if(fd< 0){
+       printf("fail to open temp\n");
+       return;
+    }
+    
+    int dht11_dat[5] = {0, };
+    read(fd, &dht11_dat, sizeof(dht11_dat));
+    printf("humidity = %d.%d %% Temperature = %d.%d *C \n", dht11_dat[0], dht11_dat[1], dht11_dat[2], dht11_dat[3]) ;
+    
+	
+	
+    
+   
+    
+   
+    
+    close(fd);
+
+}
diff --git a/Status/app b/Status/app
new file mode 100755
index 0000000000000000000000000000000000000000..ed82d1e737f2053bc594a7f69fe11e94228c2a5f
GIT binary patch
literal 13576
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
L50irI1IYmZ+jk4Q

literal 0
HcmV?d00001

diff --git a/Status/app.c b/Status/app.c
new file mode 100644
index 0000000..7bb97a8
--- /dev/null
+++ b/Status/app.c
@@ -0,0 +1,218 @@
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <signal.h>
+
+
+#include <fcntl.h>
+#include <string.h>
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/ioctl.h>
+#include <sys/sysmacros.h>
+#include "lcdapp.h"
+
+#define I2C_BUS					"/dev/lcd" 	// lcd driver 
+#define BUZZER_DEV_PATH_NAME 	"/dev/buzzer" // buzzer driver
+
+
+#define BUZZER_MAJOR_NUMBER 502
+#define BUZZER_MINOR_NUMBER 0
+#define LCD_MAJOR_NUMBER 509
+#define LCD_MINOR_NUMBER 0
+
+
+#define PORT    65021 
+ 
+#define BUFFER_SIZE 4096
+#define BUFF_SIZE 100 
+
+# define LISTEN_QUEUE_SIZE 5
+ 
+void childHandler(int signal)
+{
+    
+    int status;
+    pid_t spid;
+ 
+    while((spid = waitpid(-1, &status, WNOHANG)) > 0)
+    {
+        printf("================================\n");
+        printf("PID         : %d\n", spid);
+        printf("Exit Value  : %d\n", WEXITSTATUS(status));
+        printf("Exit Stat   : %d\n", WIFEXITED(status));
+    }
+}
+ 
+void main() {
+    
+ 
+    signal(SIGCHLD, (void *)childHandler);    
+ 
+    struct sockaddr_in listenSocket;
+ 
+    memset(&listenSocket, 0, sizeof(listenSocket));
+ 
+    listenSocket.sin_family = AF_INET;
+    listenSocket.sin_addr.s_addr = htonl(INADDR_ANY);
+    listenSocket.sin_port = htons(PORT);
+ 
+    int listenFD = socket(AF_INET, SOCK_STREAM, 0);
+    int connectFD;
+ 
+    ssize_t receivedBytes;
+    char readBuff[BUFFER_SIZE];
+    char sendBuff[BUFFER_SIZE];
+    pid_t pid;
+    
+    int lcd;
+	int fd;
+	int buzzer;
+	
+	dev_t lcd_dev;
+	dev_t temp_dev;
+    dev_t buzzer_dev;
+    
+
+    buzzer_dev = makedev(BUZZER_MAJOR_NUMBER, BUZZER_MINOR_NUMBER);
+    mknod(BUZZER_DEV_PATH_NAME, S_IFCHR|0666, buzzer_dev);
+	
+    buzzer = open("/dev/buzzer", O_RDWR);
+
+    if(buzzer < 0)
+    {
+        printf("fail to open buzzer\n");
+        printf("%d\n",fd);
+        return;
+    }
+   
+	lcd_dev = makedev(LCD_MAJOR_NUMBER, LCD_MINOR_NUMBER);
+	mknod(I2C_BUS, S_IFCHR|0666, lcd_dev);
+    
+    lcd = open(I2C_BUS, O_RDWR);
+	if(lcd < 0) {
+		printf("fail to open lcd.\n");
+		return;
+	}
+    
+ 
+ 
+    if (bind(listenFD, (struct sockaddr *) &listenSocket, sizeof(listenSocket)) == -1) {
+        printf("Can not bind.\n");
+        return;
+    }
+ 
+    if (listen(listenFD, LISTEN_QUEUE_SIZE) == -1) {
+        printf("Listen fail.\n");
+        return;
+    }
+ 
+    printf("Waiting for clients...\n");
+    lcd_display_init(lcd);
+    lcd_clear(lcd);
+	
+	char line1[16]="T:0'C, H:0%";
+	char line2_s[8]="S:0%";
+	char line2_g[8]="G:0";
+	int isinit = 0;
+    while (1) 
+    {
+        struct sockaddr_in connectSocket, peerSocket;
+        socklen_t connectSocketLength = sizeof(connectSocket);
+        while((connectFD = accept(listenFD, (struct sockaddr*)&connectSocket, (socklen_t *)&connectSocketLength)) >= 0)
+        {
+            getpeername(connectFD, (struct sockaddr*)&peerSocket, &connectSocketLength);
+            char peerName[sizeof(peerSocket.sin_addr) + 1] = { 0 };
+            sprintf(peerName, "%s", inet_ntoa(peerSocket.sin_addr));
+ 
+            if(strcmp(peerName,"0.0.0.0") != 0)
+                printf("Client : %s\n", peerName);
+        
+ 
+            if (connectFD < 0)
+            {
+                printf("Server: accept failed\n");
+                exit(0);
+            }
+            
+            pid = fork();
+ 
+            if(pid == 0) // child
+            {    
+                close(listenFD);
+                ssize_t receivedBytes;
+                int coun = 0;
+                while((receivedBytes = read(connectFD, readBuff, BUFF_SIZE)) > 0)
+                {                
+					coun++;
+                    readBuff[receivedBytes] = '\0';
+                    fputs(readBuff, stdout);
+                    fflush(stdout);
+					
+                    sprintf(sendBuff,"%s\n",readBuff);
+                    char temp[16];
+                    for(int i=0;i<receivedBytes;i++){
+						temp[i]=sendBuff[i];
+					}
+                    switch(temp[0]){
+						case 'T':
+							while(isinit==1);
+							strcpy(line1,temp);
+							lcd_print(line1,0,0,lcd);
+							break;
+						case 'S':
+							while(isinit==1);
+							strcpy(line2_s,temp);
+							lcd_print(line2_s,1,0,lcd);
+							break;
+						case 'G':
+							while(isinit==1);
+							strcpy(line2_g,temp);
+							lcd_print(line2_g,1,8,lcd);
+							break;
+						case 'F':
+							isinit=1;
+							lcd_clear(lcd);
+							lcd_print("Fire!!!!",0,0,lcd);	
+							
+							sleep(1);	
+							lcd_display_init(lcd);
+							lcd_clear(lcd);
+							
+							isinit=0;
+							int dist = 100;
+							write(buzzer,&dist,4);
+							break;
+					}	
+					if(temp[0]=='F') {
+						write(connectFD, "F", strlen("F"));
+					}
+					else{
+						temp[receivedBytes]='\0';
+						write(connectFD, temp, strlen(temp));
+					}
+					
+					if(coun%10==0) lcd_clear(lcd);
+                    
+                }
+                close(connectFD); 
+                return; 
+            }
+ 
+            else
+                close(connectFD);
+        }
+        
+    }
+    close(listenFD);
+ 
+    return;
+}
+    
+
+
diff --git a/Status/buzzerdriver/.buzzer.ko.cmd b/Status/buzzerdriver/.buzzer.ko.cmd
new file mode 100644
index 0000000..d6c8e0a
--- /dev/null
+++ b/Status/buzzerdriver/.buzzer.ko.cmd
@@ -0,0 +1 @@
+cmd_/home/pi/Desktop/info_pi/buzzerdriver/buzzer.ko := ld -r  -EL -T ./scripts/module-common.lds -T ./arch/arm/kernel/module.lds  --build-id  -o /home/pi/Desktop/info_pi/buzzerdriver/buzzer.ko /home/pi/Desktop/info_pi/buzzerdriver/buzzer.o /home/pi/Desktop/info_pi/buzzerdriver/buzzer.mod.o ;  true
diff --git a/Status/buzzerdriver/.buzzer.mod.o.cmd b/Status/buzzerdriver/.buzzer.mod.o.cmd
new file mode 100644
index 0000000..3fef516
--- /dev/null
+++ b/Status/buzzerdriver/.buzzer.mod.o.cmd
@@ -0,0 +1,499 @@
+cmd_/home/pi/Desktop/info_pi/buzzerdriver/buzzer.mod.o := gcc -Wp,-MD,/home/pi/Desktop/info_pi/buzzerdriver/.buzzer.mod.o.d  -nostdinc -isystem /usr/lib/gcc/arm-linux-gnueabihf/8/include -I./arch/arm/include -I./arch/arm/include/generated  -I./include -I./arch/arm/include/uapi -I./arch/arm/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -fno-ipa-sra -mabi=aapcs-linux -mfpu=vfp -funwind-tables -marm -Wa,-mno-warn-deprecated -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-int-in-bool-context -O2 --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -Wdeclaration-after-statement -Wno-pointer-sign -Wno-stringop-truncation -fno-strict-overflow -fno-merge-all-constants -fmerge-constants -fno-stack-check -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -fmacro-prefix-map=./= -Wno-packed-not-aligned  -DKBUILD_BASENAME='"buzzer.mod"' -DKBUILD_MODNAME='"buzzer"' -DMODULE  -c -o /home/pi/Desktop/info_pi/buzzerdriver/buzzer.mod.o /home/pi/Desktop/info_pi/buzzerdriver/buzzer.mod.c
+
+source_/home/pi/Desktop/info_pi/buzzerdriver/buzzer.mod.o := /home/pi/Desktop/info_pi/buzzerdriver/buzzer.mod.c
+
+deps_/home/pi/Desktop/info_pi/buzzerdriver/buzzer.mod.o := \
+    $(wildcard include/config/module/unload.h) \
+    $(wildcard include/config/retpoline.h) \
+  include/linux/kconfig.h \
+    $(wildcard include/config/cpu/big/endian.h) \
+    $(wildcard include/config/booger.h) \
+    $(wildcard include/config/foo.h) \
+  include/linux/compiler_types.h \
+    $(wildcard include/config/have/arch/compiler/h.h) \
+    $(wildcard include/config/enable/must/check.h) \
+    $(wildcard include/config/arch/supports/optimized/inlining.h) \
+    $(wildcard include/config/optimize/inlining.h) \
+  include/linux/compiler-gcc.h \
+    $(wildcard include/config/arch/use/builtin/bswap.h) \
+  include/linux/build-salt.h \
+    $(wildcard include/config/build/salt.h) \
+  include/linux/elfnote.h \
+  include/linux/elf.h \
+  arch/arm/include/asm/elf.h \
+    $(wildcard include/config/mmu.h) \
+    $(wildcard include/config/vdso.h) \
+  arch/arm/include/asm/auxvec.h \
+  arch/arm/include/uapi/asm/auxvec.h \
+  arch/arm/include/asm/hwcap.h \
+  arch/arm/include/uapi/asm/hwcap.h \
+  arch/arm/include/asm/vdso_datapage.h \
+  arch/arm/include/asm/page.h \
+    $(wildcard include/config/cpu/copy/v4wt.h) \
+    $(wildcard include/config/cpu/copy/v4wb.h) \
+    $(wildcard include/config/cpu/copy/feroceon.h) \
+    $(wildcard include/config/cpu/copy/fa.h) \
+    $(wildcard include/config/cpu/sa1100.h) \
+    $(wildcard include/config/cpu/xscale.h) \
+    $(wildcard include/config/cpu/xsc3.h) \
+    $(wildcard include/config/cpu/copy/v6.h) \
+    $(wildcard include/config/kuser/helpers.h) \
+    $(wildcard include/config/arm/lpae.h) \
+    $(wildcard include/config/have/arch/pfn/valid.h) \
+  arch/arm/include/asm/glue.h \
+  arch/arm/include/asm/pgtable-2level-types.h \
+  arch/arm/include/uapi/asm/types.h \
+  include/asm-generic/int-ll64.h \
+  include/uapi/asm-generic/int-ll64.h \
+  arch/arm/include/generated/uapi/asm/bitsperlong.h \
+  include/asm-generic/bitsperlong.h \
+    $(wildcard include/config/64bit.h) \
+  include/uapi/asm-generic/bitsperlong.h \
+  arch/arm/include/asm/memory.h \
+    $(wildcard include/config/need/mach/memory/h.h) \
+    $(wildcard include/config/page/offset.h) \
+    $(wildcard include/config/thumb2/kernel.h) \
+    $(wildcard include/config/highmem.h) \
+    $(wildcard include/config/smp.h) \
+    $(wildcard include/config/dram/base.h) \
+    $(wildcard include/config/dram/size.h) \
+    $(wildcard include/config/xip/kernel.h) \
+    $(wildcard include/config/have/tcm.h) \
+    $(wildcard include/config/arm/patch/phys/virt.h) \
+    $(wildcard include/config/phys/offset.h) \
+    $(wildcard include/config/xip/phys/addr.h) \
+    $(wildcard include/config/debug/virtual.h) \
+  include/linux/compiler.h \
+    $(wildcard include/config/trace/branch/profiling.h) \
+    $(wildcard include/config/profile/all/branches.h) \
+    $(wildcard include/config/stack/validation.h) \
+    $(wildcard include/config/kasan.h) \
+  include/linux/compiler_types.h \
+  include/uapi/linux/types.h \
+  include/uapi/linux/posix_types.h \
+  include/linux/stddef.h \
+  include/uapi/linux/stddef.h \
+  arch/arm/include/uapi/asm/posix_types.h \
+  include/uapi/asm-generic/posix_types.h \
+  arch/arm/include/asm/barrier.h \
+    $(wildcard include/config/cpu/32v6k.h) \
+    $(wildcard include/config/cpu/fa526.h) \
+    $(wildcard include/config/arm/heavy/mb.h) \
+    $(wildcard include/config/arm/dma/mem/bufferable.h) \
+    $(wildcard include/config/cpu/spectre.h) \
+  include/asm-generic/barrier.h \
+  include/linux/kasan-checks.h \
+  include/linux/const.h \
+  include/uapi/linux/const.h \
+  include/linux/types.h \
+    $(wildcard include/config/have/uid16.h) \
+    $(wildcard include/config/uid16.h) \
+    $(wildcard include/config/lbdaf.h) \
+    $(wildcard include/config/arch/dma/addr/t/64bit.h) \
+    $(wildcard include/config/phys/addr/t/64bit.h) \
+  include/linux/sizes.h \
+  include/asm-generic/memory_model.h \
+    $(wildcard include/config/flatmem.h) \
+    $(wildcard include/config/discontigmem.h) \
+    $(wildcard include/config/sparsemem/vmemmap.h) \
+    $(wildcard include/config/sparsemem.h) \
+  include/linux/pfn.h \
+  include/asm-generic/getorder.h \
+  include/linux/log2.h \
+    $(wildcard include/config/arch/has/ilog2/u32.h) \
+    $(wildcard include/config/arch/has/ilog2/u64.h) \
+  include/linux/bitops.h \
+  include/linux/bits.h \
+  arch/arm/include/asm/bitops.h \
+  include/linux/irqflags.h \
+    $(wildcard include/config/prove/locking.h) \
+    $(wildcard include/config/trace/irqflags.h) \
+    $(wildcard include/config/irqsoff/tracer.h) \
+    $(wildcard include/config/preempt/tracer.h) \
+    $(wildcard include/config/trace/irqflags/support.h) \
+  include/linux/typecheck.h \
+  arch/arm/include/asm/irqflags.h \
+    $(wildcard include/config/cpu/v7m.h) \
+  arch/arm/include/asm/ptrace.h \
+    $(wildcard include/config/arm/thumb.h) \
+  arch/arm/include/uapi/asm/ptrace.h \
+    $(wildcard include/config/cpu/endian/be8.h) \
+  include/asm-generic/irqflags.h \
+  include/asm-generic/bitops/non-atomic.h \
+  include/asm-generic/bitops/builtin-__fls.h \
+  include/asm-generic/bitops/builtin-__ffs.h \
+  include/asm-generic/bitops/builtin-fls.h \
+  include/asm-generic/bitops/builtin-ffs.h \
+  include/asm-generic/bitops/ffz.h \
+  include/asm-generic/bitops/fls64.h \
+  include/asm-generic/bitops/sched.h \
+  include/asm-generic/bitops/hweight.h \
+  include/asm-generic/bitops/arch_hweight.h \
+  include/asm-generic/bitops/const_hweight.h \
+  include/asm-generic/bitops/lock.h \
+  include/linux/atomic.h \
+    $(wildcard include/config/generic/atomic64.h) \
+  arch/arm/include/asm/atomic.h \
+  include/linux/prefetch.h \
+  arch/arm/include/asm/processor.h \
+    $(wildcard include/config/have/hw/breakpoint.h) \
+    $(wildcard include/config/binfmt/elf/fdpic.h) \
+    $(wildcard include/config/arm/errata/754327.h) \
+  arch/arm/include/asm/hw_breakpoint.h \
+  arch/arm/include/asm/unified.h \
+  arch/arm/include/asm/cache.h \
+    $(wildcard include/config/arm/l1/cache/shift.h) \
+    $(wildcard include/config/aeabi.h) \
+  arch/arm/include/asm/cmpxchg.h \
+    $(wildcard include/config/cpu/sa110.h) \
+    $(wildcard include/config/cpu/v6.h) \
+  include/asm-generic/cmpxchg-local.h \
+  include/asm-generic/atomic-long.h \
+  include/asm-generic/bitops/find.h \
+    $(wildcard include/config/generic/find/first/bit.h) \
+  include/asm-generic/bitops/le.h \
+  arch/arm/include/uapi/asm/byteorder.h \
+  include/linux/byteorder/little_endian.h \
+  include/uapi/linux/byteorder/little_endian.h \
+  include/linux/swab.h \
+  include/uapi/linux/swab.h \
+  arch/arm/include/asm/swab.h \
+  arch/arm/include/uapi/asm/swab.h \
+  include/linux/byteorder/generic.h \
+  include/asm-generic/bitops/ext2-atomic-setbit.h \
+  arch/arm/include/asm/user.h \
+  include/uapi/linux/elf.h \
+  include/uapi/linux/elf-em.h \
+  include/linux/module.h \
+    $(wildcard include/config/modules.h) \
+    $(wildcard include/config/sysfs.h) \
+    $(wildcard include/config/modules/tree/lookup.h) \
+    $(wildcard include/config/livepatch.h) \
+    $(wildcard include/config/unused/symbols.h) \
+    $(wildcard include/config/module/sig.h) \
+    $(wildcard include/config/generic/bug.h) \
+    $(wildcard include/config/kallsyms.h) \
+    $(wildcard include/config/tracepoints.h) \
+    $(wildcard include/config/jump/label.h) \
+    $(wildcard include/config/tracing.h) \
+    $(wildcard include/config/event/tracing.h) \
+    $(wildcard include/config/ftrace/mcount/record.h) \
+    $(wildcard include/config/constructors.h) \
+    $(wildcard include/config/function/error/injection.h) \
+    $(wildcard include/config/strict/module/rwx.h) \
+  include/linux/list.h \
+    $(wildcard include/config/debug/list.h) \
+  include/linux/poison.h \
+    $(wildcard include/config/illegal/pointer/value.h) \
+    $(wildcard include/config/page/poisoning/zero.h) \
+  include/linux/kernel.h \
+    $(wildcard include/config/preempt/voluntary.h) \
+    $(wildcard include/config/debug/atomic/sleep.h) \
+    $(wildcard include/config/arch/has/refcount.h) \
+    $(wildcard include/config/panic/timeout.h) \
+  /usr/lib/gcc/arm-linux-gnueabihf/8/include/stdarg.h \
+  include/linux/linkage.h \
+  include/linux/stringify.h \
+  include/linux/export.h \
+    $(wildcard include/config/modversions.h) \
+    $(wildcard include/config/module/rel/crcs.h) \
+    $(wildcard include/config/have/arch/prel32/relocations.h) \
+    $(wildcard include/config/trim/unused/ksyms.h) \
+  arch/arm/include/asm/linkage.h \
+  include/linux/printk.h \
+    $(wildcard include/config/message/loglevel/default.h) \
+    $(wildcard include/config/console/loglevel/default.h) \
+    $(wildcard include/config/console/loglevel/quiet.h) \
+    $(wildcard include/config/early/printk.h) \
+    $(wildcard include/config/printk/nmi.h) \
+    $(wildcard include/config/printk.h) \
+    $(wildcard include/config/dynamic/debug.h) \
+  include/linux/init.h \
+    $(wildcard include/config/strict/kernel/rwx.h) \
+  include/linux/kern_levels.h \
+  include/linux/cache.h \
+    $(wildcard include/config/arch/has/cache/line/size.h) \
+  include/uapi/linux/kernel.h \
+  include/uapi/linux/sysinfo.h \
+  include/linux/build_bug.h \
+  arch/arm/include/asm/div64.h \
+  arch/arm/include/asm/compiler.h \
+  include/asm-generic/div64.h \
+  include/linux/stat.h \
+  arch/arm/include/uapi/asm/stat.h \
+  include/uapi/linux/stat.h \
+  include/linux/time.h \
+    $(wildcard include/config/arch/uses/gettimeoffset.h) \
+  include/linux/seqlock.h \
+    $(wildcard include/config/debug/lock/alloc.h) \
+  include/linux/spinlock.h \
+    $(wildcard include/config/debug/spinlock.h) \
+    $(wildcard include/config/preempt.h) \
+  include/linux/preempt.h \
+    $(wildcard include/config/preempt/count.h) \
+    $(wildcard include/config/debug/preempt.h) \
+    $(wildcard include/config/trace/preempt/toggle.h) \
+    $(wildcard include/config/preempt/notifiers.h) \
+  arch/arm/include/generated/asm/preempt.h \
+  include/asm-generic/preempt.h \
+  include/linux/thread_info.h \
+    $(wildcard include/config/thread/info/in/task.h) \
+    $(wildcard include/config/have/arch/within/stack/frames.h) \
+    $(wildcard include/config/hardened/usercopy.h) \
+  include/linux/bug.h \
+    $(wildcard include/config/bug/on/data/corruption.h) \
+  arch/arm/include/asm/bug.h \
+    $(wildcard include/config/debug/bugverbose.h) \
+  arch/arm/include/asm/opcodes.h \
+    $(wildcard include/config/cpu/endian/be32.h) \
+  include/asm-generic/bug.h \
+    $(wildcard include/config/bug.h) \
+    $(wildcard include/config/generic/bug/relative/pointers.h) \
+  include/linux/restart_block.h \
+  include/linux/time64.h \
+    $(wildcard include/config/64bit/time.h) \
+  include/linux/math64.h \
+    $(wildcard include/config/arch/supports/int128.h) \
+  include/uapi/linux/time.h \
+  arch/arm/include/asm/thread_info.h \
+    $(wildcard include/config/crunch.h) \
+    $(wildcard include/config/arm/thumbee.h) \
+  arch/arm/include/asm/fpstate.h \
+    $(wildcard include/config/vfpv3.h) \
+    $(wildcard include/config/iwmmxt.h) \
+  include/linux/bottom_half.h \
+  include/linux/spinlock_types.h \
+  arch/arm/include/asm/spinlock_types.h \
+  include/linux/lockdep.h \
+    $(wildcard include/config/lockdep.h) \
+    $(wildcard include/config/lock/stat.h) \
+  include/linux/rwlock_types.h \
+  arch/arm/include/asm/spinlock.h \
+  include/linux/rwlock.h \
+  include/linux/spinlock_api_smp.h \
+    $(wildcard include/config/inline/spin/lock.h) \
+    $(wildcard include/config/inline/spin/lock/bh.h) \
+    $(wildcard include/config/inline/spin/lock/irq.h) \
+    $(wildcard include/config/inline/spin/lock/irqsave.h) \
+    $(wildcard include/config/inline/spin/trylock.h) \
+    $(wildcard include/config/inline/spin/trylock/bh.h) \
+    $(wildcard include/config/uninline/spin/unlock.h) \
+    $(wildcard include/config/inline/spin/unlock/bh.h) \
+    $(wildcard include/config/inline/spin/unlock/irq.h) \
+    $(wildcard include/config/inline/spin/unlock/irqrestore.h) \
+    $(wildcard include/config/generic/lockbreak.h) \
+  include/linux/rwlock_api_smp.h \
+    $(wildcard include/config/inline/read/lock.h) \
+    $(wildcard include/config/inline/write/lock.h) \
+    $(wildcard include/config/inline/read/lock/bh.h) \
+    $(wildcard include/config/inline/write/lock/bh.h) \
+    $(wildcard include/config/inline/read/lock/irq.h) \
+    $(wildcard include/config/inline/write/lock/irq.h) \
+    $(wildcard include/config/inline/read/lock/irqsave.h) \
+    $(wildcard include/config/inline/write/lock/irqsave.h) \
+    $(wildcard include/config/inline/read/trylock.h) \
+    $(wildcard include/config/inline/write/trylock.h) \
+    $(wildcard include/config/inline/read/unlock.h) \
+    $(wildcard include/config/inline/write/unlock.h) \
+    $(wildcard include/config/inline/read/unlock/bh.h) \
+    $(wildcard include/config/inline/write/unlock/bh.h) \
+    $(wildcard include/config/inline/read/unlock/irq.h) \
+    $(wildcard include/config/inline/write/unlock/irq.h) \
+    $(wildcard include/config/inline/read/unlock/irqrestore.h) \
+    $(wildcard include/config/inline/write/unlock/irqrestore.h) \
+  include/linux/time32.h \
+  include/linux/uidgid.h \
+    $(wildcard include/config/multiuser.h) \
+    $(wildcard include/config/user/ns.h) \
+  include/linux/highuid.h \
+  include/linux/kmod.h \
+  include/linux/umh.h \
+  include/linux/gfp.h \
+    $(wildcard include/config/zone/dma.h) \
+    $(wildcard include/config/zone/dma32.h) \
+    $(wildcard include/config/zone/device.h) \
+    $(wildcard include/config/numa.h) \
+    $(wildcard include/config/pm/sleep.h) \
+    $(wildcard include/config/memory/isolation.h) \
+    $(wildcard include/config/compaction.h) \
+    $(wildcard include/config/cma.h) \
+  include/linux/mmdebug.h \
+    $(wildcard include/config/debug/vm.h) \
+    $(wildcard include/config/debug/vm/pgflags.h) \
+  include/linux/mmzone.h \
+    $(wildcard include/config/force/max/zoneorder.h) \
+    $(wildcard include/config/zsmalloc.h) \
+    $(wildcard include/config/memcg.h) \
+    $(wildcard include/config/memory/hotplug.h) \
+    $(wildcard include/config/flat/node/mem/map.h) \
+    $(wildcard include/config/page/extension.h) \
+    $(wildcard include/config/no/bootmem.h) \
+    $(wildcard include/config/deferred/struct/page/init.h) \
+    $(wildcard include/config/transparent/hugepage.h) \
+    $(wildcard include/config/have/memory/present.h) \
+    $(wildcard include/config/have/memoryless/nodes.h) \
+    $(wildcard include/config/have/memblock/node/map.h) \
+    $(wildcard include/config/need/multiple/nodes.h) \
+    $(wildcard include/config/have/arch/early/pfn/to/nid.h) \
+    $(wildcard include/config/sparsemem/extreme.h) \
+    $(wildcard include/config/memory/hotremove.h) \
+    $(wildcard include/config/holes/in/zone.h) \
+    $(wildcard include/config/arch/has/holes/memorymodel.h) \
+  include/linux/wait.h \
+  arch/arm/include/generated/asm/current.h \
+  include/asm-generic/current.h \
+  include/uapi/linux/wait.h \
+  include/linux/threads.h \
+    $(wildcard include/config/nr/cpus.h) \
+    $(wildcard include/config/base/small.h) \
+  include/linux/numa.h \
+    $(wildcard include/config/nodes/shift.h) \
+  include/linux/nodemask.h \
+  include/linux/bitmap.h \
+  include/linux/string.h \
+    $(wildcard include/config/binary/printf.h) \
+    $(wildcard include/config/fortify/source.h) \
+  include/uapi/linux/string.h \
+  arch/arm/include/asm/string.h \
+    $(wildcard include/config/bcm2835/fast/memcpy.h) \
+  include/linux/pageblock-flags.h \
+    $(wildcard include/config/hugetlb/page.h) \
+    $(wildcard include/config/hugetlb/page/size/variable.h) \
+  include/linux/page-flags-layout.h \
+    $(wildcard include/config/numa/balancing.h) \
+  include/generated/bounds.h \
+  include/linux/memory_hotplug.h \
+    $(wildcard include/config/arch/has/add/pages.h) \
+    $(wildcard include/config/have/arch/nodedata/extension.h) \
+    $(wildcard include/config/have/bootmem/info/node.h) \
+  include/linux/notifier.h \
+    $(wildcard include/config/tree/srcu.h) \
+  include/linux/errno.h \
+  include/uapi/linux/errno.h \
+  arch/arm/include/generated/uapi/asm/errno.h \
+  include/uapi/asm-generic/errno.h \
+  include/uapi/asm-generic/errno-base.h \
+  include/linux/mutex.h \
+    $(wildcard include/config/mutex/spin/on/owner.h) \
+    $(wildcard include/config/debug/mutexes.h) \
+  include/linux/osq_lock.h \
+  include/linux/debug_locks.h \
+    $(wildcard include/config/debug/locking/api/selftests.h) \
+  include/linux/rwsem.h \
+    $(wildcard include/config/rwsem/spin/on/owner.h) \
+    $(wildcard include/config/rwsem/generic/spinlock.h) \
+  include/linux/err.h \
+  arch/arm/include/generated/asm/rwsem.h \
+  include/asm-generic/rwsem.h \
+  include/linux/srcu.h \
+    $(wildcard include/config/tiny/srcu.h) \
+    $(wildcard include/config/srcu.h) \
+  include/linux/rcupdate.h \
+    $(wildcard include/config/preempt/rcu.h) \
+    $(wildcard include/config/rcu/stall/common.h) \
+    $(wildcard include/config/no/hz/full.h) \
+    $(wildcard include/config/rcu/nocb/cpu.h) \
+    $(wildcard include/config/tasks/rcu.h) \
+    $(wildcard include/config/tree/rcu.h) \
+    $(wildcard include/config/tiny/rcu.h) \
+    $(wildcard include/config/debug/objects/rcu/head.h) \
+    $(wildcard include/config/hotplug/cpu.h) \
+    $(wildcard include/config/prove/rcu.h) \
+    $(wildcard include/config/rcu/boost.h) \
+    $(wildcard include/config/arch/weak/release/acquire.h) \
+  include/linux/cpumask.h \
+    $(wildcard include/config/cpumask/offstack.h) \
+    $(wildcard include/config/debug/per/cpu/maps.h) \
+  include/linux/rcutree.h \
+  include/linux/workqueue.h \
+    $(wildcard include/config/debug/objects/work.h) \
+    $(wildcard include/config/freezer.h) \
+    $(wildcard include/config/wq/watchdog.h) \
+  include/linux/timer.h \
+    $(wildcard include/config/debug/objects/timers.h) \
+    $(wildcard include/config/no/hz/common.h) \
+  include/linux/ktime.h \
+  include/linux/jiffies.h \
+  include/linux/timex.h \
+  include/uapi/linux/timex.h \
+  include/uapi/linux/param.h \
+  arch/arm/include/generated/uapi/asm/param.h \
+  include/asm-generic/param.h \
+    $(wildcard include/config/hz.h) \
+  include/uapi/asm-generic/param.h \
+  arch/arm/include/asm/timex.h \
+  include/generated/timeconst.h \
+  include/linux/timekeeping.h \
+  include/linux/timekeeping32.h \
+  include/linux/debugobjects.h \
+    $(wildcard include/config/debug/objects.h) \
+    $(wildcard include/config/debug/objects/free.h) \
+  include/linux/rcu_segcblist.h \
+  include/linux/srcutree.h \
+  include/linux/rcu_node_tree.h \
+    $(wildcard include/config/rcu/fanout.h) \
+    $(wildcard include/config/rcu/fanout/leaf.h) \
+  include/linux/completion.h \
+  include/linux/topology.h \
+    $(wildcard include/config/use/percpu/numa/node/id.h) \
+    $(wildcard include/config/sched/smt.h) \
+  include/linux/smp.h \
+    $(wildcard include/config/up/late/init.h) \
+  include/linux/llist.h \
+    $(wildcard include/config/arch/have/nmi/safe/cmpxchg.h) \
+  arch/arm/include/asm/smp.h \
+  include/linux/percpu.h \
+    $(wildcard include/config/need/per/cpu/embed/first/chunk.h) \
+    $(wildcard include/config/need/per/cpu/page/first/chunk.h) \
+    $(wildcard include/config/have/setup/per/cpu/area.h) \
+  arch/arm/include/asm/percpu.h \
+  include/asm-generic/percpu.h \
+  include/linux/percpu-defs.h \
+    $(wildcard include/config/debug/force/weak/per/cpu.h) \
+    $(wildcard include/config/virtualization.h) \
+    $(wildcard include/config/amd/mem/encrypt.h) \
+  arch/arm/include/asm/topology.h \
+    $(wildcard include/config/arm/cpu/topology.h) \
+  include/linux/arch_topology.h \
+  include/asm-generic/topology.h \
+  include/linux/sysctl.h \
+    $(wildcard include/config/sysctl.h) \
+  include/linux/rbtree.h \
+  include/uapi/linux/sysctl.h \
+  include/linux/kobject.h \
+    $(wildcard include/config/uevent/helper.h) \
+    $(wildcard include/config/debug/kobject/release.h) \
+  include/linux/sysfs.h \
+  include/linux/kernfs.h \
+    $(wildcard include/config/kernfs.h) \
+  include/linux/idr.h \
+  include/linux/radix-tree.h \
+    $(wildcard include/config/radix/tree/multiorder.h) \
+  include/linux/kobject_ns.h \
+  include/linux/kref.h \
+  include/linux/refcount.h \
+    $(wildcard include/config/refcount/full.h) \
+  include/linux/moduleparam.h \
+    $(wildcard include/config/alpha.h) \
+    $(wildcard include/config/ia64.h) \
+    $(wildcard include/config/ppc64.h) \
+  include/linux/jump_label.h \
+  arch/arm/include/asm/jump_label.h \
+  include/linux/rbtree_latch.h \
+  include/linux/error-injection.h \
+  include/asm-generic/error-injection.h \
+  include/linux/tracepoint-defs.h \
+  include/linux/static_key.h \
+  arch/arm/include/asm/module.h \
+    $(wildcard include/config/arm/unwind.h) \
+    $(wildcard include/config/arm/module/plts.h) \
+  include/asm-generic/module.h \
+    $(wildcard include/config/have/mod/arch/specific.h) \
+    $(wildcard include/config/modules/use/elf/rel.h) \
+    $(wildcard include/config/modules/use/elf/rela.h) \
+  include/linux/vermagic.h \
+  include/generated/utsrelease.h \
+
+/home/pi/Desktop/info_pi/buzzerdriver/buzzer.mod.o: $(deps_/home/pi/Desktop/info_pi/buzzerdriver/buzzer.mod.o)
+
+$(deps_/home/pi/Desktop/info_pi/buzzerdriver/buzzer.mod.o):
diff --git a/Status/buzzerdriver/.buzzer.o.cmd b/Status/buzzerdriver/.buzzer.o.cmd
new file mode 100644
index 0000000..c6f071f
--- /dev/null
+++ b/Status/buzzerdriver/.buzzer.o.cmd
@@ -0,0 +1,720 @@
+cmd_/home/pi/Desktop/info_pi/buzzerdriver/buzzer.o := gcc -Wp,-MD,/home/pi/Desktop/info_pi/buzzerdriver/.buzzer.o.d  -nostdinc -isystem /usr/lib/gcc/arm-linux-gnueabihf/8/include -I./arch/arm/include -I./arch/arm/include/generated  -I./include -I./arch/arm/include/uapi -I./arch/arm/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -fno-ipa-sra -mabi=aapcs-linux -mfpu=vfp -funwind-tables -marm -Wa,-mno-warn-deprecated -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-int-in-bool-context -O2 --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -Wdeclaration-after-statement -Wno-pointer-sign -Wno-stringop-truncation -fno-strict-overflow -fno-merge-all-constants -fmerge-constants -fno-stack-check -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -fmacro-prefix-map=./= -Wno-packed-not-aligned  -DMODULE  -DKBUILD_BASENAME='"buzzer"' -DKBUILD_MODNAME='"buzzer"' -c -o /home/pi/Desktop/info_pi/buzzerdriver/.tmp_buzzer.o /home/pi/Desktop/info_pi/buzzerdriver/buzzer.c
+
+source_/home/pi/Desktop/info_pi/buzzerdriver/buzzer.o := /home/pi/Desktop/info_pi/buzzerdriver/buzzer.c
+
+deps_/home/pi/Desktop/info_pi/buzzerdriver/buzzer.o := \
+  include/linux/kconfig.h \
+    $(wildcard include/config/cpu/big/endian.h) \
+    $(wildcard include/config/booger.h) \
+    $(wildcard include/config/foo.h) \
+  include/linux/compiler_types.h \
+    $(wildcard include/config/have/arch/compiler/h.h) \
+    $(wildcard include/config/enable/must/check.h) \
+    $(wildcard include/config/arch/supports/optimized/inlining.h) \
+    $(wildcard include/config/optimize/inlining.h) \
+  include/linux/compiler-gcc.h \
+    $(wildcard include/config/retpoline.h) \
+    $(wildcard include/config/arch/use/builtin/bswap.h) \
+  include/linux/init.h \
+    $(wildcard include/config/have/arch/prel32/relocations.h) \
+    $(wildcard include/config/strict/kernel/rwx.h) \
+    $(wildcard include/config/strict/module/rwx.h) \
+  include/linux/compiler.h \
+    $(wildcard include/config/trace/branch/profiling.h) \
+    $(wildcard include/config/profile/all/branches.h) \
+    $(wildcard include/config/stack/validation.h) \
+    $(wildcard include/config/kasan.h) \
+  include/linux/compiler_types.h \
+  include/uapi/linux/types.h \
+  arch/arm/include/uapi/asm/types.h \
+  include/asm-generic/int-ll64.h \
+  include/uapi/asm-generic/int-ll64.h \
+  arch/arm/include/generated/uapi/asm/bitsperlong.h \
+  include/asm-generic/bitsperlong.h \
+    $(wildcard include/config/64bit.h) \
+  include/uapi/asm-generic/bitsperlong.h \
+  include/uapi/linux/posix_types.h \
+  include/linux/stddef.h \
+  include/uapi/linux/stddef.h \
+  arch/arm/include/uapi/asm/posix_types.h \
+  include/uapi/asm-generic/posix_types.h \
+  arch/arm/include/asm/barrier.h \
+    $(wildcard include/config/cpu/32v6k.h) \
+    $(wildcard include/config/thumb2/kernel.h) \
+    $(wildcard include/config/cpu/xsc3.h) \
+    $(wildcard include/config/cpu/fa526.h) \
+    $(wildcard include/config/arm/heavy/mb.h) \
+    $(wildcard include/config/arm/dma/mem/bufferable.h) \
+    $(wildcard include/config/smp.h) \
+    $(wildcard include/config/cpu/spectre.h) \
+  include/asm-generic/barrier.h \
+  include/linux/kasan-checks.h \
+  include/linux/types.h \
+    $(wildcard include/config/have/uid16.h) \
+    $(wildcard include/config/uid16.h) \
+    $(wildcard include/config/lbdaf.h) \
+    $(wildcard include/config/arch/dma/addr/t/64bit.h) \
+    $(wildcard include/config/phys/addr/t/64bit.h) \
+  include/linux/kernel.h \
+    $(wildcard include/config/preempt/voluntary.h) \
+    $(wildcard include/config/debug/atomic/sleep.h) \
+    $(wildcard include/config/mmu.h) \
+    $(wildcard include/config/prove/locking.h) \
+    $(wildcard include/config/arch/has/refcount.h) \
+    $(wildcard include/config/panic/timeout.h) \
+    $(wildcard include/config/tracing.h) \
+    $(wildcard include/config/ftrace/mcount/record.h) \
+  /usr/lib/gcc/arm-linux-gnueabihf/8/include/stdarg.h \
+  include/linux/linkage.h \
+  include/linux/stringify.h \
+  include/linux/export.h \
+    $(wildcard include/config/modules.h) \
+    $(wildcard include/config/modversions.h) \
+    $(wildcard include/config/module/rel/crcs.h) \
+    $(wildcard include/config/trim/unused/ksyms.h) \
+    $(wildcard include/config/unused/symbols.h) \
+  arch/arm/include/asm/linkage.h \
+  include/linux/bitops.h \
+  include/linux/bits.h \
+  arch/arm/include/asm/bitops.h \
+  include/linux/irqflags.h \
+    $(wildcard include/config/trace/irqflags.h) \
+    $(wildcard include/config/irqsoff/tracer.h) \
+    $(wildcard include/config/preempt/tracer.h) \
+    $(wildcard include/config/trace/irqflags/support.h) \
+  include/linux/typecheck.h \
+  arch/arm/include/asm/irqflags.h \
+    $(wildcard include/config/cpu/v7m.h) \
+  arch/arm/include/asm/ptrace.h \
+    $(wildcard include/config/arm/thumb.h) \
+  arch/arm/include/uapi/asm/ptrace.h \
+    $(wildcard include/config/cpu/endian/be8.h) \
+  arch/arm/include/asm/hwcap.h \
+  arch/arm/include/uapi/asm/hwcap.h \
+  include/asm-generic/irqflags.h \
+  include/asm-generic/bitops/non-atomic.h \
+  include/asm-generic/bitops/builtin-__fls.h \
+  include/asm-generic/bitops/builtin-__ffs.h \
+  include/asm-generic/bitops/builtin-fls.h \
+  include/asm-generic/bitops/builtin-ffs.h \
+  include/asm-generic/bitops/ffz.h \
+  include/asm-generic/bitops/fls64.h \
+  include/asm-generic/bitops/sched.h \
+  include/asm-generic/bitops/hweight.h \
+  include/asm-generic/bitops/arch_hweight.h \
+  include/asm-generic/bitops/const_hweight.h \
+  include/asm-generic/bitops/lock.h \
+  include/linux/atomic.h \
+    $(wildcard include/config/generic/atomic64.h) \
+  arch/arm/include/asm/atomic.h \
+    $(wildcard include/config/arm/lpae.h) \
+  include/linux/prefetch.h \
+  arch/arm/include/asm/processor.h \
+    $(wildcard include/config/have/hw/breakpoint.h) \
+    $(wildcard include/config/binfmt/elf/fdpic.h) \
+    $(wildcard include/config/arm/errata/754327.h) \
+  arch/arm/include/asm/hw_breakpoint.h \
+  arch/arm/include/asm/unified.h \
+  arch/arm/include/asm/cache.h \
+    $(wildcard include/config/arm/l1/cache/shift.h) \
+    $(wildcard include/config/aeabi.h) \
+  arch/arm/include/asm/cmpxchg.h \
+    $(wildcard include/config/cpu/sa1100.h) \
+    $(wildcard include/config/cpu/sa110.h) \
+    $(wildcard include/config/cpu/v6.h) \
+  include/asm-generic/cmpxchg-local.h \
+  include/asm-generic/atomic-long.h \
+  include/asm-generic/bitops/find.h \
+    $(wildcard include/config/generic/find/first/bit.h) \
+  include/asm-generic/bitops/le.h \
+  arch/arm/include/uapi/asm/byteorder.h \
+  include/linux/byteorder/little_endian.h \
+  include/uapi/linux/byteorder/little_endian.h \
+  include/linux/swab.h \
+  include/uapi/linux/swab.h \
+  arch/arm/include/asm/swab.h \
+  arch/arm/include/uapi/asm/swab.h \
+  include/linux/byteorder/generic.h \
+  include/asm-generic/bitops/ext2-atomic-setbit.h \
+  include/linux/log2.h \
+    $(wildcard include/config/arch/has/ilog2/u32.h) \
+    $(wildcard include/config/arch/has/ilog2/u64.h) \
+  include/linux/printk.h \
+    $(wildcard include/config/message/loglevel/default.h) \
+    $(wildcard include/config/console/loglevel/default.h) \
+    $(wildcard include/config/console/loglevel/quiet.h) \
+    $(wildcard include/config/early/printk.h) \
+    $(wildcard include/config/printk/nmi.h) \
+    $(wildcard include/config/printk.h) \
+    $(wildcard include/config/dynamic/debug.h) \
+  include/linux/kern_levels.h \
+  include/linux/cache.h \
+    $(wildcard include/config/arch/has/cache/line/size.h) \
+  include/uapi/linux/kernel.h \
+  include/uapi/linux/sysinfo.h \
+  include/linux/build_bug.h \
+  arch/arm/include/asm/div64.h \
+  arch/arm/include/asm/compiler.h \
+  include/asm-generic/div64.h \
+  include/linux/module.h \
+    $(wildcard include/config/sysfs.h) \
+    $(wildcard include/config/modules/tree/lookup.h) \
+    $(wildcard include/config/livepatch.h) \
+    $(wildcard include/config/module/sig.h) \
+    $(wildcard include/config/generic/bug.h) \
+    $(wildcard include/config/kallsyms.h) \
+    $(wildcard include/config/tracepoints.h) \
+    $(wildcard include/config/jump/label.h) \
+    $(wildcard include/config/event/tracing.h) \
+    $(wildcard include/config/module/unload.h) \
+    $(wildcard include/config/constructors.h) \
+    $(wildcard include/config/function/error/injection.h) \
+  include/linux/list.h \
+    $(wildcard include/config/debug/list.h) \
+  include/linux/poison.h \
+    $(wildcard include/config/illegal/pointer/value.h) \
+    $(wildcard include/config/page/poisoning/zero.h) \
+  include/linux/const.h \
+  include/uapi/linux/const.h \
+  include/linux/stat.h \
+  arch/arm/include/uapi/asm/stat.h \
+  include/uapi/linux/stat.h \
+  include/linux/time.h \
+    $(wildcard include/config/arch/uses/gettimeoffset.h) \
+  include/linux/seqlock.h \
+    $(wildcard include/config/debug/lock/alloc.h) \
+  include/linux/spinlock.h \
+    $(wildcard include/config/debug/spinlock.h) \
+    $(wildcard include/config/preempt.h) \
+  include/linux/preempt.h \
+    $(wildcard include/config/preempt/count.h) \
+    $(wildcard include/config/debug/preempt.h) \
+    $(wildcard include/config/trace/preempt/toggle.h) \
+    $(wildcard include/config/preempt/notifiers.h) \
+  arch/arm/include/generated/asm/preempt.h \
+  include/asm-generic/preempt.h \
+  include/linux/thread_info.h \
+    $(wildcard include/config/thread/info/in/task.h) \
+    $(wildcard include/config/have/arch/within/stack/frames.h) \
+    $(wildcard include/config/hardened/usercopy.h) \
+  include/linux/bug.h \
+    $(wildcard include/config/bug/on/data/corruption.h) \
+  arch/arm/include/asm/bug.h \
+    $(wildcard include/config/debug/bugverbose.h) \
+  arch/arm/include/asm/opcodes.h \
+    $(wildcard include/config/cpu/endian/be32.h) \
+  include/asm-generic/bug.h \
+    $(wildcard include/config/bug.h) \
+    $(wildcard include/config/generic/bug/relative/pointers.h) \
+  include/linux/restart_block.h \
+  include/linux/time64.h \
+    $(wildcard include/config/64bit/time.h) \
+  include/linux/math64.h \
+    $(wildcard include/config/arch/supports/int128.h) \
+  include/uapi/linux/time.h \
+  arch/arm/include/asm/thread_info.h \
+    $(wildcard include/config/crunch.h) \
+    $(wildcard include/config/arm/thumbee.h) \
+  arch/arm/include/asm/fpstate.h \
+    $(wildcard include/config/vfpv3.h) \
+    $(wildcard include/config/iwmmxt.h) \
+  arch/arm/include/asm/page.h \
+    $(wildcard include/config/cpu/copy/v4wt.h) \
+    $(wildcard include/config/cpu/copy/v4wb.h) \
+    $(wildcard include/config/cpu/copy/feroceon.h) \
+    $(wildcard include/config/cpu/copy/fa.h) \
+    $(wildcard include/config/cpu/xscale.h) \
+    $(wildcard include/config/cpu/copy/v6.h) \
+    $(wildcard include/config/kuser/helpers.h) \
+    $(wildcard include/config/have/arch/pfn/valid.h) \
+  arch/arm/include/asm/glue.h \
+  arch/arm/include/asm/pgtable-2level-types.h \
+  arch/arm/include/asm/memory.h \
+    $(wildcard include/config/need/mach/memory/h.h) \
+    $(wildcard include/config/page/offset.h) \
+    $(wildcard include/config/highmem.h) \
+    $(wildcard include/config/dram/base.h) \
+    $(wildcard include/config/dram/size.h) \
+    $(wildcard include/config/xip/kernel.h) \
+    $(wildcard include/config/have/tcm.h) \
+    $(wildcard include/config/arm/patch/phys/virt.h) \
+    $(wildcard include/config/phys/offset.h) \
+    $(wildcard include/config/xip/phys/addr.h) \
+    $(wildcard include/config/debug/virtual.h) \
+  include/linux/sizes.h \
+  include/asm-generic/memory_model.h \
+    $(wildcard include/config/flatmem.h) \
+    $(wildcard include/config/discontigmem.h) \
+    $(wildcard include/config/sparsemem/vmemmap.h) \
+    $(wildcard include/config/sparsemem.h) \
+  include/linux/pfn.h \
+  include/asm-generic/getorder.h \
+  include/linux/bottom_half.h \
+  include/linux/spinlock_types.h \
+  arch/arm/include/asm/spinlock_types.h \
+  include/linux/lockdep.h \
+    $(wildcard include/config/lockdep.h) \
+    $(wildcard include/config/lock/stat.h) \
+  include/linux/rwlock_types.h \
+  arch/arm/include/asm/spinlock.h \
+  include/linux/rwlock.h \
+  include/linux/spinlock_api_smp.h \
+    $(wildcard include/config/inline/spin/lock.h) \
+    $(wildcard include/config/inline/spin/lock/bh.h) \
+    $(wildcard include/config/inline/spin/lock/irq.h) \
+    $(wildcard include/config/inline/spin/lock/irqsave.h) \
+    $(wildcard include/config/inline/spin/trylock.h) \
+    $(wildcard include/config/inline/spin/trylock/bh.h) \
+    $(wildcard include/config/uninline/spin/unlock.h) \
+    $(wildcard include/config/inline/spin/unlock/bh.h) \
+    $(wildcard include/config/inline/spin/unlock/irq.h) \
+    $(wildcard include/config/inline/spin/unlock/irqrestore.h) \
+    $(wildcard include/config/generic/lockbreak.h) \
+  include/linux/rwlock_api_smp.h \
+    $(wildcard include/config/inline/read/lock.h) \
+    $(wildcard include/config/inline/write/lock.h) \
+    $(wildcard include/config/inline/read/lock/bh.h) \
+    $(wildcard include/config/inline/write/lock/bh.h) \
+    $(wildcard include/config/inline/read/lock/irq.h) \
+    $(wildcard include/config/inline/write/lock/irq.h) \
+    $(wildcard include/config/inline/read/lock/irqsave.h) \
+    $(wildcard include/config/inline/write/lock/irqsave.h) \
+    $(wildcard include/config/inline/read/trylock.h) \
+    $(wildcard include/config/inline/write/trylock.h) \
+    $(wildcard include/config/inline/read/unlock.h) \
+    $(wildcard include/config/inline/write/unlock.h) \
+    $(wildcard include/config/inline/read/unlock/bh.h) \
+    $(wildcard include/config/inline/write/unlock/bh.h) \
+    $(wildcard include/config/inline/read/unlock/irq.h) \
+    $(wildcard include/config/inline/write/unlock/irq.h) \
+    $(wildcard include/config/inline/read/unlock/irqrestore.h) \
+    $(wildcard include/config/inline/write/unlock/irqrestore.h) \
+  include/linux/time32.h \
+  include/linux/uidgid.h \
+    $(wildcard include/config/multiuser.h) \
+    $(wildcard include/config/user/ns.h) \
+  include/linux/highuid.h \
+  include/linux/kmod.h \
+  include/linux/umh.h \
+  include/linux/gfp.h \
+    $(wildcard include/config/zone/dma.h) \
+    $(wildcard include/config/zone/dma32.h) \
+    $(wildcard include/config/zone/device.h) \
+    $(wildcard include/config/numa.h) \
+    $(wildcard include/config/pm/sleep.h) \
+    $(wildcard include/config/memory/isolation.h) \
+    $(wildcard include/config/compaction.h) \
+    $(wildcard include/config/cma.h) \
+  include/linux/mmdebug.h \
+    $(wildcard include/config/debug/vm.h) \
+    $(wildcard include/config/debug/vm/pgflags.h) \
+  include/linux/mmzone.h \
+    $(wildcard include/config/force/max/zoneorder.h) \
+    $(wildcard include/config/zsmalloc.h) \
+    $(wildcard include/config/memcg.h) \
+    $(wildcard include/config/memory/hotplug.h) \
+    $(wildcard include/config/flat/node/mem/map.h) \
+    $(wildcard include/config/page/extension.h) \
+    $(wildcard include/config/no/bootmem.h) \
+    $(wildcard include/config/deferred/struct/page/init.h) \
+    $(wildcard include/config/transparent/hugepage.h) \
+    $(wildcard include/config/have/memory/present.h) \
+    $(wildcard include/config/have/memoryless/nodes.h) \
+    $(wildcard include/config/have/memblock/node/map.h) \
+    $(wildcard include/config/need/multiple/nodes.h) \
+    $(wildcard include/config/have/arch/early/pfn/to/nid.h) \
+    $(wildcard include/config/sparsemem/extreme.h) \
+    $(wildcard include/config/memory/hotremove.h) \
+    $(wildcard include/config/holes/in/zone.h) \
+    $(wildcard include/config/arch/has/holes/memorymodel.h) \
+  include/linux/wait.h \
+  arch/arm/include/generated/asm/current.h \
+  include/asm-generic/current.h \
+  include/uapi/linux/wait.h \
+  include/linux/threads.h \
+    $(wildcard include/config/nr/cpus.h) \
+    $(wildcard include/config/base/small.h) \
+  include/linux/numa.h \
+    $(wildcard include/config/nodes/shift.h) \
+  include/linux/nodemask.h \
+  include/linux/bitmap.h \
+  include/linux/string.h \
+    $(wildcard include/config/binary/printf.h) \
+    $(wildcard include/config/fortify/source.h) \
+  include/uapi/linux/string.h \
+  arch/arm/include/asm/string.h \
+    $(wildcard include/config/bcm2835/fast/memcpy.h) \
+  include/linux/pageblock-flags.h \
+    $(wildcard include/config/hugetlb/page.h) \
+    $(wildcard include/config/hugetlb/page/size/variable.h) \
+  include/linux/page-flags-layout.h \
+    $(wildcard include/config/numa/balancing.h) \
+  include/generated/bounds.h \
+  include/linux/memory_hotplug.h \
+    $(wildcard include/config/arch/has/add/pages.h) \
+    $(wildcard include/config/have/arch/nodedata/extension.h) \
+    $(wildcard include/config/have/bootmem/info/node.h) \
+  include/linux/notifier.h \
+    $(wildcard include/config/tree/srcu.h) \
+  include/linux/errno.h \
+  include/uapi/linux/errno.h \
+  arch/arm/include/generated/uapi/asm/errno.h \
+  include/uapi/asm-generic/errno.h \
+  include/uapi/asm-generic/errno-base.h \
+  include/linux/mutex.h \
+    $(wildcard include/config/mutex/spin/on/owner.h) \
+    $(wildcard include/config/debug/mutexes.h) \
+  include/linux/osq_lock.h \
+  include/linux/debug_locks.h \
+    $(wildcard include/config/debug/locking/api/selftests.h) \
+  include/linux/rwsem.h \
+    $(wildcard include/config/rwsem/spin/on/owner.h) \
+    $(wildcard include/config/rwsem/generic/spinlock.h) \
+  include/linux/err.h \
+  arch/arm/include/generated/asm/rwsem.h \
+  include/asm-generic/rwsem.h \
+  include/linux/srcu.h \
+    $(wildcard include/config/tiny/srcu.h) \
+    $(wildcard include/config/srcu.h) \
+  include/linux/rcupdate.h \
+    $(wildcard include/config/preempt/rcu.h) \
+    $(wildcard include/config/rcu/stall/common.h) \
+    $(wildcard include/config/no/hz/full.h) \
+    $(wildcard include/config/rcu/nocb/cpu.h) \
+    $(wildcard include/config/tasks/rcu.h) \
+    $(wildcard include/config/tree/rcu.h) \
+    $(wildcard include/config/tiny/rcu.h) \
+    $(wildcard include/config/debug/objects/rcu/head.h) \
+    $(wildcard include/config/hotplug/cpu.h) \
+    $(wildcard include/config/prove/rcu.h) \
+    $(wildcard include/config/rcu/boost.h) \
+    $(wildcard include/config/arch/weak/release/acquire.h) \
+  include/linux/cpumask.h \
+    $(wildcard include/config/cpumask/offstack.h) \
+    $(wildcard include/config/debug/per/cpu/maps.h) \
+  include/linux/rcutree.h \
+  include/linux/workqueue.h \
+    $(wildcard include/config/debug/objects/work.h) \
+    $(wildcard include/config/freezer.h) \
+    $(wildcard include/config/wq/watchdog.h) \
+  include/linux/timer.h \
+    $(wildcard include/config/debug/objects/timers.h) \
+    $(wildcard include/config/no/hz/common.h) \
+  include/linux/ktime.h \
+  include/linux/jiffies.h \
+  include/linux/timex.h \
+  include/uapi/linux/timex.h \
+  include/uapi/linux/param.h \
+  arch/arm/include/generated/uapi/asm/param.h \
+  include/asm-generic/param.h \
+    $(wildcard include/config/hz.h) \
+  include/uapi/asm-generic/param.h \
+  arch/arm/include/asm/timex.h \
+  include/generated/timeconst.h \
+  include/linux/timekeeping.h \
+  include/linux/timekeeping32.h \
+  include/linux/debugobjects.h \
+    $(wildcard include/config/debug/objects.h) \
+    $(wildcard include/config/debug/objects/free.h) \
+  include/linux/rcu_segcblist.h \
+  include/linux/srcutree.h \
+  include/linux/rcu_node_tree.h \
+    $(wildcard include/config/rcu/fanout.h) \
+    $(wildcard include/config/rcu/fanout/leaf.h) \
+  include/linux/completion.h \
+  include/linux/topology.h \
+    $(wildcard include/config/use/percpu/numa/node/id.h) \
+    $(wildcard include/config/sched/smt.h) \
+  include/linux/smp.h \
+    $(wildcard include/config/up/late/init.h) \
+  include/linux/llist.h \
+    $(wildcard include/config/arch/have/nmi/safe/cmpxchg.h) \
+  arch/arm/include/asm/smp.h \
+  include/linux/percpu.h \
+    $(wildcard include/config/need/per/cpu/embed/first/chunk.h) \
+    $(wildcard include/config/need/per/cpu/page/first/chunk.h) \
+    $(wildcard include/config/have/setup/per/cpu/area.h) \
+  arch/arm/include/asm/percpu.h \
+  include/asm-generic/percpu.h \
+  include/linux/percpu-defs.h \
+    $(wildcard include/config/debug/force/weak/per/cpu.h) \
+    $(wildcard include/config/virtualization.h) \
+    $(wildcard include/config/amd/mem/encrypt.h) \
+  arch/arm/include/asm/topology.h \
+    $(wildcard include/config/arm/cpu/topology.h) \
+  include/linux/arch_topology.h \
+  include/asm-generic/topology.h \
+  include/linux/sysctl.h \
+    $(wildcard include/config/sysctl.h) \
+  include/linux/rbtree.h \
+  include/uapi/linux/sysctl.h \
+  include/linux/elf.h \
+  arch/arm/include/asm/elf.h \
+    $(wildcard include/config/vdso.h) \
+  arch/arm/include/asm/auxvec.h \
+  arch/arm/include/uapi/asm/auxvec.h \
+  arch/arm/include/asm/vdso_datapage.h \
+  arch/arm/include/asm/user.h \
+  include/uapi/linux/elf.h \
+  include/uapi/linux/elf-em.h \
+  include/linux/kobject.h \
+    $(wildcard include/config/uevent/helper.h) \
+    $(wildcard include/config/debug/kobject/release.h) \
+  include/linux/sysfs.h \
+  include/linux/kernfs.h \
+    $(wildcard include/config/kernfs.h) \
+  include/linux/idr.h \
+  include/linux/radix-tree.h \
+    $(wildcard include/config/radix/tree/multiorder.h) \
+  include/linux/kobject_ns.h \
+  include/linux/kref.h \
+  include/linux/refcount.h \
+    $(wildcard include/config/refcount/full.h) \
+  include/linux/moduleparam.h \
+    $(wildcard include/config/alpha.h) \
+    $(wildcard include/config/ia64.h) \
+    $(wildcard include/config/ppc64.h) \
+  include/linux/jump_label.h \
+  arch/arm/include/asm/jump_label.h \
+  include/linux/rbtree_latch.h \
+  include/linux/error-injection.h \
+  include/asm-generic/error-injection.h \
+  include/linux/tracepoint-defs.h \
+  include/linux/static_key.h \
+  arch/arm/include/asm/module.h \
+    $(wildcard include/config/arm/unwind.h) \
+    $(wildcard include/config/arm/module/plts.h) \
+  include/asm-generic/module.h \
+    $(wildcard include/config/have/mod/arch/specific.h) \
+    $(wildcard include/config/modules/use/elf/rel.h) \
+    $(wildcard include/config/modules/use/elf/rela.h) \
+  include/linux/fs.h \
+    $(wildcard include/config/fs/posix/acl.h) \
+    $(wildcard include/config/security.h) \
+    $(wildcard include/config/cgroup/writeback.h) \
+    $(wildcard include/config/ima.h) \
+    $(wildcard include/config/fsnotify.h) \
+    $(wildcard include/config/fs/encryption.h) \
+    $(wildcard include/config/epoll.h) \
+    $(wildcard include/config/file/locking.h) \
+    $(wildcard include/config/quota.h) \
+    $(wildcard include/config/fs/dax.h) \
+    $(wildcard include/config/block.h) \
+    $(wildcard include/config/mandatory/file/locking.h) \
+    $(wildcard include/config/migration.h) \
+  include/linux/wait_bit.h \
+  include/linux/kdev_t.h \
+  include/uapi/linux/kdev_t.h \
+  include/linux/dcache.h \
+  include/linux/rculist.h \
+  include/linux/rculist_bl.h \
+  include/linux/list_bl.h \
+  include/linux/bit_spinlock.h \
+  include/linux/lockref.h \
+    $(wildcard include/config/arch/use/cmpxchg/lockref.h) \
+  include/linux/stringhash.h \
+    $(wildcard include/config/dcache/word/access.h) \
+  include/linux/hash.h \
+    $(wildcard include/config/have/arch/hash.h) \
+  include/linux/path.h \
+  include/linux/list_lru.h \
+    $(wildcard include/config/memcg/kmem.h) \
+  include/linux/shrinker.h \
+  include/linux/xarray.h \
+  include/linux/pid.h \
+  include/linux/mm_types.h \
+    $(wildcard include/config/have/aligned/struct/page.h) \
+    $(wildcard include/config/userfaultfd.h) \
+    $(wildcard include/config/have/arch/compat/mmap/bases.h) \
+    $(wildcard include/config/membarrier.h) \
+    $(wildcard include/config/aio.h) \
+    $(wildcard include/config/mmu/notifier.h) \
+    $(wildcard include/config/arch/want/batched/unmap/tlb/flush.h) \
+    $(wildcard include/config/hmm.h) \
+  include/linux/mm_types_task.h \
+    $(wildcard include/config/split/ptlock/cpus.h) \
+    $(wildcard include/config/arch/enable/split/pmd/ptlock.h) \
+  include/linux/auxvec.h \
+  include/uapi/linux/auxvec.h \
+  include/linux/uprobes.h \
+    $(wildcard include/config/uprobes.h) \
+  arch/arm/include/asm/mmu.h \
+    $(wildcard include/config/cpu/has/asid.h) \
+  include/linux/capability.h \
+  include/uapi/linux/capability.h \
+  include/linux/semaphore.h \
+  include/linux/fcntl.h \
+  include/uapi/linux/fcntl.h \
+  arch/arm/include/uapi/asm/fcntl.h \
+  include/uapi/asm-generic/fcntl.h \
+  include/uapi/linux/fiemap.h \
+  include/linux/migrate_mode.h \
+  include/linux/percpu-rwsem.h \
+  include/linux/rcuwait.h \
+  include/linux/rcu_sync.h \
+  include/linux/delayed_call.h \
+  include/linux/uuid.h \
+  include/uapi/linux/uuid.h \
+  include/linux/errseq.h \
+  include/linux/ioprio.h \
+  include/linux/sched.h \
+    $(wildcard include/config/virt/cpu/accounting/native.h) \
+    $(wildcard include/config/sched/info.h) \
+    $(wildcard include/config/schedstats.h) \
+    $(wildcard include/config/fair/group/sched.h) \
+    $(wildcard include/config/rt/group/sched.h) \
+    $(wildcard include/config/cgroup/sched.h) \
+    $(wildcard include/config/blk/dev/io/trace.h) \
+    $(wildcard include/config/compat/brk.h) \
+    $(wildcard include/config/cgroups.h) \
+    $(wildcard include/config/blk/cgroup.h) \
+    $(wildcard include/config/stackprotector.h) \
+    $(wildcard include/config/arch/has/scaled/cputime.h) \
+    $(wildcard include/config/virt/cpu/accounting/gen.h) \
+    $(wildcard include/config/posix/timers.h) \
+    $(wildcard include/config/sysvipc.h) \
+    $(wildcard include/config/detect/hung/task.h) \
+    $(wildcard include/config/auditsyscall.h) \
+    $(wildcard include/config/rt/mutexes.h) \
+    $(wildcard include/config/ubsan.h) \
+    $(wildcard include/config/task/xacct.h) \
+    $(wildcard include/config/cpusets.h) \
+    $(wildcard include/config/intel/rdt.h) \
+    $(wildcard include/config/futex.h) \
+    $(wildcard include/config/compat.h) \
+    $(wildcard include/config/perf/events.h) \
+    $(wildcard include/config/rseq.h) \
+    $(wildcard include/config/task/delay/acct.h) \
+    $(wildcard include/config/fault/injection.h) \
+    $(wildcard include/config/latencytop.h) \
+    $(wildcard include/config/function/graph/tracer.h) \
+    $(wildcard include/config/kcov.h) \
+    $(wildcard include/config/bcache.h) \
+    $(wildcard include/config/vmap/stack.h) \
+    $(wildcard include/config/arch/task/struct/on/stack.h) \
+    $(wildcard include/config/debug/rseq.h) \
+  include/uapi/linux/sched.h \
+  include/linux/sem.h \
+  include/uapi/linux/sem.h \
+  include/linux/ipc.h \
+  include/linux/rhashtable-types.h \
+  include/uapi/linux/ipc.h \
+  arch/arm/include/generated/uapi/asm/ipcbuf.h \
+  include/uapi/asm-generic/ipcbuf.h \
+  arch/arm/include/generated/uapi/asm/sembuf.h \
+  include/uapi/asm-generic/sembuf.h \
+  include/linux/shm.h \
+  include/uapi/linux/shm.h \
+  include/uapi/asm-generic/hugetlb_encode.h \
+  arch/arm/include/generated/uapi/asm/shmbuf.h \
+  include/uapi/asm-generic/shmbuf.h \
+  arch/arm/include/asm/shmparam.h \
+  include/linux/kcov.h \
+  include/uapi/linux/kcov.h \
+  include/linux/plist.h \
+    $(wildcard include/config/debug/pi/list.h) \
+  include/linux/hrtimer.h \
+    $(wildcard include/config/high/res/timers.h) \
+    $(wildcard include/config/time/low/res.h) \
+    $(wildcard include/config/timerfd.h) \
+  include/linux/timerqueue.h \
+  include/linux/seccomp.h \
+    $(wildcard include/config/seccomp.h) \
+    $(wildcard include/config/have/arch/seccomp/filter.h) \
+    $(wildcard include/config/seccomp/filter.h) \
+    $(wildcard include/config/checkpoint/restore.h) \
+  include/uapi/linux/seccomp.h \
+  arch/arm/include/generated/asm/seccomp.h \
+  include/asm-generic/seccomp.h \
+  include/uapi/linux/unistd.h \
+  arch/arm/include/asm/unistd.h \
+    $(wildcard include/config/oabi/compat.h) \
+  arch/arm/include/uapi/asm/unistd.h \
+  arch/arm/include/generated/uapi/asm/unistd-eabi.h \
+  arch/arm/include/generated/uapi/asm/unistd-common.h \
+  arch/arm/include/generated/asm/unistd-nr.h \
+  include/linux/resource.h \
+  include/uapi/linux/resource.h \
+  arch/arm/include/generated/uapi/asm/resource.h \
+  include/asm-generic/resource.h \
+  include/uapi/asm-generic/resource.h \
+  include/linux/latencytop.h \
+  include/linux/sched/prio.h \
+  include/linux/signal_types.h \
+    $(wildcard include/config/old/sigaction.h) \
+  include/uapi/linux/signal.h \
+  arch/arm/include/asm/signal.h \
+  arch/arm/include/uapi/asm/signal.h \
+  include/uapi/asm-generic/signal-defs.h \
+  arch/arm/include/uapi/asm/sigcontext.h \
+  arch/arm/include/generated/uapi/asm/siginfo.h \
+  include/uapi/asm-generic/siginfo.h \
+  include/linux/task_io_accounting.h \
+    $(wildcard include/config/task/io/accounting.h) \
+  include/uapi/linux/rseq.h \
+  include/linux/sched/rt.h \
+  include/linux/iocontext.h \
+  include/uapi/linux/fs.h \
+  include/uapi/linux/limits.h \
+  include/uapi/linux/ioctl.h \
+  arch/arm/include/generated/uapi/asm/ioctl.h \
+  include/asm-generic/ioctl.h \
+  include/uapi/asm-generic/ioctl.h \
+  include/linux/quota.h \
+    $(wildcard include/config/quota/netlink/interface.h) \
+  include/linux/percpu_counter.h \
+  include/uapi/linux/dqblk_xfs.h \
+  include/linux/dqblk_v1.h \
+  include/linux/dqblk_v2.h \
+  include/linux/dqblk_qtree.h \
+  include/linux/projid.h \
+  include/uapi/linux/quota.h \
+  include/linux/nfs_fs_i.h \
+  include/linux/uaccess.h \
+  arch/arm/include/asm/uaccess.h \
+    $(wildcard include/config/cpu/sw/domain/pan.h) \
+    $(wildcard include/config/cpu/use/domains.h) \
+    $(wildcard include/config/uaccess/with/memcpy.h) \
+  arch/arm/include/asm/domain.h \
+    $(wildcard include/config/io/36.h) \
+    $(wildcard include/config/cpu/cp15/mmu.h) \
+  arch/arm/include/generated/asm/extable.h \
+  include/asm-generic/extable.h \
+  include/linux/slab.h \
+    $(wildcard include/config/debug/slab.h) \
+    $(wildcard include/config/failslab.h) \
+    $(wildcard include/config/have/hardened/usercopy/allocator.h) \
+    $(wildcard include/config/slab.h) \
+    $(wildcard include/config/slub.h) \
+    $(wildcard include/config/slob.h) \
+  include/linux/overflow.h \
+  include/linux/kasan.h \
+  include/linux/delay.h \
+  arch/arm/include/asm/delay.h \
+  arch/arm/include/asm/mach/map.h \
+    $(wildcard include/config/debug/ll.h) \
+  arch/arm/include/asm/io.h \
+    $(wildcard include/config/pci.h) \
+    $(wildcard include/config/need/mach/io/h.h) \
+    $(wildcard include/config/pcmcia/soc/common.h) \
+    $(wildcard include/config/isa.h) \
+    $(wildcard include/config/pccard.h) \
+  include/asm-generic/pci_iomap.h \
+    $(wildcard include/config/no/generic/pci/ioport/map.h) \
+    $(wildcard include/config/generic/pci/iomap.h) \
+  include/xen/xen.h \
+    $(wildcard include/config/xen.h) \
+    $(wildcard include/config/xen/pvh.h) \
+    $(wildcard include/config/xen/dom0.h) \
+  include/asm-generic/io.h \
+    $(wildcard include/config/generic/iomap.h) \
+    $(wildcard include/config/has/ioport/map.h) \
+    $(wildcard include/config/virt/to/bus.h) \
+  include/linux/logic_pio.h \
+    $(wildcard include/config/indirect/pio.h) \
+  include/linux/fwnode.h \
+  include/linux/vmalloc.h \
+
+/home/pi/Desktop/info_pi/buzzerdriver/buzzer.o: $(deps_/home/pi/Desktop/info_pi/buzzerdriver/buzzer.o)
+
+$(deps_/home/pi/Desktop/info_pi/buzzerdriver/buzzer.o):
diff --git a/Status/buzzerdriver/.tmp_versions/buzzer.mod b/Status/buzzerdriver/.tmp_versions/buzzer.mod
new file mode 100644
index 0000000..f8c449d
--- /dev/null
+++ b/Status/buzzerdriver/.tmp_versions/buzzer.mod
@@ -0,0 +1,3 @@
+/home/pi/Desktop/info_pi/buzzerdriver/buzzer.ko
+/home/pi/Desktop/info_pi/buzzerdriver/buzzer.o
+
diff --git a/Status/buzzerdriver/Makefile b/Status/buzzerdriver/Makefile
new file mode 100755
index 0000000..3ed8ae6
--- /dev/null
+++ b/Status/buzzerdriver/Makefile
@@ -0,0 +1,12 @@
+KERNEL_DIR = /lib/modules/4.19.97-v7+/build
+
+obj-m := buzzer.o
+
+PWD := $(shell pwd)
+
+all:
+	make -C $(KERNEL_DIR) M=$(PWD) modules 
+
+clean:
+	make -C $(KERNEL_DIR) M=$(PWD) clean
+
diff --git a/Status/buzzerdriver/Module.symvers b/Status/buzzerdriver/Module.symvers
new file mode 100644
index 0000000..e69de29
diff --git a/Status/buzzerdriver/app b/Status/buzzerdriver/app
new file mode 100755
index 0000000000000000000000000000000000000000..3d391f438169dc9f5c3e6249f0cb3bbc56ba2bf9
GIT binary patch
literal 8256
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
D=qv;6

literal 0
HcmV?d00001

diff --git a/Status/buzzerdriver/app.c b/Status/buzzerdriver/app.c
new file mode 100755
index 0000000..51dfc94
--- /dev/null
+++ b/Status/buzzerdriver/app.c
@@ -0,0 +1,40 @@
+#include <stdio.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/ioctl.h>
+#include <sys/sysmacros.h>
+
+#define BUZZER_MAJOR_NUMBER 502
+#define BUZZER_MINOR_NUMBER 0
+#define BUZZER_DEV_PATH_NAME "/dev/buzzer"
+
+
+int main(void)
+{
+    dev_t buzzer_dev;
+    int fd;
+
+    buzzer_dev = makedev(BUZZER_MAJOR_NUMBER, BUZZER_MINOR_NUMBER);
+    mknod(BUZZER_DEV_PATH_NAME, S_IFCHR|0666, buzzer_dev);
+	
+    fd = open("/dev/buzzer", O_RDWR);
+
+    if(fd < 0)
+    {
+        printf("fail to open buzzer\n");
+        printf("%d\n",fd);
+        return -1;
+    }
+
+    int dist=440;
+	write(fd,&dist,4);
+	dist=500;
+	write(fd,&dist,4);
+	dist=600;
+	write(fd,&dist,4);
+	
+    return 0;
+}
diff --git a/Status/buzzerdriver/buzzer b/Status/buzzerdriver/buzzer
new file mode 100755
index 0000000000000000000000000000000000000000..c7db7db5733fd754a68f04da38f358cd513fce2c
GIT binary patch
literal 8668
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
W=77XOBLGOk4E{3Ev2KtglDz<)=7$vk

literal 0
HcmV?d00001

diff --git a/Status/buzzerdriver/buzzer.c b/Status/buzzerdriver/buzzer.c
new file mode 100644
index 0000000..902bb35
--- /dev/null
+++ b/Status/buzzerdriver/buzzer.c
@@ -0,0 +1,100 @@
+#include <linux/init.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/fs.h>
+#include <linux/uaccess.h>
+#include <linux/slab.h>
+#include <linux/timer.h>
+#include <linux/ktime.h>
+#include <linux/jiffies.h>
+#include <linux/delay.h>
+
+#include <asm/mach/map.h>
+#include <asm/io.h>
+#include <asm/uaccess.h>
+
+#define buzzer_MAJOR_NUMBER 502
+#define buzzer_DEV_NAME    "buzzer"
+
+#define GPIO_BASE_ADDR 0x3F200000
+#define GPFSEL2 0x08 // pin 20 
+#define GPSET0 0x1c // output to 0 // pin 20
+#define GPSET1 0x20 // output to 1
+#define GPLEV0 0x34
+#define GPCLR0 0x28
+
+static void __iomem *gpio_base;
+volatile unsigned int *gpfsel0;
+volatile unsigned int *gpfsel1;
+volatile unsigned int *gpset0;
+volatile unsigned int *gpset1;
+volatile unsigned int *gplev0;
+
+volatile unsigned int *gpclr1;
+
+int buzzer_open(struct inode *inode, struct file *filp){
+    printk(KERN_ALERT "buzzer driver open!!\n");
+
+    gpio_base = ioremap(GPIO_BASE_ADDR, 0x60);
+    gpfsel1 = (volatile unsigned int *)(gpio_base + GPFSEL2);
+    gpset0 = (volatile unsigned int *)(gpio_base + GPSET0);
+    gpset1 = (volatile unsigned int *)(gpio_base + GPSET1);
+    gplev0 = (volatile unsigned int *)(gpio_base + GPLEV0);
+    gpclr1 = (volatile unsigned int *)(gpio_base + GPCLR0);
+
+    *gpfsel1 |= (1<<0); // pin 20 to OUTPUT
+
+    return 0;
+
+}
+int buzzer_release(struct inode *inode, struct file *filp){
+        printk(KERN_ALERT "buzzer driver closed!!\n");
+        iounmap((void *)gpio_base);
+        return 0;
+}
+
+ssize_t buzzer_write(struct file *filp, const char *buf, size_t size, loff_t *f_pos){
+	int buz_beep = 0;
+    copy_from_user(&buz_beep, buf, 4);
+    
+    long beepDelay = (long)(1000000/buz_beep);
+    long time = (long)((500*1000)/(beepDelay*2));
+    int i;
+    for(i=0;i<time*2;i++){
+		*gpset0 |= (1<<20); // pin 20 to 1
+		udelay(beepDelay);
+		*gpclr1 |= (1<<20);
+		udelay(beepDelay);
+	}
+	*gpclr1 |= (1<<20);
+	mdelay(100);
+	
+    return size;
+}
+
+static struct file_operations buzzer_fops={
+    .owner = THIS_MODULE,
+    .write = buzzer_write,
+    .open = buzzer_open,
+    .release = buzzer_release
+};
+
+int __init buzzer_init(void){
+    if(register_chrdev(buzzer_MAJOR_NUMBER, buzzer_DEV_NAME, &buzzer_fops) < 0)
+        printk(KERN_ALERT "buzzer driver initialization fail\n");
+    else
+        printk(KERN_ALERT "buzzer driver initialization success\n");
+    return 0;
+}
+
+void __exit buzzer_exit(void){
+    unregister_chrdev(buzzer_MAJOR_NUMBER, buzzer_DEV_NAME);
+    printk(KERN_ALERT "buzzer driver exit done\n");
+}
+
+module_init(buzzer_init);
+module_exit(buzzer_exit);
+
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("ALNORM");
+MODULE_DESCRIPTION("des");
diff --git a/Status/buzzerdriver/buzzer.ko b/Status/buzzerdriver/buzzer.ko
new file mode 100644
index 0000000000000000000000000000000000000000..a97684c9df9393d5ca8110cee250e6e27e28712f
GIT binary patch
literal 7772
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
Rbv9xQ3|nE6(7Xdu2LKe@MrQy3

literal 0
HcmV?d00001

diff --git a/Status/buzzerdriver/buzzer.mod.c b/Status/buzzerdriver/buzzer.mod.c
new file mode 100644
index 0000000..3748147
--- /dev/null
+++ b/Status/buzzerdriver/buzzer.mod.c
@@ -0,0 +1,50 @@
+#include <linux/build-salt.h>
+#include <linux/module.h>
+#include <linux/vermagic.h>
+#include <linux/compiler.h>
+
+BUILD_SALT;
+
+MODULE_INFO(vermagic, VERMAGIC_STRING);
+MODULE_INFO(name, KBUILD_MODNAME);
+
+__visible struct module __this_module
+__attribute__((section(".gnu.linkonce.this_module"))) = {
+	.name = KBUILD_MODNAME,
+	.init = init_module,
+#ifdef CONFIG_MODULE_UNLOAD
+	.exit = cleanup_module,
+#endif
+	.arch = MODULE_ARCH_INIT,
+};
+
+#ifdef CONFIG_RETPOLINE
+MODULE_INFO(retpoline, "Y");
+#endif
+
+static const struct modversion_info ____versions[]
+__used
+__attribute__((section("__versions"))) = {
+	{ 0xad1a7def, "module_layout" },
+	{ 0x6bc3fbc0, "__unregister_chrdev" },
+	{ 0xcfc78319, "__register_chrdev" },
+	{ 0xdb7305a1, "__stack_chk_fail" },
+	{ 0x5f754e5a, "memset" },
+	{ 0x8e865d3c, "arm_delay_ops" },
+	{ 0x28cc25db, "arm_copy_from_user" },
+	{ 0x8f678b07, "__stack_chk_guard" },
+	{ 0x2196324, "__aeabi_idiv" },
+	{ 0xedc03953, "iounmap" },
+	{ 0x2e5810c6, "__aeabi_unwind_cpp_pr1" },
+	{ 0xe97c4103, "ioremap" },
+	{ 0x7c32d0f0, "printk" },
+	{ 0xb1ad28e0, "__gnu_mcount_nc" },
+};
+
+static const char __module_depends[]
+__used
+__attribute__((section(".modinfo"))) =
+"depends=";
+
+
+MODULE_INFO(srcversion, "B61C6E428A0765CD8942613");
diff --git a/Status/buzzerdriver/buzzer.mod.o b/Status/buzzerdriver/buzzer.mod.o
new file mode 100644
index 0000000000000000000000000000000000000000..cff67304b6bee3b8da98ec8a686141a8f737c738
GIT binary patch
literal 3096
zcmb<-^>JflWMqH=Mg|QA1doB?04G?6)dWmwFz_?*fmzsyq|&OY)FNy$qhg~WfIS3?
zi;~Myi;6Sz^K6~W44utfO^hrY4b06<on0&}O^nP8jTsnHQVUY^Qi^RE@)C1XZK0{G
zEVU>%F+DTc)<n<HQqR&{x6E8yA=o!SAvZrIzBDf<KQRTwgc@F~;27jvX0A|RRA!+7
zatRv)10<a@GBEgL=9N}}1Q{3@-q%X4&CO3K%}I^VNvzB-ErE&?OC9)qI6FSRG_NQ%
zJ+rtZwJ1J0qbMb{j9BdqlFi4@$H$Yan}J~=Yw_*)_~Mep<m~w5jO_Td#LOI`EoWe0
zi1I6q&rQuOP9@djP)lrL+xilVa^q7{a}q1#^9zch;>1$7RnKUE^e5*RRK}+j<>$ti
z7L!t@uy?2TBl|zSG_fd!Sj!n07*vuand0LUQxlUi<1<q-iH|s_9l@3d-e%^P=H(_9
zKt)KSjtNBQ#Y62c%`4B$ONmb|D2Oj8G9=C%X2+VBnfXPj<l6t?f>BLDQD$CAHgWc$
zt9qcZc4K^edR}RKZgPHUUP*jjGP)A{e0OJOD+P_9#NvXa%)~qe3q4~!16?!iqJm6A
zO$d*{(SU)00USjPjA{%F46Nq5jtp#E?2a6aoJ?FyLQEozqKx9q5{#0JQcQA8O33vY
z%yMKg7KV@iVd5Z~8B#KUm|)DzzyzjY1TzCOj0vWh8CcM2MHa9)j9_M9Lz8D?5QIu9
zgUcZ{1}#w9V_;waRkw@`Yz)>63=Fyq3=BL_c|QgQ21^D81{)|JsvS%*Gq9tX&(4qv
zmSJF!0IO$*@*os50|%OV4u)Ka6hi|us9fZL@*os50~dq=C7HplgmM@d7?>Hj8LFUM
z2POsvK?W9v4k#Z)2{14)OaU>V7{q6Q6ytii`6+tI3@RxM@$sR4o`IpR@t!X6h)TiG
zh#@{6S{_5I0Th*>8o|&IMF>_g7#c9d=jE5A#+xz3$H&LRDguW1_>zpwVyK}EnR%Hd
zFm`fIYGPh#0gTIVgMop8Nt}U!g^7WI2^5fe#g(}wiAfB4#U(`$Is?WkNv$Yh&`U`y
zNo3GVDlTTwD@x7LOV2CS%gM~k&d*Cu)kC%w<n7G7w0s6VkPG!76%dje^^)^*b5rw5
zpz`j1p}OEAok7nr$X741q@*Y_sk9`Ogu+!CoDLWmK=mFd8X)aC5DS7~`9Tq?4wk}k
zsZ(cQU;w2OLh3+S6=XI{odW{{11OC^Y-L~o@j+}IXxfMIWjGlaK<NaO{z173ghBRs
zLEQ(-kqt}?45c6gpcteM#0+L&U;w3hn7SWKkh}nr17VoDcr^0_m>Ix%0Hg+lVd}D=
z>OlShiBDi-U{C=upcv#w5C%mFh=vL?Y=H$hQ~)N|49+(U@Ja%t4!MYjsRPk4KY)yQ
z!N$NafsuiMmw|ynjDdjx<UUY1aYD=kDFNdO4hDwBU>1Y`nFC^h${ko-fcQF`3=ES&
J3@C=F0|0SjB`p8|

literal 0
HcmV?d00001

diff --git a/Status/buzzerdriver/buzzer.o b/Status/buzzerdriver/buzzer.o
new file mode 100644
index 0000000000000000000000000000000000000000..472f629e864b6302c8b485719f6741fb5624da92
GIT binary patch
literal 6840
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

literal 0
HcmV?d00001

diff --git a/Status/buzzerdriver/chat b/Status/buzzerdriver/chat
new file mode 100755
index 0000000000000000000000000000000000000000..d5b0985e62a3a6220741866896f9f3eb0b8d48bf
GIT binary patch
literal 13084
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

literal 0
HcmV?d00001

diff --git a/Status/buzzerdriver/modules.order b/Status/buzzerdriver/modules.order
new file mode 100644
index 0000000..44483e8
--- /dev/null
+++ b/Status/buzzerdriver/modules.order
@@ -0,0 +1 @@
+kernel//home/pi/Desktop/info_pi/buzzerdriver/buzzer.ko
diff --git a/Status/buzzerdriver/script.sh b/Status/buzzerdriver/script.sh
new file mode 100755
index 0000000..6d85fd0
--- /dev/null
+++ b/Status/buzzerdriver/script.sh
@@ -0,0 +1,6 @@
+sudo rmmod buzzer
+make clean
+make
+sudo insmod buzzer.ko
+rm app
+gcc -o app app.c
diff --git a/Status/lcdapp.c b/Status/lcdapp.c
new file mode 100644
index 0000000..b6ce0e6
--- /dev/null
+++ b/Status/lcdapp.c
@@ -0,0 +1,120 @@
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <string.h>
+#include <fcntl.h>
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/ioctl.h>
+#include <sys/sysmacros.h>
+
+#include "lcdapp.h"
+
+
+#define CMD 0
+#define DATA 1
+
+char address; 
+int LCD;
+dev_t lcd_dev;
+
+
+void lcd_write_byte(unsigned char data, int LCD) {
+   unsigned char byte[1];
+   byte[0] = data;
+   write(LCD, byte, sizeof(byte)); 
+   usleep(1000);
+}
+
+void lcd_write(unsigned char receiveData, int LCD, int case_){
+	unsigned char control_1 = 0x00, control_2 = 0x00;
+	unsigned char data_1 = 0x00, data_2 = 0x00;
+	switch(case_){
+		case 0:
+			control_1 = receiveData & 0xF0;
+			control_2 = (receiveData & 0x0F) << 4;
+			usleep(40);
+			control_1 &= ~(8); // BL=0,RS=0,RW=0
+			control_1 &= ~(1);
+			control_1 &= ~(2);
+			control_1 |= (4); // EN = 1
+			lcd_write_byte(control_1, LCD);
+			control_1 &= ~(4); // EN = 0
+			lcd_write_byte(control_1, LCD);
+		
+			control_2 &= ~(8); // BL=0,RS=0,RW=0
+			control_2 &= ~(1);
+			control_2 &= ~(2);
+			control_2 |= (4); // EN = 1
+			lcd_write_byte(control_2, LCD);
+			control_2 &= ~(4); // EN = 0
+			lcd_write_byte(control_2, LCD);
+			break;
+		case 1:
+			data_1 = receiveData & 0xF0;
+			data_2 = (receiveData & 0x0F) << 4;
+			usleep(40);
+			
+			data_1 |= (8); // BL=1,RS=1,EN=1
+			data_1 |= (1);
+			data_1 &= ~(2); // RW=0
+			data_1 |= (4);
+			
+			lcd_write_byte(data_1, LCD);
+			data_1 &= ~(4); // EN=0
+			lcd_write_byte(data_1, LCD);
+			
+			data_2 |= (8); // BL=1,RS=1,EN=1
+			data_2 |= (1);
+			data_2 &= ~(2); // RW=0
+			data_2 |= (4);
+			
+			lcd_write_byte(data_2, LCD);
+			data_2 &= ~(4); // EN=0
+			lcd_write_byte(data_2, LCD);
+			break;
+	}
+}
+
+void lcd_display_init(int LCD){
+   usleep(15000);             
+   lcd_write_byte(0b00110100, LCD); // <COMMAND/WRITE> lcd display init
+   lcd_write_byte(0b00110000, LCD); 
+   usleep(5000);
+   lcd_write_byte(0b00110100, LCD); 
+   lcd_write_byte(0b00110000, LCD); 
+   usleep(100);               
+   lcd_write_byte(0b00110100, LCD); 
+   lcd_write_byte(0b00110000, LCD); // <COMMAND/WRITE> 8-bit mode init
+   usleep(5000);             
+   lcd_write_byte(0b00100100, LCD); 
+   lcd_write_byte(0b00100000, LCD); // <COMMAND/WRITE> switched to 4-bit mode
+
+   lcd_write(0x28, LCD, CMD); // <COMMAND/WRITE> configuring function set. Data bus = 0x28(D3 : 2 lines, D2 : 5X8 char)
+   lcd_write(0x08, LCD, CMD); // <COMMAND/WRITE> display off. Data bus = 0x08 (D2 : display off, D1 : cusror off, D0 : cusror blink)
+   lcd_write(0b00001110, LCD, CMD); // <COMMAND/WRITE> display on. Data bus = 0x0E (D3 : 1, D2 : display on, D1 : cursor on, D0 : cursor blink)
+}
+
+	
+void lcd_clear(int LCD){
+	lcd_write(0x01, LCD, CMD); // <COMMAND/WRITE> display clear, cursor home. Data bus = 0x01;
+}
+
+	
+void lcd_print(char* input, int row, int col, int LCD){
+	unsigned char hex_;
+	lcd_write(0x06, LCD, CMD); // <COMMAND/WRITE> set cursor direction. print left to right.
+	//lcd_set_cursor(row, col, LCD);
+	unsigned char cursor_com = 0x00;
+	cursor_com = 0x80 | (col + row * 0x40);
+	lcd_write(cursor_com, LCD, CMD);
+	for(int i = 0; i < strlen(input); i++){
+		hex_=0x00;
+		hex_ = 0xFF & input[i];
+		lcd_write(hex_, LCD, DATA); // <DATA/WRITE> write input to LCD
+	}
+}
+
diff --git a/Status/lcdapp.h b/Status/lcdapp.h
new file mode 100644
index 0000000..a48eade
--- /dev/null
+++ b/Status/lcdapp.h
@@ -0,0 +1,29 @@
+#ifndef BCM2835_H
+#define BCM2835_H
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <string.h>
+#include <fcntl.h>
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/ioctl.h>
+#include <sys/sysmacros.h>
+
+
+#define LCD_RS		0 // LCD RS : 0 = command, 1 = data
+#define LCD_RW		1 // LCD R/W : 0 = write, 1 = read
+#define LCD_EN		2 // LCD EN : 0 = disable, 1 = enable
+#define LCD_BL 		3 // LCD BL : 0 = backlight off, 1 = backlight on
+
+extern void lcd_write_byte(unsigned char data, int LCD);
+extern void lcd_write(unsigned char command, int LCD, int case_);
+extern void lcd_display_init(int LCD);
+extern void lcd_clear(int LCD);
+extern void lcd_print(char* input, int row, int col, int LCD);
+
+
+#endif
diff --git a/Status/lcddriver/.lcddriver.ko.cmd b/Status/lcddriver/.lcddriver.ko.cmd
new file mode 100644
index 0000000..6eca425
--- /dev/null
+++ b/Status/lcddriver/.lcddriver.ko.cmd
@@ -0,0 +1 @@
+cmd_/home/pi/Desktop/info_pi/lcddriver/lcddriver.ko := ld -r  -EL -T ./scripts/module-common.lds -T ./arch/arm/kernel/module.lds  --build-id  -o /home/pi/Desktop/info_pi/lcddriver/lcddriver.ko /home/pi/Desktop/info_pi/lcddriver/lcddriver.o /home/pi/Desktop/info_pi/lcddriver/lcddriver.mod.o ;  true
diff --git a/Status/lcddriver/.lcddriver.mod.o.cmd b/Status/lcddriver/.lcddriver.mod.o.cmd
new file mode 100644
index 0000000..e1ca101
--- /dev/null
+++ b/Status/lcddriver/.lcddriver.mod.o.cmd
@@ -0,0 +1,499 @@
+cmd_/home/pi/Desktop/info_pi/lcddriver/lcddriver.mod.o := gcc -Wp,-MD,/home/pi/Desktop/info_pi/lcddriver/.lcddriver.mod.o.d  -nostdinc -isystem /usr/lib/gcc/arm-linux-gnueabihf/8/include -I./arch/arm/include -I./arch/arm/include/generated  -I./include -I./arch/arm/include/uapi -I./arch/arm/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -fno-ipa-sra -mabi=aapcs-linux -mfpu=vfp -funwind-tables -marm -Wa,-mno-warn-deprecated -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-int-in-bool-context -O2 --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -Wdeclaration-after-statement -Wno-pointer-sign -Wno-stringop-truncation -fno-strict-overflow -fno-merge-all-constants -fmerge-constants -fno-stack-check -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -fmacro-prefix-map=./= -Wno-packed-not-aligned  -DKBUILD_BASENAME='"lcddriver.mod"' -DKBUILD_MODNAME='"lcddriver"' -DMODULE  -c -o /home/pi/Desktop/info_pi/lcddriver/lcddriver.mod.o /home/pi/Desktop/info_pi/lcddriver/lcddriver.mod.c
+
+source_/home/pi/Desktop/info_pi/lcddriver/lcddriver.mod.o := /home/pi/Desktop/info_pi/lcddriver/lcddriver.mod.c
+
+deps_/home/pi/Desktop/info_pi/lcddriver/lcddriver.mod.o := \
+    $(wildcard include/config/module/unload.h) \
+    $(wildcard include/config/retpoline.h) \
+  include/linux/kconfig.h \
+    $(wildcard include/config/cpu/big/endian.h) \
+    $(wildcard include/config/booger.h) \
+    $(wildcard include/config/foo.h) \
+  include/linux/compiler_types.h \
+    $(wildcard include/config/have/arch/compiler/h.h) \
+    $(wildcard include/config/enable/must/check.h) \
+    $(wildcard include/config/arch/supports/optimized/inlining.h) \
+    $(wildcard include/config/optimize/inlining.h) \
+  include/linux/compiler-gcc.h \
+    $(wildcard include/config/arch/use/builtin/bswap.h) \
+  include/linux/build-salt.h \
+    $(wildcard include/config/build/salt.h) \
+  include/linux/elfnote.h \
+  include/linux/elf.h \
+  arch/arm/include/asm/elf.h \
+    $(wildcard include/config/mmu.h) \
+    $(wildcard include/config/vdso.h) \
+  arch/arm/include/asm/auxvec.h \
+  arch/arm/include/uapi/asm/auxvec.h \
+  arch/arm/include/asm/hwcap.h \
+  arch/arm/include/uapi/asm/hwcap.h \
+  arch/arm/include/asm/vdso_datapage.h \
+  arch/arm/include/asm/page.h \
+    $(wildcard include/config/cpu/copy/v4wt.h) \
+    $(wildcard include/config/cpu/copy/v4wb.h) \
+    $(wildcard include/config/cpu/copy/feroceon.h) \
+    $(wildcard include/config/cpu/copy/fa.h) \
+    $(wildcard include/config/cpu/sa1100.h) \
+    $(wildcard include/config/cpu/xscale.h) \
+    $(wildcard include/config/cpu/xsc3.h) \
+    $(wildcard include/config/cpu/copy/v6.h) \
+    $(wildcard include/config/kuser/helpers.h) \
+    $(wildcard include/config/arm/lpae.h) \
+    $(wildcard include/config/have/arch/pfn/valid.h) \
+  arch/arm/include/asm/glue.h \
+  arch/arm/include/asm/pgtable-2level-types.h \
+  arch/arm/include/uapi/asm/types.h \
+  include/asm-generic/int-ll64.h \
+  include/uapi/asm-generic/int-ll64.h \
+  arch/arm/include/generated/uapi/asm/bitsperlong.h \
+  include/asm-generic/bitsperlong.h \
+    $(wildcard include/config/64bit.h) \
+  include/uapi/asm-generic/bitsperlong.h \
+  arch/arm/include/asm/memory.h \
+    $(wildcard include/config/need/mach/memory/h.h) \
+    $(wildcard include/config/page/offset.h) \
+    $(wildcard include/config/thumb2/kernel.h) \
+    $(wildcard include/config/highmem.h) \
+    $(wildcard include/config/smp.h) \
+    $(wildcard include/config/dram/base.h) \
+    $(wildcard include/config/dram/size.h) \
+    $(wildcard include/config/xip/kernel.h) \
+    $(wildcard include/config/have/tcm.h) \
+    $(wildcard include/config/arm/patch/phys/virt.h) \
+    $(wildcard include/config/phys/offset.h) \
+    $(wildcard include/config/xip/phys/addr.h) \
+    $(wildcard include/config/debug/virtual.h) \
+  include/linux/compiler.h \
+    $(wildcard include/config/trace/branch/profiling.h) \
+    $(wildcard include/config/profile/all/branches.h) \
+    $(wildcard include/config/stack/validation.h) \
+    $(wildcard include/config/kasan.h) \
+  include/linux/compiler_types.h \
+  include/uapi/linux/types.h \
+  include/uapi/linux/posix_types.h \
+  include/linux/stddef.h \
+  include/uapi/linux/stddef.h \
+  arch/arm/include/uapi/asm/posix_types.h \
+  include/uapi/asm-generic/posix_types.h \
+  arch/arm/include/asm/barrier.h \
+    $(wildcard include/config/cpu/32v6k.h) \
+    $(wildcard include/config/cpu/fa526.h) \
+    $(wildcard include/config/arm/heavy/mb.h) \
+    $(wildcard include/config/arm/dma/mem/bufferable.h) \
+    $(wildcard include/config/cpu/spectre.h) \
+  include/asm-generic/barrier.h \
+  include/linux/kasan-checks.h \
+  include/linux/const.h \
+  include/uapi/linux/const.h \
+  include/linux/types.h \
+    $(wildcard include/config/have/uid16.h) \
+    $(wildcard include/config/uid16.h) \
+    $(wildcard include/config/lbdaf.h) \
+    $(wildcard include/config/arch/dma/addr/t/64bit.h) \
+    $(wildcard include/config/phys/addr/t/64bit.h) \
+  include/linux/sizes.h \
+  include/asm-generic/memory_model.h \
+    $(wildcard include/config/flatmem.h) \
+    $(wildcard include/config/discontigmem.h) \
+    $(wildcard include/config/sparsemem/vmemmap.h) \
+    $(wildcard include/config/sparsemem.h) \
+  include/linux/pfn.h \
+  include/asm-generic/getorder.h \
+  include/linux/log2.h \
+    $(wildcard include/config/arch/has/ilog2/u32.h) \
+    $(wildcard include/config/arch/has/ilog2/u64.h) \
+  include/linux/bitops.h \
+  include/linux/bits.h \
+  arch/arm/include/asm/bitops.h \
+  include/linux/irqflags.h \
+    $(wildcard include/config/prove/locking.h) \
+    $(wildcard include/config/trace/irqflags.h) \
+    $(wildcard include/config/irqsoff/tracer.h) \
+    $(wildcard include/config/preempt/tracer.h) \
+    $(wildcard include/config/trace/irqflags/support.h) \
+  include/linux/typecheck.h \
+  arch/arm/include/asm/irqflags.h \
+    $(wildcard include/config/cpu/v7m.h) \
+  arch/arm/include/asm/ptrace.h \
+    $(wildcard include/config/arm/thumb.h) \
+  arch/arm/include/uapi/asm/ptrace.h \
+    $(wildcard include/config/cpu/endian/be8.h) \
+  include/asm-generic/irqflags.h \
+  include/asm-generic/bitops/non-atomic.h \
+  include/asm-generic/bitops/builtin-__fls.h \
+  include/asm-generic/bitops/builtin-__ffs.h \
+  include/asm-generic/bitops/builtin-fls.h \
+  include/asm-generic/bitops/builtin-ffs.h \
+  include/asm-generic/bitops/ffz.h \
+  include/asm-generic/bitops/fls64.h \
+  include/asm-generic/bitops/sched.h \
+  include/asm-generic/bitops/hweight.h \
+  include/asm-generic/bitops/arch_hweight.h \
+  include/asm-generic/bitops/const_hweight.h \
+  include/asm-generic/bitops/lock.h \
+  include/linux/atomic.h \
+    $(wildcard include/config/generic/atomic64.h) \
+  arch/arm/include/asm/atomic.h \
+  include/linux/prefetch.h \
+  arch/arm/include/asm/processor.h \
+    $(wildcard include/config/have/hw/breakpoint.h) \
+    $(wildcard include/config/binfmt/elf/fdpic.h) \
+    $(wildcard include/config/arm/errata/754327.h) \
+  arch/arm/include/asm/hw_breakpoint.h \
+  arch/arm/include/asm/unified.h \
+  arch/arm/include/asm/cache.h \
+    $(wildcard include/config/arm/l1/cache/shift.h) \
+    $(wildcard include/config/aeabi.h) \
+  arch/arm/include/asm/cmpxchg.h \
+    $(wildcard include/config/cpu/sa110.h) \
+    $(wildcard include/config/cpu/v6.h) \
+  include/asm-generic/cmpxchg-local.h \
+  include/asm-generic/atomic-long.h \
+  include/asm-generic/bitops/find.h \
+    $(wildcard include/config/generic/find/first/bit.h) \
+  include/asm-generic/bitops/le.h \
+  arch/arm/include/uapi/asm/byteorder.h \
+  include/linux/byteorder/little_endian.h \
+  include/uapi/linux/byteorder/little_endian.h \
+  include/linux/swab.h \
+  include/uapi/linux/swab.h \
+  arch/arm/include/asm/swab.h \
+  arch/arm/include/uapi/asm/swab.h \
+  include/linux/byteorder/generic.h \
+  include/asm-generic/bitops/ext2-atomic-setbit.h \
+  arch/arm/include/asm/user.h \
+  include/uapi/linux/elf.h \
+  include/uapi/linux/elf-em.h \
+  include/linux/module.h \
+    $(wildcard include/config/modules.h) \
+    $(wildcard include/config/sysfs.h) \
+    $(wildcard include/config/modules/tree/lookup.h) \
+    $(wildcard include/config/livepatch.h) \
+    $(wildcard include/config/unused/symbols.h) \
+    $(wildcard include/config/module/sig.h) \
+    $(wildcard include/config/generic/bug.h) \
+    $(wildcard include/config/kallsyms.h) \
+    $(wildcard include/config/tracepoints.h) \
+    $(wildcard include/config/jump/label.h) \
+    $(wildcard include/config/tracing.h) \
+    $(wildcard include/config/event/tracing.h) \
+    $(wildcard include/config/ftrace/mcount/record.h) \
+    $(wildcard include/config/constructors.h) \
+    $(wildcard include/config/function/error/injection.h) \
+    $(wildcard include/config/strict/module/rwx.h) \
+  include/linux/list.h \
+    $(wildcard include/config/debug/list.h) \
+  include/linux/poison.h \
+    $(wildcard include/config/illegal/pointer/value.h) \
+    $(wildcard include/config/page/poisoning/zero.h) \
+  include/linux/kernel.h \
+    $(wildcard include/config/preempt/voluntary.h) \
+    $(wildcard include/config/debug/atomic/sleep.h) \
+    $(wildcard include/config/arch/has/refcount.h) \
+    $(wildcard include/config/panic/timeout.h) \
+  /usr/lib/gcc/arm-linux-gnueabihf/8/include/stdarg.h \
+  include/linux/linkage.h \
+  include/linux/stringify.h \
+  include/linux/export.h \
+    $(wildcard include/config/modversions.h) \
+    $(wildcard include/config/module/rel/crcs.h) \
+    $(wildcard include/config/have/arch/prel32/relocations.h) \
+    $(wildcard include/config/trim/unused/ksyms.h) \
+  arch/arm/include/asm/linkage.h \
+  include/linux/printk.h \
+    $(wildcard include/config/message/loglevel/default.h) \
+    $(wildcard include/config/console/loglevel/default.h) \
+    $(wildcard include/config/console/loglevel/quiet.h) \
+    $(wildcard include/config/early/printk.h) \
+    $(wildcard include/config/printk/nmi.h) \
+    $(wildcard include/config/printk.h) \
+    $(wildcard include/config/dynamic/debug.h) \
+  include/linux/init.h \
+    $(wildcard include/config/strict/kernel/rwx.h) \
+  include/linux/kern_levels.h \
+  include/linux/cache.h \
+    $(wildcard include/config/arch/has/cache/line/size.h) \
+  include/uapi/linux/kernel.h \
+  include/uapi/linux/sysinfo.h \
+  include/linux/build_bug.h \
+  arch/arm/include/asm/div64.h \
+  arch/arm/include/asm/compiler.h \
+  include/asm-generic/div64.h \
+  include/linux/stat.h \
+  arch/arm/include/uapi/asm/stat.h \
+  include/uapi/linux/stat.h \
+  include/linux/time.h \
+    $(wildcard include/config/arch/uses/gettimeoffset.h) \
+  include/linux/seqlock.h \
+    $(wildcard include/config/debug/lock/alloc.h) \
+  include/linux/spinlock.h \
+    $(wildcard include/config/debug/spinlock.h) \
+    $(wildcard include/config/preempt.h) \
+  include/linux/preempt.h \
+    $(wildcard include/config/preempt/count.h) \
+    $(wildcard include/config/debug/preempt.h) \
+    $(wildcard include/config/trace/preempt/toggle.h) \
+    $(wildcard include/config/preempt/notifiers.h) \
+  arch/arm/include/generated/asm/preempt.h \
+  include/asm-generic/preempt.h \
+  include/linux/thread_info.h \
+    $(wildcard include/config/thread/info/in/task.h) \
+    $(wildcard include/config/have/arch/within/stack/frames.h) \
+    $(wildcard include/config/hardened/usercopy.h) \
+  include/linux/bug.h \
+    $(wildcard include/config/bug/on/data/corruption.h) \
+  arch/arm/include/asm/bug.h \
+    $(wildcard include/config/debug/bugverbose.h) \
+  arch/arm/include/asm/opcodes.h \
+    $(wildcard include/config/cpu/endian/be32.h) \
+  include/asm-generic/bug.h \
+    $(wildcard include/config/bug.h) \
+    $(wildcard include/config/generic/bug/relative/pointers.h) \
+  include/linux/restart_block.h \
+  include/linux/time64.h \
+    $(wildcard include/config/64bit/time.h) \
+  include/linux/math64.h \
+    $(wildcard include/config/arch/supports/int128.h) \
+  include/uapi/linux/time.h \
+  arch/arm/include/asm/thread_info.h \
+    $(wildcard include/config/crunch.h) \
+    $(wildcard include/config/arm/thumbee.h) \
+  arch/arm/include/asm/fpstate.h \
+    $(wildcard include/config/vfpv3.h) \
+    $(wildcard include/config/iwmmxt.h) \
+  include/linux/bottom_half.h \
+  include/linux/spinlock_types.h \
+  arch/arm/include/asm/spinlock_types.h \
+  include/linux/lockdep.h \
+    $(wildcard include/config/lockdep.h) \
+    $(wildcard include/config/lock/stat.h) \
+  include/linux/rwlock_types.h \
+  arch/arm/include/asm/spinlock.h \
+  include/linux/rwlock.h \
+  include/linux/spinlock_api_smp.h \
+    $(wildcard include/config/inline/spin/lock.h) \
+    $(wildcard include/config/inline/spin/lock/bh.h) \
+    $(wildcard include/config/inline/spin/lock/irq.h) \
+    $(wildcard include/config/inline/spin/lock/irqsave.h) \
+    $(wildcard include/config/inline/spin/trylock.h) \
+    $(wildcard include/config/inline/spin/trylock/bh.h) \
+    $(wildcard include/config/uninline/spin/unlock.h) \
+    $(wildcard include/config/inline/spin/unlock/bh.h) \
+    $(wildcard include/config/inline/spin/unlock/irq.h) \
+    $(wildcard include/config/inline/spin/unlock/irqrestore.h) \
+    $(wildcard include/config/generic/lockbreak.h) \
+  include/linux/rwlock_api_smp.h \
+    $(wildcard include/config/inline/read/lock.h) \
+    $(wildcard include/config/inline/write/lock.h) \
+    $(wildcard include/config/inline/read/lock/bh.h) \
+    $(wildcard include/config/inline/write/lock/bh.h) \
+    $(wildcard include/config/inline/read/lock/irq.h) \
+    $(wildcard include/config/inline/write/lock/irq.h) \
+    $(wildcard include/config/inline/read/lock/irqsave.h) \
+    $(wildcard include/config/inline/write/lock/irqsave.h) \
+    $(wildcard include/config/inline/read/trylock.h) \
+    $(wildcard include/config/inline/write/trylock.h) \
+    $(wildcard include/config/inline/read/unlock.h) \
+    $(wildcard include/config/inline/write/unlock.h) \
+    $(wildcard include/config/inline/read/unlock/bh.h) \
+    $(wildcard include/config/inline/write/unlock/bh.h) \
+    $(wildcard include/config/inline/read/unlock/irq.h) \
+    $(wildcard include/config/inline/write/unlock/irq.h) \
+    $(wildcard include/config/inline/read/unlock/irqrestore.h) \
+    $(wildcard include/config/inline/write/unlock/irqrestore.h) \
+  include/linux/time32.h \
+  include/linux/uidgid.h \
+    $(wildcard include/config/multiuser.h) \
+    $(wildcard include/config/user/ns.h) \
+  include/linux/highuid.h \
+  include/linux/kmod.h \
+  include/linux/umh.h \
+  include/linux/gfp.h \
+    $(wildcard include/config/zone/dma.h) \
+    $(wildcard include/config/zone/dma32.h) \
+    $(wildcard include/config/zone/device.h) \
+    $(wildcard include/config/numa.h) \
+    $(wildcard include/config/pm/sleep.h) \
+    $(wildcard include/config/memory/isolation.h) \
+    $(wildcard include/config/compaction.h) \
+    $(wildcard include/config/cma.h) \
+  include/linux/mmdebug.h \
+    $(wildcard include/config/debug/vm.h) \
+    $(wildcard include/config/debug/vm/pgflags.h) \
+  include/linux/mmzone.h \
+    $(wildcard include/config/force/max/zoneorder.h) \
+    $(wildcard include/config/zsmalloc.h) \
+    $(wildcard include/config/memcg.h) \
+    $(wildcard include/config/memory/hotplug.h) \
+    $(wildcard include/config/flat/node/mem/map.h) \
+    $(wildcard include/config/page/extension.h) \
+    $(wildcard include/config/no/bootmem.h) \
+    $(wildcard include/config/deferred/struct/page/init.h) \
+    $(wildcard include/config/transparent/hugepage.h) \
+    $(wildcard include/config/have/memory/present.h) \
+    $(wildcard include/config/have/memoryless/nodes.h) \
+    $(wildcard include/config/have/memblock/node/map.h) \
+    $(wildcard include/config/need/multiple/nodes.h) \
+    $(wildcard include/config/have/arch/early/pfn/to/nid.h) \
+    $(wildcard include/config/sparsemem/extreme.h) \
+    $(wildcard include/config/memory/hotremove.h) \
+    $(wildcard include/config/holes/in/zone.h) \
+    $(wildcard include/config/arch/has/holes/memorymodel.h) \
+  include/linux/wait.h \
+  arch/arm/include/generated/asm/current.h \
+  include/asm-generic/current.h \
+  include/uapi/linux/wait.h \
+  include/linux/threads.h \
+    $(wildcard include/config/nr/cpus.h) \
+    $(wildcard include/config/base/small.h) \
+  include/linux/numa.h \
+    $(wildcard include/config/nodes/shift.h) \
+  include/linux/nodemask.h \
+  include/linux/bitmap.h \
+  include/linux/string.h \
+    $(wildcard include/config/binary/printf.h) \
+    $(wildcard include/config/fortify/source.h) \
+  include/uapi/linux/string.h \
+  arch/arm/include/asm/string.h \
+    $(wildcard include/config/bcm2835/fast/memcpy.h) \
+  include/linux/pageblock-flags.h \
+    $(wildcard include/config/hugetlb/page.h) \
+    $(wildcard include/config/hugetlb/page/size/variable.h) \
+  include/linux/page-flags-layout.h \
+    $(wildcard include/config/numa/balancing.h) \
+  include/generated/bounds.h \
+  include/linux/memory_hotplug.h \
+    $(wildcard include/config/arch/has/add/pages.h) \
+    $(wildcard include/config/have/arch/nodedata/extension.h) \
+    $(wildcard include/config/have/bootmem/info/node.h) \
+  include/linux/notifier.h \
+    $(wildcard include/config/tree/srcu.h) \
+  include/linux/errno.h \
+  include/uapi/linux/errno.h \
+  arch/arm/include/generated/uapi/asm/errno.h \
+  include/uapi/asm-generic/errno.h \
+  include/uapi/asm-generic/errno-base.h \
+  include/linux/mutex.h \
+    $(wildcard include/config/mutex/spin/on/owner.h) \
+    $(wildcard include/config/debug/mutexes.h) \
+  include/linux/osq_lock.h \
+  include/linux/debug_locks.h \
+    $(wildcard include/config/debug/locking/api/selftests.h) \
+  include/linux/rwsem.h \
+    $(wildcard include/config/rwsem/spin/on/owner.h) \
+    $(wildcard include/config/rwsem/generic/spinlock.h) \
+  include/linux/err.h \
+  arch/arm/include/generated/asm/rwsem.h \
+  include/asm-generic/rwsem.h \
+  include/linux/srcu.h \
+    $(wildcard include/config/tiny/srcu.h) \
+    $(wildcard include/config/srcu.h) \
+  include/linux/rcupdate.h \
+    $(wildcard include/config/preempt/rcu.h) \
+    $(wildcard include/config/rcu/stall/common.h) \
+    $(wildcard include/config/no/hz/full.h) \
+    $(wildcard include/config/rcu/nocb/cpu.h) \
+    $(wildcard include/config/tasks/rcu.h) \
+    $(wildcard include/config/tree/rcu.h) \
+    $(wildcard include/config/tiny/rcu.h) \
+    $(wildcard include/config/debug/objects/rcu/head.h) \
+    $(wildcard include/config/hotplug/cpu.h) \
+    $(wildcard include/config/prove/rcu.h) \
+    $(wildcard include/config/rcu/boost.h) \
+    $(wildcard include/config/arch/weak/release/acquire.h) \
+  include/linux/cpumask.h \
+    $(wildcard include/config/cpumask/offstack.h) \
+    $(wildcard include/config/debug/per/cpu/maps.h) \
+  include/linux/rcutree.h \
+  include/linux/workqueue.h \
+    $(wildcard include/config/debug/objects/work.h) \
+    $(wildcard include/config/freezer.h) \
+    $(wildcard include/config/wq/watchdog.h) \
+  include/linux/timer.h \
+    $(wildcard include/config/debug/objects/timers.h) \
+    $(wildcard include/config/no/hz/common.h) \
+  include/linux/ktime.h \
+  include/linux/jiffies.h \
+  include/linux/timex.h \
+  include/uapi/linux/timex.h \
+  include/uapi/linux/param.h \
+  arch/arm/include/generated/uapi/asm/param.h \
+  include/asm-generic/param.h \
+    $(wildcard include/config/hz.h) \
+  include/uapi/asm-generic/param.h \
+  arch/arm/include/asm/timex.h \
+  include/generated/timeconst.h \
+  include/linux/timekeeping.h \
+  include/linux/timekeeping32.h \
+  include/linux/debugobjects.h \
+    $(wildcard include/config/debug/objects.h) \
+    $(wildcard include/config/debug/objects/free.h) \
+  include/linux/rcu_segcblist.h \
+  include/linux/srcutree.h \
+  include/linux/rcu_node_tree.h \
+    $(wildcard include/config/rcu/fanout.h) \
+    $(wildcard include/config/rcu/fanout/leaf.h) \
+  include/linux/completion.h \
+  include/linux/topology.h \
+    $(wildcard include/config/use/percpu/numa/node/id.h) \
+    $(wildcard include/config/sched/smt.h) \
+  include/linux/smp.h \
+    $(wildcard include/config/up/late/init.h) \
+  include/linux/llist.h \
+    $(wildcard include/config/arch/have/nmi/safe/cmpxchg.h) \
+  arch/arm/include/asm/smp.h \
+  include/linux/percpu.h \
+    $(wildcard include/config/need/per/cpu/embed/first/chunk.h) \
+    $(wildcard include/config/need/per/cpu/page/first/chunk.h) \
+    $(wildcard include/config/have/setup/per/cpu/area.h) \
+  arch/arm/include/asm/percpu.h \
+  include/asm-generic/percpu.h \
+  include/linux/percpu-defs.h \
+    $(wildcard include/config/debug/force/weak/per/cpu.h) \
+    $(wildcard include/config/virtualization.h) \
+    $(wildcard include/config/amd/mem/encrypt.h) \
+  arch/arm/include/asm/topology.h \
+    $(wildcard include/config/arm/cpu/topology.h) \
+  include/linux/arch_topology.h \
+  include/asm-generic/topology.h \
+  include/linux/sysctl.h \
+    $(wildcard include/config/sysctl.h) \
+  include/linux/rbtree.h \
+  include/uapi/linux/sysctl.h \
+  include/linux/kobject.h \
+    $(wildcard include/config/uevent/helper.h) \
+    $(wildcard include/config/debug/kobject/release.h) \
+  include/linux/sysfs.h \
+  include/linux/kernfs.h \
+    $(wildcard include/config/kernfs.h) \
+  include/linux/idr.h \
+  include/linux/radix-tree.h \
+    $(wildcard include/config/radix/tree/multiorder.h) \
+  include/linux/kobject_ns.h \
+  include/linux/kref.h \
+  include/linux/refcount.h \
+    $(wildcard include/config/refcount/full.h) \
+  include/linux/moduleparam.h \
+    $(wildcard include/config/alpha.h) \
+    $(wildcard include/config/ia64.h) \
+    $(wildcard include/config/ppc64.h) \
+  include/linux/jump_label.h \
+  arch/arm/include/asm/jump_label.h \
+  include/linux/rbtree_latch.h \
+  include/linux/error-injection.h \
+  include/asm-generic/error-injection.h \
+  include/linux/tracepoint-defs.h \
+  include/linux/static_key.h \
+  arch/arm/include/asm/module.h \
+    $(wildcard include/config/arm/unwind.h) \
+    $(wildcard include/config/arm/module/plts.h) \
+  include/asm-generic/module.h \
+    $(wildcard include/config/have/mod/arch/specific.h) \
+    $(wildcard include/config/modules/use/elf/rel.h) \
+    $(wildcard include/config/modules/use/elf/rela.h) \
+  include/linux/vermagic.h \
+  include/generated/utsrelease.h \
+
+/home/pi/Desktop/info_pi/lcddriver/lcddriver.mod.o: $(deps_/home/pi/Desktop/info_pi/lcddriver/lcddriver.mod.o)
+
+$(deps_/home/pi/Desktop/info_pi/lcddriver/lcddriver.mod.o):
diff --git a/Status/lcddriver/.lcddriver.o.cmd b/Status/lcddriver/.lcddriver.o.cmd
new file mode 100644
index 0000000..a50cba1
--- /dev/null
+++ b/Status/lcddriver/.lcddriver.o.cmd
@@ -0,0 +1,720 @@
+cmd_/home/pi/Desktop/info_pi/lcddriver/lcddriver.o := gcc -Wp,-MD,/home/pi/Desktop/info_pi/lcddriver/.lcddriver.o.d  -nostdinc -isystem /usr/lib/gcc/arm-linux-gnueabihf/8/include -I./arch/arm/include -I./arch/arm/include/generated  -I./include -I./arch/arm/include/uapi -I./arch/arm/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -fno-ipa-sra -mabi=aapcs-linux -mfpu=vfp -funwind-tables -marm -Wa,-mno-warn-deprecated -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-int-in-bool-context -O2 --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -Wdeclaration-after-statement -Wno-pointer-sign -Wno-stringop-truncation -fno-strict-overflow -fno-merge-all-constants -fmerge-constants -fno-stack-check -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -fmacro-prefix-map=./= -Wno-packed-not-aligned  -DMODULE  -DKBUILD_BASENAME='"lcddriver"' -DKBUILD_MODNAME='"lcddriver"' -c -o /home/pi/Desktop/info_pi/lcddriver/.tmp_lcddriver.o /home/pi/Desktop/info_pi/lcddriver/lcddriver.c
+
+source_/home/pi/Desktop/info_pi/lcddriver/lcddriver.o := /home/pi/Desktop/info_pi/lcddriver/lcddriver.c
+
+deps_/home/pi/Desktop/info_pi/lcddriver/lcddriver.o := \
+  include/linux/kconfig.h \
+    $(wildcard include/config/cpu/big/endian.h) \
+    $(wildcard include/config/booger.h) \
+    $(wildcard include/config/foo.h) \
+  include/linux/compiler_types.h \
+    $(wildcard include/config/have/arch/compiler/h.h) \
+    $(wildcard include/config/enable/must/check.h) \
+    $(wildcard include/config/arch/supports/optimized/inlining.h) \
+    $(wildcard include/config/optimize/inlining.h) \
+  include/linux/compiler-gcc.h \
+    $(wildcard include/config/retpoline.h) \
+    $(wildcard include/config/arch/use/builtin/bswap.h) \
+  include/linux/init.h \
+    $(wildcard include/config/have/arch/prel32/relocations.h) \
+    $(wildcard include/config/strict/kernel/rwx.h) \
+    $(wildcard include/config/strict/module/rwx.h) \
+  include/linux/compiler.h \
+    $(wildcard include/config/trace/branch/profiling.h) \
+    $(wildcard include/config/profile/all/branches.h) \
+    $(wildcard include/config/stack/validation.h) \
+    $(wildcard include/config/kasan.h) \
+  include/linux/compiler_types.h \
+  include/uapi/linux/types.h \
+  arch/arm/include/uapi/asm/types.h \
+  include/asm-generic/int-ll64.h \
+  include/uapi/asm-generic/int-ll64.h \
+  arch/arm/include/generated/uapi/asm/bitsperlong.h \
+  include/asm-generic/bitsperlong.h \
+    $(wildcard include/config/64bit.h) \
+  include/uapi/asm-generic/bitsperlong.h \
+  include/uapi/linux/posix_types.h \
+  include/linux/stddef.h \
+  include/uapi/linux/stddef.h \
+  arch/arm/include/uapi/asm/posix_types.h \
+  include/uapi/asm-generic/posix_types.h \
+  arch/arm/include/asm/barrier.h \
+    $(wildcard include/config/cpu/32v6k.h) \
+    $(wildcard include/config/thumb2/kernel.h) \
+    $(wildcard include/config/cpu/xsc3.h) \
+    $(wildcard include/config/cpu/fa526.h) \
+    $(wildcard include/config/arm/heavy/mb.h) \
+    $(wildcard include/config/arm/dma/mem/bufferable.h) \
+    $(wildcard include/config/smp.h) \
+    $(wildcard include/config/cpu/spectre.h) \
+  include/asm-generic/barrier.h \
+  include/linux/kasan-checks.h \
+  include/linux/types.h \
+    $(wildcard include/config/have/uid16.h) \
+    $(wildcard include/config/uid16.h) \
+    $(wildcard include/config/lbdaf.h) \
+    $(wildcard include/config/arch/dma/addr/t/64bit.h) \
+    $(wildcard include/config/phys/addr/t/64bit.h) \
+  include/linux/kernel.h \
+    $(wildcard include/config/preempt/voluntary.h) \
+    $(wildcard include/config/debug/atomic/sleep.h) \
+    $(wildcard include/config/mmu.h) \
+    $(wildcard include/config/prove/locking.h) \
+    $(wildcard include/config/arch/has/refcount.h) \
+    $(wildcard include/config/panic/timeout.h) \
+    $(wildcard include/config/tracing.h) \
+    $(wildcard include/config/ftrace/mcount/record.h) \
+  /usr/lib/gcc/arm-linux-gnueabihf/8/include/stdarg.h \
+  include/linux/linkage.h \
+  include/linux/stringify.h \
+  include/linux/export.h \
+    $(wildcard include/config/modules.h) \
+    $(wildcard include/config/modversions.h) \
+    $(wildcard include/config/module/rel/crcs.h) \
+    $(wildcard include/config/trim/unused/ksyms.h) \
+    $(wildcard include/config/unused/symbols.h) \
+  arch/arm/include/asm/linkage.h \
+  include/linux/bitops.h \
+  include/linux/bits.h \
+  arch/arm/include/asm/bitops.h \
+  include/linux/irqflags.h \
+    $(wildcard include/config/trace/irqflags.h) \
+    $(wildcard include/config/irqsoff/tracer.h) \
+    $(wildcard include/config/preempt/tracer.h) \
+    $(wildcard include/config/trace/irqflags/support.h) \
+  include/linux/typecheck.h \
+  arch/arm/include/asm/irqflags.h \
+    $(wildcard include/config/cpu/v7m.h) \
+  arch/arm/include/asm/ptrace.h \
+    $(wildcard include/config/arm/thumb.h) \
+  arch/arm/include/uapi/asm/ptrace.h \
+    $(wildcard include/config/cpu/endian/be8.h) \
+  arch/arm/include/asm/hwcap.h \
+  arch/arm/include/uapi/asm/hwcap.h \
+  include/asm-generic/irqflags.h \
+  include/asm-generic/bitops/non-atomic.h \
+  include/asm-generic/bitops/builtin-__fls.h \
+  include/asm-generic/bitops/builtin-__ffs.h \
+  include/asm-generic/bitops/builtin-fls.h \
+  include/asm-generic/bitops/builtin-ffs.h \
+  include/asm-generic/bitops/ffz.h \
+  include/asm-generic/bitops/fls64.h \
+  include/asm-generic/bitops/sched.h \
+  include/asm-generic/bitops/hweight.h \
+  include/asm-generic/bitops/arch_hweight.h \
+  include/asm-generic/bitops/const_hweight.h \
+  include/asm-generic/bitops/lock.h \
+  include/linux/atomic.h \
+    $(wildcard include/config/generic/atomic64.h) \
+  arch/arm/include/asm/atomic.h \
+    $(wildcard include/config/arm/lpae.h) \
+  include/linux/prefetch.h \
+  arch/arm/include/asm/processor.h \
+    $(wildcard include/config/have/hw/breakpoint.h) \
+    $(wildcard include/config/binfmt/elf/fdpic.h) \
+    $(wildcard include/config/arm/errata/754327.h) \
+  arch/arm/include/asm/hw_breakpoint.h \
+  arch/arm/include/asm/unified.h \
+  arch/arm/include/asm/cache.h \
+    $(wildcard include/config/arm/l1/cache/shift.h) \
+    $(wildcard include/config/aeabi.h) \
+  arch/arm/include/asm/cmpxchg.h \
+    $(wildcard include/config/cpu/sa1100.h) \
+    $(wildcard include/config/cpu/sa110.h) \
+    $(wildcard include/config/cpu/v6.h) \
+  include/asm-generic/cmpxchg-local.h \
+  include/asm-generic/atomic-long.h \
+  include/asm-generic/bitops/find.h \
+    $(wildcard include/config/generic/find/first/bit.h) \
+  include/asm-generic/bitops/le.h \
+  arch/arm/include/uapi/asm/byteorder.h \
+  include/linux/byteorder/little_endian.h \
+  include/uapi/linux/byteorder/little_endian.h \
+  include/linux/swab.h \
+  include/uapi/linux/swab.h \
+  arch/arm/include/asm/swab.h \
+  arch/arm/include/uapi/asm/swab.h \
+  include/linux/byteorder/generic.h \
+  include/asm-generic/bitops/ext2-atomic-setbit.h \
+  include/linux/log2.h \
+    $(wildcard include/config/arch/has/ilog2/u32.h) \
+    $(wildcard include/config/arch/has/ilog2/u64.h) \
+  include/linux/printk.h \
+    $(wildcard include/config/message/loglevel/default.h) \
+    $(wildcard include/config/console/loglevel/default.h) \
+    $(wildcard include/config/console/loglevel/quiet.h) \
+    $(wildcard include/config/early/printk.h) \
+    $(wildcard include/config/printk/nmi.h) \
+    $(wildcard include/config/printk.h) \
+    $(wildcard include/config/dynamic/debug.h) \
+  include/linux/kern_levels.h \
+  include/linux/cache.h \
+    $(wildcard include/config/arch/has/cache/line/size.h) \
+  include/uapi/linux/kernel.h \
+  include/uapi/linux/sysinfo.h \
+  include/linux/build_bug.h \
+  arch/arm/include/asm/div64.h \
+  arch/arm/include/asm/compiler.h \
+  include/asm-generic/div64.h \
+  include/linux/module.h \
+    $(wildcard include/config/sysfs.h) \
+    $(wildcard include/config/modules/tree/lookup.h) \
+    $(wildcard include/config/livepatch.h) \
+    $(wildcard include/config/module/sig.h) \
+    $(wildcard include/config/generic/bug.h) \
+    $(wildcard include/config/kallsyms.h) \
+    $(wildcard include/config/tracepoints.h) \
+    $(wildcard include/config/jump/label.h) \
+    $(wildcard include/config/event/tracing.h) \
+    $(wildcard include/config/module/unload.h) \
+    $(wildcard include/config/constructors.h) \
+    $(wildcard include/config/function/error/injection.h) \
+  include/linux/list.h \
+    $(wildcard include/config/debug/list.h) \
+  include/linux/poison.h \
+    $(wildcard include/config/illegal/pointer/value.h) \
+    $(wildcard include/config/page/poisoning/zero.h) \
+  include/linux/const.h \
+  include/uapi/linux/const.h \
+  include/linux/stat.h \
+  arch/arm/include/uapi/asm/stat.h \
+  include/uapi/linux/stat.h \
+  include/linux/time.h \
+    $(wildcard include/config/arch/uses/gettimeoffset.h) \
+  include/linux/seqlock.h \
+    $(wildcard include/config/debug/lock/alloc.h) \
+  include/linux/spinlock.h \
+    $(wildcard include/config/debug/spinlock.h) \
+    $(wildcard include/config/preempt.h) \
+  include/linux/preempt.h \
+    $(wildcard include/config/preempt/count.h) \
+    $(wildcard include/config/debug/preempt.h) \
+    $(wildcard include/config/trace/preempt/toggle.h) \
+    $(wildcard include/config/preempt/notifiers.h) \
+  arch/arm/include/generated/asm/preempt.h \
+  include/asm-generic/preempt.h \
+  include/linux/thread_info.h \
+    $(wildcard include/config/thread/info/in/task.h) \
+    $(wildcard include/config/have/arch/within/stack/frames.h) \
+    $(wildcard include/config/hardened/usercopy.h) \
+  include/linux/bug.h \
+    $(wildcard include/config/bug/on/data/corruption.h) \
+  arch/arm/include/asm/bug.h \
+    $(wildcard include/config/debug/bugverbose.h) \
+  arch/arm/include/asm/opcodes.h \
+    $(wildcard include/config/cpu/endian/be32.h) \
+  include/asm-generic/bug.h \
+    $(wildcard include/config/bug.h) \
+    $(wildcard include/config/generic/bug/relative/pointers.h) \
+  include/linux/restart_block.h \
+  include/linux/time64.h \
+    $(wildcard include/config/64bit/time.h) \
+  include/linux/math64.h \
+    $(wildcard include/config/arch/supports/int128.h) \
+  include/uapi/linux/time.h \
+  arch/arm/include/asm/thread_info.h \
+    $(wildcard include/config/crunch.h) \
+    $(wildcard include/config/arm/thumbee.h) \
+  arch/arm/include/asm/fpstate.h \
+    $(wildcard include/config/vfpv3.h) \
+    $(wildcard include/config/iwmmxt.h) \
+  arch/arm/include/asm/page.h \
+    $(wildcard include/config/cpu/copy/v4wt.h) \
+    $(wildcard include/config/cpu/copy/v4wb.h) \
+    $(wildcard include/config/cpu/copy/feroceon.h) \
+    $(wildcard include/config/cpu/copy/fa.h) \
+    $(wildcard include/config/cpu/xscale.h) \
+    $(wildcard include/config/cpu/copy/v6.h) \
+    $(wildcard include/config/kuser/helpers.h) \
+    $(wildcard include/config/have/arch/pfn/valid.h) \
+  arch/arm/include/asm/glue.h \
+  arch/arm/include/asm/pgtable-2level-types.h \
+  arch/arm/include/asm/memory.h \
+    $(wildcard include/config/need/mach/memory/h.h) \
+    $(wildcard include/config/page/offset.h) \
+    $(wildcard include/config/highmem.h) \
+    $(wildcard include/config/dram/base.h) \
+    $(wildcard include/config/dram/size.h) \
+    $(wildcard include/config/xip/kernel.h) \
+    $(wildcard include/config/have/tcm.h) \
+    $(wildcard include/config/arm/patch/phys/virt.h) \
+    $(wildcard include/config/phys/offset.h) \
+    $(wildcard include/config/xip/phys/addr.h) \
+    $(wildcard include/config/debug/virtual.h) \
+  include/linux/sizes.h \
+  include/asm-generic/memory_model.h \
+    $(wildcard include/config/flatmem.h) \
+    $(wildcard include/config/discontigmem.h) \
+    $(wildcard include/config/sparsemem/vmemmap.h) \
+    $(wildcard include/config/sparsemem.h) \
+  include/linux/pfn.h \
+  include/asm-generic/getorder.h \
+  include/linux/bottom_half.h \
+  include/linux/spinlock_types.h \
+  arch/arm/include/asm/spinlock_types.h \
+  include/linux/lockdep.h \
+    $(wildcard include/config/lockdep.h) \
+    $(wildcard include/config/lock/stat.h) \
+  include/linux/rwlock_types.h \
+  arch/arm/include/asm/spinlock.h \
+  include/linux/rwlock.h \
+  include/linux/spinlock_api_smp.h \
+    $(wildcard include/config/inline/spin/lock.h) \
+    $(wildcard include/config/inline/spin/lock/bh.h) \
+    $(wildcard include/config/inline/spin/lock/irq.h) \
+    $(wildcard include/config/inline/spin/lock/irqsave.h) \
+    $(wildcard include/config/inline/spin/trylock.h) \
+    $(wildcard include/config/inline/spin/trylock/bh.h) \
+    $(wildcard include/config/uninline/spin/unlock.h) \
+    $(wildcard include/config/inline/spin/unlock/bh.h) \
+    $(wildcard include/config/inline/spin/unlock/irq.h) \
+    $(wildcard include/config/inline/spin/unlock/irqrestore.h) \
+    $(wildcard include/config/generic/lockbreak.h) \
+  include/linux/rwlock_api_smp.h \
+    $(wildcard include/config/inline/read/lock.h) \
+    $(wildcard include/config/inline/write/lock.h) \
+    $(wildcard include/config/inline/read/lock/bh.h) \
+    $(wildcard include/config/inline/write/lock/bh.h) \
+    $(wildcard include/config/inline/read/lock/irq.h) \
+    $(wildcard include/config/inline/write/lock/irq.h) \
+    $(wildcard include/config/inline/read/lock/irqsave.h) \
+    $(wildcard include/config/inline/write/lock/irqsave.h) \
+    $(wildcard include/config/inline/read/trylock.h) \
+    $(wildcard include/config/inline/write/trylock.h) \
+    $(wildcard include/config/inline/read/unlock.h) \
+    $(wildcard include/config/inline/write/unlock.h) \
+    $(wildcard include/config/inline/read/unlock/bh.h) \
+    $(wildcard include/config/inline/write/unlock/bh.h) \
+    $(wildcard include/config/inline/read/unlock/irq.h) \
+    $(wildcard include/config/inline/write/unlock/irq.h) \
+    $(wildcard include/config/inline/read/unlock/irqrestore.h) \
+    $(wildcard include/config/inline/write/unlock/irqrestore.h) \
+  include/linux/time32.h \
+  include/linux/uidgid.h \
+    $(wildcard include/config/multiuser.h) \
+    $(wildcard include/config/user/ns.h) \
+  include/linux/highuid.h \
+  include/linux/kmod.h \
+  include/linux/umh.h \
+  include/linux/gfp.h \
+    $(wildcard include/config/zone/dma.h) \
+    $(wildcard include/config/zone/dma32.h) \
+    $(wildcard include/config/zone/device.h) \
+    $(wildcard include/config/numa.h) \
+    $(wildcard include/config/pm/sleep.h) \
+    $(wildcard include/config/memory/isolation.h) \
+    $(wildcard include/config/compaction.h) \
+    $(wildcard include/config/cma.h) \
+  include/linux/mmdebug.h \
+    $(wildcard include/config/debug/vm.h) \
+    $(wildcard include/config/debug/vm/pgflags.h) \
+  include/linux/mmzone.h \
+    $(wildcard include/config/force/max/zoneorder.h) \
+    $(wildcard include/config/zsmalloc.h) \
+    $(wildcard include/config/memcg.h) \
+    $(wildcard include/config/memory/hotplug.h) \
+    $(wildcard include/config/flat/node/mem/map.h) \
+    $(wildcard include/config/page/extension.h) \
+    $(wildcard include/config/no/bootmem.h) \
+    $(wildcard include/config/deferred/struct/page/init.h) \
+    $(wildcard include/config/transparent/hugepage.h) \
+    $(wildcard include/config/have/memory/present.h) \
+    $(wildcard include/config/have/memoryless/nodes.h) \
+    $(wildcard include/config/have/memblock/node/map.h) \
+    $(wildcard include/config/need/multiple/nodes.h) \
+    $(wildcard include/config/have/arch/early/pfn/to/nid.h) \
+    $(wildcard include/config/sparsemem/extreme.h) \
+    $(wildcard include/config/memory/hotremove.h) \
+    $(wildcard include/config/holes/in/zone.h) \
+    $(wildcard include/config/arch/has/holes/memorymodel.h) \
+  include/linux/wait.h \
+  arch/arm/include/generated/asm/current.h \
+  include/asm-generic/current.h \
+  include/uapi/linux/wait.h \
+  include/linux/threads.h \
+    $(wildcard include/config/nr/cpus.h) \
+    $(wildcard include/config/base/small.h) \
+  include/linux/numa.h \
+    $(wildcard include/config/nodes/shift.h) \
+  include/linux/nodemask.h \
+  include/linux/bitmap.h \
+  include/linux/string.h \
+    $(wildcard include/config/binary/printf.h) \
+    $(wildcard include/config/fortify/source.h) \
+  include/uapi/linux/string.h \
+  arch/arm/include/asm/string.h \
+    $(wildcard include/config/bcm2835/fast/memcpy.h) \
+  include/linux/pageblock-flags.h \
+    $(wildcard include/config/hugetlb/page.h) \
+    $(wildcard include/config/hugetlb/page/size/variable.h) \
+  include/linux/page-flags-layout.h \
+    $(wildcard include/config/numa/balancing.h) \
+  include/generated/bounds.h \
+  include/linux/memory_hotplug.h \
+    $(wildcard include/config/arch/has/add/pages.h) \
+    $(wildcard include/config/have/arch/nodedata/extension.h) \
+    $(wildcard include/config/have/bootmem/info/node.h) \
+  include/linux/notifier.h \
+    $(wildcard include/config/tree/srcu.h) \
+  include/linux/errno.h \
+  include/uapi/linux/errno.h \
+  arch/arm/include/generated/uapi/asm/errno.h \
+  include/uapi/asm-generic/errno.h \
+  include/uapi/asm-generic/errno-base.h \
+  include/linux/mutex.h \
+    $(wildcard include/config/mutex/spin/on/owner.h) \
+    $(wildcard include/config/debug/mutexes.h) \
+  include/linux/osq_lock.h \
+  include/linux/debug_locks.h \
+    $(wildcard include/config/debug/locking/api/selftests.h) \
+  include/linux/rwsem.h \
+    $(wildcard include/config/rwsem/spin/on/owner.h) \
+    $(wildcard include/config/rwsem/generic/spinlock.h) \
+  include/linux/err.h \
+  arch/arm/include/generated/asm/rwsem.h \
+  include/asm-generic/rwsem.h \
+  include/linux/srcu.h \
+    $(wildcard include/config/tiny/srcu.h) \
+    $(wildcard include/config/srcu.h) \
+  include/linux/rcupdate.h \
+    $(wildcard include/config/preempt/rcu.h) \
+    $(wildcard include/config/rcu/stall/common.h) \
+    $(wildcard include/config/no/hz/full.h) \
+    $(wildcard include/config/rcu/nocb/cpu.h) \
+    $(wildcard include/config/tasks/rcu.h) \
+    $(wildcard include/config/tree/rcu.h) \
+    $(wildcard include/config/tiny/rcu.h) \
+    $(wildcard include/config/debug/objects/rcu/head.h) \
+    $(wildcard include/config/hotplug/cpu.h) \
+    $(wildcard include/config/prove/rcu.h) \
+    $(wildcard include/config/rcu/boost.h) \
+    $(wildcard include/config/arch/weak/release/acquire.h) \
+  include/linux/cpumask.h \
+    $(wildcard include/config/cpumask/offstack.h) \
+    $(wildcard include/config/debug/per/cpu/maps.h) \
+  include/linux/rcutree.h \
+  include/linux/workqueue.h \
+    $(wildcard include/config/debug/objects/work.h) \
+    $(wildcard include/config/freezer.h) \
+    $(wildcard include/config/wq/watchdog.h) \
+  include/linux/timer.h \
+    $(wildcard include/config/debug/objects/timers.h) \
+    $(wildcard include/config/no/hz/common.h) \
+  include/linux/ktime.h \
+  include/linux/jiffies.h \
+  include/linux/timex.h \
+  include/uapi/linux/timex.h \
+  include/uapi/linux/param.h \
+  arch/arm/include/generated/uapi/asm/param.h \
+  include/asm-generic/param.h \
+    $(wildcard include/config/hz.h) \
+  include/uapi/asm-generic/param.h \
+  arch/arm/include/asm/timex.h \
+  include/generated/timeconst.h \
+  include/linux/timekeeping.h \
+  include/linux/timekeeping32.h \
+  include/linux/debugobjects.h \
+    $(wildcard include/config/debug/objects.h) \
+    $(wildcard include/config/debug/objects/free.h) \
+  include/linux/rcu_segcblist.h \
+  include/linux/srcutree.h \
+  include/linux/rcu_node_tree.h \
+    $(wildcard include/config/rcu/fanout.h) \
+    $(wildcard include/config/rcu/fanout/leaf.h) \
+  include/linux/completion.h \
+  include/linux/topology.h \
+    $(wildcard include/config/use/percpu/numa/node/id.h) \
+    $(wildcard include/config/sched/smt.h) \
+  include/linux/smp.h \
+    $(wildcard include/config/up/late/init.h) \
+  include/linux/llist.h \
+    $(wildcard include/config/arch/have/nmi/safe/cmpxchg.h) \
+  arch/arm/include/asm/smp.h \
+  include/linux/percpu.h \
+    $(wildcard include/config/need/per/cpu/embed/first/chunk.h) \
+    $(wildcard include/config/need/per/cpu/page/first/chunk.h) \
+    $(wildcard include/config/have/setup/per/cpu/area.h) \
+  arch/arm/include/asm/percpu.h \
+  include/asm-generic/percpu.h \
+  include/linux/percpu-defs.h \
+    $(wildcard include/config/debug/force/weak/per/cpu.h) \
+    $(wildcard include/config/virtualization.h) \
+    $(wildcard include/config/amd/mem/encrypt.h) \
+  arch/arm/include/asm/topology.h \
+    $(wildcard include/config/arm/cpu/topology.h) \
+  include/linux/arch_topology.h \
+  include/asm-generic/topology.h \
+  include/linux/sysctl.h \
+    $(wildcard include/config/sysctl.h) \
+  include/linux/rbtree.h \
+  include/uapi/linux/sysctl.h \
+  include/linux/elf.h \
+  arch/arm/include/asm/elf.h \
+    $(wildcard include/config/vdso.h) \
+  arch/arm/include/asm/auxvec.h \
+  arch/arm/include/uapi/asm/auxvec.h \
+  arch/arm/include/asm/vdso_datapage.h \
+  arch/arm/include/asm/user.h \
+  include/uapi/linux/elf.h \
+  include/uapi/linux/elf-em.h \
+  include/linux/kobject.h \
+    $(wildcard include/config/uevent/helper.h) \
+    $(wildcard include/config/debug/kobject/release.h) \
+  include/linux/sysfs.h \
+  include/linux/kernfs.h \
+    $(wildcard include/config/kernfs.h) \
+  include/linux/idr.h \
+  include/linux/radix-tree.h \
+    $(wildcard include/config/radix/tree/multiorder.h) \
+  include/linux/kobject_ns.h \
+  include/linux/kref.h \
+  include/linux/refcount.h \
+    $(wildcard include/config/refcount/full.h) \
+  include/linux/moduleparam.h \
+    $(wildcard include/config/alpha.h) \
+    $(wildcard include/config/ia64.h) \
+    $(wildcard include/config/ppc64.h) \
+  include/linux/jump_label.h \
+  arch/arm/include/asm/jump_label.h \
+  include/linux/rbtree_latch.h \
+  include/linux/error-injection.h \
+  include/asm-generic/error-injection.h \
+  include/linux/tracepoint-defs.h \
+  include/linux/static_key.h \
+  arch/arm/include/asm/module.h \
+    $(wildcard include/config/arm/unwind.h) \
+    $(wildcard include/config/arm/module/plts.h) \
+  include/asm-generic/module.h \
+    $(wildcard include/config/have/mod/arch/specific.h) \
+    $(wildcard include/config/modules/use/elf/rel.h) \
+    $(wildcard include/config/modules/use/elf/rela.h) \
+  include/linux/fs.h \
+    $(wildcard include/config/fs/posix/acl.h) \
+    $(wildcard include/config/security.h) \
+    $(wildcard include/config/cgroup/writeback.h) \
+    $(wildcard include/config/ima.h) \
+    $(wildcard include/config/fsnotify.h) \
+    $(wildcard include/config/fs/encryption.h) \
+    $(wildcard include/config/epoll.h) \
+    $(wildcard include/config/file/locking.h) \
+    $(wildcard include/config/quota.h) \
+    $(wildcard include/config/fs/dax.h) \
+    $(wildcard include/config/block.h) \
+    $(wildcard include/config/mandatory/file/locking.h) \
+    $(wildcard include/config/migration.h) \
+  include/linux/wait_bit.h \
+  include/linux/kdev_t.h \
+  include/uapi/linux/kdev_t.h \
+  include/linux/dcache.h \
+  include/linux/rculist.h \
+  include/linux/rculist_bl.h \
+  include/linux/list_bl.h \
+  include/linux/bit_spinlock.h \
+  include/linux/lockref.h \
+    $(wildcard include/config/arch/use/cmpxchg/lockref.h) \
+  include/linux/stringhash.h \
+    $(wildcard include/config/dcache/word/access.h) \
+  include/linux/hash.h \
+    $(wildcard include/config/have/arch/hash.h) \
+  include/linux/path.h \
+  include/linux/list_lru.h \
+    $(wildcard include/config/memcg/kmem.h) \
+  include/linux/shrinker.h \
+  include/linux/xarray.h \
+  include/linux/pid.h \
+  include/linux/mm_types.h \
+    $(wildcard include/config/have/aligned/struct/page.h) \
+    $(wildcard include/config/userfaultfd.h) \
+    $(wildcard include/config/have/arch/compat/mmap/bases.h) \
+    $(wildcard include/config/membarrier.h) \
+    $(wildcard include/config/aio.h) \
+    $(wildcard include/config/mmu/notifier.h) \
+    $(wildcard include/config/arch/want/batched/unmap/tlb/flush.h) \
+    $(wildcard include/config/hmm.h) \
+  include/linux/mm_types_task.h \
+    $(wildcard include/config/split/ptlock/cpus.h) \
+    $(wildcard include/config/arch/enable/split/pmd/ptlock.h) \
+  include/linux/auxvec.h \
+  include/uapi/linux/auxvec.h \
+  include/linux/uprobes.h \
+    $(wildcard include/config/uprobes.h) \
+  arch/arm/include/asm/mmu.h \
+    $(wildcard include/config/cpu/has/asid.h) \
+  include/linux/capability.h \
+  include/uapi/linux/capability.h \
+  include/linux/semaphore.h \
+  include/linux/fcntl.h \
+  include/uapi/linux/fcntl.h \
+  arch/arm/include/uapi/asm/fcntl.h \
+  include/uapi/asm-generic/fcntl.h \
+  include/uapi/linux/fiemap.h \
+  include/linux/migrate_mode.h \
+  include/linux/percpu-rwsem.h \
+  include/linux/rcuwait.h \
+  include/linux/rcu_sync.h \
+  include/linux/delayed_call.h \
+  include/linux/uuid.h \
+  include/uapi/linux/uuid.h \
+  include/linux/errseq.h \
+  include/linux/ioprio.h \
+  include/linux/sched.h \
+    $(wildcard include/config/virt/cpu/accounting/native.h) \
+    $(wildcard include/config/sched/info.h) \
+    $(wildcard include/config/schedstats.h) \
+    $(wildcard include/config/fair/group/sched.h) \
+    $(wildcard include/config/rt/group/sched.h) \
+    $(wildcard include/config/cgroup/sched.h) \
+    $(wildcard include/config/blk/dev/io/trace.h) \
+    $(wildcard include/config/compat/brk.h) \
+    $(wildcard include/config/cgroups.h) \
+    $(wildcard include/config/blk/cgroup.h) \
+    $(wildcard include/config/stackprotector.h) \
+    $(wildcard include/config/arch/has/scaled/cputime.h) \
+    $(wildcard include/config/virt/cpu/accounting/gen.h) \
+    $(wildcard include/config/posix/timers.h) \
+    $(wildcard include/config/sysvipc.h) \
+    $(wildcard include/config/detect/hung/task.h) \
+    $(wildcard include/config/auditsyscall.h) \
+    $(wildcard include/config/rt/mutexes.h) \
+    $(wildcard include/config/ubsan.h) \
+    $(wildcard include/config/task/xacct.h) \
+    $(wildcard include/config/cpusets.h) \
+    $(wildcard include/config/intel/rdt.h) \
+    $(wildcard include/config/futex.h) \
+    $(wildcard include/config/compat.h) \
+    $(wildcard include/config/perf/events.h) \
+    $(wildcard include/config/rseq.h) \
+    $(wildcard include/config/task/delay/acct.h) \
+    $(wildcard include/config/fault/injection.h) \
+    $(wildcard include/config/latencytop.h) \
+    $(wildcard include/config/function/graph/tracer.h) \
+    $(wildcard include/config/kcov.h) \
+    $(wildcard include/config/bcache.h) \
+    $(wildcard include/config/vmap/stack.h) \
+    $(wildcard include/config/arch/task/struct/on/stack.h) \
+    $(wildcard include/config/debug/rseq.h) \
+  include/uapi/linux/sched.h \
+  include/linux/sem.h \
+  include/uapi/linux/sem.h \
+  include/linux/ipc.h \
+  include/linux/rhashtable-types.h \
+  include/uapi/linux/ipc.h \
+  arch/arm/include/generated/uapi/asm/ipcbuf.h \
+  include/uapi/asm-generic/ipcbuf.h \
+  arch/arm/include/generated/uapi/asm/sembuf.h \
+  include/uapi/asm-generic/sembuf.h \
+  include/linux/shm.h \
+  include/uapi/linux/shm.h \
+  include/uapi/asm-generic/hugetlb_encode.h \
+  arch/arm/include/generated/uapi/asm/shmbuf.h \
+  include/uapi/asm-generic/shmbuf.h \
+  arch/arm/include/asm/shmparam.h \
+  include/linux/kcov.h \
+  include/uapi/linux/kcov.h \
+  include/linux/plist.h \
+    $(wildcard include/config/debug/pi/list.h) \
+  include/linux/hrtimer.h \
+    $(wildcard include/config/high/res/timers.h) \
+    $(wildcard include/config/time/low/res.h) \
+    $(wildcard include/config/timerfd.h) \
+  include/linux/timerqueue.h \
+  include/linux/seccomp.h \
+    $(wildcard include/config/seccomp.h) \
+    $(wildcard include/config/have/arch/seccomp/filter.h) \
+    $(wildcard include/config/seccomp/filter.h) \
+    $(wildcard include/config/checkpoint/restore.h) \
+  include/uapi/linux/seccomp.h \
+  arch/arm/include/generated/asm/seccomp.h \
+  include/asm-generic/seccomp.h \
+  include/uapi/linux/unistd.h \
+  arch/arm/include/asm/unistd.h \
+    $(wildcard include/config/oabi/compat.h) \
+  arch/arm/include/uapi/asm/unistd.h \
+  arch/arm/include/generated/uapi/asm/unistd-eabi.h \
+  arch/arm/include/generated/uapi/asm/unistd-common.h \
+  arch/arm/include/generated/asm/unistd-nr.h \
+  include/linux/resource.h \
+  include/uapi/linux/resource.h \
+  arch/arm/include/generated/uapi/asm/resource.h \
+  include/asm-generic/resource.h \
+  include/uapi/asm-generic/resource.h \
+  include/linux/latencytop.h \
+  include/linux/sched/prio.h \
+  include/linux/signal_types.h \
+    $(wildcard include/config/old/sigaction.h) \
+  include/uapi/linux/signal.h \
+  arch/arm/include/asm/signal.h \
+  arch/arm/include/uapi/asm/signal.h \
+  include/uapi/asm-generic/signal-defs.h \
+  arch/arm/include/uapi/asm/sigcontext.h \
+  arch/arm/include/generated/uapi/asm/siginfo.h \
+  include/uapi/asm-generic/siginfo.h \
+  include/linux/task_io_accounting.h \
+    $(wildcard include/config/task/io/accounting.h) \
+  include/uapi/linux/rseq.h \
+  include/linux/sched/rt.h \
+  include/linux/iocontext.h \
+  include/uapi/linux/fs.h \
+  include/uapi/linux/limits.h \
+  include/uapi/linux/ioctl.h \
+  arch/arm/include/generated/uapi/asm/ioctl.h \
+  include/asm-generic/ioctl.h \
+  include/uapi/asm-generic/ioctl.h \
+  include/linux/quota.h \
+    $(wildcard include/config/quota/netlink/interface.h) \
+  include/linux/percpu_counter.h \
+  include/uapi/linux/dqblk_xfs.h \
+  include/linux/dqblk_v1.h \
+  include/linux/dqblk_v2.h \
+  include/linux/dqblk_qtree.h \
+  include/linux/projid.h \
+  include/uapi/linux/quota.h \
+  include/linux/nfs_fs_i.h \
+  include/linux/uaccess.h \
+  arch/arm/include/asm/uaccess.h \
+    $(wildcard include/config/cpu/sw/domain/pan.h) \
+    $(wildcard include/config/cpu/use/domains.h) \
+    $(wildcard include/config/uaccess/with/memcpy.h) \
+  arch/arm/include/asm/domain.h \
+    $(wildcard include/config/io/36.h) \
+    $(wildcard include/config/cpu/cp15/mmu.h) \
+  arch/arm/include/generated/asm/extable.h \
+  include/asm-generic/extable.h \
+  include/linux/slab.h \
+    $(wildcard include/config/debug/slab.h) \
+    $(wildcard include/config/failslab.h) \
+    $(wildcard include/config/have/hardened/usercopy/allocator.h) \
+    $(wildcard include/config/slab.h) \
+    $(wildcard include/config/slub.h) \
+    $(wildcard include/config/slob.h) \
+  include/linux/overflow.h \
+  include/linux/kasan.h \
+  include/linux/delay.h \
+  arch/arm/include/asm/delay.h \
+  arch/arm/include/asm/mach/map.h \
+    $(wildcard include/config/debug/ll.h) \
+  arch/arm/include/asm/io.h \
+    $(wildcard include/config/pci.h) \
+    $(wildcard include/config/need/mach/io/h.h) \
+    $(wildcard include/config/pcmcia/soc/common.h) \
+    $(wildcard include/config/isa.h) \
+    $(wildcard include/config/pccard.h) \
+  include/asm-generic/pci_iomap.h \
+    $(wildcard include/config/no/generic/pci/ioport/map.h) \
+    $(wildcard include/config/generic/pci/iomap.h) \
+  include/xen/xen.h \
+    $(wildcard include/config/xen.h) \
+    $(wildcard include/config/xen/pvh.h) \
+    $(wildcard include/config/xen/dom0.h) \
+  include/asm-generic/io.h \
+    $(wildcard include/config/generic/iomap.h) \
+    $(wildcard include/config/has/ioport/map.h) \
+    $(wildcard include/config/virt/to/bus.h) \
+  include/linux/logic_pio.h \
+    $(wildcard include/config/indirect/pio.h) \
+  include/linux/fwnode.h \
+  include/linux/vmalloc.h \
+
+/home/pi/Desktop/info_pi/lcddriver/lcddriver.o: $(deps_/home/pi/Desktop/info_pi/lcddriver/lcddriver.o)
+
+$(deps_/home/pi/Desktop/info_pi/lcddriver/lcddriver.o):
diff --git a/Status/lcddriver/.tmp_versions/lcddriver.mod b/Status/lcddriver/.tmp_versions/lcddriver.mod
new file mode 100644
index 0000000..5c26811
--- /dev/null
+++ b/Status/lcddriver/.tmp_versions/lcddriver.mod
@@ -0,0 +1,3 @@
+/home/pi/Desktop/info_pi/lcddriver/lcddriver.ko
+/home/pi/Desktop/info_pi/lcddriver/lcddriver.o
+
diff --git a/Status/lcddriver/Makefile b/Status/lcddriver/Makefile
new file mode 100755
index 0000000..35e325b
--- /dev/null
+++ b/Status/lcddriver/Makefile
@@ -0,0 +1,12 @@
+KERNEL_DIR = /lib/modules/4.19.97-v7+/build
+
+obj-m := lcddriver.o
+
+PWD := $(shell pwd)
+
+all:
+	make -C $(KERNEL_DIR) M=$(PWD) modules 
+
+clean:
+	make -C $(KERNEL_DIR) M=$(PWD) clean
+
diff --git a/Status/lcddriver/Module.symvers b/Status/lcddriver/Module.symvers
new file mode 100644
index 0000000..e69de29
diff --git a/Status/lcddriver/lcddriver.c b/Status/lcddriver/lcddriver.c
new file mode 100644
index 0000000..5968c6c
--- /dev/null
+++ b/Status/lcddriver/lcddriver.c
@@ -0,0 +1,149 @@
+#include <linux/init.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/fs.h>
+#include <linux/uaccess.h>
+#include <linux/slab.h>
+#include <linux/timer.h>
+#include <linux/ktime.h>
+#include <linux/jiffies.h>
+#include <linux/delay.h>
+
+#include <asm/mach/map.h>
+#include <asm/io.h>
+#include <asm/uaccess.h>
+
+#define lcd_MAJOR_NUMBER 509
+#define lcd_DEV_NAME "lcd"
+
+#define GPIO_BASE_ADDR                          0x3F200000
+#define GPIO_BASE_ADDR_1                        0x3F804000
+#define I2C_ADDR	                            0x27 
+#define GPFSEL0 		                        0x00 // 
+#define RPI_V2_GPIO_P1_03                       2  ///< Version 2, Pin P1-03
+#define RPI_V2_GPIO_P1_05                       3
+
+#define BCM2835_BSC_C 							0x0000 ///< BSC Master Control
+#define BCM2835_BSC_S 							0x0004 ///< BSC Master Status
+#define BCM2835_BSC_DLEN						0x0008 ///< BSC Master Data Length
+#define BCM2835_BSC_A 							0x000c ///< BSC Master Slave Address
+#define BCM2835_BSC_FIFO						0x0010 ///< BSC Master Data FIFO
+#define BCM2835_BSC_DIV							0x0014 ///< BSC Master Clock Divider
+
+#define BCM2835_BSC_C_I2CEN 					0x00008000 ///< I2C Enable, 0 = disabled, 1 = enabled
+#define BCM2835_BSC_C_ST 						0x00000080 ///< Start transfer, 1 = Start a new transfer
+#define BCM2835_BSC_C_CLEAR_1 					0x00000020 ///< Clear FIFO Clear
+
+#define BCM2835_BSC_S_CLKT 						0x00000200 ///< Clock stretch timeout
+#define BCM2835_BSC_S_ERR 						0x00000100 ///< ACK error
+#define BCM2835_BSC_S_TXD 						0x00000010 ///< TXD FIFO can accept data
+#define BCM2835_BSC_S_DONE 						0x00000002 ///< Transfer DONE
+#define BCM2835_BSC_FIFO_SIZE   				16 ///< BSC FIFO size
+
+/// \brief bcm2835I2CReasonCodes
+/// Specifies the reason codes for the bcm2835_i2c_write and bcm2835_i2c_read functions.
+typedef enum
+{
+    BCM2835_I2C_REASON_OK   	     = 0x00,      ///< Success
+    BCM2835_I2C_REASON_ERROR_NACK    = 0x01,      ///< Received a NACK
+    BCM2835_I2C_REASON_ERROR_CLKT    = 0x02,      ///< Received Clock Stretch Timeout
+    BCM2835_I2C_REASON_ERROR_DATA    = 0x04,      ///< Not all data is sent / received
+} bcm2835I2CReasonCodes;
+
+static void __iomem *gpio_base;
+static void __iomem *gpio_base_;
+volatile unsigned int *gpfsel0;
+volatile unsigned int *dlen;
+volatile unsigned int *fifo;
+volatile unsigned int *status;
+volatile unsigned int *control;
+
+int lcd_open(struct inode *inode, struct file *filp){
+    printk(KERN_ALERT "lcd driver open!!\n");
+
+    gpio_base = ioremap(GPIO_BASE_ADDR, 0x60);
+    gpio_base_ = ioremap(GPIO_BASE_ADDR_1, 0x60); // ic2 address map
+    
+    gpfsel0 = (volatile unsigned int *)(gpio_base + GPFSEL0);
+	dlen = (volatile unsigned int *)(gpio_base_ + BCM2835_BSC_DLEN);
+    fifo = (volatile unsigned int *)(gpio_base_ + BCM2835_BSC_FIFO);
+    status = (volatile unsigned int *)(gpio_base_ + BCM2835_BSC_S);
+    control = (volatile unsigned int *)(gpio_base_ + BCM2835_BSC_C);
+    
+    *gpfsel0 |= (100000000);    // pin SDA to ALT0
+    *gpfsel0 |= (100000000000); // pin SCL to ALT0
+    volatile unsigned int* paddr = (volatile unsigned int *)(gpio_base_ + BCM2835_BSC_A);
+	*paddr = I2C_ADDR; // set slave
+    return 0;
+}
+int lcd_release(struct inode *inode, struct file *filp){
+    printk(KERN_ALERT "lcd driver closed!!\n");
+    iounmap((void *)gpio_base);
+    iounmap((void *)gpio_base_);
+    return 0;
+}
+
+ssize_t lcd_write(struct file *filp, const char *buf, size_t size, loff_t *f_pos){
+	
+	printk(KERN_ALERT "write function call!!\n");
+    unsigned int len = 1;
+    char* kbuf = kmalloc(size, GFP_KERNEL);
+
+	copy_from_user(kbuf, buf, 1);
+	printk(KERN_INFO "%x\n", kbuf[0]);
+	char byte [1];
+	byte[0]=0x01;
+    unsigned int remaining = size;
+    unsigned int i = 0;
+    unsigned int reason = BCM2835_I2C_REASON_OK;
+
+    unsigned int v = (*control & ~BCM2835_BSC_C_CLEAR_1) | (BCM2835_BSC_C_CLEAR_1);
+    *control = v;
+
+    *status = BCM2835_BSC_S_CLKT | BCM2835_BSC_S_ERR | BCM2835_BSC_S_DONE;
+    
+    *dlen = size;
+    while(remaining && (i < BCM2835_BSC_FIFO_SIZE)){
+        *fifo = kbuf[i++];
+        remaining--;
+    }
+    *control = BCM2835_BSC_C_I2CEN | BCM2835_BSC_C_ST;
+    while(!(*status & BCM2835_BSC_S_DONE))
+    {
+		while(remaining && (*status & BCM2835_BSC_S_TXD))
+		{
+			*fifo = kbuf[i++];
+			i++;
+			remaining--;
+		}
+		
+	}				
+    *control = BCM2835_BSC_S_DONE,BCM2835_BSC_S_DONE;
+}
+
+static struct file_operations lcd_fops={
+    .owner = THIS_MODULE,
+    .write = lcd_write,
+    .open = lcd_open,
+    .release = lcd_release
+};
+
+int __init lcd_init(void){
+    if(register_chrdev(lcd_MAJOR_NUMBER, lcd_DEV_NAME, &lcd_fops) < 0)
+        printk(KERN_ALERT "lcd driver initialization fail\n");
+    else
+        printk(KERN_ALERT "lcd driver initialization success\n");
+    return 0;
+}
+
+void __exit lcd_exit(void){
+    unregister_chrdev(lcd_MAJOR_NUMBER, lcd_DEV_NAME);
+    printk(KERN_ALERT "lcd driver exit done\n");
+}
+
+module_init(lcd_init);
+module_exit(lcd_exit);
+
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("ALNORM");
+MODULE_DESCRIPTION("des");
diff --git a/Status/lcddriver/lcddriver.ko b/Status/lcddriver/lcddriver.ko
new file mode 100644
index 0000000000000000000000000000000000000000..05802ce46c12c728450deb5a1ed7d9a979a7e947
GIT binary patch
literal 7308
zcmb<-^>JflWMqH=Mg|QA1doB?h!|Lg)dWmwFsL%9Ft9K%Fo-ZPFfcPPFu41LGEAG>
zyx1yee}4NV?b@DIn_pjD(9zGvzyL9ak%7S{Gq1D)te=5__rQXO1~+tHvTX2q#PUG*
z>A(N~Uo$W;JZ4~Uc+B9y@EF8T5Lob-fnmX81%78RpTWW5F+{B8DI@2C#|=<%^#cnY
zGZ-v*$iOh=sf0nxQx1jZM*;%Pk9ZVXo^mj>JY@m%Tb@3YS@2jyq2=jUQHRG24<<ad
z(q8bmOvB|di$Tj%MuEPE3<3>LIRvIW1=-2)VB%9Ig}#Rj3XM;B4m3YCSTXknRyR8^
zJO;T7=5~;~LGA$2EDTei{#x)DrvC#LKQje@-0tw0F=4?&kUmz11rHAhEO?wC-~jeF
zufc+c^|pr}+Z!By%;2!#A&0@_r;G~I9x*FiGGH)RV9dY}{Fs%2L5fjf!DBW7h#3qD
z0gqT27`PZ17+!(I85xouF@VFf<pIbJ27xP2QQR!R@R&is;W5)=22fZ&mN+o+DWd|&
zU2~o)Ff=@7VCZ=&!Z7hE!-IyWJOUG+G6Xa}Wflm1z{s#bn1NvdGe1KxD6X0r85kxp
zFa$hiVPN25X1Ma4(Et<|lb$j#G(P?G|NkoqhDlEw4sbkXIMDD^gaITz;VBb?z+-L(
z1}O%Hz{fxT|L1~<3or;g{`&tv7xRHD&lv?A9|<r_ddg(b{0OA?GsrB1Nl%#+7CdH9
zXny(u8b1us@a4GRi%3@>e=C6e#qgLx!QnB3fx}}4h2E!s85tfk>MQ_<G04pf3=EqY
z7#J2aFgR>xU~pIr4kv~Mk9jV5KVm>LAEXZyo**+A3_xZ>;tC~9SIm9kGMlk+!-nQI
zP_jp6yMe{~!Qvn}5Z=PTz`(=6!0?5EfkA?Sfx!u^rU69_HnEh{;^d;tf|AVqJlmAi
zVur-hl8pQ!TSp&1{~%w6oXq6Zyy8?__W&OT28QCI<g(PFVvtftR|8{bXLCyvM?*7X
zS7QTnLpMiP3u6X`l+=RMyp&>FhP=ewRNI{7l$4^(veY7mvecs7#PrN$TN6D)OFc_-
z-7<4+g<#(Rh1~p<_|m+b{KOOx6Ka03f@6?xnYluNQJIAT1EXP1a*6`PAcg#b)I3E+
zP})QlPtM6NPE7&JFdCK@WtOBWq?P6+gFL2?oS2gXmSJFEG*hhrY0gPbLDip`msygT
zn3GwR2-cF8n3)4ohhjIHn&Q&r<kaF~kTO)WQY$h`6jJi@Qn?re7#J9iFfcH%Fha_^
z_q9@MbMsS5b5i4T5-amdOF)rF0zUBjaCUrrX<kukdS-D+YEgW0Mo~&?8PO(4HXlD9
zA5X4s28JlV()ire+~QPH9S(KjZPhaxiAA~b$@vA9@o7c*x$&jNsYOspBB)K#w}j&3
zvvU)3a`KajP>-%8*z&;J%>2^4+{6NODWdqt1S0g};}cU8lQQE=^U5>xQsR>f3gQcj
z42jat!0cG_GBdv@m0bHjTrjFBD9X$$$tKP|bX5;D)^3cCPtPlj&rQxR%`1t|BPSHm
zO&vUZM2Rza+%)QvArJ!Y&dyc}8bOK01xcBSc?uSK#(D<2X4*vsnTDDW9s>grY8(w1
z7#P6C0|TQP0|NuAxvnDv8yCAH2O}pF7n2Z^2%{*YII{$!B%>6Q9Fr1qI~iLjF+*Cw
za4BX6CO8|!U<S9KK`aPn2DhvsY!J!J0BS{pSP;z2zyV=ENoH^}56S_z$GH(4FrOEV
z&xghb)o=(QW(Gk72drNhjSp(|BZQb4L=haYdT}&9s5OHSVg@z!5L^ak1{owCs6Qc#
z#+O6m%cJoX(D;fdA<n|^@jt4Mq`*GZf$I_m_hUeOWpIB*m_e6;fgyl_fq@gsw_{*n
zh-6@3;D_=985kHc7#J9ApnO#GnZR-&<3T=WWMBf@2jWApI0LNaI=}?#ABi*6LL|T>
z$i1Cl7K~tF=z%f8v<SmQFbyN*(9GvT<8w32hPEjoIz$*2FfcHHk~xgOl!1W()INmq
zQSE1ASOt-Qk`fG{wrU8J2Wl1VWME*3K;rLXU|^_0;-iKSFPi)K7*OrwU^vXcz_0|T
zegQQ7f@pjRh7(Y|4dD2ZK$DkaxCoU8^<fzq<QQ&)+ILV4;y;7RgK`EVgD@zP!0kX#
z&H?d785tNrsS?y)2k}w;CxT|5FdAQ!L7NfM#s}Fi$RNjH%m``sConQF2r;lQ*g^{x
z2POsvK?W%XZzvz+ERdUmp?pw(T!?{#A&C*vcYv9f4wX+}0GY?eP|U~xjxz@^pM{|w
zDi4ZBkbNDD3}FAk^!GyLVfIZ$<IjQeVfHVD@?q-NK>0BHw?g?a`4edT8)*Djj11sX
z4(6UuX!4v)pj5{IE-69bCxBF>g2G1%jn4pYROsdAr|2a!sH8B&$A|iP28O!Ed%DCU
z`bCCD4Ds>M<~_70grXAEDKa!f5rTD$3=J6K^YTkl<INc2<KyFD9U&yUlNnSJ8T5Rd
z4H)!%9Q~X<{DVL&XG4&f5r{B`OMt~pKw_pK!VE;1gN%w#%P%NqNH56Dk55W0PDQZd
zQ5=QTD+GH9;a5oi5X}$JZla+9LvnszNl|_d*eY-*j3GY0BqOsJ8Ym2~rgw5qYGPh#
z0Zce0CpC`&)VqQS<RquW7p3N;g4_sVgL-`oX_;yH46w#Cv=I!F1a-F<pq&yBA7l^%
zmQDtGyBD(`lwOcloSI|6fTM+9T#{H)TFijxe_-#4fzpsnFeHs>t3mRrjv52FrqWht
zU;x!PGJcRURK}Nq0hAAP)EO8&7#J8pd{BQ8q#slcfz+R2U|;~rUtnNh(AHvLxB}v9
zF)-W!srO@GcmSf^7#LnaX;5Diq@RP4fk9iFfkA+gfk8)`fkA?ifdOQ%28fPeV2A<H
zK@1EvAUc47p#`K~hk*f<pLKK?7<xeBehdr~K;r5Q3{ybns6+e(G9Og)YU@G#qpi=t
zpaOE29s`30h}LIdumHIygn<E6ZfF}YFt~u+ZwT?Hjsc|3&@qJ6l^}P4>N}7*Aaix}
zA?C_NLd?}Rg_>*1zyPXiLFz%}ffgu}gBW3u{H(<e$@?I2Q27etgW?0k2emvve2{W2
zRuIX+zyQ++s;n6p7_?x`C73w0ImE;QF&{*OT2LSwWIhwr941#t8Or1WiBBePNd3;_
z1&JpnPX-1SCI$v3cLoLqz2eH;lEfqiz2cH02%Q0Afr<dV^t@8Nq|(fs6y3}e20gG4
zWc*XFC^bi~B(<VMuQV?wGdne>k^w9PO7UQE2p5zgpj^iwU%k|dlEfr1A59xXGBc$D
zT@oSz(uHO+L;|D(Ndh7WQjKIW$fXbokZL4}-29ZxytI4<y`ub-#F9i%7#QlAfE^wW
z>y(1}_DE$Q*pDE^U{&DY$;r&i&d*Cu)k7{_^uUfP$SGmaODZmA&`ZwG%}vcKfd-+w
zU#M<zNn&y~gC59Xi6tdPnMtK3sm0KgKolj-z`(%HzyNQBgYqsY-NQ7)lA|7)I#Bxt
zl)ll`Z2-417~rjRSlbS!4pw!QVo?`@R8PU|wSu-gL3s{jhJY}nd{Bb6PeAHG>321n
zc}JKS7(n$cNDl~u)PZPUH1j?PL)vN}^FUbzqz+`>O*HdVm?8N9WCjR>)Pd+2H1j+}
zAmt#)Jdimcbs!ovyaDn%%!?7ska7TI1_*=Hf#?p1y#-Am4yfJ83@LA6@-Vsu&E5(T
zNcjY^7nH?8>Ol4`gqR19-zm(Hd<``o+-3l=cR|#_?OnhODR)3&0+I)r2coy3*}Fjm
z;y#eQp!Oh09mwAE5cA;nuE1e0sElW1V1V1Z1!^zI43K>w^FZ_yG<#1V*$ZlKg4BWZ
z{6({O4>NMx8B*qf%wuB&H)9!$KpX}Jh6EM{hCNU=hys}hiZ4m1I#|5PutM5~AT=Ni
zQU{_zZD3H53rnXDL?GooC|p22LXbL;`_$0P(_v*`0QGx7W`HnA9f&rCssqg@f%tFO
z85ltAcMuzdVd@MSA^kF#y`b(Vs6GbS3(B7$bs&4~(adY$U|;~Xr$J_cFigKSnt2MM
z5dVVAlY-_ska=-P=7G#Pzy%3UkXaxM3Of)TiKNbviGkrD4t2@UHZIJ+N4OyE3y>Kg
z4Dttv&VZT+>#u>-f!Y}$IS>Zf3&Mp^bs#Yi<^g325Ce)qYCz0JMo=Fc-UVd<sY4$6
zgsB73urvVD=fKUtuz;0;0n|r!hK38MUIwKBm>)pu9tbcn=pktYnFA6BrCDTk2BHiM
M6Je6jGz?M)057F0P5=M^

literal 0
HcmV?d00001

diff --git a/Status/lcddriver/lcddriver.mod.c b/Status/lcddriver/lcddriver.mod.c
new file mode 100644
index 0000000..a87132e
--- /dev/null
+++ b/Status/lcddriver/lcddriver.mod.c
@@ -0,0 +1,47 @@
+#include <linux/build-salt.h>
+#include <linux/module.h>
+#include <linux/vermagic.h>
+#include <linux/compiler.h>
+
+BUILD_SALT;
+
+MODULE_INFO(vermagic, VERMAGIC_STRING);
+MODULE_INFO(name, KBUILD_MODNAME);
+
+__visible struct module __this_module
+__attribute__((section(".gnu.linkonce.this_module"))) = {
+	.name = KBUILD_MODNAME,
+	.init = init_module,
+#ifdef CONFIG_MODULE_UNLOAD
+	.exit = cleanup_module,
+#endif
+	.arch = MODULE_ARCH_INIT,
+};
+
+#ifdef CONFIG_RETPOLINE
+MODULE_INFO(retpoline, "Y");
+#endif
+
+static const struct modversion_info ____versions[]
+__used
+__attribute__((section("__versions"))) = {
+	{ 0xad1a7def, "module_layout" },
+	{ 0x6bc3fbc0, "__unregister_chrdev" },
+	{ 0xcfc78319, "__register_chrdev" },
+	{ 0x5f754e5a, "memset" },
+	{ 0x28cc25db, "arm_copy_from_user" },
+	{ 0x12da5bb2, "__kmalloc" },
+	{ 0xedc03953, "iounmap" },
+	{ 0x2e5810c6, "__aeabi_unwind_cpp_pr1" },
+	{ 0xe97c4103, "ioremap" },
+	{ 0x7c32d0f0, "printk" },
+	{ 0xb1ad28e0, "__gnu_mcount_nc" },
+};
+
+static const char __module_depends[]
+__used
+__attribute__((section(".modinfo"))) =
+"depends=";
+
+
+MODULE_INFO(srcversion, "AE03CC794A163E3071FAE83");
diff --git a/Status/lcddriver/lcddriver.mod.o b/Status/lcddriver/lcddriver.mod.o
new file mode 100644
index 0000000000000000000000000000000000000000..d2628fc89ce6e950f4519424a5c304fc5533bb58
GIT binary patch
literal 2908
zcmb<-^>JflWMqH=Mg|QA1doA%g%d2pY67M-82B0Zz$|P;PI5|0QD#|c5jM$DvC$B~
z5(33V$z`cU#hLkewvMg_#?H>>mL`sdX2!0@2Ihutj;<EQ3=Ao$1*v%{#kLH2iMgq^
zh*VaVT9liZo|$ZGqGxESXKAimX0ELe>>Hqvo1YS2nwOKGm;z!#%`aAP4Du~AS12$l
zvru4QV_<-!b4CURpUk|{3aH!O*GjF;%}*)KNsZ4*tjsShfr=AL9r%4XJ3hWNuP8M=
zv$!O+C_Xu(C?&OwSnUjw&BxEj$CIm@fg#GTG(I;qw>XtlheKU>TlI`aVo`2<a(+Q&
zd|FX{ZhUDmDH(cG^ev(I`0U)ooSgh*sF|ct!IlT!X6BdX<t7%8q7AP0m_USHe0*YR
zVp3*&X<m6|UP^p&K|y>$ks(|OUIw#c&CAUEqEvG2|8T*mrl2S@uOu6<H8>?7Xsq2B
zAD^CA8lRh-Uz%4EpGRUSx;r~tDQE;G78fLCCgv$v=o#x7=$dI46=WJ}LU;_01`G@g
z;2>gPRAXRZU^UluWMJcBcjRE?Wa45HViI8#WfW(YV3cH(Vv=K0Laq;B4o4PaVfgqT
zCJv&RAvp`g1Y>3fCNK>nm>HO1Ofb#Nz``I1X2A#+7z0c*Gq9n_voVN(Wf&Ng!TFet
zL6?DnL4|>V0aRTvGO#h&F))C|_@VNF3=9l5Pz;iXY6nxy4D4v;vomCXWf&MF!1~#t
zJP5_iz=5Wog8`OW4={ns6%L3(D9Oyg1!X}fX0R(EY!J!Jz|Bw#VlXf;I506V2r{rR
zbVK<dN`QfZVLFHb#UMTdycpEW%}>!wW>86Ch>s8T^9&4ijrVkkN0h6EMhx-s&>{_5
zlA@>t6{?1YC_=D;)zE+;J}<u{HQtONK0ZDkR**8p$CqSe7DEkX$jr+ufw7ZwQWNt^
z3t(IZh8qkF3{2t-3@l6x3{0TF)GMycElEsb&?_z}g3uW-R!M3_34>lrVo4%{UQ%%}
zgI-Z;j$V3Rsa{TIUUq(7a;hG(wIF|I=B4E`=z*N52Pwpn9I2O_pPQSSR|1uH_Y2i6
zE=f$zX3%pC^3_W$DJjZKDlJJZh6XATlr%UkFo5e0ka9?y2*iS5Se{UXs)MC+T<X*r
z7#Kh)g^)T>b_JOYQ|ACpClFg17(jdwTL+r{Vf+LR1_n@C;bCB40OcqU2HEEYbssEO
zHZU<T!0JDcIUsc)I+%fh0hID#>V7am@&iZ?gkkF9(aaNIW?%s21CSaJhN;Vfsss54
zBz}Pvl4n6|5C-`Xgh5dPqCsLH{Dl=nA}~y@nSlXRlEAVa14tcmF%MG*qG5gjnWDkQ
zz%YT4fq|ESfk6x!HlT3ggqR0X0>(So85ov<Sr7tb4u}ORt6*^f;uml*FiZw9pctkO
E0I}K;)&Kwi

literal 0
HcmV?d00001

diff --git a/Status/lcddriver/lcddriver.o b/Status/lcddriver/lcddriver.o
new file mode 100644
index 0000000000000000000000000000000000000000..f8ff118a3028b3c222ddb875ea675d7cd0d78835
GIT binary patch
literal 6388
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
G7#ILyO1`H6

literal 0
HcmV?d00001

diff --git a/Status/lcddriver/modules.order b/Status/lcddriver/modules.order
new file mode 100644
index 0000000..b26575a
--- /dev/null
+++ b/Status/lcddriver/modules.order
@@ -0,0 +1 @@
+kernel//home/pi/Desktop/info_pi/lcddriver/lcddriver.ko
diff --git a/Status/lcddriver/script.sh b/Status/lcddriver/script.sh
new file mode 100755
index 0000000..1627f74
--- /dev/null
+++ b/Status/lcddriver/script.sh
@@ -0,0 +1,4 @@
+sudo rmmod lcddriver
+make clean
+make
+sudo insmod lcddriver.ko
-- 
GitLab