rtc-sh: Unsigned rtc->{periodic,carry,alarm}_irq cannot be negative
[safe/jmp/linux-2.6] / drivers / rtc / rtc-ds1374.c
index 104dcfd..a150418 100644 (file)
 #define DS1374_REG_SR_AF       0x01 /* Alarm Flag */
 #define DS1374_REG_TCR         0x09 /* Trickle Charge */
 
+static const struct i2c_device_id ds1374_id[] = {
+       { "ds1374", 0 },
+       { }
+};
+MODULE_DEVICE_TABLE(i2c, ds1374_id);
+
 struct ds1374 {
        struct i2c_client *client;
        struct rtc_device *rtc;
@@ -167,7 +173,7 @@ static int ds1374_read_alarm(struct device *dev, struct rtc_wkalrm *alarm)
        int cr, sr;
        int ret = 0;
 
-       if (client->irq < 0)
+       if (client->irq <= 0)
                return -EINVAL;
 
        mutex_lock(&ds1374->mutex);
@@ -206,7 +212,7 @@ static int ds1374_set_alarm(struct device *dev, struct rtc_wkalrm *alarm)
        int cr;
        int ret = 0;
 
-       if (client->irq < 0)
+       if (client->irq <= 0)
                return -EINVAL;
 
        ret = ds1374_read_time(dev, &now);
@@ -375,7 +381,7 @@ static int ds1374_probe(struct i2c_client *client,
        if (ret)
                goto out_free;
 
-       if (client->irq >= 0) {
+       if (client->irq > 0) {
                ret = request_irq(client->irq, ds1374_irq, 0,
                                  "ds1374", client);
                if (ret) {
@@ -395,7 +401,7 @@ static int ds1374_probe(struct i2c_client *client,
        return 0;
 
 out_irq:
-       if (client->irq >= 0)
+       if (client->irq > 0)
                free_irq(client->irq, client);
 
 out_free:
@@ -408,7 +414,7 @@ static int __devexit ds1374_remove(struct i2c_client *client)
 {
        struct ds1374 *ds1374 = i2c_get_clientdata(client);
 
-       if (client->irq >= 0) {
+       if (client->irq > 0) {
                mutex_lock(&ds1374->mutex);
                ds1374->exiting = 1;
                mutex_unlock(&ds1374->mutex);
@@ -430,6 +436,7 @@ static struct i2c_driver ds1374_driver = {
        },
        .probe = ds1374_probe,
        .remove = __devexit_p(ds1374_remove),
+       .id_table = ds1374_id,
 };
 
 static int __init ds1374_init(void)