V4L/DVB (5126): M920x: cleanups after rename from megasky.[ch]
[sfrench/cifs-2.6.git] / drivers / rtc / rtc-x1205.c
index 788b6d1f8f2fd282cac69e6b8a5c0e9a3698c9f2..513d1a611aaba46edb1343ae0bb2ceab58683680 100644 (file)
@@ -372,7 +372,7 @@ static int x1205_validate_client(struct i2c_client *client)
                };
 
                if ((xfer = i2c_transfer(client->adapter, msgs, 2)) != 2) {
-                       dev_err(&client->adapter->dev,
+                       dev_err(&client->dev,
                                "%s: could not read register %x\n",
                                __FUNCTION__, probe_zero_pattern[i]);
 
@@ -380,7 +380,7 @@ static int x1205_validate_client(struct i2c_client *client)
                }
 
                if ((buf & probe_zero_pattern[i+1]) != 0) {
-                       dev_err(&client->adapter->dev,
+                       dev_err(&client->dev,
                                "%s: register=%02x, zero pattern=%d, value=%x\n",
                                __FUNCTION__, probe_zero_pattern[i], i, buf);
 
@@ -400,7 +400,7 @@ static int x1205_validate_client(struct i2c_client *client)
                };
 
                if ((xfer = i2c_transfer(client->adapter, msgs, 2)) != 2) {
-                       dev_err(&client->adapter->dev,
+                       dev_err(&client->dev,
                                "%s: could not read register %x\n",
                                __FUNCTION__, probe_limits_pattern[i].reg);
 
@@ -411,7 +411,7 @@ static int x1205_validate_client(struct i2c_client *client)
 
                if (value > probe_limits_pattern[i].max ||
                        value < probe_limits_pattern[i].min) {
-                       dev_dbg(&client->adapter->dev,
+                       dev_dbg(&client->dev,
                                "%s: register=%x, lim pattern=%d, value=%d\n",
                                __FUNCTION__, probe_limits_pattern[i].reg,
                                i, value);
@@ -460,7 +460,7 @@ static int x1205_rtc_proc(struct device *dev, struct seq_file *seq)
        return 0;
 }
 
-static struct rtc_class_ops x1205_rtc_ops = {
+static const struct rtc_class_ops x1205_rtc_ops = {
        .proc           = x1205_rtc_proc,
        .read_time      = x1205_rtc_read_time,
        .set_time       = x1205_rtc_set_time,
@@ -562,11 +562,19 @@ static int x1205_probe(struct i2c_adapter *adapter, int address, int kind)
        else
                dev_err(&client->dev, "couldn't read status\n");
 
-       device_create_file(&client->dev, &dev_attr_atrim);
-       device_create_file(&client->dev, &dev_attr_dtrim);
+       err = device_create_file(&client->dev, &dev_attr_atrim);
+       if (err) goto exit_devreg;
+       err = device_create_file(&client->dev, &dev_attr_dtrim);
+       if (err) goto exit_atrim;
 
        return 0;
 
+exit_atrim:
+       device_remove_file(&client->dev, &dev_attr_atrim);
+
+exit_devreg:
+       rtc_device_unregister(rtc);
+
 exit_detach:
        i2c_detach_client(client);