From e8572fdfd7ec7348506f9454575475ca5c4bd720 Mon Sep 17 00:00:00 2001 From: Sergey Date: Sat, 10 Oct 2015 16:48:32 -0700 Subject: [PATCH] Delete file hx8357.h. Use the same device for all TFT LCD drivers. Only one such driver can be configured in the kernel. --- sys/include/conf.h | 2 +- sys/include/gpanel.h | 13 ++++++++++++- sys/pic32/devsw.c | 18 +++++++++--------- sys/pic32/hx8357.c | 11 +++++------ sys/pic32/hx8357.h | 12 ------------ sys/pic32/machdep.c | 4 ---- 6 files changed, 27 insertions(+), 33 deletions(-) delete mode 100644 sys/pic32/hx8357.h diff --git a/sys/include/conf.h b/sys/include/conf.h index d541247..bb4ec50 100644 --- a/sys/include/conf.h +++ b/sys/include/conf.h @@ -50,7 +50,7 @@ struct cdevsw #define UART_MAJOR 6 #define UARTUSB_MAJOR 7 -#define HXTFT_MAJOR 16 +#define GPANEL_MAJOR 16 #ifdef KERNEL #ifndef CONS_MINOR diff --git a/sys/include/gpanel.h b/sys/include/gpanel.h index 6c0de02..09714b8 100644 --- a/sys/include/gpanel.h +++ b/sys/include/gpanel.h @@ -119,6 +119,17 @@ void gpanel_text(const struct gpanel_font_t *font, int color, int background, in int gpanel_text_width(const struct gpanel_font_t *font, const char *text, int nchars); extern int _gpanel_fd; -#endif + +#else /* KERNEL */ +/* + * Kernel driver routines. + */ +extern int gpanel_open(dev_t dev, int flag, int mode); +extern int gpanel_close(dev_t dev, int flag, int mode); +extern int gpanel_read(dev_t dev, struct uio *uio, int flag); +extern int gpanel_write(dev_t dev, struct uio *uio, int flag); +extern int gpanel_ioctl(dev_t dev, u_int cmd, caddr_t addr, int flag); + +#endif /* KERNEL */ #endif /* _GPANEL_H */ diff --git a/sys/pic32/devsw.c b/sys/pic32/devsw.c index 8bf3046..414f50d 100644 --- a/sys/pic32/devsw.c +++ b/sys/pic32/devsw.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include @@ -56,9 +57,6 @@ extern int strcmp(char *s1, char *s2); #ifdef PTY_ENABLED # include #endif -#ifdef HXTFT_ENABLED -# include -#endif #ifdef SKEL_ENABLED # include #endif @@ -313,13 +311,15 @@ const struct cdevsw cdevsw[] = { NOCDEV #endif }, -{ /* 16 - tft */ -#if HXTFT_MAJOR != 16 -# error Wrong HXTFT_MAJOR value! +{ /* 16 - hxtft or . + * All LCD display drivers share the same device. + * Only one such driver can be present in the kernel. */ +#if GPANEL_MAJOR != 16 +# error Wrong GPANEL_MAJOR value! #endif -#ifdef HXTFT_ENABLED - hx8357_open, hx8357_close, hx8357_read, hx8357_write, - hx8357_ioctl, nulldev, 0, seltrue, +#if defined(HXTFT_ENABLED) || defined(SWTFT_ENABLED) + gpanel_open, gpanel_close, gpanel_read, gpanel_write, + gpanel_ioctl, nulldev, 0, seltrue, nostrategy, 0, 0, #else NOCDEV diff --git a/sys/pic32/hx8357.c b/sys/pic32/hx8357.c index 415fac3..b8011c7 100644 --- a/sys/pic32/hx8357.c +++ b/sys/pic32/hx8357.c @@ -31,7 +31,6 @@ #include #include #include -#include #define HX8357_EXIT_SLEEP_MODE 0x11 #define HX8357_SET_DISPLAY_OFF 0x28 @@ -537,24 +536,24 @@ static void drawText(const struct gpanel_font_t *font, } } -int hx8357_open(dev_t dev, int flag, int mode) +int gpanel_open(dev_t dev, int flag, int mode) { if (minor(dev) != 0) return ENODEV; return 0; } -int hx8357_close(dev_t dev, int flag, int mode) +int gpanel_close(dev_t dev, int flag, int mode) { return 0; } -int hx8357_read(dev_t dev, struct uio *uio, int flag) +int gpanel_read(dev_t dev, struct uio *uio, int flag) { return ENODEV; } -int hx8357_write(dev_t dev, struct uio *uio, int flag) +int gpanel_write(dev_t dev, struct uio *uio, int flag) { return ENODEV; } @@ -562,7 +561,7 @@ int hx8357_write(dev_t dev, struct uio *uio, int flag) /* * TODO: check whether user pointers are valid. */ -int hx8357_ioctl(dev_t dev, register u_int cmd, caddr_t addr, int flag) +int gpanel_ioctl(dev_t dev, register u_int cmd, caddr_t addr, int flag) { switch (cmd) { /* diff --git a/sys/pic32/hx8357.h b/sys/pic32/hx8357.h deleted file mode 100644 index 402f7ae..0000000 --- a/sys/pic32/hx8357.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef _HX8356_H -#define _HX8357_H - -#ifdef KERNEL -extern int hx8357_open(dev_t dev, int flag, int mode); -extern int hx8357_close(dev_t dev, int flag, int mode); -extern int hx8357_read(dev_t dev, struct uio *uio, int flag); -extern int hx8357_write(dev_t dev, struct uio *uio, int flag); -extern int hx8357_ioctl(dev_t dev, u_int cmd, caddr_t addr, int flag); -#endif - -#endif diff --git a/sys/pic32/machdep.c b/sys/pic32/machdep.c index 72482f9..cfe8acc 100644 --- a/sys/pic32/machdep.c +++ b/sys/pic32/machdep.c @@ -28,10 +28,6 @@ # include #endif -#ifdef HX8357_ENABLED -#include -#endif - #ifdef POWER_ENABLED extern void power_init(); extern void power_off();