diff options
Diffstat (limited to 'drivers/extcon')
| -rw-r--r-- | drivers/extcon/extcon-intel-cht-wc.c | 1 | ||||
| -rw-r--r-- | drivers/extcon/extcon-intel-int3496.c | 2 | ||||
| -rw-r--r-- | drivers/extcon/extcon-max3355.c | 1 | ||||
| -rw-r--r-- | drivers/extcon/extcon-qcom-spmi-misc.c | 1 | ||||
| -rw-r--r-- | drivers/extcon/extcon-usbc-cros-ec.c | 22 | ||||
| -rw-r--r-- | drivers/extcon/extcon.c | 3 | 
6 files changed, 12 insertions, 18 deletions
| diff --git a/drivers/extcon/extcon-intel-cht-wc.c b/drivers/extcon/extcon-intel-cht-wc.c index b7e9ea377d70..5e1dd2772278 100644 --- a/drivers/extcon/extcon-intel-cht-wc.c +++ b/drivers/extcon/extcon-intel-cht-wc.c @@ -20,6 +20,7 @@  #include <linux/kernel.h>  #include <linux/mfd/intel_soc_pmic.h>  #include <linux/module.h> +#include <linux/mod_devicetable.h>  #include <linux/platform_device.h>  #include <linux/regmap.h>  #include <linux/slab.h> diff --git a/drivers/extcon/extcon-intel-int3496.c b/drivers/extcon/extcon-intel-int3496.c index acaccb128fc4..fd24debe58a3 100644 --- a/drivers/extcon/extcon-intel-int3496.c +++ b/drivers/extcon/extcon-intel-int3496.c @@ -20,7 +20,7 @@  #include <linux/acpi.h>  #include <linux/extcon-provider.h> -#include <linux/gpio.h> +#include <linux/gpio/consumer.h>  #include <linux/interrupt.h>  #include <linux/module.h>  #include <linux/platform_device.h> diff --git a/drivers/extcon/extcon-max3355.c b/drivers/extcon/extcon-max3355.c index 0aa410836f4e..1335a476bfec 100644 --- a/drivers/extcon/extcon-max3355.c +++ b/drivers/extcon/extcon-max3355.c @@ -14,6 +14,7 @@  #include <linux/gpio/consumer.h>  #include <linux/interrupt.h>  #include <linux/module.h> +#include <linux/mod_devicetable.h>  #include <linux/platform_device.h>  struct max3355_data { diff --git a/drivers/extcon/extcon-qcom-spmi-misc.c b/drivers/extcon/extcon-qcom-spmi-misc.c index 660bbf163bf5..72bc0f2478e2 100644 --- a/drivers/extcon/extcon-qcom-spmi-misc.c +++ b/drivers/extcon/extcon-qcom-spmi-misc.c @@ -20,6 +20,7 @@  #include <linux/interrupt.h>  #include <linux/kernel.h>  #include <linux/module.h> +#include <linux/mod_devicetable.h>  #include <linux/platform_device.h>  #include <linux/slab.h>  #include <linux/workqueue.h> diff --git a/drivers/extcon/extcon-usbc-cros-ec.c b/drivers/extcon/extcon-usbc-cros-ec.c index 6721ab01fe7d..43c0a936ab82 100644 --- a/drivers/extcon/extcon-usbc-cros-ec.c +++ b/drivers/extcon/extcon-usbc-cros-ec.c @@ -1,18 +1,8 @@ -/** - * drivers/extcon/extcon-usbc-cros-ec - ChromeOS Embedded Controller extcon - * - * Copyright (C) 2017 Google, Inc - * Author: Benson Leung <[email protected]> - * - * This software is licensed under the terms of the GNU General Public - * License version 2, as published by the Free Software Foundation, and - * may be copied, distributed, and modified under those terms. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - */ +// SPDX-License-Identifier: GPL-2.0 +// ChromeOS Embedded Controller extcon +// +// Copyright (C) 2017 Google, Inc. +// Author: Benson Leung <[email protected]>  #include <linux/extcon-provider.h>  #include <linux/kernel.h> @@ -548,4 +538,4 @@ module_platform_driver(extcon_cros_ec_driver);  MODULE_DESCRIPTION("ChromeOS Embedded Controller extcon driver");  MODULE_AUTHOR("Benson Leung <[email protected]>"); -MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL v2"); diff --git a/drivers/extcon/extcon.c b/drivers/extcon/extcon.c index af83ad58819c..b9d27c8fe57e 100644 --- a/drivers/extcon/extcon.c +++ b/drivers/extcon/extcon.c @@ -433,8 +433,8 @@ int extcon_sync(struct extcon_dev *edev, unsigned int id)  		return index;  	spin_lock_irqsave(&edev->lock, flags); -  	state = !!(edev->state & BIT(index)); +	spin_unlock_irqrestore(&edev->lock, flags);  	/*  	 * Call functions in a raw notifier chain for the specific one @@ -448,6 +448,7 @@ int extcon_sync(struct extcon_dev *edev, unsigned int id)  	 */  	raw_notifier_call_chain(&edev->nh_all, state, edev); +	spin_lock_irqsave(&edev->lock, flags);  	/* This could be in interrupt handler */  	prop_buf = (char *)get_zeroed_page(GFP_ATOMIC);  	if (!prop_buf) { |