On Mon, May 04, 2015 at 01:58:28PM -0700, Dan DeVoto wrote:
> >Can you send me the device tree of your machine in the
> >mean time?
>
> Sure, thanks for working on this, but I'm not sure what device
> tree refers to. Is there a specific command output or text file
> I should send you?
Let's skip this for now, I think I found something. Can you test the
attached patch a) without my previous patch and b) on top of the previous patch?
From: Wolfram Sang <wsa@the-dreams.de>
Subject: [PATCH] i2c: powermac: don't workaround for keywest
commit 3a3dd0186f619b74e61e6f29dddcaf59af7d3cac ("i2c/powermac: Improve
detection of devices from device-tree") added a codec device
instantiation workaround unconditionally although it is only needed for
onyx. Do it conditionally since keywest has its own codec instantiation
in the sound drivers.
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
drivers/i2c/busses/i2c-powermac.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/i2c/busses/i2c-powermac.c b/drivers/i2c/busses/i2c-powermac.c
index 60a53c169ed2b3..9ccf156ded32ef 100644
--- a/drivers/i2c/busses/i2c-powermac.c
+++ b/drivers/i2c/busses/i2c-powermac.c
@@ -288,7 +288,8 @@ static void i2c_powermac_add_missing(struct i2c_adapter *adap,
static bool i2c_powermac_get_type(struct i2c_adapter *adap,
struct device_node *node,
- u32 addr, char *type, int type_size)
+ u32 addr, char *type, int type_size,
+ bool found_onyx)
{
char tmp[16];
@@ -308,8 +309,8 @@ static bool i2c_powermac_get_type(struct i2c_adapter *adap,
return true;
}
- /* Now look for known workarounds */
- if (!strcmp(node->name, "deq")) {
+ /* Now look for known workarounds for onyx/aoa */
+ if (found_onyx && !strcmp(node->name, "deq")) {
/* Apple uses address 0x34 for TAS3001 and 0x35 for TAS3004 */
if (addr == 0x34) {
snprintf(type, type_size, "MAC,tas3001");
@@ -365,7 +366,7 @@ static void i2c_powermac_register_devices(struct i2c_adapter *adap,
/* Make up a modalias */
if (!i2c_powermac_get_type(adap, node, addr,
- info.type, sizeof(info.type))) {
+ info.type, sizeof(info.type), found_onyx)) {
continue;
}
Attachment:
signature.asc
Description: Digital signature