aboutsummaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/i2c/chips/pcf50606.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/drivers/i2c/chips/pcf50606.c b/drivers/i2c/chips/pcf50606.c
index 2466bf8e772..50f944fdccc 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