Re: [PATCH 2/2] rtc/alpha: remove legacy rtc driver

2019-10-23 Thread Paul Gortmaker
[[PATCH 2/2] rtc/alpha: remove legacy rtc driver] On 23/10/2019 (Wed 17:01) 
Arnd Bergmann wrote:

> The old drivers/char/rtc.c driver was originally the implementation
> for x86 PCs but got subsequently replaced by the rtc class driver
> on all architectures except alpha.
> 
> Move alpha over to the portable driver and remove the old one
> for good.

Git history will show I'm in favour of showing old code and old drivers
to the curb - even if it is stuff that I wrote myself 20+ years ago!  So
if all users are now on the formalized rtc framework, then this relic
should go away, and you can add my ack'd for the commit.

Thanks,
Paul.
--

> 
> The CONFIG_JS_RTC option was only ever used on SPARC32 but
> has not been available for many years, this was used to build
> the same rtc driver with a different module name.
> 
> Cc: Richard Henderson 
> Cc: Ivan Kokshaysky 
> Cc: Matt Turner 
> Cc: linux-alpha@vger.kernel.org
> Cc: Paul Gortmaker 
> Signed-off-by: Arnd Bergmann 
> ---
> This was last discussed in early 2018 in
> https://lore.kernel.org/lkml/CAK8P3a0QZNY+K+V1HG056xCerz=_l2jh5ufz+2lwkdqkw5z...@mail.gmail.com/
> 
> Nobody ever replied there, so let's try this instead.
> If there is any reason to keep the driver after all,
> please let us know.
> ---
>  arch/alpha/configs/defconfig |3 +-
>  drivers/char/Kconfig |   56 --
>  drivers/char/Makefile|4 -
>  drivers/char/rtc.c   | 1311 --
>  4 files changed, 2 insertions(+), 1372 deletions(-)
>  delete mode 100644 drivers/char/rtc.c
> 
> diff --git a/arch/alpha/configs/defconfig b/arch/alpha/configs/defconfig
> index f4ec420d7f2d..e10c1be3c0d1 100644
> --- a/arch/alpha/configs/defconfig
> +++ b/arch/alpha/configs/defconfig
> @@ -53,7 +53,8 @@ CONFIG_NET_PCI=y
>  CONFIG_YELLOWFIN=y
>  CONFIG_SERIAL_8250=y
>  CONFIG_SERIAL_8250_CONSOLE=y
> -CONFIG_RTC=y
> +CONFIG_RTC_CLASS=y
> +CONFIG_RTC_DRV_CMOS=y
>  CONFIG_EXT2_FS=y
>  CONFIG_REISERFS_FS=m
>  CONFIG_ISO9660_FS=y
> diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
> index dabbf3f519c6..c2ac4f257c82 100644
> --- a/drivers/char/Kconfig
> +++ b/drivers/char/Kconfig
> @@ -243,62 +243,6 @@ config NVRAM
> To compile this driver as a module, choose M here: the
> module will be called nvram.
>  
> -#
> -# These legacy RTC drivers just cause too many conflicts with the generic
> -# RTC framework ... let's not even try to coexist any more.
> -#
> -if RTC_LIB=n
> -
> -config RTC
> - tristate "Enhanced Real Time Clock Support (legacy PC RTC driver)"
> - depends on ALPHA
> - ---help---
> -   If you say Y here and create a character special file /dev/rtc with
> -   major number 10 and minor number 135 using mknod ("man mknod"), you
> -   will get access to the real time clock (or hardware clock) built
> -   into your computer.
> -
> -   Every PC has such a clock built in. It can be used to generate
> -   signals from as low as 1Hz up to 8192Hz, and can also be used
> -   as a 24 hour alarm. It reports status information via the file
> -   /proc/driver/rtc and its behaviour is set by various ioctls on
> -   /dev/rtc.
> -
> -   If you run Linux on a multiprocessor machine and said Y to
> -   "Symmetric Multi Processing" above, you should say Y here to read
> -   and set the RTC in an SMP compatible fashion.
> -
> -   If you think you have a use for such a device (such as periodic data
> -   sampling), then say Y here, and read 
> 
> -   for details.
> -
> -   To compile this driver as a module, choose M here: the
> -   module will be called rtc.
> -
> -config JS_RTC
> - tristate "Enhanced Real Time Clock Support"
> - depends on SPARC32 && PCI
> - ---help---
> -   If you say Y here and create a character special file /dev/rtc with
> -   major number 10 and minor number 135 using mknod ("man mknod"), you
> -   will get access to the real time clock (or hardware clock) built
> -   into your computer.
> -
> -   Every PC has such a clock built in. It can be used to generate
> -   signals from as low as 1Hz up to 8192Hz, and can also be used
> -   as a 24 hour alarm. It reports status information via the file
> -   /proc/driver/rtc and its behaviour is set by various ioctls on
> -   /dev/rtc.
> -
> -   If you think you have a use for such a device (such as periodic data
> -   sampling), then say Y here, and read 
> 
> -   for details.
> -
> -   To compile this driver as a module, choose M here: the
> -   module wi

[PATCH 11/14] alpha: migrate exception table users off module.h and onto extable.h

2016-07-24 Thread Paul Gortmaker
These files were only including module.h for exception table
related functions.  We've now separated that content out into its
own file "extable.h" so now move over to that and avoid all the
extra header content in module.h that we don't really need to compile
these files.

Cc: Richard Henderson <r...@twiddle.net>
Cc: Ivan Kokshaysky <i...@jurassic.park.msu.ru>
Cc: Matt Turner <matts...@gmail.com>
Cc: linux-alpha@vger.kernel.org
Signed-off-by: Paul Gortmaker <paul.gortma...@windriver.com>
---
 arch/alpha/kernel/traps.c | 2 +-
 arch/alpha/mm/fault.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/alpha/kernel/traps.c b/arch/alpha/kernel/traps.c
index 74aceead06e9..7cf05aa482d5 100644
--- a/arch/alpha/kernel/traps.c
+++ b/arch/alpha/kernel/traps.c
@@ -13,7 +13,7 @@
 #include 
 #include 
 #include 
-#include 
+#include 
 #include 
 #include 
 
diff --git a/arch/alpha/mm/fault.c b/arch/alpha/mm/fault.c
index 83e9eee57a55..47948b4dd157 100644
--- a/arch/alpha/mm/fault.c
+++ b/arch/alpha/mm/fault.c
@@ -22,7 +22,7 @@
 #include 
 #include 
 #include 
-#include 
+#include 
 #include 
 
 extern void die_if_kernel(char *,struct pt_regs *,long, unsigned long *);
-- 
2.8.4

--
To unsubscribe from this list: send the line "unsubscribe linux-alpha" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[RFC/PATCH 00/14] split exception table content out of module.h into extable.h

2016-07-24 Thread Paul Gortmaker
[RFC: Not looking for detailed review given the merge window is open.
 As long as nobody thinks the general idea is horrible, I'll expand into
 more fringe arch and resend in 2wks and get it added then to linux-next.]

While doing an audit looking for unnecessary instances of module.h
inclusion across arch/x86/ I found a significant number of includes
of module.h were for things like search_exception_table and friends.

For historical reasons (i.e. pre-git) the exception table stuff was
buried in the middle of the module.h file.  So we have core kernel
files that are completely non-modular (both arch specific and arch
independent) that are just including module.h for this.

The converse is also true, in that conventional drivers, be they for
filesystems or actual hardware peripherals or similar, do not
normally care about the exception tables.

Here we fork the exception table content out of module.h into a new
extable.h file.  The gain here is that module.h gets a bit smaller;
a win for all modular drivers that we build for allmodconfig.  Also
most core files that only need exception table stuff get to shed an
include of module.h that brings in lots of extra stuff and just
looks generally out of place.  They use the tiny extable.h instead.

We temporarily include extable.h into the module.h itself.  Then we
will work our way across the arch independent and arch specific
files needing just exception table content, and move them off
module.h and onto extable.h

Once that is done, we can remove the extable.h from module.h and in
doing it like this, we avoid introducing build failures into the git
history.

We have the option of taking this final one line commit and pushing
it out a complete release if we want to open up a bigger window for
converting some of the more fringe archtectures.

I've converted about a dozen architectures here w/o issue; that
largely reflects what I currently have toolchains for.  Build
testing seems necessary in all instances, since the odds are high
that the module.h presence was hiding implicit use of other headers,
as was the case for s390.

Paul.
-- 

Cc: Andrew Morton <a...@linux-foundation.org>
Cc: Benjamin Herrenschmidt <b...@kernel.crashing.org>
Cc: Catalin Marinas <catalin.mari...@arm.com>
Cc: Chris Metcalf <cmetc...@mellanox.com>
Cc: "David S. Miller" <da...@davemloft.net>
Cc: Geert Uytterhoeven <ge...@linux-m68k.org>
Cc: Heiko Carstens <heiko.carst...@de.ibm.com>
Cc: Helge Deller <del...@gmx.de>
Cc: "H. Peter Anvin" <h...@zytor.com>
Cc: Ingo Molnar <mi...@redhat.com>
Cc: Ivan Kokshaysky <i...@jurassic.park.msu.ru>
Cc: "James E.J. Bottomley" <j...@parisc-linux.org>
Cc: Linus Torvalds <torva...@linux-foundation.org>
Cc: Martin Schwidefsky <schwidef...@de.ibm.com>
Cc: Matt Turner <matts...@gmail.com>
Cc: Michael Ellerman <m...@ellerman.id.au>
Cc: Paul Mackerras <pau...@samba.org>
Cc: Ralf Baechle <r...@linux-mips.org>
Cc: Richard Henderson <r...@twiddle.net>
Cc: Russell King <li...@armlinux.org.uk>
Cc: Rusty Russell <ru...@rustcorp.com.au>
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Will Deacon <will.dea...@arm.com>
Cc: linux-alpha@vger.kernel.org
Cc: linux-arm-ker...@lists.infradead.org
Cc: linux-m...@lists.linux-m68k.org
Cc: linux-m...@linux-mips.org
Cc: linux-par...@vger.kernel.org
Cc: linuxppc-...@lists.ozlabs.org
Cc: linux-s...@vger.kernel.org
Cc: x...@kernel.org
Cc: sparcli...@vger.kernel.org

Paul Gortmaker (14):
  exceptions: fork exception table content from module.h into extable.h
  x86: migrate exception table users off module.h and onto extable.h
  arm: migrate exception table users off module.h and onto extable.h
  arm64: migrate exception table users off module.h and onto extable.h
  mips: migrate exception table users off module.h and onto extable.h
  sparc: migrate exception table users off module.h and onto extable.h
  powerpc: migrate exception table users off module.h and onto extable.h
  m68k: migrate exception table users off module.h and onto extable.h
  s390: migrate exception table users off module.h and onto extable.h
  tile: migrate exception table users off module.h and onto extable.h
  alpha: migrate exception table users off module.h and onto extable.h
  parisc: migrate exception table users off module.h and onto extable.h
  core: migrate exception table users off module.h and onto extable.h
  module.h: remove extable.h include now users have migrated

 arch/alpha/kernel/traps.c  |  2 +-
 arch/alpha/mm/fault.c  |  2 +-
 arch/arm/mm/extable.c  |  2 +-
 arch/arm/mm/fault.c|  2 +-
 arch/arm64/kernel/probes/kprobes.c |  2 +-
 arch/arm64/mm/extable.c|  2 +-
 arch/arm64/mm/fault.c  |  2 +-
 arch/m68k/kernel/signal.c  |  2 +-
 arch/mips/kernel/module.c  |  1 +
 arch/mips/kernel/traps.c