Loading drivers/base/firmware_class.c +1 −2 Original line number Diff line number Diff line Loading @@ -307,8 +307,7 @@ static const char * const fw_path[] = { "/lib/firmware/updates/" UTS_RELEASE, "/lib/firmware/updates", "/lib/firmware/" UTS_RELEASE, "/lib/firmware", "/firmware/image" "/lib/firmware" }; /* Loading drivers/sensors/sensors_ssc.c +14 −3 Original line number Diff line number Diff line /* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-2017, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -26,6 +26,8 @@ #include <linux/err.h> #include <linux/delay.h> #include <linux/sysfs.h> #include <linux/workqueue.h> #include <soc/qcom/subsystem_restart.h> #define IMAGE_LOAD_CMD 1 Loading Loading @@ -64,10 +66,11 @@ static struct attribute *attrs[] = { }; static struct platform_device *slpi_private; static struct work_struct slpi_ldr_work; static void slpi_loader_do(struct platform_device *pdev) static void slpi_load_fw(struct work_struct *slpi_ldr_work) { struct platform_device *pdev = slpi_private; struct slpi_loader_private *priv = NULL; int ret; const char *firmware_name = NULL; Loading Loading @@ -111,6 +114,12 @@ fail: dev_err(&pdev->dev, "%s: SLPI image loading failed\n", __func__); } static void slpi_loader_do(struct platform_device *pdev) { dev_info(&pdev->dev, "%s: scheduling work to load SLPI fw\n", __func__); schedule_work(&slpi_ldr_work); } static void slpi_loader_unload(struct platform_device *pdev) { struct slpi_loader_private *priv = NULL; Loading Loading @@ -336,6 +345,8 @@ static int sensors_ssc_probe(struct platform_device *pdev) goto cdev_add_err; } INIT_WORK(&slpi_ldr_work, slpi_load_fw); return 0; cdev_add_err: Loading drivers/soc/qcom/qdsp6v2/adsp-loader.c +13 −3 Original line number Diff line number Diff line /* * Copyright (c) 2012-2014, The Linux Foundation. All rights reserved. * Copyright (c) 2012-2014, 2017, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading @@ -20,6 +20,8 @@ #include <linux/qdsp6v2/apr.h> #include <linux/of_device.h> #include <linux/sysfs.h> #include <linux/workqueue.h> #include <soc/qcom/subsystem_restart.h> #define Q6_PIL_GET_DELAY_MS 100 Loading @@ -44,12 +46,13 @@ static struct attribute *attrs[] = { NULL, }; static struct work_struct adsp_ldr_work; static struct platform_device *adsp_private; static void adsp_loader_unload(struct platform_device *pdev); static void adsp_loader_do(struct platform_device *pdev) static void adsp_load_fw(struct work_struct *adsp_ldr_work) { struct platform_device *pdev = adsp_private; struct adsp_loader_private *priv = NULL; const char *adsp_dt = "qcom,adsp-state"; Loading Loading @@ -146,6 +149,11 @@ fail: return; } static void adsp_loader_do(struct platform_device *pdev) { dev_info(&pdev->dev, "%s: scheduling work to load ADSP fw\n", __func__); schedule_work(&adsp_ldr_work); } static ssize_t adsp_boot_store(struct kobject *kobj, struct kobj_attribute *attr, Loading Loading @@ -270,6 +278,8 @@ static int adsp_loader_probe(struct platform_device *pdev) return ret; } INIT_WORK(&adsp_ldr_work, adsp_load_fw); return 0; } Loading drivers/soc/qcom/qdsp6v2/cdsp-loader.c +16 −6 Original line number Diff line number Diff line Loading @@ -19,6 +19,8 @@ #include <linux/platform_device.h> #include <linux/of_device.h> #include <linux/sysfs.h> #include <linux/workqueue.h> #include <soc/qcom/subsystem_restart.h> #define BOOT_CMD 1 Loading Loading @@ -47,11 +49,12 @@ static struct attribute *attrs[] = { static u32 cdsp_state = CDSP_SUBSYS_DOWN; static struct platform_device *cdsp_private; static struct work_struct cdsp_ldr_work; static void cdsp_loader_unload(struct platform_device *pdev); static int cdsp_loader_do(struct platform_device *pdev) static void cdsp_load_fw(struct work_struct *cdsp_ldr_work) { struct platform_device *pdev = cdsp_private; struct cdsp_loader_private *priv = NULL; int rc = 0; Loading Loading @@ -101,14 +104,19 @@ static int cdsp_loader_do(struct platform_device *pdev) } dev_dbg(&pdev->dev, "%s: CDSP image is loaded\n", __func__); return rc; return; } fail: dev_err(&pdev->dev, "%s: CDSP image loading failed\n", __func__); return rc; return; } static void cdsp_loader_do(struct platform_device *pdev) { dev_info(&pdev->dev, "%s: scheduling work to load CDSP fw\n", __func__); schedule_work(&cdsp_ldr_work); } static ssize_t cdsp_boot_store(struct kobject *kobj, struct kobj_attribute *attr, Loading @@ -126,7 +134,7 @@ static ssize_t cdsp_boot_store(struct kobject *kobj, pr_debug("%s: going to call cdsp_loader_do\n", __func__); cdsp_loader_do(cdsp_private); } else if (boot == IMAGE_UNLOAD_CMD) { pr_debug("%s: going to call adsp_unloader\n", __func__); pr_debug("%s: going to call cdsp_unloader\n", __func__); cdsp_loader_unload(cdsp_private); } return count; Loading Loading @@ -238,6 +246,8 @@ static int cdsp_loader_probe(struct platform_device *pdev) return ret; } INIT_WORK(&cdsp_ldr_work, cdsp_load_fw); return 0; } Loading Loading
drivers/base/firmware_class.c +1 −2 Original line number Diff line number Diff line Loading @@ -307,8 +307,7 @@ static const char * const fw_path[] = { "/lib/firmware/updates/" UTS_RELEASE, "/lib/firmware/updates", "/lib/firmware/" UTS_RELEASE, "/lib/firmware", "/firmware/image" "/lib/firmware" }; /* Loading
drivers/sensors/sensors_ssc.c +14 −3 Original line number Diff line number Diff line /* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-2017, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -26,6 +26,8 @@ #include <linux/err.h> #include <linux/delay.h> #include <linux/sysfs.h> #include <linux/workqueue.h> #include <soc/qcom/subsystem_restart.h> #define IMAGE_LOAD_CMD 1 Loading Loading @@ -64,10 +66,11 @@ static struct attribute *attrs[] = { }; static struct platform_device *slpi_private; static struct work_struct slpi_ldr_work; static void slpi_loader_do(struct platform_device *pdev) static void slpi_load_fw(struct work_struct *slpi_ldr_work) { struct platform_device *pdev = slpi_private; struct slpi_loader_private *priv = NULL; int ret; const char *firmware_name = NULL; Loading Loading @@ -111,6 +114,12 @@ fail: dev_err(&pdev->dev, "%s: SLPI image loading failed\n", __func__); } static void slpi_loader_do(struct platform_device *pdev) { dev_info(&pdev->dev, "%s: scheduling work to load SLPI fw\n", __func__); schedule_work(&slpi_ldr_work); } static void slpi_loader_unload(struct platform_device *pdev) { struct slpi_loader_private *priv = NULL; Loading Loading @@ -336,6 +345,8 @@ static int sensors_ssc_probe(struct platform_device *pdev) goto cdev_add_err; } INIT_WORK(&slpi_ldr_work, slpi_load_fw); return 0; cdev_add_err: Loading
drivers/soc/qcom/qdsp6v2/adsp-loader.c +13 −3 Original line number Diff line number Diff line /* * Copyright (c) 2012-2014, The Linux Foundation. All rights reserved. * Copyright (c) 2012-2014, 2017, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading @@ -20,6 +20,8 @@ #include <linux/qdsp6v2/apr.h> #include <linux/of_device.h> #include <linux/sysfs.h> #include <linux/workqueue.h> #include <soc/qcom/subsystem_restart.h> #define Q6_PIL_GET_DELAY_MS 100 Loading @@ -44,12 +46,13 @@ static struct attribute *attrs[] = { NULL, }; static struct work_struct adsp_ldr_work; static struct platform_device *adsp_private; static void adsp_loader_unload(struct platform_device *pdev); static void adsp_loader_do(struct platform_device *pdev) static void adsp_load_fw(struct work_struct *adsp_ldr_work) { struct platform_device *pdev = adsp_private; struct adsp_loader_private *priv = NULL; const char *adsp_dt = "qcom,adsp-state"; Loading Loading @@ -146,6 +149,11 @@ fail: return; } static void adsp_loader_do(struct platform_device *pdev) { dev_info(&pdev->dev, "%s: scheduling work to load ADSP fw\n", __func__); schedule_work(&adsp_ldr_work); } static ssize_t adsp_boot_store(struct kobject *kobj, struct kobj_attribute *attr, Loading Loading @@ -270,6 +278,8 @@ static int adsp_loader_probe(struct platform_device *pdev) return ret; } INIT_WORK(&adsp_ldr_work, adsp_load_fw); return 0; } Loading
drivers/soc/qcom/qdsp6v2/cdsp-loader.c +16 −6 Original line number Diff line number Diff line Loading @@ -19,6 +19,8 @@ #include <linux/platform_device.h> #include <linux/of_device.h> #include <linux/sysfs.h> #include <linux/workqueue.h> #include <soc/qcom/subsystem_restart.h> #define BOOT_CMD 1 Loading Loading @@ -47,11 +49,12 @@ static struct attribute *attrs[] = { static u32 cdsp_state = CDSP_SUBSYS_DOWN; static struct platform_device *cdsp_private; static struct work_struct cdsp_ldr_work; static void cdsp_loader_unload(struct platform_device *pdev); static int cdsp_loader_do(struct platform_device *pdev) static void cdsp_load_fw(struct work_struct *cdsp_ldr_work) { struct platform_device *pdev = cdsp_private; struct cdsp_loader_private *priv = NULL; int rc = 0; Loading Loading @@ -101,14 +104,19 @@ static int cdsp_loader_do(struct platform_device *pdev) } dev_dbg(&pdev->dev, "%s: CDSP image is loaded\n", __func__); return rc; return; } fail: dev_err(&pdev->dev, "%s: CDSP image loading failed\n", __func__); return rc; return; } static void cdsp_loader_do(struct platform_device *pdev) { dev_info(&pdev->dev, "%s: scheduling work to load CDSP fw\n", __func__); schedule_work(&cdsp_ldr_work); } static ssize_t cdsp_boot_store(struct kobject *kobj, struct kobj_attribute *attr, Loading @@ -126,7 +134,7 @@ static ssize_t cdsp_boot_store(struct kobject *kobj, pr_debug("%s: going to call cdsp_loader_do\n", __func__); cdsp_loader_do(cdsp_private); } else if (boot == IMAGE_UNLOAD_CMD) { pr_debug("%s: going to call adsp_unloader\n", __func__); pr_debug("%s: going to call cdsp_unloader\n", __func__); cdsp_loader_unload(cdsp_private); } return count; Loading Loading @@ -238,6 +246,8 @@ static int cdsp_loader_probe(struct platform_device *pdev) return ret; } INIT_WORK(&cdsp_ldr_work, cdsp_load_fw); return 0; } Loading