[merged mm-nonmm-stable] locking-ww_mutex-test-add-module_description.patch removed from -mm tree

2024-09-01 Thread Andrew Morton


The quilt patch titled
 Subject: locking/ww_mutex/test: add MODULE_DESCRIPTION()
has been removed from the -mm tree.  Its filename was
 locking-ww_mutex-test-add-module_description.patch

This patch was dropped because it was merged into the mm-nonmm-stable branch
of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

--
From: Jeff Johnson 
Subject: locking/ww_mutex/test: add MODULE_DESCRIPTION()
Date: Tue, 30 Jul 2024 07:43:22 -0700

Fix the 'make W=1' warning:
WARNING: modpost: missing MODULE_DESCRIPTION() in kernel/locking/test-ww_mutex.o

Link: 
https://lkml.kernel.org/r/20240730-module_description_orphans-v1-5-709408807...@quicinc.com
Signed-off-by: Jeff Johnson 
Acked-by: Waiman Long 
Cc: Alexandre Torgue 
Cc: Alistar Popple 
Cc: Andrew Jeffery 
Cc: Andy Lutomirski 
Cc: Arnd Bergmann 
Cc: Boqun Feng 
Cc: Borislav Petkov 
Cc: Christophe Leroy 
Cc: Dave Hansen 
Cc: Eddie James 
Cc: Greg Kroah-Hartman 
Cc: "H. Peter Anvin" 
Cc: Ingo Molnar 
Cc: Jeremy Kerr 
Cc: Joel Stanley 
Cc: Karol Herbst 
Cc: Masami Hiramatsu 
Cc: Maxime Coquelin 
Cc: Michael Ellerman 
Cc: Naveen N Rao 
Cc: Nicholas Piggin 
Cc: Nouveau 
Cc: Pekka Paalanen 
Cc: Peter Zijlstra 
Cc: Rafael J. Wysocki 
Cc: Russell King 
Cc: Steven Rostedt (Google) 
Cc: Thomas Gleixner 
Cc: Viresh Kumar 
Cc: Will Deacon 
Signed-off-by: Andrew Morton 
---

 kernel/locking/test-ww_mutex.c |1 +
 1 file changed, 1 insertion(+)

--- 
a/kernel/locking/test-ww_mutex.c~locking-ww_mutex-test-add-module_description
+++ a/kernel/locking/test-ww_mutex.c
@@ -697,3 +697,4 @@ module_exit(test_ww_mutex_exit);
 
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Intel Corporation");
+MODULE_DESCRIPTION("API test facility for ww_mutexes");
_

Patches currently in -mm which might be from quic_jjohn...@quicinc.com are




[merged mm-nonmm-stable] crypto-arm-xor-add-missing-module_description-macro.patch removed from -mm tree

2024-09-01 Thread Andrew Morton


The quilt patch titled
 Subject: crypto: arm/xor - add missing MODULE_DESCRIPTION() macro
has been removed from the -mm tree.  Its filename was
 crypto-arm-xor-add-missing-module_description-macro.patch

This patch was dropped because it was merged into the mm-nonmm-stable branch
of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

--
From: Jeff Johnson 
Subject: crypto: arm/xor - add missing MODULE_DESCRIPTION() macro
Date: Tue, 30 Jul 2024 07:43:18 -0700

Patch series "treewide: add missing MODULE_DESCRIPTION() macros".

Since commit 1fffe7a34c89 ("script: modpost: emit a warning when the
description is missing"), a module without a MODULE_DESCRIPTION() will
result in a warning when built with make W=1.

Recently, multiple developers have been eradicating these warnings
treewide, and I personally submitted almost 300 patches over the past few
months.  Almost all of my patches landed by 6.11-rc1, either by being
merged in a 6.10-rc or by being merged in the 6.11 merge window.  However,
a few of my patches did not land.


This patch (of 5):

With ARCH=arm and CONFIG_KERNEL_MODE_NEON=y, make W=1 C=1 reports:
WARNING: modpost: missing MODULE_DESCRIPTION() in arch/arm/lib/xor-neon.o

Add the missing invocation of the MODULE_DESCRIPTION() macro.

Link: 
https://lkml.kernel.org/r/20240730-module_description_orphans-v1-0-709408807...@quicinc.com
Link: 
https://lkml.kernel.org/r/20240730-module_description_orphans-v1-1-709408807...@quicinc.com
Signed-off-by: Jeff Johnson 
Cc: Alexandre Torgue 
Cc: Alistar Popple 
Cc: Andrew Jeffery 
Cc: Andy Lutomirski 
Cc: Arnd Bergmann 
Cc: Boqun Feng 
Cc: Borislav Petkov 
Cc: Christophe Leroy 
Cc: Dave Hansen 
Cc: Eddie James 
Cc: Greg Kroah-Hartman 
Cc: "H. Peter Anvin" 
Cc: Ingo Molnar 
Cc: Jeremy Kerr 
Cc: Joel Stanley 
Cc: Karol Herbst 
Cc: Masami Hiramatsu 
Cc: Maxime Coquelin 
Cc: Michael Ellerman  (powerpc)
Cc: Naveen N Rao 
Cc: Nicholas Piggin 
Cc: Nouveau 
Cc: Pekka Paalanen 
Cc: Peter Zijlstra 
Cc: Rafael J. Wysocki 
Cc: Russell King 
Cc: Steven Rostedt (Google) 
Cc: Thomas Gleixner 
Cc: Viresh Kumar 
Cc: Waiman Long 
Cc: Will Deacon 
Signed-off-by: Andrew Morton 
---

 arch/arm/lib/xor-neon.c |1 +
 1 file changed, 1 insertion(+)

--- 
a/arch/arm/lib/xor-neon.c~crypto-arm-xor-add-missing-module_description-macro
+++ a/arch/arm/lib/xor-neon.c
@@ -8,6 +8,7 @@
 #include 
 #include 
 
+MODULE_DESCRIPTION("NEON accelerated XOR implementation");
 MODULE_LICENSE("GPL");
 
 #ifndef __ARM_NEON__
_

Patches currently in -mm which might be from quic_jjohn...@quicinc.com are




[merged mm-nonmm-stable] x86-mm-add-testmmiotrace-module_description.patch removed from -mm tree

2024-09-01 Thread Andrew Morton


The quilt patch titled
 Subject: x86/mm: add testmmiotrace MODULE_DESCRIPTION()
has been removed from the -mm tree.  Its filename was
 x86-mm-add-testmmiotrace-module_description.patch

This patch was dropped because it was merged into the mm-nonmm-stable branch
of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

--
From: Jeff Johnson 
Subject: x86/mm: add testmmiotrace MODULE_DESCRIPTION()
Date: Tue, 30 Jul 2024 07:43:19 -0700

Fix the following 'make W=1' warning:

WARNING: modpost: missing MODULE_DESCRIPTION() in arch/x86/mm/testmmiotrace.o

Link: 
https://lkml.kernel.org/r/20240730-module_description_orphans-v1-2-709408807...@quicinc.com
Signed-off-by: Jeff Johnson 
Cc: Alexandre Torgue 
Cc: Alistar Popple 
Cc: Andrew Jeffery 
Cc: Andy Lutomirski 
Cc: Arnd Bergmann 
Cc: Boqun Feng 
Cc: Borislav Petkov 
Cc: Christophe Leroy 
Cc: Dave Hansen 
Cc: Eddie James 
Cc: Greg Kroah-Hartman 
Cc: "H. Peter Anvin" 
Cc: Ingo Molnar 
Cc: Jeremy Kerr 
Cc: Joel Stanley 
Cc: Karol Herbst 
Cc: Masami Hiramatsu 
Cc: Maxime Coquelin 
Cc: Michael Ellerman 
Cc: Naveen N Rao 
Cc: Nicholas Piggin 
Cc: Nouveau 
Cc: Pekka Paalanen 
Cc: Peter Zijlstra 
Cc: Rafael J. Wysocki 
Cc: Russell King 
Cc: Steven Rostedt (Google) 
Cc: Thomas Gleixner 
Cc: Viresh Kumar 
Cc: Waiman Long 
Cc: Will Deacon 
Signed-off-by: Andrew Morton 
---

 arch/x86/mm/testmmiotrace.c |1 +
 1 file changed, 1 insertion(+)

--- a/arch/x86/mm/testmmiotrace.c~x86-mm-add-testmmiotrace-module_description
+++ a/arch/x86/mm/testmmiotrace.c
@@ -144,3 +144,4 @@ static void __exit cleanup(void)
 module_init(init);
 module_exit(cleanup);
 MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("Test module for mmiotrace");
_

Patches currently in -mm which might be from quic_jjohn...@quicinc.com are




[merged] cpufreq-powerpc-add-missing-module_description-macros.patch removed from -mm tree

2024-08-04 Thread Andrew Morton


The quilt patch titled
 Subject: cpufreq: powerpc: add missing MODULE_DESCRIPTION() macros
has been removed from the -mm tree.  Its filename was
 cpufreq-powerpc-add-missing-module_description-macros.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
From: Jeff Johnson 
Subject: cpufreq: powerpc: add missing MODULE_DESCRIPTION() macros
Date: Tue, 30 Jul 2024 07:43:20 -0700

With ARCH=powerpc, make allmodconfig && make W=1 C=1 reports:
WARNING: modpost: missing MODULE_DESCRIPTION() in 
drivers/cpufreq/ppc-cbe-cpufreq.o
WARNING: modpost: missing MODULE_DESCRIPTION() in 
drivers/cpufreq/powernv-cpufreq.o

Add the missing invocation of the MODULE_DESCRIPTION() macro to all files
which have a MODULE_LICENSE().

This includes three additional files which, although they did not produce
a warning with the powerpc allmodconfig configuration, may cause this
warning with specific options enabled in the kernel configuration.

Link: 
https://lkml.kernel.org/r/20240730-module_description_orphans-v1-3-709408807...@quicinc.com
Signed-off-by: Jeff Johnson 
Acked-by: Viresh Kumar 
Acked-by: Michael Ellerman 
Cc: Alexandre Torgue 
Cc: Alistar Popple 
Cc: Andrew Jeffery 
Cc: Andy Lutomirski 
Cc: Arnd Bergmann 
Cc: Boqun Feng 
Cc: Borislav Petkov 
Cc: Christophe Leroy 
Cc: Dave Hansen 
Cc: Eddie James 
Cc: Greg Kroah-Hartman 
Cc: "H. Peter Anvin" 
Cc: Ingo Molnar 
Cc: Jeremy Kerr 
Cc: Joel Stanley 
Cc: Karol Herbst 
Cc: Masami Hiramatsu 
Cc: Maxime Coquelin 
Cc: Naveen N Rao 
Cc: Nicholas Piggin 
Cc: Nouveau 
Cc: Pekka Paalanen 
Cc: Peter Zijlstra 
Cc: Rafael J. Wysocki 
Cc: Russell King 
Cc: Steven Rostedt (Google) 
Cc: Thomas Gleixner 
Cc: Waiman Long 
Cc: Will Deacon 
Signed-off-by: Andrew Morton 
---

 drivers/cpufreq/maple-cpufreq.c   |1 +
 drivers/cpufreq/pasemi-cpufreq.c  |1 +
 drivers/cpufreq/pmac64-cpufreq.c  |1 +
 drivers/cpufreq/powernv-cpufreq.c |1 +
 drivers/cpufreq/ppc_cbe_cpufreq.c |1 +
 5 files changed, 5 insertions(+)

--- 
a/drivers/cpufreq/maple-cpufreq.c~cpufreq-powerpc-add-missing-module_description-macros
+++ a/drivers/cpufreq/maple-cpufreq.c
@@ -238,4 +238,5 @@ bail_noprops:
 module_init(maple_cpufreq_init);
 
 
+MODULE_DESCRIPTION("cpufreq driver for Maple 970FX/970MP boards");
 MODULE_LICENSE("GPL");
--- 
a/drivers/cpufreq/pasemi-cpufreq.c~cpufreq-powerpc-add-missing-module_description-macros
+++ a/drivers/cpufreq/pasemi-cpufreq.c
@@ -269,5 +269,6 @@ static void __exit pas_cpufreq_exit(void
 module_init(pas_cpufreq_init);
 module_exit(pas_cpufreq_exit);
 
+MODULE_DESCRIPTION("cpufreq driver for PA Semi PWRficient");
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Egor Martovetsky , Olof Johansson 
");
--- 
a/drivers/cpufreq/pmac64-cpufreq.c~cpufreq-powerpc-add-missing-module_description-macros
+++ a/drivers/cpufreq/pmac64-cpufreq.c
@@ -671,4 +671,5 @@ static int __init g5_cpufreq_init(void)
 module_init(g5_cpufreq_init);
 
 
+MODULE_DESCRIPTION("cpufreq driver for SMU & 970FX based G5 Macs");
 MODULE_LICENSE("GPL");
--- 
a/drivers/cpufreq/powernv-cpufreq.c~cpufreq-powerpc-add-missing-module_description-macros
+++ a/drivers/cpufreq/powernv-cpufreq.c
@@ -1160,5 +1160,6 @@ static void __exit powernv_cpufreq_exit(
 }
 module_exit(powernv_cpufreq_exit);
 
+MODULE_DESCRIPTION("cpufreq driver for IBM/OpenPOWER powernv systems");
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Vaidyanathan Srinivasan ");
--- 
a/drivers/cpufreq/ppc_cbe_cpufreq.c~cpufreq-powerpc-add-missing-module_description-macros
+++ a/drivers/cpufreq/ppc_cbe_cpufreq.c
@@ -168,5 +168,6 @@ static void __exit cbe_cpufreq_exit(void
 module_init(cbe_cpufreq_init);
 module_exit(cbe_cpufreq_exit);
 
+MODULE_DESCRIPTION("cpufreq driver for Cell BE processors");
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Christian Krafft ");
_

Patches currently in -mm which might be from quic_jjohn...@quicinc.com are

lib-test_objpool-add-missing-module_description-macro.patch
crypto-arm-xor-add-missing-module_description-macro.patch
x86-mm-add-testmmiotrace-module_description.patch
locking-ww_mutex-test-add-module_description.patch



[merged] fsi-add-missing-module_description-macros.patch removed from -mm tree

2024-07-31 Thread Andrew Morton


The quilt patch titled
 Subject: fsi: add missing MODULE_DESCRIPTION() macros
has been removed from the -mm tree.  Its filename was
 fsi-add-missing-module_description-macros.patch

This patch was dropped because it was merged into mainline or a subsystem tree

--
From: Jeff Johnson 
Subject: fsi: add missing MODULE_DESCRIPTION() macros
Date: Tue, 30 Jul 2024 07:43:21 -0700

make allmodconfig && make W=1 C=1 reports:
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/fsi/fsi-core.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/fsi/fsi-master-hub.o
WARNING: modpost: missing MODULE_DESCRIPTION() in 
drivers/fsi/fsi-master-aspeed.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/fsi/fsi-master-gpio.o
WARNING: modpost: missing MODULE_DESCRIPTION() in 
drivers/fsi/fsi-master-ast-cf.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/fsi/fsi-scom.o

Add the missing invocations of the MODULE_DESCRIPTION() macro, and fix the
copy/paste of the module description comment in fsi-master-ast-cf.c.

Link: 
https://lkml.kernel.org/r/20240730-module_description_orphans-v1-4-709408807...@quicinc.com
Signed-off-by: Jeff Johnson 
Reviewed-by: Eddie James 
Cc: Alexandre Torgue 
Cc: Alistar Popple 
Cc: Andrew Jeffery 
Cc: Andy Lutomirski 
Cc: Arnd Bergmann 
Cc: Boqun Feng 
Cc: Borislav Petkov 
Cc: Christophe Leroy 
Cc: Dave Hansen 
Cc: Greg Kroah-Hartman 
Cc: "H. Peter Anvin" 
Cc: Ingo Molnar 
Cc: Jeremy Kerr 
Cc: Joel Stanley 
Cc: Karol Herbst 
Cc: Masami Hiramatsu 
Cc: Maxime Coquelin 
Cc: Michael Ellerman 
Cc: Naveen N Rao 
Cc: Nicholas Piggin 
Cc: Nouveau 
Cc: Pekka Paalanen 
Cc: Peter Zijlstra 
Cc: Rafael J. Wysocki 
Cc: Russell King 
Cc: Steven Rostedt (Google) 
Cc: Thomas Gleixner 
Cc: Viresh Kumar 
Cc: Waiman Long 
Cc: Will Deacon 
Signed-off-by: Andrew Morton 
---

 drivers/fsi/fsi-core.c  |1 +
 drivers/fsi/fsi-master-aspeed.c |1 +
 drivers/fsi/fsi-master-ast-cf.c |3 ++-
 drivers/fsi/fsi-master-gpio.c   |1 +
 drivers/fsi/fsi-master-hub.c|1 +
 drivers/fsi/fsi-scom.c  |1 +
 6 files changed, 7 insertions(+), 1 deletion(-)

--- a/drivers/fsi/fsi-core.c~fsi-add-missing-module_description-macros
+++ a/drivers/fsi/fsi-core.c
@@ -1444,5 +1444,6 @@ static void fsi_exit(void)
 }
 module_exit(fsi_exit);
 module_param(discard_errors, int, 0664);
+MODULE_DESCRIPTION("FSI core driver");
 MODULE_LICENSE("GPL");
 MODULE_PARM_DESC(discard_errors, "Don't invoke error handling on bus 
accesses");
--- a/drivers/fsi/fsi-master-aspeed.c~fsi-add-missing-module_description-macros
+++ a/drivers/fsi/fsi-master-aspeed.c
@@ -670,4 +670,5 @@ static struct platform_driver fsi_master
 };
 
 module_platform_driver(fsi_master_aspeed_driver);
+MODULE_DESCRIPTION("FSI master driver for AST2600");
 MODULE_LICENSE("GPL");
--- a/drivers/fsi/fsi-master-ast-cf.c~fsi-add-missing-module_description-macros
+++ a/drivers/fsi/fsi-master-ast-cf.c
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0+
 // Copyright 2018 IBM Corp
 /*
- * A FSI master controller, using a simple GPIO bit-banging interface
+ * A FSI master based on Aspeed ColdFire coprocessor
  */
 
 #include 
@@ -1438,5 +1438,6 @@ static struct platform_driver fsi_master
 };
 
 module_platform_driver(fsi_master_acf);
+MODULE_DESCRIPTION("A FSI master based on Aspeed ColdFire coprocessor");
 MODULE_LICENSE("GPL");
 MODULE_FIRMWARE(FW_FILE_NAME);
--- a/drivers/fsi/fsi-master-gpio.c~fsi-add-missing-module_description-macros
+++ a/drivers/fsi/fsi-master-gpio.c
@@ -892,4 +892,5 @@ static struct platform_driver fsi_master
 };
 
 module_platform_driver(fsi_master_gpio_driver);
+MODULE_DESCRIPTION("A FSI master controller, using a simple GPIO bit-banging 
interface");
 MODULE_LICENSE("GPL");
--- a/drivers/fsi/fsi-master-hub.c~fsi-add-missing-module_description-macros
+++ a/drivers/fsi/fsi-master-hub.c
@@ -295,4 +295,5 @@ static struct fsi_driver hub_master_driv
 };
 
 module_fsi_driver(hub_master_driver);
+MODULE_DESCRIPTION("FSI hub master driver");
 MODULE_LICENSE("GPL");
--- a/drivers/fsi/fsi-scom.c~fsi-add-missing-module_description-macros
+++ a/drivers/fsi/fsi-scom.c
@@ -625,4 +625,5 @@ static void scom_exit(void)
 
 module_init(scom_init);
 module_exit(scom_exit);
+MODULE_DESCRIPTION("SCOM FSI Client device driver");
 MODULE_LICENSE("GPL");
_

Patches currently in -mm which might be from quic_jjohn...@quicinc.com are

lib-test_objpool-add-missing-module_description-macro.patch
crypto-arm-xor-add-missing-module_description-macro.patch
x86-mm-add-testmmiotrace-module_description.patch
cpufreq-powerpc-add-missing-module_description-macros.patch
locking-ww_mutex-test-add-module_description.patch



+ locking-ww_mutex-test-add-module_description.patch added to mm-nonmm-unstable branch

2024-07-30 Thread Andrew Morton


The patch titled
 Subject: locking/ww_mutex/test: add MODULE_DESCRIPTION()
has been added to the -mm mm-nonmm-unstable branch.  Its filename is
 locking-ww_mutex-test-add-module_description.patch

This patch will shortly appear at
 
https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/locking-ww_mutex-test-add-module_description.patch

This patch will later appear in the mm-nonmm-unstable branch at
git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Before you just go and hit "reply", please:
   a) Consider who else should be cc'ed
   b) Prefer to cc a suitable mailing list as well
   c) Ideally: find the original patch on the mailing list and do a
  reply-to-all to that, adding suitable additional cc's

*** Remember to use Documentation/process/submit-checklist.rst when testing 
your code ***

The -mm tree is included into linux-next via the mm-everything
branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
and is updated there every 2-3 working days

--
From: Jeff Johnson 
Subject: locking/ww_mutex/test: add MODULE_DESCRIPTION()
Date: Tue, 30 Jul 2024 07:43:22 -0700

Fix the 'make W=1' warning:
WARNING: modpost: missing MODULE_DESCRIPTION() in kernel/locking/test-ww_mutex.o

Link: 
https://lkml.kernel.org/r/20240730-module_description_orphans-v1-5-709408807...@quicinc.com
Signed-off-by: Jeff Johnson 
Acked-by: Waiman Long 
Cc: Alexandre Torgue 
Cc: Alistar Popple 
Cc: Andrew Jeffery 
Cc: Andy Lutomirski 
Cc: Arnd Bergmann 
Cc: Boqun Feng 
Cc: Borislav Petkov 
Cc: Christophe Leroy 
Cc: Dave Hansen 
Cc: Eddie James 
Cc: Greg Kroah-Hartman 
Cc: "H. Peter Anvin" 
Cc: Ingo Molnar 
Cc: Jeremy Kerr 
Cc: Joel Stanley 
Cc: Karol Herbst 
Cc: Masami Hiramatsu 
Cc: Maxime Coquelin 
Cc: Michael Ellerman 
Cc: Naveen N Rao 
Cc: Nicholas Piggin 
Cc: Nouveau 
Cc: Pekka Paalanen 
Cc: Peter Zijlstra 
Cc: Rafael J. Wysocki 
Cc: Russell King 
Cc: Steven Rostedt (Google) 
Cc: Thomas Gleixner 
Cc: Viresh Kumar 
Cc: Will Deacon 
Signed-off-by: Andrew Morton 
---

 kernel/locking/test-ww_mutex.c |1 +
 1 file changed, 1 insertion(+)

--- 
a/kernel/locking/test-ww_mutex.c~locking-ww_mutex-test-add-module_description
+++ a/kernel/locking/test-ww_mutex.c
@@ -697,3 +697,4 @@ module_exit(test_ww_mutex_exit);
 
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Intel Corporation");
+MODULE_DESCRIPTION("API test facility for ww_mutexes");
_

Patches currently in -mm which might be from quic_jjohn...@quicinc.com are

lib-test_objpool-add-missing-module_description-macro.patch
crypto-arm-xor-add-missing-module_description-macro.patch
x86-mm-add-testmmiotrace-module_description.patch
cpufreq-powerpc-add-missing-module_description-macros.patch
fsi-add-missing-module_description-macros.patch
locking-ww_mutex-test-add-module_description.patch



+ fsi-add-missing-module_description-macros.patch added to mm-nonmm-unstable branch

2024-07-30 Thread Andrew Morton


The patch titled
 Subject: fsi: add missing MODULE_DESCRIPTION() macros
has been added to the -mm mm-nonmm-unstable branch.  Its filename is
 fsi-add-missing-module_description-macros.patch

This patch will shortly appear at
 
https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/fsi-add-missing-module_description-macros.patch

This patch will later appear in the mm-nonmm-unstable branch at
git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Before you just go and hit "reply", please:
   a) Consider who else should be cc'ed
   b) Prefer to cc a suitable mailing list as well
   c) Ideally: find the original patch on the mailing list and do a
  reply-to-all to that, adding suitable additional cc's

*** Remember to use Documentation/process/submit-checklist.rst when testing 
your code ***

The -mm tree is included into linux-next via the mm-everything
branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
and is updated there every 2-3 working days

--
From: Jeff Johnson 
Subject: fsi: add missing MODULE_DESCRIPTION() macros
Date: Tue, 30 Jul 2024 07:43:21 -0700

make allmodconfig && make W=1 C=1 reports:
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/fsi/fsi-core.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/fsi/fsi-master-hub.o
WARNING: modpost: missing MODULE_DESCRIPTION() in 
drivers/fsi/fsi-master-aspeed.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/fsi/fsi-master-gpio.o
WARNING: modpost: missing MODULE_DESCRIPTION() in 
drivers/fsi/fsi-master-ast-cf.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/fsi/fsi-scom.o

Add the missing invocations of the MODULE_DESCRIPTION() macro, and fix the
copy/paste of the module description comment in fsi-master-ast-cf.c.

Link: 
https://lkml.kernel.org/r/20240730-module_description_orphans-v1-4-709408807...@quicinc.com
Signed-off-by: Jeff Johnson 
Reviewed-by: Eddie James 
Cc: Alexandre Torgue 
Cc: Alistar Popple 
Cc: Andrew Jeffery 
Cc: Andy Lutomirski 
Cc: Arnd Bergmann 
Cc: Boqun Feng 
Cc: Borislav Petkov 
Cc: Christophe Leroy 
Cc: Dave Hansen 
Cc: Greg Kroah-Hartman 
Cc: "H. Peter Anvin" 
Cc: Ingo Molnar 
Cc: Jeremy Kerr 
Cc: Joel Stanley 
Cc: Karol Herbst 
Cc: Masami Hiramatsu 
Cc: Maxime Coquelin 
Cc: Michael Ellerman 
Cc: Naveen N Rao 
Cc: Nicholas Piggin 
Cc: Nouveau 
Cc: Pekka Paalanen 
Cc: Peter Zijlstra 
Cc: Rafael J. Wysocki 
Cc: Russell King 
Cc: Steven Rostedt (Google) 
Cc: Thomas Gleixner 
Cc: Viresh Kumar 
Cc: Waiman Long 
Cc: Will Deacon 
Signed-off-by: Andrew Morton 
---

 drivers/fsi/fsi-core.c  |1 +
 drivers/fsi/fsi-master-aspeed.c |1 +
 drivers/fsi/fsi-master-ast-cf.c |3 ++-
 drivers/fsi/fsi-master-gpio.c   |1 +
 drivers/fsi/fsi-master-hub.c|1 +
 drivers/fsi/fsi-scom.c  |1 +
 6 files changed, 7 insertions(+), 1 deletion(-)

--- a/drivers/fsi/fsi-core.c~fsi-add-missing-module_description-macros
+++ a/drivers/fsi/fsi-core.c
@@ -1444,5 +1444,6 @@ static void fsi_exit(void)
 }
 module_exit(fsi_exit);
 module_param(discard_errors, int, 0664);
+MODULE_DESCRIPTION("FSI core driver");
 MODULE_LICENSE("GPL");
 MODULE_PARM_DESC(discard_errors, "Don't invoke error handling on bus 
accesses");
--- a/drivers/fsi/fsi-master-aspeed.c~fsi-add-missing-module_description-macros
+++ a/drivers/fsi/fsi-master-aspeed.c
@@ -670,4 +670,5 @@ static struct platform_driver fsi_master
 };
 
 module_platform_driver(fsi_master_aspeed_driver);
+MODULE_DESCRIPTION("FSI master driver for AST2600");
 MODULE_LICENSE("GPL");
--- a/drivers/fsi/fsi-master-ast-cf.c~fsi-add-missing-module_description-macros
+++ a/drivers/fsi/fsi-master-ast-cf.c
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0+
 // Copyright 2018 IBM Corp
 /*
- * A FSI master controller, using a simple GPIO bit-banging interface
+ * A FSI master based on Aspeed ColdFire coprocessor
  */
 
 #include 
@@ -1438,5 +1438,6 @@ static struct platform_driver fsi_master
 };
 
 module_platform_driver(fsi_master_acf);
+MODULE_DESCRIPTION("A FSI master based on Aspeed ColdFire coprocessor");
 MODULE_LICENSE("GPL");
 MODULE_FIRMWARE(FW_FILE_NAME);
--- a/drivers/fsi/fsi-master-gpio.c~fsi-add-missing-module_description-macros
+++ a/drivers/fsi/fsi-master-gpio.c
@@ -892,4 +892,5 @@ static struct platform_driver fsi_master
 };
 
 module_platform_driver(fsi_master_gpio_driver);
+MODULE_DESCRIPTION("A FSI master controller, using a simple GPIO bit-banging 
interface");
 MODULE_LICENSE("GPL");
--- a/drivers/fsi/fsi-master-hub.c~fsi-add-missing-module_description-macros
+++ a/drivers/fsi/fsi-master-hub.c
@@ -295,4 +295,5 @@ static struct fsi_driver hub_master_driv
 };
 
 module_fsi_driver(hub_master_driver);
+MODULE_DESCRIPTION("FSI hub master driver");
 MODULE_LICENSE("GPL");
--- a/dri

+ cpufreq-powerpc-add-missing-module_description-macros.patch added to mm-nonmm-unstable branch

2024-07-30 Thread Andrew Morton


The patch titled
 Subject: cpufreq: powerpc: add missing MODULE_DESCRIPTION() macros
has been added to the -mm mm-nonmm-unstable branch.  Its filename is
 cpufreq-powerpc-add-missing-module_description-macros.patch

This patch will shortly appear at
 
https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/cpufreq-powerpc-add-missing-module_description-macros.patch

This patch will later appear in the mm-nonmm-unstable branch at
git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Before you just go and hit "reply", please:
   a) Consider who else should be cc'ed
   b) Prefer to cc a suitable mailing list as well
   c) Ideally: find the original patch on the mailing list and do a
  reply-to-all to that, adding suitable additional cc's

*** Remember to use Documentation/process/submit-checklist.rst when testing 
your code ***

The -mm tree is included into linux-next via the mm-everything
branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
and is updated there every 2-3 working days

--
From: Jeff Johnson 
Subject: cpufreq: powerpc: add missing MODULE_DESCRIPTION() macros
Date: Tue, 30 Jul 2024 07:43:20 -0700

With ARCH=powerpc, make allmodconfig && make W=1 C=1 reports:
WARNING: modpost: missing MODULE_DESCRIPTION() in 
drivers/cpufreq/ppc-cbe-cpufreq.o
WARNING: modpost: missing MODULE_DESCRIPTION() in 
drivers/cpufreq/powernv-cpufreq.o

Add the missing invocation of the MODULE_DESCRIPTION() macro to all files
which have a MODULE_LICENSE().

This includes three additional files which, although they did not produce
a warning with the powerpc allmodconfig configuration, may cause this
warning with specific options enabled in the kernel configuration.

Link: 
https://lkml.kernel.org/r/20240730-module_description_orphans-v1-3-709408807...@quicinc.com
Signed-off-by: Jeff Johnson 
Acked-by: Viresh Kumar 
Acked-by: Michael Ellerman 
Cc: Alexandre Torgue 
Cc: Alistar Popple 
Cc: Andrew Jeffery 
Cc: Andy Lutomirski 
Cc: Arnd Bergmann 
Cc: Boqun Feng 
Cc: Borislav Petkov 
Cc: Christophe Leroy 
Cc: Dave Hansen 
Cc: Eddie James 
Cc: Greg Kroah-Hartman 
Cc: "H. Peter Anvin" 
Cc: Ingo Molnar 
Cc: Jeremy Kerr 
Cc: Joel Stanley 
Cc: Karol Herbst 
Cc: Masami Hiramatsu 
Cc: Maxime Coquelin 
Cc: Naveen N Rao 
Cc: Nicholas Piggin 
Cc: Nouveau 
Cc: Pekka Paalanen 
Cc: Peter Zijlstra 
Cc: Rafael J. Wysocki 
Cc: Russell King 
Cc: Steven Rostedt (Google) 
Cc: Thomas Gleixner 
Cc: Waiman Long 
Cc: Will Deacon 
Signed-off-by: Andrew Morton 
---

 drivers/cpufreq/maple-cpufreq.c   |1 +
 drivers/cpufreq/pasemi-cpufreq.c  |1 +
 drivers/cpufreq/pmac64-cpufreq.c  |1 +
 drivers/cpufreq/powernv-cpufreq.c |1 +
 drivers/cpufreq/ppc_cbe_cpufreq.c |1 +
 5 files changed, 5 insertions(+)

--- 
a/drivers/cpufreq/maple-cpufreq.c~cpufreq-powerpc-add-missing-module_description-macros
+++ a/drivers/cpufreq/maple-cpufreq.c
@@ -238,4 +238,5 @@ bail_noprops:
 module_init(maple_cpufreq_init);
 
 
+MODULE_DESCRIPTION("cpufreq driver for Maple 970FX/970MP boards");
 MODULE_LICENSE("GPL");
--- 
a/drivers/cpufreq/pasemi-cpufreq.c~cpufreq-powerpc-add-missing-module_description-macros
+++ a/drivers/cpufreq/pasemi-cpufreq.c
@@ -269,5 +269,6 @@ static void __exit pas_cpufreq_exit(void
 module_init(pas_cpufreq_init);
 module_exit(pas_cpufreq_exit);
 
+MODULE_DESCRIPTION("cpufreq driver for PA Semi PWRficient");
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Egor Martovetsky , Olof Johansson 
");
--- 
a/drivers/cpufreq/pmac64-cpufreq.c~cpufreq-powerpc-add-missing-module_description-macros
+++ a/drivers/cpufreq/pmac64-cpufreq.c
@@ -671,4 +671,5 @@ static int __init g5_cpufreq_init(void)
 module_init(g5_cpufreq_init);
 
 
+MODULE_DESCRIPTION("cpufreq driver for SMU & 970FX based G5 Macs");
 MODULE_LICENSE("GPL");
--- 
a/drivers/cpufreq/powernv-cpufreq.c~cpufreq-powerpc-add-missing-module_description-macros
+++ a/drivers/cpufreq/powernv-cpufreq.c
@@ -1160,5 +1160,6 @@ static void __exit powernv_cpufreq_exit(
 }
 module_exit(powernv_cpufreq_exit);
 
+MODULE_DESCRIPTION("cpufreq driver for IBM/OpenPOWER powernv systems");
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Vaidyanathan Srinivasan ");
--- 
a/drivers/cpufreq/ppc_cbe_cpufreq.c~cpufreq-powerpc-add-missing-module_description-macros
+++ a/drivers/cpufreq/ppc_cbe_cpufreq.c
@@ -168,5 +168,6 @@ static void __exit cbe_cpufreq_exit(void
 module_init(cbe_cpufreq_init);
 module_exit(cbe_cpufreq_exit);
 
+MODULE_DESCRIPTION("cpufreq driver for Cell BE processors");
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Christian Krafft ");
_

Patches currently in -mm which might be from quic_jjohn...@quicinc.com are

lib-test_objpool-add-missing-module_description-macro.patch
crypto-arm-xor-add-missing-module_description-macro.patch
x86-mm-add-

+ x86-mm-add-testmmiotrace-module_description.patch added to mm-nonmm-unstable branch

2024-07-30 Thread Andrew Morton


The patch titled
 Subject: x86/mm: add testmmiotrace MODULE_DESCRIPTION()
has been added to the -mm mm-nonmm-unstable branch.  Its filename is
 x86-mm-add-testmmiotrace-module_description.patch

This patch will shortly appear at
 
https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/x86-mm-add-testmmiotrace-module_description.patch

This patch will later appear in the mm-nonmm-unstable branch at
git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Before you just go and hit "reply", please:
   a) Consider who else should be cc'ed
   b) Prefer to cc a suitable mailing list as well
   c) Ideally: find the original patch on the mailing list and do a
  reply-to-all to that, adding suitable additional cc's

*** Remember to use Documentation/process/submit-checklist.rst when testing 
your code ***

The -mm tree is included into linux-next via the mm-everything
branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
and is updated there every 2-3 working days

--
From: Jeff Johnson 
Subject: x86/mm: add testmmiotrace MODULE_DESCRIPTION()
Date: Tue, 30 Jul 2024 07:43:19 -0700

Fix the following 'make W=1' warning:

WARNING: modpost: missing MODULE_DESCRIPTION() in arch/x86/mm/testmmiotrace.o

Link: 
https://lkml.kernel.org/r/20240730-module_description_orphans-v1-2-709408807...@quicinc.com
Signed-off-by: Jeff Johnson 
Cc: Alexandre Torgue 
Cc: Alistar Popple 
Cc: Andrew Jeffery 
Cc: Andy Lutomirski 
Cc: Arnd Bergmann 
Cc: Boqun Feng 
Cc: Borislav Petkov 
Cc: Christophe Leroy 
Cc: Dave Hansen 
Cc: Eddie James 
Cc: Greg Kroah-Hartman 
Cc: "H. Peter Anvin" 
Cc: Ingo Molnar 
Cc: Jeremy Kerr 
Cc: Joel Stanley 
Cc: Karol Herbst 
Cc: Masami Hiramatsu 
Cc: Maxime Coquelin 
Cc: Michael Ellerman 
Cc: Naveen N Rao 
Cc: Nicholas Piggin 
Cc: Nouveau 
Cc: Pekka Paalanen 
Cc: Peter Zijlstra 
Cc: Rafael J. Wysocki 
Cc: Russell King 
Cc: Steven Rostedt (Google) 
Cc: Thomas Gleixner 
Cc: Viresh Kumar 
Cc: Waiman Long 
Cc: Will Deacon 
Signed-off-by: Andrew Morton 
---

 arch/x86/mm/testmmiotrace.c |1 +
 1 file changed, 1 insertion(+)

--- a/arch/x86/mm/testmmiotrace.c~x86-mm-add-testmmiotrace-module_description
+++ a/arch/x86/mm/testmmiotrace.c
@@ -144,3 +144,4 @@ static void __exit cleanup(void)
 module_init(init);
 module_exit(cleanup);
 MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("Test module for mmiotrace");
_

Patches currently in -mm which might be from quic_jjohn...@quicinc.com are

lib-test_objpool-add-missing-module_description-macro.patch
crypto-arm-xor-add-missing-module_description-macro.patch
x86-mm-add-testmmiotrace-module_description.patch
cpufreq-powerpc-add-missing-module_description-macros.patch
fsi-add-missing-module_description-macros.patch
locking-ww_mutex-test-add-module_description.patch



+ crypto-arm-xor-add-missing-module_description-macro.patch added to mm-nonmm-unstable branch

2024-07-30 Thread Andrew Morton


The patch titled
 Subject: crypto: arm/xor - add missing MODULE_DESCRIPTION() macro
has been added to the -mm mm-nonmm-unstable branch.  Its filename is
 crypto-arm-xor-add-missing-module_description-macro.patch

This patch will shortly appear at
 
https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/crypto-arm-xor-add-missing-module_description-macro.patch

This patch will later appear in the mm-nonmm-unstable branch at
git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Before you just go and hit "reply", please:
   a) Consider who else should be cc'ed
   b) Prefer to cc a suitable mailing list as well
   c) Ideally: find the original patch on the mailing list and do a
  reply-to-all to that, adding suitable additional cc's

*** Remember to use Documentation/process/submit-checklist.rst when testing 
your code ***

The -mm tree is included into linux-next via the mm-everything
branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
and is updated there every 2-3 working days

--
From: Jeff Johnson 
Subject: crypto: arm/xor - add missing MODULE_DESCRIPTION() macro
Date: Tue, 30 Jul 2024 07:43:18 -0700

Patch series "treewide: add missing MODULE_DESCRIPTION() macros".

Since commit 1fffe7a34c89 ("script: modpost: emit a warning when the
description is missing"), a module without a MODULE_DESCRIPTION() will
result in a warning when built with make W=1.

Recently, multiple developers have been eradicating these warnings
treewide, and I personally submitted almost 300 patches over the past few
months.  Almost all of my patches landed by 6.11-rc1, either by being
merged in a 6.10-rc or by being merged in the 6.11 merge window.  However,
a few of my patches did not land.


This patch (of 5):

With ARCH=arm and CONFIG_KERNEL_MODE_NEON=y, make W=1 C=1 reports:
WARNING: modpost: missing MODULE_DESCRIPTION() in arch/arm/lib/xor-neon.o

Add the missing invocation of the MODULE_DESCRIPTION() macro.

Link: 
https://lkml.kernel.org/r/20240730-module_description_orphans-v1-0-709408807...@quicinc.com
Link: 
https://lkml.kernel.org/r/20240730-module_description_orphans-v1-1-709408807...@quicinc.com
Signed-off-by: Jeff Johnson 
Cc: Alexandre Torgue 
Cc: Alistar Popple 
Cc: Andrew Jeffery 
Cc: Andy Lutomirski 
Cc: Arnd Bergmann 
Cc: Boqun Feng 
Cc: Borislav Petkov 
Cc: Christophe Leroy 
Cc: Dave Hansen 
Cc: Eddie James 
Cc: Greg Kroah-Hartman 
Cc: "H. Peter Anvin" 
Cc: Ingo Molnar 
Cc: Jeremy Kerr 
Cc: Joel Stanley 
Cc: Karol Herbst 
Cc: Masami Hiramatsu 
Cc: Maxime Coquelin 
Cc: Michael Ellerman  (powerpc)
Cc: Naveen N Rao 
Cc: Nicholas Piggin 
Cc: Nouveau 
Cc: Pekka Paalanen 
Cc: Peter Zijlstra 
Cc: Rafael J. Wysocki 
Cc: Russell King 
Cc: Steven Rostedt (Google) 
Cc: Thomas Gleixner 
Cc: Viresh Kumar 
Cc: Waiman Long 
Cc: Will Deacon 
Signed-off-by: Andrew Morton 
---

 arch/arm/lib/xor-neon.c |1 +
 1 file changed, 1 insertion(+)

--- 
a/arch/arm/lib/xor-neon.c~crypto-arm-xor-add-missing-module_description-macro
+++ a/arch/arm/lib/xor-neon.c
@@ -8,6 +8,7 @@
 #include 
 #include 
 
+MODULE_DESCRIPTION("NEON accelerated XOR implementation");
 MODULE_LICENSE("GPL");
 
 #ifndef __ARM_NEON__
_

Patches currently in -mm which might be from quic_jjohn...@quicinc.com are

lib-test_objpool-add-missing-module_description-macro.patch
crypto-arm-xor-add-missing-module_description-macro.patch
x86-mm-add-testmmiotrace-module_description.patch
cpufreq-powerpc-add-missing-module_description-macros.patch
fsi-add-missing-module_description-macros.patch
locking-ww_mutex-test-add-module_description.patch



Re: [Nouveau] [PATCH] mm: Take a page reference when removing device exclusive entries

2023-03-28 Thread Andrew Morton
On Mon, 27 Mar 2023 23:25:49 -0700 John Hubbard  wrote:

> On the patch process, I see that this applies to linux-stable's 6.1.y
> branch. I'd suggest two things:
> 
> 1) Normally, what I've seen done is to post against either the current
> top of tree linux.git, or else against one of the mm-stable branches.
> And then after it's accepted, create a version for -stable. 

Yup.  I had to jiggle the patch a bit because
mmu_notifier_range_init_owner()'s arguments have changed.  Once this
hits mainline, the -stable maintainers will probably ask for a version
which suits the relevant kernel version(s).



Re: [Nouveau] [PATCH] nouveau: Fix migrate_to_ram() for faulting page

2022-10-21 Thread Andrew Morton
On Fri, 21 Oct 2022 15:53:19 -0400 Lyude Paul  wrote:

> > Hi Andrew/Ben, apologies I must have accidentally dropped this small hunk
> > when rebasing prior to sending v2 of the original series. Without this
> > migration from GPU to CPU won't work in Nouveau so hopefully one of you can
> > take this for v6.1-rcX. Thanks.
> 
> Hi!
> 
> Reviewed-by: Lyude Paul 
> 
> I will push this to drm-misc-next in just a moment, thanks for the patch!

Linus merged it but minutes ago.


Re: [Nouveau] [PATCH v2 8/8] hmm-tests: Add test for migrate_device_range()

2022-09-28 Thread Andrew Morton
On Wed, 28 Sep 2022 22:01:22 +1000 Alistair Popple  wrote:

> @@ -1401,22 +1494,7 @@ static int dmirror_device_init(struct dmirror_device 
> *mdevice, int id)
>  
>  static void dmirror_device_remove(struct dmirror_device *mdevice)
>  {
> - unsigned int i;
> -
> - if (mdevice->devmem_chunks) {
> - for (i = 0; i < mdevice->devmem_count; i++) {
> - struct dmirror_chunk *devmem =
> - mdevice->devmem_chunks[i];
> -
> - memunmap_pages(&devmem->pagemap);
> - if (devmem->pagemap.type == MEMORY_DEVICE_PRIVATE)
> - release_mem_region(devmem->pagemap.range.start,
> -
> range_len(&devmem->pagemap.range));
> - kfree(devmem);
> - }
> - kfree(mdevice->devmem_chunks);
> - }
> -
> + dmirror_device_remove_chunks(mdevice);
>   cdev_del(&mdevice->cdevice);
>  }

Needed a bit or rework due to
https://lkml.kernel.org/r/20220826050631.25771-1-mpent...@redhat.com. 
Please check my resolution.


--- a/lib/test_hmm.c~hmm-tests-add-test-for-migrate_device_range
+++ a/lib/test_hmm.c
@@ -100,6 +100,7 @@ struct dmirror {
 struct dmirror_chunk {
struct dev_pagemap  pagemap;
struct dmirror_device   *mdevice;
+   bool remove;
 };
 
 /*
@@ -192,11 +193,15 @@ static int dmirror_fops_release(struct i
return 0;
 }
 
+static struct dmirror_chunk *dmirror_page_to_chunk(struct page *page)
+{
+   return container_of(page->pgmap, struct dmirror_chunk, pagemap);
+}
+
 static struct dmirror_device *dmirror_page_to_device(struct page *page)
 
 {
-   return container_of(page->pgmap, struct dmirror_chunk,
-   pagemap)->mdevice;
+   return dmirror_page_to_chunk(page)->mdevice;
 }
 
 static int dmirror_do_fault(struct dmirror *dmirror, struct hmm_range *range)
@@ -1218,6 +1223,85 @@ static int dmirror_snapshot(struct dmirr
return ret;
 }
 
+static void dmirror_device_evict_chunk(struct dmirror_chunk *chunk)
+{
+   unsigned long start_pfn = chunk->pagemap.range.start >> PAGE_SHIFT;
+   unsigned long end_pfn = chunk->pagemap.range.end >> PAGE_SHIFT;
+   unsigned long npages = end_pfn - start_pfn + 1;
+   unsigned long i;
+   unsigned long *src_pfns;
+   unsigned long *dst_pfns;
+
+   src_pfns = kcalloc(npages, sizeof(*src_pfns), GFP_KERNEL);
+   dst_pfns = kcalloc(npages, sizeof(*dst_pfns), GFP_KERNEL);
+
+   migrate_device_range(src_pfns, start_pfn, npages);
+   for (i = 0; i < npages; i++) {
+   struct page *dpage, *spage;
+
+   spage = migrate_pfn_to_page(src_pfns[i]);
+   if (!spage || !(src_pfns[i] & MIGRATE_PFN_MIGRATE))
+   continue;
+
+   if (WARN_ON(!is_device_private_page(spage) &&
+   !is_device_coherent_page(spage)))
+   continue;
+   spage = BACKING_PAGE(spage);
+   dpage = alloc_page(GFP_HIGHUSER_MOVABLE | __GFP_NOFAIL);
+   lock_page(dpage);
+   copy_highpage(dpage, spage);
+   dst_pfns[i] = migrate_pfn(page_to_pfn(dpage));
+   if (src_pfns[i] & MIGRATE_PFN_WRITE)
+   dst_pfns[i] |= MIGRATE_PFN_WRITE;
+   }
+   migrate_device_pages(src_pfns, dst_pfns, npages);
+   migrate_device_finalize(src_pfns, dst_pfns, npages);
+   kfree(src_pfns);
+   kfree(dst_pfns);
+}
+
+/* Removes free pages from the free list so they can't be re-allocated */
+static void dmirror_remove_free_pages(struct dmirror_chunk *devmem)
+{
+   struct dmirror_device *mdevice = devmem->mdevice;
+   struct page *page;
+
+   for (page = mdevice->free_pages; page; page = page->zone_device_data)
+   if (dmirror_page_to_chunk(page) == devmem)
+   mdevice->free_pages = page->zone_device_data;
+}
+
+static void dmirror_device_remove_chunks(struct dmirror_device *mdevice)
+{
+   unsigned int i;
+
+   mutex_lock(&mdevice->devmem_lock);
+   if (mdevice->devmem_chunks) {
+   for (i = 0; i < mdevice->devmem_count; i++) {
+   struct dmirror_chunk *devmem =
+   mdevice->devmem_chunks[i];
+
+   spin_lock(&mdevice->lock);
+   devmem->remove = true;
+   dmirror_remove_free_pages(devmem);
+   spin_unlock(&mdevice->lock);
+
+   dmirror_device_evict_chunk(devmem);
+   memunmap_pages(&devmem->pagemap);
+   if (devmem->pagemap.type == MEMORY_DEVICE_PRIVATE)
+   release_mem_region(devmem->pagemap.range.start,
+  
range_len(&devmem->pagemap.range));
+   kfree(devmem);
+   }

Re: [Nouveau] [PATCH v11 00/10] Add support for SVM atomics in Nouveau

2021-06-16 Thread Andrew Morton
On Wed, 16 Jun 2021 20:59:27 +1000 Alistair Popple  wrote:

> This is my series to add support for SVM atomics in Nouveau

Can we please have a nice [0/n] overview for this patchset?
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau


Re: [Nouveau] [PATCH v9 07/10] mm: Device exclusive memory access

2021-05-24 Thread Andrew Morton
On Mon, 24 May 2021 23:27:22 +1000 Alistair Popple  wrote:

> Some devices require exclusive write access to shared virtual
> memory (SVM) ranges to perform atomic operations on that memory. This
> requires CPU page tables to be updated to deny access whilst atomic
> operations are occurring.
> 
> In order to do this introduce a new swap entry
> type (SWP_DEVICE_EXCLUSIVE). When a SVM range needs to be marked for
> exclusive access by a device all page table mappings for the particular
> range are replaced with device exclusive swap entries. This causes any
> CPU access to the page to result in a fault.
> 
> Faults are resovled by replacing the faulting entry with the original
> mapping. This results in MMU notifiers being called which a driver uses
> to update access permissions such as revoking atomic access. After
> notifiers have been called the device will no longer have exclusive
> access to the region.
> 
> Walking of the page tables to find the target pages is handled by
> get_user_pages() rather than a direct page table walk. A direct page
> table walk similar to what migrate_vma_collect()/unmap() does could also
> have been utilised. However this resulted in more code similar in
> functionality to what get_user_pages() provides as page faulting is
> required to make the PTEs present and to break COW.
> 
> ...
>
>  Documentation/vm/hmm.rst |  17 
>  include/linux/mmu_notifier.h |   6 ++
>  include/linux/rmap.h |   4 +
>  include/linux/swap.h |   7 +-
>  include/linux/swapops.h  |  44 -
>  mm/hmm.c |   5 +
>  mm/memory.c  | 128 +++-
>  mm/mprotect.c|   8 ++
>  mm/page_vma_mapped.c |   9 +-
>  mm/rmap.c| 186 +++
>  10 files changed, 405 insertions(+), 9 deletions(-)
> 

This is quite a lot of code added to core MM for a single driver.

Is there any expectation that other drivers will use this code?

Is there a way of reducing the impact (code size, at least) for systems
which don't need this code?

How beneficial is this code to nouveau users?  I see that it permits a
part of OpenCL to be implemented, but how useful/important is this in
the real world?

Thanks.
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau


Re: [Nouveau] [PATCH hmm v2 1/5] mm/hmm: make CONFIG_DEVICE_PRIVATE into a select

2020-05-09 Thread Andrew Morton
On Fri,  1 May 2020 15:20:44 -0300 Jason Gunthorpe  wrote:

> From: Jason Gunthorpe 
> 
> There is no reason for a user to select this or not directly - it should
> be selected by drivers that are going to use the feature, similar to how
> CONFIG_HMM_MIRROR works.
> 
> Currently all drivers provide a feature kconfig that will disable use of
> DEVICE_PRIVATE in that driver, allowing users to avoid enabling this if
> they don't want the overhead.
> 

I'm not too sure what's going on here, but i386 allmodconfig broke.

kernel/resource.c: In function '__request_free_mem_region':
kernel/resource.c:1653:28: error: 'PA_SECTION_SHIFT' undeclared (first use in 
this function); did you mean 'SECTIONS_PGSHIFT'?
  size = ALIGN(size, 1UL << PA_SECTION_SHIFT);

because in current mainline, allmodconfig produces
CONFIG_DEVICE_PRIVATE=n but in current linux-next, allmodconfig
produces CONFIG_DEVICE_PRIVATE=y.  But CONFIG_SPARSEMEM=n so the build
breaks.

Bisection fingers this commit, but reverting it doesn't seem to fix
things.  Could you take a look please?

I'm seeing this from menuconfig:

WARNING: unmet direct dependencies detected for DEVICE_PRIVATE
  Depends on [n]: ZONE_DEVICE [=n]
  Selected by [m]:
  - DRM_NOUVEAU_SVM [=y] && HAS_IOMEM [=y] && DRM_NOUVEAU [=m] && MMU [=y] && 
STAGING [=y]
  - TEST_HMM [=m] && RUNTIME_TESTING_MENU [=y] && TRANSPARENT_HUGEPAGE [=y]

`select' rather sucks this way - easy to break dependencies.  Quite a
number of years ago the Kconfig gurus were saying "avoid", but I don't
recall the details.



___
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau


Re: [Nouveau] [PATCH 0/2] mm/thp: Rename pmd_mknotpresent() as pmd_mknotvalid()

2020-04-24 Thread Andrew Morton
On Sun, 29 Mar 2020 19:12:35 +0530 Anshuman Khandual 
 wrote:

> 
> 
> On 03/20/2020 10:24 AM, Anshuman Khandual wrote:
> > This series renames pmd_mknotpresent() as pmd_mknotvalid(). Before that it
> > drops an existing pmd_mknotpresent() definition from powerpc platform which
> > was never required as it defines it's pmdp_invalidate() through subscribing
> > __HAVE_ARCH_PMDP_INVALIDATE. This does not create any functional change.
> > 
> > This rename was suggested by Catalin during a previous discussion while we
> > were trying to change the THP helpers on arm64 platform for migration.
> > 
> > https://patchwork.kernel.org/patch/11019637/
> > 
> > This series is based on v5.6-rc6.
> > 
> > Boot tested on arm64 and x86 platforms.
> > Built tested on many other platforms including the ones changed here.
> 
> Gentle ping, any updates regarding this ?

We're in the merge window so I have parked this for consideration after
-rc1.

___
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau


Re: [Nouveau] [PATCH 16/25] device-dax: use the dev_pagemap internal refcount

2019-07-02 Thread Andrew Morton
On Fri, 28 Jun 2019 12:14:44 -0700 Dan Williams  
wrote:

> I believe -mm auto drops patches when they appear in the -next
> baseline. So it should "just work" to pull it into the series and send
> it along for -next inclusion.

Yup.  Although it isn't very "auto" - I manually check that the patch
which turned up in -next was identical to the version which I had.  If
not, I go find out why...

___
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

Re: [Nouveau] dev_pagemap related cleanups

2019-06-13 Thread Andrew Morton
On Thu, 13 Jun 2019 14:24:20 -0600 Logan Gunthorpe  wrote:

> 
> 
> On 2019-06-13 2:21 p.m., Dan Williams wrote:
> > On Thu, Jun 13, 2019 at 1:18 PM Logan Gunthorpe  wrote:
> >>
> >>
> >>
> >> On 2019-06-13 12:27 p.m., Dan Williams wrote:
> >>> On Thu, Jun 13, 2019 at 2:43 AM Christoph Hellwig  wrote:
> 
>  Hi Dan, Jérôme and Jason,
> 
>  below is a series that cleans up the dev_pagemap interface so that
>  it is more easily usable, which removes the need to wrap it in hmm
>  and thus allowing to kill a lot of code
> 
>  Diffstat:
> 
>   22 files changed, 245 insertions(+), 802 deletions(-)
> >>>
> >>> Hooray!
> >>>
>  Git tree:
> 
>  git://git.infradead.org/users/hch/misc.git hmm-devmem-cleanup
> >>>
> >>> I just realized this collides with the dev_pagemap release rework in
> >>> Andrew's tree (commit ids below are from next.git and are not stable)
> >>>
> >>> 4422ee8476f0 mm/devm_memremap_pages: fix final page put race
> >>> 771f0714d0dc PCI/P2PDMA: track pgmap references per resource, not globally
> >>> af37085de906 lib/genalloc: introduce chunk owners
> >>> e0047ff8aa77 PCI/P2PDMA: fix the gen_pool_add_virt() failure path
> >>> 0315d47d6ae9 mm/devm_memremap_pages: introduce devm_memunmap_pages
> >>> 216475c7eaa8 drivers/base/devres: introduce devm_release_action()
> >>>
> >>> CONFLICT (content): Merge conflict in tools/testing/nvdimm/test/iomap.c
> >>> CONFLICT (content): Merge conflict in mm/hmm.c
> >>> CONFLICT (content): Merge conflict in kernel/memremap.c
> >>> CONFLICT (content): Merge conflict in include/linux/memremap.h
> >>> CONFLICT (content): Merge conflict in drivers/pci/p2pdma.c
> >>> CONFLICT (content): Merge conflict in drivers/nvdimm/pmem.c
> >>> CONFLICT (content): Merge conflict in drivers/dax/device.c
> >>> CONFLICT (content): Merge conflict in drivers/dax/dax-private.h
> >>>
> >>> Perhaps we should pull those out and resend them through hmm.git?
> >>
> >> Hmm, I've been waiting for those patches to get in for a little while now 
> >> ;(
> > 
> > Unless Andrew was going to submit as v5.2-rc fixes I think I should
> > rebase / submit them on current hmm.git and then throw these cleanups
> > from Christoph on top?
> 
> Whatever you feel is best. I'm just hoping they get in sooner rather
> than later. They do fix a bug after all. Let me know if you want me to
> retest the P2PDMA stuff after the rebase.

I had them down for 5.3-rc1.  I'll send them along for 5.2-rc5 instead.

___
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

Re: [Nouveau] 3.8-rc2: EFI framebuffer lock inversion...

2013-01-03 Thread Andrew Morton
On Thu, 3 Jan 2013 11:40:47 -0800
Linus Torvalds  wrote:

> On Thu, Jan 3, 2013 at 5:11 AM, Alan Cox  wrote:
> >
> > The fb layer locking was broken. I posted patches early December which
> > should have fixed the ones we know about. ('fb: Rework locking to fix
> > lock ordering on takeover').
> 
> That patch causes compile errors with "allmodconfig":
> 
>   ERROR: "do_take_over_console" [drivers/video/console/fbcon.ko] undefined!
>   make[1]: *** [__modpost] Error 1
>   make: *** [modules] Error 2
>   make: *** Waiting for unfinished jobs
> 
> Hmm?

I have a couple of fixes against
fb-rework-locking-to-fix-lock-ordering-on-takeover.patch:

http://ozlabs.org/~akpm/mmots/broken-out/fb-rework-locking-to-fix-lock-ordering-on-takeover-fix.patch
http://ozlabs.org/~akpm/mmots/broken-out/fb-rework-locking-to-fix-lock-ordering-on-takeover-fix-2.patch

Florian has been busy for a month or two - I've been waiting for him to
reappear to consider this patch.
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


Re: [Nouveau] [PATCH 1/5] Backlight: Add backlight type

2010-11-19 Thread Andrew Morton
On Fri, 19 Nov 2010 20:25:59 +
Matthew Garrett  wrote:

> On Fri, Nov 19, 2010 at 12:05:23PM -0800, Andrew Morton wrote:
> > On Fri, 19 Nov 2010 10:53:52 -0500
> > Matthew Garrett  wrote:
> > 
> > > There may be multiple ways of controlling the backlight on a given 
> > > machine.
> > > Allow drivers to expose the type of interface they are providing, making
> > > it possible for userspace to make appropriate policy decisions.
> > > 
> > > ...
> > >
> > >  60 files changed, 102 insertions(+), 0 deletions(-)
> > 
> > This patch has a pretty short half-life.
> 
> Well, ideally it would have landed in the backlight tree when I sent it 
> months ago. Then we'd have the opportunity to ensure that everything was 
> fixed up before it went in in the merge window.

Richard got distracted.  At present I'm grabbing the leds and backlight
patches and Richard is reviewing them as they fly past.

I don't see there's much point in me merging this patch series so if it
survives review, I'd suggest that you put it into an mjg tree and
thence into linux-next and mainline?

> > > @@ -62,6 +68,8 @@ struct backlight_properties {
> > >   /* FB Blanking active? (values as for power) */
> > >   /* Due to be removed, please use (state & BL_CORE_FBBLANK) */
> > >   int fb_blank;
> > > + /* Backlight type */
> > > + enum backlight_type type;
> > >   /* Flags used to signal drivers of state changes */
> > >   /* Upper 4 bits are reserved for driver internal use */
> > >   unsigned int state;
> > 
> > And if/when the half-life expires, we'll have drivers in-tree which
> > forget to set backlight_properties.type.  I haven't checked, but if
> > we're lucky they will default to "0".
> 
> Depends entirely on whether they kzalloc the structure or not before
> calling backlight_device_register(). 

Well.  Even if it's uninitialised, the chances of the value being 1, 2
or 3 for all users are pretty small, so we'll still get to hear about
it if the runtime check is appropriately implemented.

> > What will be the runtime effects upon such unconverted drivers? 
> > Ideally we'd like them to continue to work OK, and to emit a runtime
> > warning.  In which case you'll need BACKLIGHT_RAW=1 so the unconverted
> > driver can be detected, warned about and fixed up by the core code.
> 
> The worst case I can think of is that we walk off the array - I guess 
> there's an argument for sanity checking that in backlight_show_type().

OK, well please have a think about it, see what you can do to handle
unconverted (and possibly out-of-tree) drivers in a friendly fashion.

___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


Re: [Nouveau] [PATCH 1/5] Backlight: Add backlight type

2010-11-19 Thread Andrew Morton
On Fri, 19 Nov 2010 10:53:52 -0500
Matthew Garrett  wrote:

> There may be multiple ways of controlling the backlight on a given machine.
> Allow drivers to expose the type of interface they are providing, making
> it possible for userspace to make appropriate policy decisions.
> 
> ...
>
>  60 files changed, 102 insertions(+), 0 deletions(-)

This patch has a pretty short half-life.

>
> ...
>
> --- a/include/linux/backlight.h
> +++ b/include/linux/backlight.h
> @@ -32,6 +32,12 @@ enum backlight_update_reason {
>   BACKLIGHT_UPDATE_SYSFS,
>  };
>  
> +enum backlight_type {
> + BACKLIGHT_RAW,
> + BACKLIGHT_PLATFORM,
> + BACKLIGHT_FIRMWARE,
> +};
> +
>  struct backlight_device;
>  struct fb_info;
>  
> @@ -62,6 +68,8 @@ struct backlight_properties {
>   /* FB Blanking active? (values as for power) */
>   /* Due to be removed, please use (state & BL_CORE_FBBLANK) */
>   int fb_blank;
> + /* Backlight type */
> + enum backlight_type type;
>   /* Flags used to signal drivers of state changes */
>   /* Upper 4 bits are reserved for driver internal use */
>   unsigned int state;

And if/when the half-life expires, we'll have drivers in-tree which
forget to set backlight_properties.type.  I haven't checked, but if
we're lucky they will default to "0".

What will be the runtime effects upon such unconverted drivers? 
Ideally we'd like them to continue to work OK, and to emit a runtime
warning.  In which case you'll need BACKLIGHT_RAW=1 so the unconverted
driver can be detected, warned about and fixed up by the core code.

___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


Re: [Nouveau] [PATCH] vga16fb: refuse to load in face of other driver controlling primary card

2010-07-23 Thread Andrew Morton
On Tue, 20 Jul 2010 21:19:23 +0200
Marcin Slusarz  wrote:

> We don't want vga16fb to mess with hardware initialized by other driver.
> Detect it and refuse to load.
> It fixes nouveau interrupt storm on some machines.
> 
> Signed-off-by: Marcin Slusarz 
> ---
>  drivers/video/vga16fb.c |   13 -
>  1 files changed, 12 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/video/vga16fb.c b/drivers/video/vga16fb.c
> index 28ccab4..4505446 100644
> --- a/drivers/video/vga16fb.c
> +++ b/drivers/video/vga16fb.c
> @@ -22,6 +22,7 @@
>  #include 
>  #include 
>  
> +#include 
>  #include 
>  #include 
>  
> @@ -1415,7 +1416,7 @@ static struct platform_device *vga16fb_device;
>  
>  static int __init vga16fb_init(void)
>  {
> - int ret;
> + int ret, i;
>  #ifndef MODULE
>   char *option = NULL;
>  
> @@ -1424,6 +1425,16 @@ static int __init vga16fb_init(void)
>  
>   vga16fb_setup(option);
>  #endif
> + for (i = 0 ; i < FB_MAX; i++) {
> + if (!registered_fb[i])
> + continue;
> + if (fb_is_primary_device(registered_fb[i])) {
> + printk(KERN_INFO "vga16fb: %s is driving the primary 
> card, refusing to load\n",
> + registered_fb[i]->fix.id);
> + return -EBUSY;
> + }
> + }
> +
>   ret = platform_driver_register(&vga16fb_driver);
>  
>   if (!ret) {

This seems pretty hacky, and specific to vga16fb.

Is vga16fb.c the only fbdev driver (now and forever more) which can
grab the hardware from under a different driver's feet?


This is the basic and very common problem of two drivers diddling the
same hardware, yes?  A common way of preventing such collisions is to
perform a suitably-checked request_region() in both drivers.  Whichever
driver gets there second will get a failure and will bale out cleanly. 
Can that mechanism be made to work in this case?


___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau