summaryrefslogtreecommitdiffstats
path: root/target/linux/s3c24xx/patches-2.6.26/1123-tracking-2.6.25-struct-bus-type-loses-devices-member.patch
blob: 45100646329125a7c1989f19435a360f26b73fbf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
From e7e0525a9ddbb82b24216af5182353a345dca59f Mon Sep 17 00:00:00 2001
From: Andy Green <andy@openmoko.com>
Date: Fri, 25 Jul 2008 23:06:06 +0100
Subject: [PATCH] tracking-2.6.25-struct-bus-type-loses-devices-member.patch

I don't know what device the symlink should be linked
against on GTA01, somebody that does know needs to edit
it in where it says "FIXME"... I think the supplied method
can work OK otherwise.

Signed-off-by: Andy Green <andy@openmoko.com>
---
 drivers/i2c/chips/pcf50606.c |   19 +++++++++++++++----
 1 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/drivers/i2c/chips/pcf50606.c b/drivers/i2c/chips/pcf50606.c
index 2466bf8..50f944f 100644
--- a/drivers/i2c/chips/pcf50606.c
+++ b/drivers/i2c/chips/pcf50606.c
@@ -1781,6 +1781,12 @@ static int pcf50606_detect(struct i2c_adapter *adapter, int address, int kind)
 
 #ifdef CONFIG_MACH_NEO1973_GTA01
 	if (machine_is_neo1973_gta01()) {
+		/* FIXME: what is the device name we are symlinking to?
+		 * symlink won't get created until this is fixed.
+		 */
+		struct device * busdev = bus_find_device_by_name(
+							&platform_bus_type,
+							NULL, "FIXME");
 		gta01_pm_gps_dev.dev.parent = &new_client->dev;
 		switch (system_rev) {
 		case GTA01Bv2_SYSTEM_REV:
@@ -1792,11 +1798,16 @@ static int pcf50606_detect(struct i2c_adapter *adapter, int address, int kind)
 		}
 		platform_device_register(&gta01_pm_gps_dev);
 		/* a link for gllin compatibility */
-		err = sysfs_create_link(&platform_bus_type.devices.kobj,
-		    &gta01_pm_gps_dev.dev.kobj, "gta01-pm-gps.0");
-		if (err)
-			printk(KERN_ERR
+		/* 2.6.25 tracking: platform_bus_type.devices that was here
+		 * has gone away in mainline
+		 */
+		if (busdev) {
+			err = sysfs_create_link(&busdev->kobj,
+			&gta01_pm_gps_dev.dev.kobj, "gta01-pm-gps.0");
+			if (err)
+				printk(KERN_ERR
 			    "sysfs_create_link (gta01-pm-gps.0): %d\n", err);
+		}
 	}
 #endif
 
-- 
1.5.6.3