[PATCH] CONFIG_PM=n slim: sound/oss/cs46xx.c

From: Alexey Dobriyan
Date: Fri Aug 11 2006 - 18:36:21 EST


* Make suspend/resume registration look like the rest of drivers:
#ifdef CONFIG_PM in struct pci_driver, prototypes, actual hooks.
* Drop CS46XX_ACPI_SUPPORT. It logically duplicated CONFIG_PM. It was
hardcoded to 1 approx forever (ALSA merge just moved driver to
sound/oss/).
* After previous point, sound/oss/cs46xxpm-24.h removed as being useless.
* As side effect selling (unused) static inline functions as suspend/resume
hooks funkiness removed too.

Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx>
---

sound/oss/cs46xx.c | 12 ++++++++----
sound/oss/cs46xxpm-24.h | 48 ------------------------------------------------
2 files changed, 8 insertions(+), 52 deletions(-)

--- a/sound/oss/cs46xx.c
+++ b/sound/oss/cs46xx.c
@@ -96,7 +96,7 @@ #include <asm/io.h>
#include <asm/dma.h>
#include <asm/uaccess.h>

-#include "cs46xxpm-24.h"
+#include "cs46xxpm.h"
#include "cs46xx_wrapper-24.h"
#include "cs461x.h"

@@ -389,8 +389,10 @@ static int cs_hardware_init(struct cs_ca
static int cs46xx_powerup(struct cs_card *card, unsigned int type);
static int cs461x_powerdown(struct cs_card *card, unsigned int type, int suspendflag);
static void cs461x_clear_serial_FIFOs(struct cs_card *card, int type);
+#ifdef CONFIG_PM
static int cs46xx_suspend_tbl(struct pci_dev *pcidev, pm_message_t state);
static int cs46xx_resume_tbl(struct pci_dev *pcidev);
+#endif

#if CSDEBUG

@@ -5389,8 +5391,10 @@ static struct pci_driver cs46xx_pci_driv
.id_table = cs46xx_pci_tbl,
.probe = cs46xx_probe,
.remove = __devexit_p(cs46xx_remove),
- .suspend = CS46XX_SUSPEND_TBL,
- .resume = CS46XX_RESUME_TBL,
+#ifdef CONFIG_PM
+ .suspend = cs46xx_suspend_tbl,
+ .resume = cs46xx_resume_tbl,
+#endif
};

static int __init cs46xx_init_module(void)
@@ -5420,7 +5424,7 @@ static void __exit cs46xx_cleanup_module
module_init(cs46xx_init_module);
module_exit(cs46xx_cleanup_module);

-#if CS46XX_ACPI_SUPPORT
+#ifdef CONFIG_PM
static int cs46xx_suspend_tbl(struct pci_dev *pcidev, pm_message_t state)
{
struct cs_card *s = PCI_GET_DRIVER_DATA(pcidev);
deleted file mode 100644
--- a/sound/oss/cs46xxpm-24.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
-*
-* "cs46xxpm-24.h" -- Cirrus Logic-Crystal CS46XX linux audio driver.
-*
-* Copyright (C) 2000,2001 Cirrus Logic Corp.
-* -- tom woller (twoller@xxxxxxxxxxxxxxxxxx) or
-* (pcaudio@xxxxxxxxxxxxxxxxxx).
-*
-* This program is free software; you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation; either version 2 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program; if not, write to the Free Software
-* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*
-* 12/22/00 trw - new file.
-*
-*******************************************************************************/
-#ifndef __CS46XXPM24_H
-#define __CS46XXPM24_H
-
-#include <linux/pm.h>
-#include "cs46xxpm.h"
-
-
-#define CS46XX_ACPI_SUPPORT 1
-#ifdef CS46XX_ACPI_SUPPORT
-/*
-* for now (12/22/00) only enable the pm_register PM support.
-* allow these table entries to be null.
-*/
-static int cs46xx_suspend_tbl(struct pci_dev *pcidev, pm_message_t state);
-static int cs46xx_resume_tbl(struct pci_dev *pcidev);
-#define CS46XX_SUSPEND_TBL cs46xx_suspend_tbl
-#define CS46XX_RESUME_TBL cs46xx_resume_tbl
-#else
-#define CS46XX_SUSPEND_TBL cs46xx_null
-#define CS46XX_RESUME_TBL cs46xx_null
-#endif
-
-#endif

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/