On Wed, 2011-01-12 at 11:39 +0100, Marco d'Itri wrote:
> reassign 609747 linux-2.6
> thanks
>
> On Jan 12, Daniel Kahn Gillmor <dkg@fifthhorseman.net> wrote:
>
> > Could udev have detected this and loaded the module automatically
> > somehow? I saw the same behavior on an eMac recently as well. I can
> Maybe, as long as the kernel is fixed to provide the information needed.
This is a platform driver, which implies no mechanism for auto-
detection, yet it uses OpenFirmware information. So please try this
patch:
---
From: Ben Hutchings <ben@decadent.org.uk>
Date: Wed, 12 Jan 2011 14:09:20 +0000
Subject: [PATCH] ALSA: powermac: Add MODULE_DEVICE_TABLE based on OF 'compatible' names
MODULE_SUPPORTED_DEVICE() is not implemented, so does not enable the
module to be auto-loaded.
List all the OpenFirmware 'compatible' names we look for when
detecting the sound chip.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
sound/ppc/powermac.c | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/sound/ppc/powermac.c b/sound/ppc/powermac.c
index a2b69b8..4db785b 100644
--- a/sound/ppc/powermac.c
+++ b/sound/ppc/powermac.c
@@ -31,9 +31,18 @@
#define CHIP_NAME "PMac"
MODULE_DESCRIPTION("PowerMac");
-MODULE_SUPPORTED_DEVICE("{{Apple,PowerMac}}");
MODULE_LICENSE("GPL");
+static const struct of_device_id of_device_ids[] = {
+ { .compatible = "screamer" },
+ { .compatible = "burgundy" },
+ { .compatible = "daca" },
+ { .compatible = "tumbler" },
+ { .compatible = "snapper" },
+ { }
+};
+MODULE_DEVICE_TABLE(of, of_device_ids);
+
static int index = SNDRV_DEFAULT_IDX1; /* Index 0-MAX */
static char *id = SNDRV_DEFAULT_STR1; /* ID for this card */
static int enable_beep = 1;
---
Ben.
--
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.
Attachment:
signature.asc
Description: This is a digitally signed message part