2023-03-16 22:57:41

by David E. Box

[permalink] [raw]
Subject: [PATCH 1/2] platform/x86/intel/pmt: Add INTEL_PMT module namespace

Since the currently exported symbols in pmt_class are only used by other
Intel PMT drivers, create an INTEL_PMT module namespace for them.

Signed-off-by: David E. Box <[email protected]>
---
drivers/platform/x86/intel/pmt/class.c | 6 +++---
drivers/platform/x86/intel/pmt/crashlog.c | 1 +
drivers/platform/x86/intel/pmt/telemetry.c | 1 +
3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/platform/x86/intel/pmt/class.c b/drivers/platform/x86/intel/pmt/class.c
index 46598dcb634a..0b96d75f5924 100644
--- a/drivers/platform/x86/intel/pmt/class.c
+++ b/drivers/platform/x86/intel/pmt/class.c
@@ -33,7 +33,7 @@ bool intel_pmt_is_early_client_hw(struct device *dev)
*/
return !!(ivdev->info->quirks & VSEC_QUIRK_EARLY_HW);
}
-EXPORT_SYMBOL_GPL(intel_pmt_is_early_client_hw);
+EXPORT_SYMBOL_NS_GPL(intel_pmt_is_early_client_hw, INTEL_PMT);

static inline int
pmt_memcpy64_fromio(void *to, const u64 __iomem *from, size_t count)
@@ -327,7 +327,7 @@ int intel_pmt_dev_create(struct intel_pmt_entry *entry, struct intel_pmt_namespa
return intel_pmt_dev_register(entry, ns, dev);

}
-EXPORT_SYMBOL_GPL(intel_pmt_dev_create);
+EXPORT_SYMBOL_NS_GPL(intel_pmt_dev_create, INTEL_PMT);

void intel_pmt_dev_destroy(struct intel_pmt_entry *entry,
struct intel_pmt_namespace *ns)
@@ -343,7 +343,7 @@ void intel_pmt_dev_destroy(struct intel_pmt_entry *entry,
device_unregister(dev);
xa_erase(ns->xa, entry->devid);
}
-EXPORT_SYMBOL_GPL(intel_pmt_dev_destroy);
+EXPORT_SYMBOL_NS_GPL(intel_pmt_dev_destroy, INTEL_PMT);

static int __init pmt_class_init(void)
{
diff --git a/drivers/platform/x86/intel/pmt/crashlog.c b/drivers/platform/x86/intel/pmt/crashlog.c
index ace1239bc0a0..bbb3d61d09f4 100644
--- a/drivers/platform/x86/intel/pmt/crashlog.c
+++ b/drivers/platform/x86/intel/pmt/crashlog.c
@@ -328,3 +328,4 @@ module_exit(pmt_crashlog_exit);
MODULE_AUTHOR("Alexander Duyck <[email protected]>");
MODULE_DESCRIPTION("Intel PMT Crashlog driver");
MODULE_LICENSE("GPL v2");
+MODULE_IMPORT_NS(INTEL_PMT);
diff --git a/drivers/platform/x86/intel/pmt/telemetry.c b/drivers/platform/x86/intel/pmt/telemetry.c
index 5e4009c05ecf..71cdef42084a 100644
--- a/drivers/platform/x86/intel/pmt/telemetry.c
+++ b/drivers/platform/x86/intel/pmt/telemetry.c
@@ -160,3 +160,4 @@ module_exit(pmt_telem_exit);
MODULE_AUTHOR("David E. Box <[email protected]>");
MODULE_DESCRIPTION("Intel PMT Telemetry driver");
MODULE_LICENSE("GPL v2");
+MODULE_IMPORT_NS(INTEL_PMT);

base-commit: 79df06733435e2773eb5e9ab9c0ce13c23e4cd88
--
2.34.1



2023-03-16 22:57:43

by David E. Box

[permalink] [raw]
Subject: [PATCH 2/2] platform/x86/intel/pmt/telemetry: Add driver version

Add a driver version number to make it easier to track changes in
backported kernels.

Signed-off-by: David E. Box <[email protected]>
---
drivers/platform/x86/intel/pmt/telemetry.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/platform/x86/intel/pmt/telemetry.c b/drivers/platform/x86/intel/pmt/telemetry.c
index 71cdef42084a..deb96b5777ce 100644
--- a/drivers/platform/x86/intel/pmt/telemetry.c
+++ b/drivers/platform/x86/intel/pmt/telemetry.c
@@ -19,6 +19,7 @@
#include "../vsec.h"
#include "class.h"

+#define DRIVER_VERSION "1.0"
#define TELEM_SIZE_OFFSET 0x0
#define TELEM_GUID_OFFSET 0x4
#define TELEM_BASE_OFFSET 0x8
@@ -160,4 +161,5 @@ module_exit(pmt_telem_exit);
MODULE_AUTHOR("David E. Box <[email protected]>");
MODULE_DESCRIPTION("Intel PMT Telemetry driver");
MODULE_LICENSE("GPL v2");
+MODULE_VERSION(DRIVER_VERSION);
MODULE_IMPORT_NS(INTEL_PMT);
--
2.34.1


2023-03-17 13:35:03

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH 1/2] platform/x86/intel/pmt: Add INTEL_PMT module namespace

On Fri, Mar 17, 2023 at 12:57 AM David E. Box
<[email protected]> wrote:
>
> Since the currently exported symbols in pmt_class are only used by other
> Intel PMT drivers, create an INTEL_PMT module namespace for them.

Makes sense.
Reviewed-by: Andy Shevchenko <[email protected]>

> Signed-off-by: David E. Box <[email protected]>
> ---
> drivers/platform/x86/intel/pmt/class.c | 6 +++---
> drivers/platform/x86/intel/pmt/crashlog.c | 1 +
> drivers/platform/x86/intel/pmt/telemetry.c | 1 +
> 3 files changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/platform/x86/intel/pmt/class.c b/drivers/platform/x86/intel/pmt/class.c
> index 46598dcb634a..0b96d75f5924 100644
> --- a/drivers/platform/x86/intel/pmt/class.c
> +++ b/drivers/platform/x86/intel/pmt/class.c
> @@ -33,7 +33,7 @@ bool intel_pmt_is_early_client_hw(struct device *dev)
> */
> return !!(ivdev->info->quirks & VSEC_QUIRK_EARLY_HW);
> }
> -EXPORT_SYMBOL_GPL(intel_pmt_is_early_client_hw);
> +EXPORT_SYMBOL_NS_GPL(intel_pmt_is_early_client_hw, INTEL_PMT);
>
> static inline int
> pmt_memcpy64_fromio(void *to, const u64 __iomem *from, size_t count)
> @@ -327,7 +327,7 @@ int intel_pmt_dev_create(struct intel_pmt_entry *entry, struct intel_pmt_namespa
> return intel_pmt_dev_register(entry, ns, dev);
>
> }
> -EXPORT_SYMBOL_GPL(intel_pmt_dev_create);
> +EXPORT_SYMBOL_NS_GPL(intel_pmt_dev_create, INTEL_PMT);
>
> void intel_pmt_dev_destroy(struct intel_pmt_entry *entry,
> struct intel_pmt_namespace *ns)
> @@ -343,7 +343,7 @@ void intel_pmt_dev_destroy(struct intel_pmt_entry *entry,
> device_unregister(dev);
> xa_erase(ns->xa, entry->devid);
> }
> -EXPORT_SYMBOL_GPL(intel_pmt_dev_destroy);
> +EXPORT_SYMBOL_NS_GPL(intel_pmt_dev_destroy, INTEL_PMT);
>
> static int __init pmt_class_init(void)
> {
> diff --git a/drivers/platform/x86/intel/pmt/crashlog.c b/drivers/platform/x86/intel/pmt/crashlog.c
> index ace1239bc0a0..bbb3d61d09f4 100644
> --- a/drivers/platform/x86/intel/pmt/crashlog.c
> +++ b/drivers/platform/x86/intel/pmt/crashlog.c
> @@ -328,3 +328,4 @@ module_exit(pmt_crashlog_exit);
> MODULE_AUTHOR("Alexander Duyck <[email protected]>");
> MODULE_DESCRIPTION("Intel PMT Crashlog driver");
> MODULE_LICENSE("GPL v2");
> +MODULE_IMPORT_NS(INTEL_PMT);
> diff --git a/drivers/platform/x86/intel/pmt/telemetry.c b/drivers/platform/x86/intel/pmt/telemetry.c
> index 5e4009c05ecf..71cdef42084a 100644
> --- a/drivers/platform/x86/intel/pmt/telemetry.c
> +++ b/drivers/platform/x86/intel/pmt/telemetry.c
> @@ -160,3 +160,4 @@ module_exit(pmt_telem_exit);
> MODULE_AUTHOR("David E. Box <[email protected]>");
> MODULE_DESCRIPTION("Intel PMT Telemetry driver");
> MODULE_LICENSE("GPL v2");
> +MODULE_IMPORT_NS(INTEL_PMT);
>
> base-commit: 79df06733435e2773eb5e9ab9c0ce13c23e4cd88
> --
> 2.34.1
>


--
With Best Regards,
Andy Shevchenko

2023-03-17 13:36:09

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH 2/2] platform/x86/intel/pmt/telemetry: Add driver version

On Fri, Mar 17, 2023 at 12:57 AM David E. Box
<[email protected]> wrote:
>
> Add a driver version number to make it easier to track changes in
> backported kernels.

Sorry, but NAK. As Greg KH said, we do not use this anymore (in Git
era) ­— the SHA from the Git _is_ the version of the driver.

--
With Best Regards,
Andy Shevchenko

2023-03-20 14:17:24

by Hans de Goede

[permalink] [raw]
Subject: Re: [PATCH 1/2] platform/x86/intel/pmt: Add INTEL_PMT module namespace

Hi,

On 3/17/23 14:34, Andy Shevchenko wrote:
> On Fri, Mar 17, 2023 at 12:57 AM David E. Box
> <[email protected]> wrote:
>>
>> Since the currently exported symbols in pmt_class are only used by other
>> Intel PMT drivers, create an INTEL_PMT module namespace for them.
>
> Makes sense.
> Reviewed-by: Andy Shevchenko <[email protected]>

Thank you both for the patch and review, I've applied this
patch to my review-hans branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans

Note it will show up in my review-hans branch once I've pushed my
local branch there, which might take a while.

Once I've run some tests on this branch the patches there will be
added to the platform-drivers-x86/for-next branch and eventually
will be included in the pdx86 pull-request to Linus for the next
merge-window.

Regards,

Hans




>
>> Signed-off-by: David E. Box <[email protected]>
>> ---
>> drivers/platform/x86/intel/pmt/class.c | 6 +++---
>> drivers/platform/x86/intel/pmt/crashlog.c | 1 +
>> drivers/platform/x86/intel/pmt/telemetry.c | 1 +
>> 3 files changed, 5 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/platform/x86/intel/pmt/class.c b/drivers/platform/x86/intel/pmt/class.c
>> index 46598dcb634a..0b96d75f5924 100644
>> --- a/drivers/platform/x86/intel/pmt/class.c
>> +++ b/drivers/platform/x86/intel/pmt/class.c
>> @@ -33,7 +33,7 @@ bool intel_pmt_is_early_client_hw(struct device *dev)
>> */
>> return !!(ivdev->info->quirks & VSEC_QUIRK_EARLY_HW);
>> }
>> -EXPORT_SYMBOL_GPL(intel_pmt_is_early_client_hw);
>> +EXPORT_SYMBOL_NS_GPL(intel_pmt_is_early_client_hw, INTEL_PMT);
>>
>> static inline int
>> pmt_memcpy64_fromio(void *to, const u64 __iomem *from, size_t count)
>> @@ -327,7 +327,7 @@ int intel_pmt_dev_create(struct intel_pmt_entry *entry, struct intel_pmt_namespa
>> return intel_pmt_dev_register(entry, ns, dev);
>>
>> }
>> -EXPORT_SYMBOL_GPL(intel_pmt_dev_create);
>> +EXPORT_SYMBOL_NS_GPL(intel_pmt_dev_create, INTEL_PMT);
>>
>> void intel_pmt_dev_destroy(struct intel_pmt_entry *entry,
>> struct intel_pmt_namespace *ns)
>> @@ -343,7 +343,7 @@ void intel_pmt_dev_destroy(struct intel_pmt_entry *entry,
>> device_unregister(dev);
>> xa_erase(ns->xa, entry->devid);
>> }
>> -EXPORT_SYMBOL_GPL(intel_pmt_dev_destroy);
>> +EXPORT_SYMBOL_NS_GPL(intel_pmt_dev_destroy, INTEL_PMT);
>>
>> static int __init pmt_class_init(void)
>> {
>> diff --git a/drivers/platform/x86/intel/pmt/crashlog.c b/drivers/platform/x86/intel/pmt/crashlog.c
>> index ace1239bc0a0..bbb3d61d09f4 100644
>> --- a/drivers/platform/x86/intel/pmt/crashlog.c
>> +++ b/drivers/platform/x86/intel/pmt/crashlog.c
>> @@ -328,3 +328,4 @@ module_exit(pmt_crashlog_exit);
>> MODULE_AUTHOR("Alexander Duyck <[email protected]>");
>> MODULE_DESCRIPTION("Intel PMT Crashlog driver");
>> MODULE_LICENSE("GPL v2");
>> +MODULE_IMPORT_NS(INTEL_PMT);
>> diff --git a/drivers/platform/x86/intel/pmt/telemetry.c b/drivers/platform/x86/intel/pmt/telemetry.c
>> index 5e4009c05ecf..71cdef42084a 100644
>> --- a/drivers/platform/x86/intel/pmt/telemetry.c
>> +++ b/drivers/platform/x86/intel/pmt/telemetry.c
>> @@ -160,3 +160,4 @@ module_exit(pmt_telem_exit);
>> MODULE_AUTHOR("David E. Box <[email protected]>");
>> MODULE_DESCRIPTION("Intel PMT Telemetry driver");
>> MODULE_LICENSE("GPL v2");
>> +MODULE_IMPORT_NS(INTEL_PMT);
>>
>> base-commit: 79df06733435e2773eb5e9ab9c0ce13c23e4cd88
>> --
>> 2.34.1
>>
>
>


2023-03-20 14:20:04

by Hans de Goede

[permalink] [raw]
Subject: Re: [PATCH 2/2] platform/x86/intel/pmt/telemetry: Add driver version

Hi,

On 3/17/23 14:35, Andy Shevchenko wrote:
> On Fri, Mar 17, 2023 at 12:57 AM David E. Box
> <[email protected]> wrote:
>>
>> Add a driver version number to make it easier to track changes in
>> backported kernels.
>
> Sorry, but NAK. As Greg KH said, we do not use this anymore (in Git
> era) ­— the SHA from the Git _is_ the version of the driver.

I agree with Andy per driver version numbers are really not useful.

Generally speaking the version number will get updated say once
per upstream kernel-release in a separate commit, but there is
no guarantee that commit will get cherry-picked together with
other cherry-picked fixes.

So for downstream kernels these version numbers really don't
have any meaning and as such are useless.

Regards,

Hans


2023-03-20 17:10:18

by David E. Box

[permalink] [raw]
Subject: Re: [PATCH 2/2] platform/x86/intel/pmt/telemetry: Add driver version

On Mon, 2023-03-20 at 15:18 +0100, Hans de Goede wrote:
> Hi,
>
> On 3/17/23 14:35, Andy Shevchenko wrote:
> > On Fri, Mar 17, 2023 at 12:57 AM David E. Box
> > <[email protected]> wrote:
> > >
> > > Add a driver version number to make it easier to track changes in
> > > backported kernels.
> >
> > Sorry, but NAK. As Greg KH said, we do not use this anymore (in Git
> > era) ­— the SHA from the Git _is_ the version of the driver.
>
> I agree with Andy per driver version numbers are really not useful.
>
> Generally speaking the version number will get updated say once
> per upstream kernel-release in a separate commit, 

> but there is
> no guarantee that commit will get cherry-picked together with
> other cherry-picked fixes.

Good point. Thanks.

David


>
> So for downstream kernels these version numbers really don't
> have any meaning and as such are useless.
>
> Regards,
>
> Hans
>