Peter Zijlstra
cdd30ebb1b
module: Convert symbol namespace to string literal
...
Clean up the existing export namespace code along the same lines of
commit 33def8498f ("treewide: Convert macro and uses of __section(foo)
to __section("foo")") and for the same reason, it is not desired for the
namespace argument to be a macro expansion itself.
Scripted using
git grep -l -e MODULE_IMPORT_NS -e EXPORT_SYMBOL_NS | while read file;
do
awk -i inplace '
/^#define EXPORT_SYMBOL_NS/ {
gsub(/__stringify\(ns\)/, "ns");
print;
next;
}
/^#define MODULE_IMPORT_NS/ {
gsub(/__stringify\(ns\)/, "ns");
print;
next;
}
/MODULE_IMPORT_NS/ {
$0 = gensub(/MODULE_IMPORT_NS\(([^)]*)\)/, "MODULE_IMPORT_NS(\"\\1\")", "g");
}
/EXPORT_SYMBOL_NS/ {
if ($0 ~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+),/) {
if ($0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/ &&
$0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(\)/ &&
$0 !~ /^my/) {
getline line;
gsub(/[[:space:]]*\\$/, "");
gsub(/[[:space:]]/, "", line);
$0 = $0 " " line;
}
$0 = gensub(/(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/,
"\\1(\\2, \"\\3\")", "g");
}
}
{ print }' $file;
done
Requested-by: Masahiro Yamada <masahiroy@kernel.org >
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org >
Link: https://mail.google.com/mail/u/2/#inbox/FMfcgzQXKWgMmjdFwwdsfgxzKpVHWPlc
Acked-by: Greg KH <gregkh@linuxfoundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2024-12-02 11:34:44 -08:00
Philipp Stanner
522ae89b78
counter: intel-qep: Replace deprecated PCI functions
...
pcim_iomap_regions() and pcim_iomap_table() have been deprecated in
commit e354bb84a4 ("PCI: Deprecate pcim_iomap_table(),
pcim_iomap_regions_request_all()").
Replace these functions with pcim_iomap_region().
Signed-off-by: Philipp Stanner <pstanner@redhat.com >
Link: https://lore.kernel.org/r/20241028091312.17045-2-pstanner@redhat.com
Signed-off-by: William Breathitt Gray <wbg@kernel.org >
2024-11-01 15:00:31 +09:00
William Breathitt Gray
3216e5512a
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 <patrick.havelange@essensium.com >
Cc: Jarkko Nikula <jarkko.nikula@linux.intel.com >
Cc: Oleksij Rempel <linux@rempel-privat.de >
Cc: Pengutronix Kernel Team <kernel@pengutronix.de >
Cc: Kamel Bouhara <kamel.bouhara@bootlin.com >
Cc: Fabrice Gasnier <fabrice.gasnier@foss.st.com >
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com >
Cc: Alexandre Torgue <alexandre.torgue@foss.st.com >
Acked-by: David Lechner <david@lechnology.com >
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
Link: https://lore.kernel.org/r/20220815220321.74161-1-william.gray@linaro.org/
Signed-off-by: William Breathitt Gray <william.gray@linaro.org >
Link: https://lore.kernel.org/r/8a756df96c24946547a7ece5caa5f654809c5e7f.1664318353.git.william.gray@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2022-09-30 14:32:35 +02:00
Uwe Kleine-König
e99dec87a9
counter: intel-qep: Convert to new counter registration
...
This fixes device lifetime issues where it was possible to free a live
struct device.
Fixes: b711f687a1 ("counter: Add support for Intel Quadrature Encoder Peripheral")
Tested-by: Jarkko Nikula <jarkko.nikula@linux.intel.com >
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
Acked-by: William Breathitt Gray <vilhelm.gray@gmail.com >
Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com >
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de >
Link: https://lore.kernel.org/r/20211230150300.72196-18-u.kleine-koenig@pengutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-12-30 17:44:07 +01:00
Uwe Kleine-König
53ada09552
counter: intel-qep: Convert to counter_priv() wrapper
...
This is a straight forward conversion to the new counter_priv() wrapper.
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
Acked-by: William Breathitt Gray <vilhelm.gray@gmail.com >
Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com >
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de >
Link: https://lore.kernel.org/r/20211230150300.72196-9-u.kleine-koenig@pengutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-12-30 17:44:06 +01:00
William Breathitt Gray
aaec1a0f76
counter: Internalize sysfs interface code
...
This is a reimplementation of the Generic Counter driver interface.
There are no modifications to the Counter subsystem userspace interface,
so existing userspace applications should continue to run seamlessly.
The purpose of this patch is to internalize the sysfs interface code
among the various counter drivers into a shared module. Counter drivers
pass and take data natively (i.e. u8, u64, etc.) and the shared counter
module handles the translation between the sysfs interface and the
device drivers. This guarantees a standard userspace interface for all
counter drivers, and helps generalize the Generic Counter driver ABI in
order to support the Generic Counter chrdev interface (introduced in a
subsequent patch) without significant changes to the existing counter
drivers.
Note, Counter device registration is the same as before: drivers
populate a struct counter_device with components and callbacks, then
pass the structure to the devm_counter_register function. However,
what's different now is how the Counter subsystem code handles this
registration internally.
Whereas before callbacks would interact directly with sysfs data, this
interaction is now abstracted and instead callbacks interact with native
C data types. The counter_comp structure forms the basis for Counter
extensions.
The counter-sysfs.c file contains the code to parse through the
counter_device structure and register the requested components and
extensions. Attributes are created and populated based on type, with
respective translation functions to handle the mapping between sysfs and
the counter driver callbacks.
The translation performed for each attribute is straightforward: the
attribute type and data is parsed from the counter_attribute structure,
the respective counter driver read/write callback is called, and sysfs
I/O is handled before or after the driver read/write function is called.
Cc: Jarkko Nikula <jarkko.nikula@linux.intel.com >
Cc: Patrick Havelange <patrick.havelange@essensium.com >
Cc: Kamel Bouhara <kamel.bouhara@bootlin.com >
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com >
Cc: Alexandre Torgue <alexandre.torgue@st.com >
Cc: Dan Carpenter <dan.carpenter@oracle.com >
Acked-by: Syed Nayyar Waris <syednwaris@gmail.com >
Reviewed-by: David Lechner <david@lechnology.com >
Tested-by: David Lechner <david@lechnology.com >
Signed-off-by: William Breathitt Gray <vilhelm.gray@gmail.com >
Reviewed-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com > # for stm32
Link: https://lore.kernel.org/r/c68b4a1ffb195c1a2f65e8dd5ad7b7c14e79c6ef.1630031207.git.vilhelm.gray@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2021-10-17 10:52:58 +01:00
William Breathitt Gray
394a0150a0
counter: Rename counter_count_function to counter_function
...
The phrase "Counter Count function" is verbose and unintentionally
implies that function is a Count extension. This patch adjusts the
Counter subsystem code to use the more direct "Counter function" phrase
to make the intent of this code clearer.
Cc: Jarkko Nikula <jarkko.nikula@linux.intel.com >
Cc: Patrick Havelange <patrick.havelange@essensium.com >
Cc: Oleksij Rempel <o.rempel@pengutronix.de >
Cc: Kamel Bouhara <kamel.bouhara@bootlin.com >
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com >
Cc: Alexandre Torgue <alexandre.torgue@st.com >
Cc: David Lechner <david@lechnology.com >
Acked-by: Syed Nayyar Waris <syednwaris@gmail.com >
Reviewed-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com >
Signed-off-by: William Breathitt Gray <vilhelm.gray@gmail.com >
Link: https://lore.kernel.org/r/8268c54d6f42075a19bb08151a37831e22652499.1627990337.git.vilhelm.gray@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2021-08-09 20:17:36 +01:00
William Breathitt Gray
e2ff3198c5
counter: Standardize to ERANGE for limit exceeded errors
...
ERANGE is a semantically better error code to return when an argument
value falls outside the supported limit range of a device.
Cc: Jarkko Nikula <jarkko.nikula@linux.intel.com >
Cc: Oleksij Rempel <o.rempel@pengutronix.de >
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com >
Cc: Alexandre Torgue <alexandre.torgue@st.com >
Acked-by: Syed Nayyar Waris <syednwaris@gmail.com >
Reviewed-by: David Lechner <david@lechnology.com >
Reviewed-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com >
Signed-off-by: William Breathitt Gray <vilhelm.gray@gmail.com >
Link: https://lore.kernel.org/r/ae8d3b20b8b02c96b1c9898ffa2f9fa5d99edc81.1627990337.git.vilhelm.gray@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2021-08-09 20:17:36 +01:00
Jarkko Nikula
62f9eb7079
counter: intel-qep: Remove linux/bitops.h include
...
0-DAY CI Kernel Test Service reported following iwyu warning:
drivers/counter/intel-qep.c:11:1: iwyu: warning: superfluous #include <linux/bitops.h>
Remove that include since we don't seem to use anything from it.
Reported-by: kernel test robot <lkp@intel.com >
Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com >
Acked-by: William Breathitt Gray <vilhelm.gray@gmail.com >
Link: https://lore.kernel.org/r/20210629111657.2655688-1-jarkko.nikula@linux.intel.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2021-07-13 19:07:10 +01:00
Jarkko Nikula
93466212b9
counter: intel-qep: Use to_pci_dev() helper
...
Use to_pci_dev() helper instead of container_of(d, struct pci_dev, dev);
Suggested-by: Jonathan Cameron <jic23@kernel.org >
Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com >
Acked-by: William Breathitt Gray <vilhelm.gray@gmail.com >
Link: https://lore.kernel.org/r/20210611115558.796338-2-jarkko.nikula@linux.intel.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2021-06-13 17:00:17 +01:00
Jarkko Nikula
ac3bd9d6b1
counter: intel-qep: Mark PM callbacks with __maybe_unused
...
Remove CONFIG_PM ifdef and mark PM callbacks with __maybe_unused.
Suggested-by: Jonathan Cameron <jic23@kernel.org >
Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com >
Acked-by: William Breathitt Gray <vilhelm.gray@gmail.com >
Link: https://lore.kernel.org/r/20210611115558.796338-1-jarkko.nikula@linux.intel.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2021-06-13 17:00:17 +01:00
Jarkko Nikula
b711f687a1
counter: Add support for Intel Quadrature Encoder Peripheral
...
Add support for Intel Quadrature Encoder Peripheral found on Intel
Elkhart Lake platform.
Initial implementation was done by Felipe Balbi while he was working at
Intel with later changes from Raymond Tan and me.
Co-developed-by: Felipe Balbi (Intel) <balbi@kernel.org >
Signed-off-by: Felipe Balbi (Intel) <balbi@kernel.org >
Co-developed-by: Raymond Tan <raymond.tan@intel.com >
Signed-off-by: Raymond Tan <raymond.tan@intel.com >
Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com >
Acked-by: William Breathitt Gray <vilhelm.gray@gmail.com >
Link: https://lore.kernel.org/r/20210602113259.158674-1-jarkko.nikula@linux.intel.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2021-06-03 18:24:14 +01:00