Linux-USB Archive mirror
 help / color / mirror / Atom feed
From: Sam Ravnborg via B4 Relay <devnull+sam.ravnborg.org@kernel.org>
To: "David S. Miller" <davem@davemloft.net>,
	 Arnd Bergmann <arnd@kernel.org>,
	Andreas Larsson <andreas@gaisler.com>
Cc: Helge Deller <deller@gmx.de>,
	Randy Dunlap <rdunlap@infradead.org>,
	 John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	 Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	 Kjetil Oftedal <oftedal@gmail.com>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	 Alexander Viro <viro@zeniv.linux.org.uk>,
	 Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	 Alan Stern <stern@rowland.harvard.edu>,
	Jaroslav Kysela <perex@perex.cz>,  Takashi Iwai <tiwai@suse.com>,
	sparclinux@vger.kernel.org,  linux-kernel@vger.kernel.org,
	linux-usb@vger.kernel.org,  linux-fbdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,  linux-sound@vger.kernel.org,
	Sam Ravnborg <sam@ravnborg.org>
Subject: [PATCH v2 05/28] sparc32: Drop sun specific power management drivers
Date: Sat, 09 Mar 2024 19:15:26 +0100	[thread overview]
Message-ID: <20240309-sunset-v2-5-f09912574d2c@ravnborg.org> (raw)
In-Reply-To: <20240309-sunset-v2-0-f09912574d2c@ravnborg.org>

From: Sam Ravnborg <sam@ravnborg.org>

Drop the two sun specific apc and pmc drivers.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Acked-by: Arnd Bergmann <arnd@kernel.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Arnd Bergmann <arnd@kernel.org>
Cc: Andreas Larsson <andreas@gaisler.com>
---
 arch/sparc/Kconfig         |   7 --
 arch/sparc/kernel/Makefile |   1 -
 arch/sparc/kernel/apc.c    | 196 ---------------------------------------------
 arch/sparc/kernel/pmc.c    | 100 -----------------------
 4 files changed, 304 deletions(-)

diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index df88ad5df470..23cdf1959991 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -320,13 +320,6 @@ config CMDLINE
 
 	  NOTE: This option WILL override the PROM bootargs setting!
 
-config SUN_PM
-	bool
-	default y if SPARC32
-	help
-	  Enable power management and CPU standby features on supported
-	  SPARC platforms.
-
 config SERIAL_CONSOLE
 	bool
 	depends on SPARC32
diff --git a/arch/sparc/kernel/Makefile b/arch/sparc/kernel/Makefile
index d3a0e0ebcfe7..1a942546dd00 100644
--- a/arch/sparc/kernel/Makefile
+++ b/arch/sparc/kernel/Makefile
@@ -83,7 +83,6 @@ obj-$(CONFIG_SPARC32_SMP) += sun4m_smp.o sun4d_smp.o leon_smp.o
 obj-$(CONFIG_SPARC64_SMP) += hvtramp.o
 
 obj-y                     += auxio_$(BITS).o
-obj-$(CONFIG_SUN_PM)      += apc.o pmc.o
 
 obj-y                     += termios.o
 
diff --git a/arch/sparc/kernel/apc.c b/arch/sparc/kernel/apc.c
deleted file mode 100644
index d44725d37e30..000000000000
--- a/arch/sparc/kernel/apc.c
+++ /dev/null
@@ -1,196 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/* apc - Driver implementation for power management functions
- * of Aurora Personality Chip (APC) on SPARCstation-4/5 and
- * derivatives.
- *
- * Copyright (c) 2002 Eric Brower (ebrower@usa.net)
- */
-
-#include <linux/kernel.h>
-#include <linux/fs.h>
-#include <linux/errno.h>
-#include <linux/init.h>
-#include <linux/miscdevice.h>
-#include <linux/pm.h>
-#include <linux/of.h>
-#include <linux/platform_device.h>
-#include <linux/module.h>
-
-#include <asm/io.h>
-#include <asm/oplib.h>
-#include <linux/uaccess.h>
-#include <asm/auxio.h>
-#include <asm/apc.h>
-#include <asm/processor.h>
-
-/* Debugging
- * 
- * #define APC_DEBUG_LED
- */
-
-#define APC_MINOR	MISC_DYNAMIC_MINOR
-#define APC_OBPNAME	"power-management"
-#define APC_DEVNAME "apc"
-
-static u8 __iomem *regs;
-static int apc_no_idle = 0;
-
-#define apc_readb(offs)		(sbus_readb(regs+offs))
-#define apc_writeb(val, offs) 	(sbus_writeb(val, regs+offs))
-
-/* Specify "apc=noidle" on the kernel command line to 
- * disable APC CPU standby support.  Certain prototype
- * systems (SPARCstation-Fox) do not play well with APC
- * CPU idle, so disable this if your system has APC and 
- * crashes randomly.
- */
-static int __init apc_setup(char *str) 
-{
-	if(!strncmp(str, "noidle", strlen("noidle"))) {
-		apc_no_idle = 1;
-		return 1;
-	}
-	return 0;
-}
-__setup("apc=", apc_setup);
-
-/* 
- * CPU idle callback function
- * See .../arch/sparc/kernel/process.c
- */
-static void apc_swift_idle(void)
-{
-#ifdef APC_DEBUG_LED
-	set_auxio(0x00, AUXIO_LED); 
-#endif
-
-	apc_writeb(apc_readb(APC_IDLE_REG) | APC_IDLE_ON, APC_IDLE_REG);
-
-#ifdef APC_DEBUG_LED
-	set_auxio(AUXIO_LED, 0x00); 
-#endif
-} 
-
-static inline void apc_free(struct platform_device *op)
-{
-	of_iounmap(&op->resource[0], regs, resource_size(&op->resource[0]));
-}
-
-static int apc_open(struct inode *inode, struct file *f)
-{
-	return 0;
-}
-
-static int apc_release(struct inode *inode, struct file *f)
-{
-	return 0;
-}
-
-static long apc_ioctl(struct file *f, unsigned int cmd, unsigned long __arg)
-{
-	__u8 inarg, __user *arg = (__u8 __user *) __arg;
-
-	switch (cmd) {
-	case APCIOCGFANCTL:
-		if (put_user(apc_readb(APC_FANCTL_REG) & APC_REGMASK, arg))
-			return -EFAULT;
-		break;
-
-	case APCIOCGCPWR:
-		if (put_user(apc_readb(APC_CPOWER_REG) & APC_REGMASK, arg))
-			return -EFAULT;
-		break;
-
-	case APCIOCGBPORT:
-		if (put_user(apc_readb(APC_BPORT_REG) & APC_BPMASK, arg))
-			return -EFAULT;
-		break;
-
-	case APCIOCSFANCTL:
-		if (get_user(inarg, arg))
-			return -EFAULT;
-		apc_writeb(inarg & APC_REGMASK, APC_FANCTL_REG);
-		break;
-
-	case APCIOCSCPWR:
-		if (get_user(inarg, arg))
-			return -EFAULT;
-		apc_writeb(inarg & APC_REGMASK, APC_CPOWER_REG);
-		break;
-
-	case APCIOCSBPORT:
-		if (get_user(inarg, arg))
-			return -EFAULT;
-		apc_writeb(inarg & APC_BPMASK, APC_BPORT_REG);
-		break;
-
-	default:
-		return -EINVAL;
-	}
-
-	return 0;
-}
-
-static const struct file_operations apc_fops = {
-	.unlocked_ioctl =	apc_ioctl,
-	.open =			apc_open,
-	.release =		apc_release,
-	.llseek =		noop_llseek,
-};
-
-static struct miscdevice apc_miscdev = { APC_MINOR, APC_DEVNAME, &apc_fops };
-
-static int apc_probe(struct platform_device *op)
-{
-	int err;
-
-	regs = of_ioremap(&op->resource[0], 0,
-			  resource_size(&op->resource[0]), APC_OBPNAME);
-	if (!regs) {
-		printk(KERN_ERR "%s: unable to map registers\n", APC_DEVNAME);
-		return -ENODEV;
-	}
-
-	err = misc_register(&apc_miscdev);
-	if (err) {
-		printk(KERN_ERR "%s: unable to register device\n", APC_DEVNAME);
-		apc_free(op);
-		return -ENODEV;
-	}
-
-	/* Assign power management IDLE handler */
-	if (!apc_no_idle)
-		sparc_idle = apc_swift_idle;
-
-	printk(KERN_INFO "%s: power management initialized%s\n", 
-	       APC_DEVNAME, apc_no_idle ? " (CPU idle disabled)" : "");
-
-	return 0;
-}
-
-static const struct of_device_id apc_match[] = {
-	{
-		.name = APC_OBPNAME,
-	},
-	{},
-};
-MODULE_DEVICE_TABLE(of, apc_match);
-
-static struct platform_driver apc_driver = {
-	.driver = {
-		.name = "apc",
-		.of_match_table = apc_match,
-	},
-	.probe		= apc_probe,
-};
-
-static int __init apc_init(void)
-{
-	return platform_driver_register(&apc_driver);
-}
-
-/* This driver is not critical to the boot process
- * and is easiest to ioremap when SBus is already
- * initialized, so we install ourselves thusly:
- */
-__initcall(apc_init);
diff --git a/arch/sparc/kernel/pmc.c b/arch/sparc/kernel/pmc.c
deleted file mode 100644
index 69a0206e56f0..000000000000
--- a/arch/sparc/kernel/pmc.c
+++ /dev/null
@@ -1,100 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/* pmc - Driver implementation for power management functions
- * of Power Management Controller (PMC) on SPARCstation-Voyager.
- *
- * Copyright (c) 2002 Eric Brower (ebrower@usa.net)
- */
-
-#include <linux/kernel.h>
-#include <linux/fs.h>
-#include <linux/errno.h>
-#include <linux/init.h>
-#include <linux/pm.h>
-#include <linux/of.h>
-#include <linux/platform_device.h>
-#include <linux/module.h>
-
-#include <asm/io.h>
-#include <asm/oplib.h>
-#include <linux/uaccess.h>
-#include <asm/auxio.h>
-#include <asm/processor.h>
-
-/* Debug
- *
- * #define PMC_DEBUG_LED
- * #define PMC_NO_IDLE
- */
-
-#define PMC_OBPNAME	"SUNW,pmc"
-#define PMC_DEVNAME	"pmc"
-
-#define PMC_IDLE_REG	0x00
-#define PMC_IDLE_ON	0x01
-
-static u8 __iomem *regs;
-
-#define pmc_readb(offs)		(sbus_readb(regs+offs))
-#define pmc_writeb(val, offs)	(sbus_writeb(val, regs+offs))
-
-/*
- * CPU idle callback function
- * See .../arch/sparc/kernel/process.c
- */
-static void pmc_swift_idle(void)
-{
-#ifdef PMC_DEBUG_LED
-	set_auxio(0x00, AUXIO_LED);
-#endif
-
-	pmc_writeb(pmc_readb(PMC_IDLE_REG) | PMC_IDLE_ON, PMC_IDLE_REG);
-
-#ifdef PMC_DEBUG_LED
-	set_auxio(AUXIO_LED, 0x00);
-#endif
-}
-
-static int pmc_probe(struct platform_device *op)
-{
-	regs = of_ioremap(&op->resource[0], 0,
-			  resource_size(&op->resource[0]), PMC_OBPNAME);
-	if (!regs) {
-		printk(KERN_ERR "%s: unable to map registers\n", PMC_DEVNAME);
-		return -ENODEV;
-	}
-
-#ifndef PMC_NO_IDLE
-	/* Assign power management IDLE handler */
-	sparc_idle = pmc_swift_idle;
-#endif
-
-	printk(KERN_INFO "%s: power management initialized\n", PMC_DEVNAME);
-	return 0;
-}
-
-static const struct of_device_id pmc_match[] = {
-	{
-		.name = PMC_OBPNAME,
-	},
-	{},
-};
-MODULE_DEVICE_TABLE(of, pmc_match);
-
-static struct platform_driver pmc_driver = {
-	.driver = {
-		.name = "pmc",
-		.of_match_table = pmc_match,
-	},
-	.probe		= pmc_probe,
-};
-
-static int __init pmc_init(void)
-{
-	return platform_driver_register(&pmc_driver);
-}
-
-/* This driver is not critical to the boot process
- * and is easiest to ioremap when SBus is already
- * initialized, so we install ourselves thusly:
- */
-__initcall(pmc_init);

-- 
2.34.1


  parent reply	other threads:[~2024-03-09 18:15 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-09 18:15 [PATCH v2 00/28] sparc32: sunset sun4m and sun4d Sam Ravnborg via B4 Relay
2024-03-09 18:15 ` [PATCH v2 01/28] sparc32: Update defconfig to LEON SMP Sam Ravnborg via B4 Relay
2024-03-09 18:15 ` [PATCH v2 02/28] sparc32: Drop sun4m/sun4d support from head_32.S Sam Ravnborg via B4 Relay
2024-03-09 18:15 ` [PATCH v2 03/28] sparc32: Drop floppy support Sam Ravnborg via B4 Relay
2024-03-09 18:15 ` [PATCH v2 04/28] sparc32: Drop sun4m specific led driver Sam Ravnborg via B4 Relay
2024-03-09 18:15 ` Sam Ravnborg via B4 Relay [this message]
2024-03-09 18:15 ` [PATCH v2 06/28] sparc32: Drop auxio support Sam Ravnborg via B4 Relay
2024-03-09 18:15 ` [PATCH v2 07/28] sparc32: Drop run-time patching of ipi trap Sam Ravnborg via B4 Relay
2024-03-09 18:15 ` [PATCH v2 08/28] sparc32: Drop patching of interrupt vector Sam Ravnborg via B4 Relay
2024-03-09 18:15 ` [PATCH v2 09/28] sparc32: Drop sun4m/sun4d specific irq handling Sam Ravnborg via B4 Relay
2024-03-09 18:15 ` [PATCH v2 10/28] sparc32: Drop sun4d/sun4m smp support Sam Ravnborg via B4 Relay
2024-03-09 18:15 ` [PATCH v2 11/28] sparc32: Drop pcic support Sam Ravnborg via B4 Relay
2024-03-09 18:15 ` [PATCH v2 12/28] sparc32: Drop mbus support Sam Ravnborg via B4 Relay
2024-03-09 18:15 ` [PATCH v2 13/28] sparc32: Drop unused function __get_{phys,iospace} Sam Ravnborg via B4 Relay
2024-03-09 18:15 ` [PATCH v2 14/28] sparc32: Drop unused mmu models Sam Ravnborg via B4 Relay
2024-03-10 10:37   ` kernel test robot
2024-03-10 12:34     ` Sam Ravnborg
2024-03-11 17:31       ` [PATCH v3 " Sam Ravnborg
2024-03-09 18:15 ` [PATCH v2 15/28] sparc32: Drop check for sparc_model Sam Ravnborg via B4 Relay
2024-03-09 18:15 ` [PATCH v2 16/28] sparc32: Drop use of sparc_config Sam Ravnborg via B4 Relay
2024-03-09 18:15 ` [PATCH v2 17/28] sparc32: Drop run-time cpuid patching Sam Ravnborg via B4 Relay
2024-03-09 18:15 ` [PATCH v2 18/28] sparc32: Drop run-time patching of ASI instructions Sam Ravnborg via B4 Relay
2024-03-09 18:15 ` [PATCH v2 19/28] sparc32: Drop support for 7 register windows Sam Ravnborg via B4 Relay
2024-03-09 18:15 ` [PATCH v2 20/28] sparc32: Drop additional sun4d bits Sam Ravnborg via B4 Relay
2024-03-09 18:15 ` [PATCH v2 21/28] sparc32: Drop unused prom ranges support Sam Ravnborg via B4 Relay
2024-03-09 18:15 ` [PATCH v2 22/28] sparc32: Drop unused sbus iommu support Sam Ravnborg via B4 Relay
2024-03-09 18:15 ` [PATCH v2 23/28] sparc32: Drop sun4m irq support Sam Ravnborg via B4 Relay
2024-03-09 18:15 ` [PATCH v2 24/28] sparc32: Drop unused trampoline code Sam Ravnborg via B4 Relay
2024-03-09 18:15 ` [PATCH v2 25/28] sparc32: Drop config SPARC_LEON Sam Ravnborg via B4 Relay
2024-03-09 18:15 ` [PATCH v2 26/28] sparc32: Drop sbus support Sam Ravnborg via B4 Relay
2024-03-09 18:15 ` [PATCH v2 27/28] sbus: char: Drop now unused uctrl driver Sam Ravnborg via B4 Relay
2024-03-09 18:15 ` [PATCH v2 28/28] fbdev/p9100: Drop now unused driver p9100 Sam Ravnborg via B4 Relay
2024-03-11 14:05   ` Arnd Bergmann
2024-03-11 17:47     ` Sam Ravnborg
2024-04-23 18:02 ` [PATCH v2 00/28] sparc32: sunset sun4m and sun4d Sam Ravnborg
2024-04-26 16:31   ` Andreas Larsson
2024-04-26 16:53     ` Sam Ravnborg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240309-sunset-v2-5-f09912574d2c@ravnborg.org \
    --to=devnull+sam.ravnborg.org@kernel.org \
    --cc=andreas@gaisler.com \
    --cc=arnd@kernel.org \
    --cc=davem@davemloft.net \
    --cc=deller@gmx.de \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=glaubitz@physik.fu-berlin.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mark.cave-ayland@ilande.co.uk \
    --cc=oftedal@gmail.com \
    --cc=perex@perex.cz \
    --cc=rdunlap@infradead.org \
    --cc=sam@ravnborg.org \
    --cc=sparclinux@vger.kernel.org \
    --cc=stern@rowland.harvard.edu \
    --cc=tiwai@suse.com \
    --cc=tzimmermann@suse.de \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).