Add buildroot utils/check-package check to the pr-checks.yml workflow. It checks for common errors/mistakes when creating own buildroot packages. Also fixed all warnings this utility output for our existing packages.
114 lines
3.6 KiB
Diff
114 lines
3.6 KiB
Diff
KernelDrivers/eq3_char_loop.c: updated to latest 1.1 version
|
|
|
|
Signed-off-by: Jens Maus <mail@jens-maus.de>
|
|
|
|
--- ./KernelDrivers/eq3_char_loop.c.orig 2017-05-14 22:57:19.109181928 +0200
|
|
+++ ./KernelDrivers/eq3_char_loop.c 2020-06-04 14:36:10.188174788 +0200
|
|
@@ -48,8 +48,8 @@
|
|
/* Use 'L' as magic number */
|
|
#define EQ3LOOP_IOC_MAGIC 'L'
|
|
|
|
-#define EQ3LOOP_IOCSCREATESLAVE _IOW(EQ3LOOP_IOC_MAGIC, 1, unsigned long)
|
|
-#define EQ3LOOP_IOCGEVENTS _IOR(EQ3LOOP_IOC_MAGIC, 2, unsigned long)
|
|
+#define EQ3LOOP_IOCSCREATESLAVE _IOW(EQ3LOOP_IOC_MAGIC, 1, uint32_t)
|
|
+#define EQ3LOOP_IOCGEVENTS _IOR(EQ3LOOP_IOC_MAGIC, 2, uint32_t)
|
|
|
|
#define EVENT_BIT_SLAVE_OPENED 0
|
|
#define EVENT_BIT_SLAVE_CLOSED 1
|
|
@@ -62,6 +62,12 @@
|
|
|
|
#define DUMP_READWRITE 0
|
|
|
|
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0))
|
|
+ #define _access_ok(__type, __addr, __size) access_ok(__addr, __size)
|
|
+#else
|
|
+ #define _access_ok(__type, __addr, __size) access_ok(__type, __addr, __size)
|
|
+#endif
|
|
+
|
|
struct eq3loop_channel_data
|
|
{
|
|
struct circ_buf master2slave_buf;
|
|
@@ -353,7 +359,7 @@
|
|
{
|
|
ret=-EFAULT;
|
|
count_to_end = CIRC_SPACE( head, channel->master2slave_buf.tail, BUFSIZE);
|
|
- printk( KERN_ERR EQ3LOOP_DRIVER_NAME ": eq3loop_write_master() %s: not enought space in the buffers. free space = %i, required space = %i", channel->name,count_to_end,count );
|
|
+ printk( KERN_ERR EQ3LOOP_DRIVER_NAME ": eq3loop_write_master() %s: not enough space in buffers. free space = %zu, required space = %zu", channel->name,count_to_end,count );
|
|
goto out;
|
|
}
|
|
/* ok, space is free, write something */
|
|
@@ -389,7 +395,7 @@
|
|
up (&channel->sem);
|
|
if(ret < 0)
|
|
{
|
|
- printk( KERN_INFO EQ3LOOP_DRIVER_NAME ": eq3loop_write_master() retrun error:");
|
|
+ printk( KERN_INFO EQ3LOOP_DRIVER_NAME ": eq3loop_write_master() return error: %d", ret);
|
|
}
|
|
if( ret > 0 || CIRC_CNT(channel->master2slave_buf.head,channel->master2slave_buf.tail,BUFSIZE) )
|
|
{
|
|
@@ -456,9 +462,9 @@
|
|
* "write" is reversed
|
|
*/
|
|
if (_IOC_DIR(cmd) & _IOC_READ)
|
|
- ret = !access_ok(VERIFY_WRITE, (void *)arg, _IOC_SIZE(cmd));
|
|
+ ret = !_access_ok(VERIFY_WRITE, (void *)arg, _IOC_SIZE(cmd));
|
|
else if (_IOC_DIR(cmd) & _IOC_WRITE)
|
|
- ret = !access_ok(VERIFY_READ, (void *)arg, _IOC_SIZE(cmd));
|
|
+ ret = !_access_ok(VERIFY_READ, (void *)arg, _IOC_SIZE(cmd));
|
|
if (ret) return -EFAULT;
|
|
|
|
switch(cmd) {
|
|
@@ -500,7 +506,7 @@
|
|
switch(cmd) {
|
|
|
|
case TCGETS:
|
|
- if( access_ok(VERIFY_READ, (void *)arg, sizeof(struct termios) ) )
|
|
+ if( _access_ok(VERIFY_READ, (void *)arg, sizeof(struct termios) ) )
|
|
{
|
|
ret = copy_to_user( (void*)arg, &channel->termios, sizeof(struct termios) );
|
|
} else {
|
|
@@ -508,7 +514,7 @@
|
|
}
|
|
break;
|
|
case TCSETS:
|
|
- if( access_ok(VERIFY_WRITE, (void *)arg, sizeof(struct termios) ) )
|
|
+ if( _access_ok(VERIFY_WRITE, (void *)arg, sizeof(struct termios) ) )
|
|
{
|
|
ret = copy_from_user( &channel->termios, (void*)arg, sizeof(struct termios) );
|
|
} else {
|
|
@@ -533,6 +539,12 @@
|
|
break;
|
|
case TIOCMSET:
|
|
break;
|
|
+ case TIOCSERGETLSR:
|
|
+ ret = -ENOIOCTLCMD;
|
|
+ break;
|
|
+ case TIOCGICOUNT:
|
|
+ ret = -ENOIOCTLCMD;
|
|
+ break;
|
|
default:
|
|
ret = -ENOTTY;
|
|
break;
|
|
@@ -541,6 +553,7 @@
|
|
if( ret == -ENOTTY )
|
|
{
|
|
printk( KERN_NOTICE EQ3LOOP_DRIVER_NAME ": eq3loop_ioctl_slave() %s: unhandled ioctl 0x%04X\n", channel->name, cmd );
|
|
+ ret = -ENOIOCTLCMD;
|
|
}
|
|
return ret;
|
|
}
|
|
@@ -908,6 +921,7 @@
|
|
.ioctl = eq3loop_ioctl,
|
|
#else
|
|
.unlocked_ioctl = eq3loop_ioctl,
|
|
+ .compat_ioctl = eq3loop_ioctl,
|
|
#endif
|
|
};
|
|
|
|
@@ -979,4 +993,4 @@
|
|
module_exit(eq3loop_exit);
|
|
MODULE_DESCRIPTION("eQ-3 IPC loopback char driver");
|
|
MODULE_LICENSE("GPL");
|
|
-
|
|
+MODULE_VERSION("1.1");
|