Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
…git/stable/linux into 11.0

This is the 4.19.224 stable release
  • Loading branch information
GtrCraft committed Jan 6, 2022
2 parents dded064 + a94dc74 commit 3469cc6
Show file tree
Hide file tree
Showing 37 changed files with 278 additions and 221 deletions.
2 changes: 2 additions & 0 deletions Documentation/admin-guide/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1455,6 +1455,8 @@
architectures force reset to be always executed
i8042.unlock [HW] Unlock (ignore) the keylock
i8042.kbdreset [HW] Reset device connected to KBD port
i8042.probe_defer
[HW] Allow deferred probing upon i8042 probe errors

i810= [HW,DRM]

Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 4
PATCHLEVEL = 19
SUBLEVEL = 223
SUBLEVEL = 224
EXTRAVERSION =
NAME = "People's Front"

Expand Down
5 changes: 4 additions & 1 deletion Updates/changelog
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
* Updated to 4.19.223
* Updated to 4.19.224
* Set westwood as default tcp
* Fixed some memory leaks
* Optimisations for GPU & performance
8 changes: 4 additions & 4 deletions Updates/optimus.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"kernel": {
"name": "Optimus Drunk Alioth",
"version": "v11.31",
"link": "https://github.com/GZR-Kernels/Optimus_Drunk_Alioth/releases/download/v11.31/Optimus_Drunk_Alioth_v11.31.zip",
"version": "v11.32",
"link": "https://github.com/GZR-Kernels/Optimus_Drunk_Alioth/releases/download/v11.32/Optimus_Drunk_Alioth_v11.32.zip",
"changelog_url": "https://raw.githubusercontent.com/GZR-Kernels/Optimus_Drunk_Alioth/11.0/Updates/changelog",
"date": "2021-12-29",
"sha1": "8b6c04935f3be1590748ac227887d8a6433b5bb1"
"date": "2022-01-06",
"sha1": "536e464d90427604daddbc9eaa12fc3f0a00e13f"
},
"support": {
"link": "https://forum.xda-developers.com/t/kernel-alioth-optimus-drunk-kernel-v11-0-06-07.4302055/"
Expand Down
4 changes: 2 additions & 2 deletions arch/arm64/configs/vendor/alioth_defconfig
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm64 4.19.223 Kernel Configuration
# Linux/arm64 4.19.224 Kernel Configuration
#

#
Expand All @@ -20,7 +20,7 @@ CONFIG_THREAD_INFO_IN_TASK=y
#
CONFIG_INIT_ENV_ARG_LIMIT=32
# CONFIG_COMPILE_TEST is not set
CONFIG_LOCALVERSION="-Optimus_Drunk_Alioth_v11.31"
CONFIG_LOCALVERSION="-Optimus_Drunk_Alioth_v11.32"
CONFIG_LOCALVERSION_AUTO=y
CONFIG_BUILD_SALT=""
CONFIG_HAVE_KERNEL_GZIP=y
Expand Down
2 changes: 1 addition & 1 deletion build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

KERNEL_DEFCONFIG=vendor/alioth_defconfig
ANYKERNEL3_DIR=$PWD/AnyKernel3/
FINAL_KERNEL_ZIP=Optimus_Drunk_Alioth_v11.31.zip
FINAL_KERNEL_ZIP=Optimus_Drunk_Alioth_v11.32.zip
export ARCH=arm64

# Speed up build process
Expand Down
2 changes: 1 addition & 1 deletion drivers/android/binder_alloc.c
Original file line number Diff line number Diff line change
Expand Up @@ -725,7 +725,7 @@ static void binder_free_buf_locked(struct binder_alloc *alloc,
BUG_ON(buffer->user_data > alloc->buffer + alloc->buffer_size);

if (buffer->async_transaction) {
alloc->free_async_space += size + sizeof(struct binder_buffer);
alloc->free_async_space += buffer_size + sizeof(struct binder_buffer);

binder_alloc_debug(BINDER_DEBUG_BUFFER_ALLOC_ASYNC,
"%d: binder_free_buf size %zd async free %zd\n",
Expand Down
1 change: 1 addition & 0 deletions drivers/hid/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,7 @@ config HID_APPLEIR

config HID_ASUS
tristate "Asus"
depends on USB_HID
depends on LEDS_CLASS
---help---
Support for Asus notebook built-in keyboard and touchpad via i2c, and
Expand Down
3 changes: 3 additions & 0 deletions drivers/i2c/i2c-dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -544,6 +544,9 @@ static long compat_i2cdev_ioctl(struct file *file, unsigned int cmd, unsigned lo
sizeof(rdwr_arg)))
return -EFAULT;

if (!rdwr_arg.msgs || rdwr_arg.nmsgs == 0)
return -EINVAL;

if (rdwr_arg.nmsgs > I2C_RDWR_IOCTL_MAX_MSGS)
return -EINVAL;

Expand Down
11 changes: 9 additions & 2 deletions drivers/input/joystick/spaceball.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
#include <linux/module.h>
#include <linux/input.h>
#include <linux/serio.h>
#include <asm/unaligned.h>

#define DRIVER_DESC "SpaceTec SpaceBall 2003/3003/4000 FLX driver"

Expand Down Expand Up @@ -87,9 +88,15 @@ static void spaceball_process_packet(struct spaceball* spaceball)

case 'D': /* Ball data */
if (spaceball->idx != 15) return;
for (i = 0; i < 6; i++)
/*
* Skip first three bytes; read six axes worth of data.
* Axis values are signed 16-bit big-endian.
*/
data += 3;
for (i = 0; i < ARRAY_SIZE(spaceball_axes); i++) {
input_report_abs(dev, spaceball_axes[i],
(__s16)((data[2 * i + 3] << 8) | data[2 * i + 2]));
(__s16)get_unaligned_be16(&data[i * 2]));
}
break;

case 'K': /* Button data */
Expand Down
4 changes: 2 additions & 2 deletions drivers/input/mouse/appletouch.c
Original file line number Diff line number Diff line change
Expand Up @@ -930,15 +930,15 @@ static int atp_probe(struct usb_interface *iface,
set_bit(BTN_TOOL_TRIPLETAP, input_dev->keybit);
set_bit(BTN_LEFT, input_dev->keybit);

INIT_WORK(&dev->work, atp_reinit);

error = input_register_device(dev->input);
if (error)
goto err_free_buffer;

/* save our data pointer in this interface device */
usb_set_intfdata(iface, dev);

INIT_WORK(&dev->work, atp_reinit);

return 0;

err_free_buffer:
Expand Down
21 changes: 21 additions & 0 deletions drivers/input/serio/i8042-x86ia64io.h
Original file line number Diff line number Diff line change
Expand Up @@ -999,6 +999,24 @@ static const struct dmi_system_id __initconst i8042_dmi_kbdreset_table[] = {
{ }
};

static const struct dmi_system_id i8042_dmi_probe_defer_table[] __initconst = {
{
/* ASUS ZenBook UX425UA */
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
DMI_MATCH(DMI_PRODUCT_NAME, "ZenBook UX425UA"),
},
},
{
/* ASUS ZenBook UM325UA */
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
DMI_MATCH(DMI_PRODUCT_NAME, "ZenBook UX325UA_UM325UA"),
},
},
{ }
};

#endif /* CONFIG_X86 */

#ifdef CONFIG_PNP
Expand Down Expand Up @@ -1318,6 +1336,9 @@ static int __init i8042_platform_init(void)
if (dmi_check_system(i8042_dmi_kbdreset_table))
i8042_kbdreset = true;

if (dmi_check_system(i8042_dmi_probe_defer_table))
i8042_probe_defer = true;

/*
* A20 was already enabled during early kernel init. But some buggy
* BIOSes (in MSI Laptops) require A20 to be enabled using 8042 to
Expand Down
54 changes: 35 additions & 19 deletions drivers/input/serio/i8042.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,10 @@ static bool i8042_unlock;
module_param_named(unlock, i8042_unlock, bool, 0);
MODULE_PARM_DESC(unlock, "Ignore keyboard lock.");

static bool i8042_probe_defer;
module_param_named(probe_defer, i8042_probe_defer, bool, 0);
MODULE_PARM_DESC(probe_defer, "Allow deferred probing.");

enum i8042_controller_reset_mode {
I8042_RESET_NEVER,
I8042_RESET_ALWAYS,
Expand Down Expand Up @@ -702,7 +706,7 @@ static int i8042_set_mux_mode(bool multiplex, unsigned char *mux_version)
* LCS/Telegraphics.
*/

static int __init i8042_check_mux(void)
static int i8042_check_mux(void)
{
unsigned char mux_version;

Expand Down Expand Up @@ -731,10 +735,10 @@ static int __init i8042_check_mux(void)
/*
* The following is used to test AUX IRQ delivery.
*/
static struct completion i8042_aux_irq_delivered __initdata;
static bool i8042_irq_being_tested __initdata;
static struct completion i8042_aux_irq_delivered;
static bool i8042_irq_being_tested;

static irqreturn_t __init i8042_aux_test_irq(int irq, void *dev_id)
static irqreturn_t i8042_aux_test_irq(int irq, void *dev_id)
{
unsigned long flags;
unsigned char str, data;
Expand All @@ -761,7 +765,7 @@ static irqreturn_t __init i8042_aux_test_irq(int irq, void *dev_id)
* verifies success by readinng CTR. Used when testing for presence of AUX
* port.
*/
static int __init i8042_toggle_aux(bool on)
static int i8042_toggle_aux(bool on)
{
unsigned char param;
int i;
Expand Down Expand Up @@ -789,7 +793,7 @@ static int __init i8042_toggle_aux(bool on)
* the presence of an AUX interface.
*/

static int __init i8042_check_aux(void)
static int i8042_check_aux(void)
{
int retval = -1;
bool irq_registered = false;
Expand Down Expand Up @@ -996,7 +1000,7 @@ static int i8042_controller_init(void)

if (i8042_command(&ctr[n++ % 2], I8042_CMD_CTL_RCTR)) {
pr_err("Can't read CTR while initializing i8042\n");
return -EIO;
return i8042_probe_defer ? -EPROBE_DEFER : -EIO;
}

} while (n < 2 || ctr[0] != ctr[1]);
Expand Down Expand Up @@ -1311,7 +1315,7 @@ static void i8042_shutdown(struct platform_device *dev)
i8042_controller_reset(false);
}

static int __init i8042_create_kbd_port(void)
static int i8042_create_kbd_port(void)
{
struct serio *serio;
struct i8042_port *port = &i8042_ports[I8042_KBD_PORT_NO];
Expand Down Expand Up @@ -1339,7 +1343,7 @@ static int __init i8042_create_kbd_port(void)
return 0;
}

static int __init i8042_create_aux_port(int idx)
static int i8042_create_aux_port(int idx)
{
struct serio *serio;
int port_no = idx < 0 ? I8042_AUX_PORT_NO : I8042_MUX_PORT_NO + idx;
Expand Down Expand Up @@ -1376,13 +1380,13 @@ static int __init i8042_create_aux_port(int idx)
return 0;
}

static void __init i8042_free_kbd_port(void)
static void i8042_free_kbd_port(void)
{
kfree(i8042_ports[I8042_KBD_PORT_NO].serio);
i8042_ports[I8042_KBD_PORT_NO].serio = NULL;
}

static void __init i8042_free_aux_ports(void)
static void i8042_free_aux_ports(void)
{
int i;

Expand All @@ -1392,7 +1396,7 @@ static void __init i8042_free_aux_ports(void)
}
}

static void __init i8042_register_ports(void)
static void i8042_register_ports(void)
{
int i;

Expand Down Expand Up @@ -1444,7 +1448,7 @@ static void i8042_free_irqs(void)
i8042_aux_irq_registered = i8042_kbd_irq_registered = false;
}

static int __init i8042_setup_aux(void)
static int i8042_setup_aux(void)
{
int (*aux_enable)(void);
int error;
Expand Down Expand Up @@ -1486,7 +1490,7 @@ static int __init i8042_setup_aux(void)
return error;
}

static int __init i8042_setup_kbd(void)
static int i8042_setup_kbd(void)
{
int error;

Expand Down Expand Up @@ -1536,7 +1540,7 @@ static int i8042_kbd_bind_notifier(struct notifier_block *nb,
return 0;
}

static int __init i8042_probe(struct platform_device *dev)
static int i8042_probe(struct platform_device *dev)
{
int error;

Expand Down Expand Up @@ -1601,6 +1605,7 @@ static struct platform_driver i8042_driver = {
.pm = &i8042_pm_ops,
#endif
},
.probe = i8042_probe,
.remove = i8042_remove,
.shutdown = i8042_shutdown,
};
Expand All @@ -1611,7 +1616,6 @@ static struct notifier_block i8042_kbd_bind_notifier_block = {

static int __init i8042_init(void)
{
struct platform_device *pdev;
int err;

dbg_init();
Expand All @@ -1627,17 +1631,29 @@ static int __init i8042_init(void)
/* Set this before creating the dev to allow i8042_command to work right away */
i8042_present = true;

pdev = platform_create_bundle(&i8042_driver, i8042_probe, NULL, 0, NULL, 0);
if (IS_ERR(pdev)) {
err = PTR_ERR(pdev);
err = platform_driver_register(&i8042_driver);
if (err)
goto err_platform_exit;

i8042_platform_device = platform_device_alloc("i8042", -1);
if (!i8042_platform_device) {
err = -ENOMEM;
goto err_unregister_driver;
}

err = platform_device_add(i8042_platform_device);
if (err)
goto err_free_device;

bus_register_notifier(&serio_bus, &i8042_kbd_bind_notifier_block);
panic_blink = i8042_panic_blink;

return 0;

err_free_device:
platform_device_put(i8042_platform_device);
err_unregister_driver:
platform_driver_unregister(&i8042_driver);
err_platform_exit:
i8042_platform_exit();
return err;
Expand Down
Loading

0 comments on commit 3469cc6

Please sign in to comment.