[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#609747: udev: snd-powermac.ko not loaded automatically on iBook (first generation), resulting in no audio



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


Reply to: