Factor out the entries only needed for consumers from the generic public header. This allows for a clean separation between providers and consumers. Also remove contact field in favor of MAINTAINERS entries. Fix the users, too.
Signed-off-by: Wolfram Sang <[email protected]> Acked-by: Mark Brown <[email protected]> Acked-by: Jonathan Cameron <[email protected]> # for IIO --- Documentation/locking/hwspinlock.rst | 2 +- MAINTAINERS | 1 - drivers/base/regmap/regmap.c | 2 +- drivers/hwspinlock/hwspinlock_core.c | 2 +- drivers/iio/adc/sc27xx_adc.c | 2 +- drivers/irqchip/irq-stm32mp-exti.c | 2 +- drivers/mfd/syscon.c | 2 +- drivers/nvmem/sc27xx-efuse.c | 2 +- drivers/nvmem/sprd-efuse.c | 2 +- drivers/pinctrl/stm32/pinctrl-stm32.c | 2 +- drivers/soc/qcom/smem.c | 2 +- drivers/spi/spi-sprd-adi.c | 2 +- .../linux/{hwspinlock.h => hwspinlock/consumer.h} | 15 ++++++--------- 13 files changed, 17 insertions(+), 21 deletions(-) rename include/linux/{hwspinlock.h => hwspinlock/consumer.h} (98%) diff --git a/Documentation/locking/hwspinlock.rst b/Documentation/locking/hwspinlock.rst index a737c702a7d1..001bcab86690 100644 --- a/Documentation/locking/hwspinlock.rst +++ b/Documentation/locking/hwspinlock.rst @@ -306,7 +306,7 @@ Typical usage :: - #include <linux/hwspinlock.h> + #include <linux/hwspinlock/consumer.h> #include <linux/err.h> int hwspinlock_example(void) diff --git a/MAINTAINERS b/MAINTAINERS index 4e95cbb48dd8..e1acfc1d6656 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -11216,7 +11216,6 @@ F: Documentation/devicetree/bindings/hwlock/ F: Documentation/locking/hwspinlock.rst F: drivers/hwspinlock/ F: include/linux/hwspinlock/ -F: include/linux/hwspinlock.h HARDWARE TRACING FACILITIES M: Alexander Shishkin <[email protected]> diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c index 607c1246d994..d25494495469 100644 --- a/drivers/base/regmap/regmap.c +++ b/drivers/base/regmap/regmap.c @@ -16,7 +16,7 @@ #include <linux/sched.h> #include <linux/delay.h> #include <linux/log2.h> -#include <linux/hwspinlock.h> +#include <linux/hwspinlock/consumer.h> #include <linux/unaligned.h> #define CREATE_TRACE_POINTS diff --git a/drivers/hwspinlock/hwspinlock_core.c b/drivers/hwspinlock/hwspinlock_core.c index 6c8a03deb00c..e78ec4b5cfa3 100644 --- a/drivers/hwspinlock/hwspinlock_core.c +++ b/drivers/hwspinlock/hwspinlock_core.c @@ -12,7 +12,7 @@ #include <linux/delay.h> #include <linux/device.h> #include <linux/err.h> -#include <linux/hwspinlock.h> +#include <linux/hwspinlock/consumer.h> #include <linux/hwspinlock/provider.h> #include <linux/jiffies.h> #include <linux/kernel.h> diff --git a/drivers/iio/adc/sc27xx_adc.c b/drivers/iio/adc/sc27xx_adc.c index 6209499c5c37..8a881d63b7dd 100644 --- a/drivers/iio/adc/sc27xx_adc.c +++ b/drivers/iio/adc/sc27xx_adc.c @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 // Copyright (C) 2018 Spreadtrum Communications Inc. -#include <linux/hwspinlock.h> +#include <linux/hwspinlock/consumer.h> #include <linux/iio/iio.h> #include <linux/module.h> #include <linux/mutex.h> diff --git a/drivers/irqchip/irq-stm32mp-exti.c b/drivers/irqchip/irq-stm32mp-exti.c index a24f4f1a4f8f..25d5aa67728a 100644 --- a/drivers/irqchip/irq-stm32mp-exti.c +++ b/drivers/irqchip/irq-stm32mp-exti.c @@ -6,7 +6,7 @@ */ #include <linux/bitops.h> -#include <linux/hwspinlock.h> +#include <linux/hwspinlock/consumer.h> #include <linux/interrupt.h> #include <linux/io.h> #include <linux/irq.h> diff --git a/drivers/mfd/syscon.c b/drivers/mfd/syscon.c index 21a7fcdd2737..8ec74f8513d7 100644 --- a/drivers/mfd/syscon.c +++ b/drivers/mfd/syscon.c @@ -11,7 +11,7 @@ #include <linux/cleanup.h> #include <linux/clk.h> #include <linux/err.h> -#include <linux/hwspinlock.h> +#include <linux/hwspinlock/consumer.h> #include <linux/list.h> #include <linux/mutex.h> #include <linux/of.h> diff --git a/drivers/nvmem/sc27xx-efuse.c b/drivers/nvmem/sc27xx-efuse.c index 4e2ffefac96c..309090cd4ff0 100644 --- a/drivers/nvmem/sc27xx-efuse.c +++ b/drivers/nvmem/sc27xx-efuse.c @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 // Copyright (C) 2018 Spreadtrum Communications Inc. -#include <linux/hwspinlock.h> +#include <linux/hwspinlock/consumer.h> #include <linux/module.h> #include <linux/of.h> #include <linux/platform_device.h> diff --git a/drivers/nvmem/sprd-efuse.c b/drivers/nvmem/sprd-efuse.c index 1a7e4e5d8b86..92e3092719ba 100644 --- a/drivers/nvmem/sprd-efuse.c +++ b/drivers/nvmem/sprd-efuse.c @@ -3,7 +3,7 @@ #include <linux/clk.h> #include <linux/delay.h> -#include <linux/hwspinlock.h> +#include <linux/hwspinlock/consumer.h> #include <linux/io.h> #include <linux/module.h> #include <linux/nvmem-provider.h> diff --git a/drivers/pinctrl/stm32/pinctrl-stm32.c b/drivers/pinctrl/stm32/pinctrl-stm32.c index 6a99708a5a23..17b2072d609e 100644 --- a/drivers/pinctrl/stm32/pinctrl-stm32.c +++ b/drivers/pinctrl/stm32/pinctrl-stm32.c @@ -10,7 +10,7 @@ #include <linux/clk.h> #include <linux/export.h> #include <linux/gpio/driver.h> -#include <linux/hwspinlock.h> +#include <linux/hwspinlock/consumer.h> #include <linux/io.h> #include <linux/irq.h> #include <linux/mfd/syscon.h> diff --git a/drivers/soc/qcom/smem.c b/drivers/soc/qcom/smem.c index d5c94b47f431..6d574d65b4a3 100644 --- a/drivers/soc/qcom/smem.c +++ b/drivers/soc/qcom/smem.c @@ -4,7 +4,7 @@ * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved. */ -#include <linux/hwspinlock.h> +#include <linux/hwspinlock/consumer.h> #include <linux/io.h> #include <linux/module.h> #include <linux/of.h> diff --git a/drivers/spi/spi-sprd-adi.c b/drivers/spi/spi-sprd-adi.c index e7d83c16b46c..04313e4a63dd 100644 --- a/drivers/spi/spi-sprd-adi.c +++ b/drivers/spi/spi-sprd-adi.c @@ -5,7 +5,7 @@ */ #include <linux/delay.h> -#include <linux/hwspinlock.h> +#include <linux/hwspinlock/consumer.h> #include <linux/init.h> #include <linux/io.h> #include <linux/kernel.h> diff --git a/include/linux/hwspinlock.h b/include/linux/hwspinlock/consumer.h similarity index 98% rename from include/linux/hwspinlock.h rename to include/linux/hwspinlock/consumer.h index 4fe1c8831cd1..f476222ec924 100644 --- a/include/linux/hwspinlock.h +++ b/include/linux/hwspinlock/consumer.h @@ -1,17 +1,16 @@ /* SPDX-License-Identifier: GPL-2.0 */ /* - * Hardware spinlock public header + * Hardware spinlock public header for consumers * * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com - * - * Contact: Ohad Ben-Cohen <[email protected]> + * Copyright (C) 2026 Sang Engineering + * Copyright (C) 2026 Renesas Solutions Corp. */ -#ifndef __LINUX_HWSPINLOCK_H -#define __LINUX_HWSPINLOCK_H +#ifndef __LINUX_HWSPINLOCK_CONSUMER_H +#define __LINUX_HWSPINLOCK_CONSUMER_H #include <linux/err.h> -#include <linux/sched.h> /* hwspinlock mode argument */ #define HWLOCK_IRQSTATE 0x01 /* Disable interrupts, save state */ @@ -22,8 +21,6 @@ struct device; struct device_node; struct hwspinlock; -struct hwspinlock_device; -struct hwspinlock_ops; #ifdef CONFIG_HWSPINLOCK @@ -403,4 +400,4 @@ static inline void hwspin_unlock(struct hwspinlock *hwlock) __hwspin_unlock(hwlock, 0, NULL); } -#endif /* __LINUX_HWSPINLOCK_H */ +#endif /* __LINUX_HWSPINLOCK_CONSUMER_H */ -- 2.51.0

