summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAlexander Usyskin <alexander.usyskin@intel.com>2022-04-19 21:33:10 +0200
committerDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>2022-04-21 20:34:11 +0200
commitce97126d6c1825fc7b3dd21a66a83458055bcbd7 (patch)
treecfc2c6a7d435cbafbb1d3f9fe83c50b596dac889 /drivers
parentmei: add support for graphics system controller (gsc) devices (diff)
downloadlinux-ce97126d6c1825fc7b3dd21a66a83458055bcbd7.tar.xz
linux-ce97126d6c1825fc7b3dd21a66a83458055bcbd7.zip
mei: gsc: setup char driver alive in spite of firmware handshake failure
Setup char device in spite of firmware handshake failure. In order to provide host access to the firmware status registers and other information required for the manufacturing process. Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220419193314.526966-4-daniele.ceraolospurio@intel.com
Diffstat (limited to 'drivers')
-rw-r--r--drivers/misc/mei/gsc-me.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/misc/mei/gsc-me.c b/drivers/misc/mei/gsc-me.c
index c474094645a0..c91bf440ea26 100644
--- a/drivers/misc/mei/gsc-me.c
+++ b/drivers/misc/mei/gsc-me.c
@@ -79,11 +79,12 @@ static int mei_gsc_probe(struct auxiliary_device *aux_dev,
pm_runtime_set_active(device);
pm_runtime_enable(device);
- if (mei_start(dev)) {
- dev_err(device, "init hw failure.\n");
- ret = -ENODEV;
- goto irq_err;
- }
+ /* Continue to char device setup in spite of firmware handshake failure.
+ * In order to provide access to the firmware status registers to the user
+ * space via sysfs.
+ */
+ if (mei_start(dev))
+ dev_warn(device, "init hw failure.\n");
pm_runtime_set_autosuspend_delay(device, MEI_GSC_RPM_TIMEOUT);
pm_runtime_use_autosuspend(device);
@@ -97,7 +98,6 @@ static int mei_gsc_probe(struct auxiliary_device *aux_dev,
register_err:
mei_stop(dev);
-irq_err:
devm_free_irq(device, hw->irq, dev);
err: