Commit 6052abf8 authored by Rajat Jain's avatar Rajat Jain Committed by Dmitry Torokhov

Input: i8042 - attach fwnode to serio i8042 kbd device

Attach the firmware node to the serio i8042 kbd device so that device
properties can be passed from the firmware.
Signed-off-by: default avatarRajat Jain <rajatja@google.com>
Link: https://lore.kernel.org/r/20200427210259.91330-1-rajatja@google.comSigned-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent 7842087b
...@@ -938,6 +938,7 @@ static int i8042_pnp_kbd_probe(struct pnp_dev *dev, const struct pnp_device_id * ...@@ -938,6 +938,7 @@ static int i8042_pnp_kbd_probe(struct pnp_dev *dev, const struct pnp_device_id *
} }
i8042_pnp_id_to_string(dev->id, i8042_kbd_firmware_id, i8042_pnp_id_to_string(dev->id, i8042_kbd_firmware_id,
sizeof(i8042_kbd_firmware_id)); sizeof(i8042_kbd_firmware_id));
i8042_kbd_fwnode = dev_fwnode(&dev->dev);
/* Keyboard ports are always supposed to be wakeup-enabled */ /* Keyboard ports are always supposed to be wakeup-enabled */
device_set_wakeup_enable(&dev->dev, true); device_set_wakeup_enable(&dev->dev, true);
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
#include <linux/i8042.h> #include <linux/i8042.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/suspend.h> #include <linux/suspend.h>
#include <linux/property.h>
#include <asm/io.h> #include <asm/io.h>
...@@ -124,6 +125,7 @@ MODULE_PARM_DESC(unmask_kbd_data, "Unconditional enable (may reveal sensitive da ...@@ -124,6 +125,7 @@ MODULE_PARM_DESC(unmask_kbd_data, "Unconditional enable (may reveal sensitive da
static bool i8042_bypass_aux_irq_test; static bool i8042_bypass_aux_irq_test;
static char i8042_kbd_firmware_id[128]; static char i8042_kbd_firmware_id[128];
static char i8042_aux_firmware_id[128]; static char i8042_aux_firmware_id[128];
static struct fwnode_handle *i8042_kbd_fwnode;
#include "i8042.h" #include "i8042.h"
...@@ -1335,6 +1337,7 @@ static int __init i8042_create_kbd_port(void) ...@@ -1335,6 +1337,7 @@ static int __init i8042_create_kbd_port(void)
strlcpy(serio->phys, I8042_KBD_PHYS_DESC, sizeof(serio->phys)); strlcpy(serio->phys, I8042_KBD_PHYS_DESC, sizeof(serio->phys));
strlcpy(serio->firmware_id, i8042_kbd_firmware_id, strlcpy(serio->firmware_id, i8042_kbd_firmware_id,
sizeof(serio->firmware_id)); sizeof(serio->firmware_id));
set_primary_fwnode(&serio->dev, i8042_kbd_fwnode);
port->serio = serio; port->serio = serio;
port->irq = I8042_KBD_IRQ; port->irq = I8042_KBD_IRQ;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment