2022-08-16 05:40:08

by William Breathitt Gray

[permalink] [raw]
Subject: [PATCH] counter: Move symbols into COUNTER namespace

Counter subsystem symbols are only relevant to counter drivers. A
COUNTER namespace is created to control the availability of these
symbols to modules that import this namespace explicitly.

Cc: Patrick Havelange <[email protected]>
Cc: Jarkko Nikula <[email protected]>
Cc: Oleksij Rempel <[email protected]>
Cc: Pengutronix Kernel Team <[email protected]>
Cc: Kamel Bouhara <[email protected]>
Cc: Fabrice Gasnier <[email protected]>
Cc: Maxime Coquelin <[email protected]>
Cc: Alexandre Torgue <[email protected]>
Cc: David Lechner <[email protected]>
Signed-off-by: William Breathitt Gray <[email protected]>
---
drivers/counter/104-quad-8.c | 1 +
drivers/counter/counter-chrdev.c | 2 +-
drivers/counter/counter-core.c | 14 +++++++-------
drivers/counter/ftm-quaddec.c | 1 +
drivers/counter/intel-qep.c | 1 +
drivers/counter/interrupt-cnt.c | 1 +
drivers/counter/microchip-tcb-capture.c | 1 +
drivers/counter/stm32-lptimer-cnt.c | 1 +
drivers/counter/stm32-timer-cnt.c | 1 +
drivers/counter/ti-eqep.c | 1 +
10 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/drivers/counter/104-quad-8.c b/drivers/counter/104-quad-8.c
index 62c2b7ac4339..1323edfbe40c 100644
--- a/drivers/counter/104-quad-8.c
+++ b/drivers/counter/104-quad-8.c
@@ -1241,3 +1241,4 @@ module_isa_driver(quad8_driver, num_quad8);
MODULE_AUTHOR("William Breathitt Gray <[email protected]>");
MODULE_DESCRIPTION("ACCES 104-QUAD-8 driver");
MODULE_LICENSE("GPL v2");
+MODULE_IMPORT_NS(COUNTER);
diff --git a/drivers/counter/counter-chrdev.c b/drivers/counter/counter-chrdev.c
index 69d340be9c93..4e71a19d7e6a 100644
--- a/drivers/counter/counter-chrdev.c
+++ b/drivers/counter/counter-chrdev.c
@@ -574,4 +574,4 @@ void counter_push_event(struct counter_device *const counter, const u8 event,
if (copied)
wake_up_poll(&counter->events_wait, EPOLLIN);
}
-EXPORT_SYMBOL_GPL(counter_push_event);
+EXPORT_SYMBOL_NS_GPL(counter_push_event, COUNTER);
diff --git a/drivers/counter/counter-core.c b/drivers/counter/counter-core.c
index 938651f9e9e0..09c77afb33ca 100644
--- a/drivers/counter/counter-core.c
+++ b/drivers/counter/counter-core.c
@@ -73,7 +73,7 @@ void *counter_priv(const struct counter_device *const counter)

return &ch->privdata;
}
-EXPORT_SYMBOL_GPL(counter_priv);
+EXPORT_SYMBOL_NS_GPL(counter_priv, COUNTER);

/**
* counter_alloc - allocate a counter_device
@@ -133,13 +133,13 @@ struct counter_device *counter_alloc(size_t sizeof_priv)

return NULL;
}
-EXPORT_SYMBOL_GPL(counter_alloc);
+EXPORT_SYMBOL_NS_GPL(counter_alloc, COUNTER);

void counter_put(struct counter_device *counter)
{
put_device(&counter->dev);
}
-EXPORT_SYMBOL_GPL(counter_put);
+EXPORT_SYMBOL_NS_GPL(counter_put, COUNTER);

/**
* counter_add - complete registration of a counter
@@ -166,7 +166,7 @@ int counter_add(struct counter_device *counter)
/* implies device_add(dev) */
return cdev_device_add(&counter->chrdev, dev);
}
-EXPORT_SYMBOL_GPL(counter_add);
+EXPORT_SYMBOL_NS_GPL(counter_add, COUNTER);

/**
* counter_unregister - unregister Counter from the system
@@ -188,7 +188,7 @@ void counter_unregister(struct counter_device *const counter)

mutex_unlock(&counter->ops_exist_lock);
}
-EXPORT_SYMBOL_GPL(counter_unregister);
+EXPORT_SYMBOL_NS_GPL(counter_unregister, COUNTER);

static void devm_counter_release(void *counter)
{
@@ -223,7 +223,7 @@ struct counter_device *devm_counter_alloc(struct device *dev, size_t sizeof_priv

return counter;
}
-EXPORT_SYMBOL_GPL(devm_counter_alloc);
+EXPORT_SYMBOL_NS_GPL(devm_counter_alloc, COUNTER);

/**
* devm_counter_add - complete registration of a counter
@@ -244,7 +244,7 @@ int devm_counter_add(struct device *dev,

return devm_add_action_or_reset(dev, devm_counter_release, counter);
}
-EXPORT_SYMBOL_GPL(devm_counter_add);
+EXPORT_SYMBOL_NS_GPL(devm_counter_add, COUNTER);

#define COUNTER_DEV_MAX 256

diff --git a/drivers/counter/ftm-quaddec.c b/drivers/counter/ftm-quaddec.c
index 2a58582a9df4..aea6622a9b13 100644
--- a/drivers/counter/ftm-quaddec.c
+++ b/drivers/counter/ftm-quaddec.c
@@ -325,3 +325,4 @@ module_platform_driver(ftm_quaddec_driver);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Kjeld Flarup <[email protected]>");
MODULE_AUTHOR("Patrick Havelange <[email protected]>");
+MODULE_IMPORT_NS(COUNTER);
diff --git a/drivers/counter/intel-qep.c b/drivers/counter/intel-qep.c
index 47a6a9dfc9e8..af5942e66f7d 100644
--- a/drivers/counter/intel-qep.c
+++ b/drivers/counter/intel-qep.c
@@ -523,3 +523,4 @@ MODULE_AUTHOR("Jarkko Nikula <[email protected]>");
MODULE_AUTHOR("Raymond Tan <[email protected]>");
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("Intel Quadrature Encoder Peripheral driver");
+MODULE_IMPORT_NS(COUNTER);
diff --git a/drivers/counter/interrupt-cnt.c b/drivers/counter/interrupt-cnt.c
index 3b13f56bbb11..5a11b65fc0e5 100644
--- a/drivers/counter/interrupt-cnt.c
+++ b/drivers/counter/interrupt-cnt.c
@@ -242,3 +242,4 @@ MODULE_ALIAS("platform:interrupt-counter");
MODULE_AUTHOR("Oleksij Rempel <[email protected]>");
MODULE_DESCRIPTION("Interrupt counter driver");
MODULE_LICENSE("GPL v2");
+MODULE_IMPORT_NS(COUNTER);
diff --git a/drivers/counter/microchip-tcb-capture.c b/drivers/counter/microchip-tcb-capture.c
index 00844445143b..f9dee15d9777 100644
--- a/drivers/counter/microchip-tcb-capture.c
+++ b/drivers/counter/microchip-tcb-capture.c
@@ -394,3 +394,4 @@ module_platform_driver(mchp_tc_driver);
MODULE_AUTHOR("Kamel Bouhara <[email protected]>");
MODULE_DESCRIPTION("Microchip TCB Capture driver");
MODULE_LICENSE("GPL v2");
+MODULE_IMPORT_NS(COUNTER);
diff --git a/drivers/counter/stm32-lptimer-cnt.c b/drivers/counter/stm32-lptimer-cnt.c
index 68031d93ce89..d6b80b6dfc28 100644
--- a/drivers/counter/stm32-lptimer-cnt.c
+++ b/drivers/counter/stm32-lptimer-cnt.c
@@ -520,3 +520,4 @@ MODULE_AUTHOR("Fabrice Gasnier <[email protected]>");
MODULE_ALIAS("platform:stm32-lptimer-counter");
MODULE_DESCRIPTION("STMicroelectronics STM32 LPTIM counter driver");
MODULE_LICENSE("GPL v2");
+MODULE_IMPORT_NS(COUNTER);
diff --git a/drivers/counter/stm32-timer-cnt.c b/drivers/counter/stm32-timer-cnt.c
index 5779ae7c73cf..9bf20a5d6bda 100644
--- a/drivers/counter/stm32-timer-cnt.c
+++ b/drivers/counter/stm32-timer-cnt.c
@@ -417,3 +417,4 @@ MODULE_AUTHOR("Benjamin Gaignard <[email protected]>");
MODULE_ALIAS("platform:stm32-timer-counter");
MODULE_DESCRIPTION("STMicroelectronics STM32 TIMER counter driver");
MODULE_LICENSE("GPL v2");
+MODULE_IMPORT_NS(COUNTER);
diff --git a/drivers/counter/ti-eqep.c b/drivers/counter/ti-eqep.c
index 0489d26eb47c..b0f24cf3e891 100644
--- a/drivers/counter/ti-eqep.c
+++ b/drivers/counter/ti-eqep.c
@@ -456,3 +456,4 @@ module_platform_driver(ti_eqep_driver);
MODULE_AUTHOR("David Lechner <[email protected]>");
MODULE_DESCRIPTION("TI eQEP counter driver");
MODULE_LICENSE("GPL v2");
+MODULE_IMPORT_NS(COUNTER);

base-commit: 568035b01cfb107af8d2e4bd2fb9aea22cf5b868
--
2.37.2


2022-08-16 14:36:53

by David Lechner

[permalink] [raw]
Subject: Re: [PATCH] counter: Move symbols into COUNTER namespace

On 8/15/22 5:03 PM, William Breathitt Gray wrote:
> Counter subsystem symbols are only relevant to counter drivers. A
> COUNTER namespace is created to control the availability of these
> symbols to modules that import this namespace explicitly.
> ---


Acked-by: David Lechner <[email protected]>

2022-08-20 13:12:21

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH] counter: Move symbols into COUNTER namespace

On Mon, 15 Aug 2022 18:03:21 -0400
William Breathitt Gray <[email protected]> wrote:

> Counter subsystem symbols are only relevant to counter drivers. A
> COUNTER namespace is created to control the availability of these
> symbols to modules that import this namespace explicitly.
>
> Cc: Patrick Havelange <[email protected]>
> Cc: Jarkko Nikula <[email protected]>
> Cc: Oleksij Rempel <[email protected]>
> Cc: Pengutronix Kernel Team <[email protected]>
> Cc: Kamel Bouhara <[email protected]>
> Cc: Fabrice Gasnier <[email protected]>
> Cc: Maxime Coquelin <[email protected]>
> Cc: Alexandre Torgue <[email protected]>
> Cc: David Lechner <[email protected]>
> Signed-off-by: William Breathitt Gray <[email protected]>

I'm kind of amazed the interface is this small :)

Definitely a good thing to do. Sometime soon I'll finish
doing equivalent for IIO.

Reviewed-by: Jonathan Cameron <[email protected]>
> ---
> drivers/counter/104-quad-8.c | 1 +
> drivers/counter/counter-chrdev.c | 2 +-
> drivers/counter/counter-core.c | 14 +++++++-------
> drivers/counter/ftm-quaddec.c | 1 +
> drivers/counter/intel-qep.c | 1 +
> drivers/counter/interrupt-cnt.c | 1 +
> drivers/counter/microchip-tcb-capture.c | 1 +
> drivers/counter/stm32-lptimer-cnt.c | 1 +
> drivers/counter/stm32-timer-cnt.c | 1 +
> drivers/counter/ti-eqep.c | 1 +
> 10 files changed, 16 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/counter/104-quad-8.c b/drivers/counter/104-quad-8.c
> index 62c2b7ac4339..1323edfbe40c 100644
> --- a/drivers/counter/104-quad-8.c
> +++ b/drivers/counter/104-quad-8.c
> @@ -1241,3 +1241,4 @@ module_isa_driver(quad8_driver, num_quad8);
> MODULE_AUTHOR("William Breathitt Gray <[email protected]>");
> MODULE_DESCRIPTION("ACCES 104-QUAD-8 driver");
> MODULE_LICENSE("GPL v2");
> +MODULE_IMPORT_NS(COUNTER);
> diff --git a/drivers/counter/counter-chrdev.c b/drivers/counter/counter-chrdev.c
> index 69d340be9c93..4e71a19d7e6a 100644
> --- a/drivers/counter/counter-chrdev.c
> +++ b/drivers/counter/counter-chrdev.c
> @@ -574,4 +574,4 @@ void counter_push_event(struct counter_device *const counter, const u8 event,
> if (copied)
> wake_up_poll(&counter->events_wait, EPOLLIN);
> }
> -EXPORT_SYMBOL_GPL(counter_push_event);
> +EXPORT_SYMBOL_NS_GPL(counter_push_event, COUNTER);
> diff --git a/drivers/counter/counter-core.c b/drivers/counter/counter-core.c
> index 938651f9e9e0..09c77afb33ca 100644
> --- a/drivers/counter/counter-core.c
> +++ b/drivers/counter/counter-core.c
> @@ -73,7 +73,7 @@ void *counter_priv(const struct counter_device *const counter)
>
> return &ch->privdata;
> }
> -EXPORT_SYMBOL_GPL(counter_priv);
> +EXPORT_SYMBOL_NS_GPL(counter_priv, COUNTER);
>
> /**
> * counter_alloc - allocate a counter_device
> @@ -133,13 +133,13 @@ struct counter_device *counter_alloc(size_t sizeof_priv)
>
> return NULL;
> }
> -EXPORT_SYMBOL_GPL(counter_alloc);
> +EXPORT_SYMBOL_NS_GPL(counter_alloc, COUNTER);
>
> void counter_put(struct counter_device *counter)
> {
> put_device(&counter->dev);
> }
> -EXPORT_SYMBOL_GPL(counter_put);
> +EXPORT_SYMBOL_NS_GPL(counter_put, COUNTER);
>
> /**
> * counter_add - complete registration of a counter
> @@ -166,7 +166,7 @@ int counter_add(struct counter_device *counter)
> /* implies device_add(dev) */
> return cdev_device_add(&counter->chrdev, dev);
> }
> -EXPORT_SYMBOL_GPL(counter_add);
> +EXPORT_SYMBOL_NS_GPL(counter_add, COUNTER);
>
> /**
> * counter_unregister - unregister Counter from the system
> @@ -188,7 +188,7 @@ void counter_unregister(struct counter_device *const counter)
>
> mutex_unlock(&counter->ops_exist_lock);
> }
> -EXPORT_SYMBOL_GPL(counter_unregister);
> +EXPORT_SYMBOL_NS_GPL(counter_unregister, COUNTER);
>
> static void devm_counter_release(void *counter)
> {
> @@ -223,7 +223,7 @@ struct counter_device *devm_counter_alloc(struct device *dev, size_t sizeof_priv
>
> return counter;
> }
> -EXPORT_SYMBOL_GPL(devm_counter_alloc);
> +EXPORT_SYMBOL_NS_GPL(devm_counter_alloc, COUNTER);
>
> /**
> * devm_counter_add - complete registration of a counter
> @@ -244,7 +244,7 @@ int devm_counter_add(struct device *dev,
>
> return devm_add_action_or_reset(dev, devm_counter_release, counter);
> }
> -EXPORT_SYMBOL_GPL(devm_counter_add);
> +EXPORT_SYMBOL_NS_GPL(devm_counter_add, COUNTER);
>
> #define COUNTER_DEV_MAX 256
>
> diff --git a/drivers/counter/ftm-quaddec.c b/drivers/counter/ftm-quaddec.c
> index 2a58582a9df4..aea6622a9b13 100644
> --- a/drivers/counter/ftm-quaddec.c
> +++ b/drivers/counter/ftm-quaddec.c
> @@ -325,3 +325,4 @@ module_platform_driver(ftm_quaddec_driver);
> MODULE_LICENSE("GPL");
> MODULE_AUTHOR("Kjeld Flarup <[email protected]>");
> MODULE_AUTHOR("Patrick Havelange <[email protected]>");
> +MODULE_IMPORT_NS(COUNTER);
> diff --git a/drivers/counter/intel-qep.c b/drivers/counter/intel-qep.c
> index 47a6a9dfc9e8..af5942e66f7d 100644
> --- a/drivers/counter/intel-qep.c
> +++ b/drivers/counter/intel-qep.c
> @@ -523,3 +523,4 @@ MODULE_AUTHOR("Jarkko Nikula <[email protected]>");
> MODULE_AUTHOR("Raymond Tan <[email protected]>");
> MODULE_LICENSE("GPL");
> MODULE_DESCRIPTION("Intel Quadrature Encoder Peripheral driver");
> +MODULE_IMPORT_NS(COUNTER);
> diff --git a/drivers/counter/interrupt-cnt.c b/drivers/counter/interrupt-cnt.c
> index 3b13f56bbb11..5a11b65fc0e5 100644
> --- a/drivers/counter/interrupt-cnt.c
> +++ b/drivers/counter/interrupt-cnt.c
> @@ -242,3 +242,4 @@ MODULE_ALIAS("platform:interrupt-counter");
> MODULE_AUTHOR("Oleksij Rempel <[email protected]>");
> MODULE_DESCRIPTION("Interrupt counter driver");
> MODULE_LICENSE("GPL v2");
> +MODULE_IMPORT_NS(COUNTER);
> diff --git a/drivers/counter/microchip-tcb-capture.c b/drivers/counter/microchip-tcb-capture.c
> index 00844445143b..f9dee15d9777 100644
> --- a/drivers/counter/microchip-tcb-capture.c
> +++ b/drivers/counter/microchip-tcb-capture.c
> @@ -394,3 +394,4 @@ module_platform_driver(mchp_tc_driver);
> MODULE_AUTHOR("Kamel Bouhara <[email protected]>");
> MODULE_DESCRIPTION("Microchip TCB Capture driver");
> MODULE_LICENSE("GPL v2");
> +MODULE_IMPORT_NS(COUNTER);
> diff --git a/drivers/counter/stm32-lptimer-cnt.c b/drivers/counter/stm32-lptimer-cnt.c
> index 68031d93ce89..d6b80b6dfc28 100644
> --- a/drivers/counter/stm32-lptimer-cnt.c
> +++ b/drivers/counter/stm32-lptimer-cnt.c
> @@ -520,3 +520,4 @@ MODULE_AUTHOR("Fabrice Gasnier <[email protected]>");
> MODULE_ALIAS("platform:stm32-lptimer-counter");
> MODULE_DESCRIPTION("STMicroelectronics STM32 LPTIM counter driver");
> MODULE_LICENSE("GPL v2");
> +MODULE_IMPORT_NS(COUNTER);
> diff --git a/drivers/counter/stm32-timer-cnt.c b/drivers/counter/stm32-timer-cnt.c
> index 5779ae7c73cf..9bf20a5d6bda 100644
> --- a/drivers/counter/stm32-timer-cnt.c
> +++ b/drivers/counter/stm32-timer-cnt.c
> @@ -417,3 +417,4 @@ MODULE_AUTHOR("Benjamin Gaignard <[email protected]>");
> MODULE_ALIAS("platform:stm32-timer-counter");
> MODULE_DESCRIPTION("STMicroelectronics STM32 TIMER counter driver");
> MODULE_LICENSE("GPL v2");
> +MODULE_IMPORT_NS(COUNTER);
> diff --git a/drivers/counter/ti-eqep.c b/drivers/counter/ti-eqep.c
> index 0489d26eb47c..b0f24cf3e891 100644
> --- a/drivers/counter/ti-eqep.c
> +++ b/drivers/counter/ti-eqep.c
> @@ -456,3 +456,4 @@ module_platform_driver(ti_eqep_driver);
> MODULE_AUTHOR("David Lechner <[email protected]>");
> MODULE_DESCRIPTION("TI eQEP counter driver");
> MODULE_LICENSE("GPL v2");
> +MODULE_IMPORT_NS(COUNTER);
>
> base-commit: 568035b01cfb107af8d2e4bd2fb9aea22cf5b868

2022-08-25 14:46:35

by William Breathitt Gray

[permalink] [raw]
Subject: Re: [PATCH] counter: Move symbols into COUNTER namespace

On Mon, Aug 15, 2022 at 06:03:21PM -0400, William Breathitt Gray wrote:
> Counter subsystem symbols are only relevant to counter drivers. A
> COUNTER namespace is created to control the availability of these
> symbols to modules that import this namespace explicitly.
>
> Cc: Patrick Havelange <[email protected]>
> Cc: Jarkko Nikula <[email protected]>
> Cc: Oleksij Rempel <[email protected]>
> Cc: Pengutronix Kernel Team <[email protected]>
> Cc: Kamel Bouhara <[email protected]>
> Cc: Fabrice Gasnier <[email protected]>
> Cc: Maxime Coquelin <[email protected]>
> Cc: Alexandre Torgue <[email protected]>
> Cc: David Lechner <[email protected]>
> Signed-off-by: William Breathitt Gray <[email protected]>

Applied to counter-next branch.

William Breathitt Gray


Attachments:
(No filename) (870.00 B)
signature.asc (235.00 B)
Download all attachments