diff options
Diffstat (limited to 'drivers/rtc/rtc-ds1307.c')
-rw-r--r-- | drivers/rtc/rtc-ds1307.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c index ca18fd1433b3..4e75345a559a 100644 --- a/drivers/rtc/rtc-ds1307.c +++ b/drivers/rtc/rtc-ds1307.c | |||
@@ -670,9 +670,9 @@ static int ds1307_probe(struct i2c_client *client, | |||
670 | int tmp; | 670 | int tmp; |
671 | const struct chip_desc *chip = &chips[id->driver_data]; | 671 | const struct chip_desc *chip = &chips[id->driver_data]; |
672 | struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent); | 672 | struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent); |
673 | int want_irq = false; | 673 | bool want_irq = false; |
674 | unsigned char *buf; | 674 | unsigned char *buf; |
675 | struct ds1307_platform_data *pdata = client->dev.platform_data; | 675 | struct ds1307_platform_data *pdata = dev_get_platdata(&client->dev); |
676 | static const int bbsqi_bitpos[] = { | 676 | static const int bbsqi_bitpos[] = { |
677 | [ds_1337] = 0, | 677 | [ds_1337] = 0, |
678 | [ds_1339] = DS1339_BIT_BBSQI, | 678 | [ds_1339] = DS1339_BIT_BBSQI, |
@@ -956,7 +956,7 @@ read_rtc: | |||
956 | GFP_KERNEL); | 956 | GFP_KERNEL); |
957 | if (!ds1307->nvram) { | 957 | if (!ds1307->nvram) { |
958 | err = -ENOMEM; | 958 | err = -ENOMEM; |
959 | goto exit; | 959 | goto err_irq; |
960 | } | 960 | } |
961 | ds1307->nvram->attr.name = "nvram"; | 961 | ds1307->nvram->attr.name = "nvram"; |
962 | ds1307->nvram->attr.mode = S_IRUGO | S_IWUSR; | 962 | ds1307->nvram->attr.mode = S_IRUGO | S_IWUSR; |
@@ -967,13 +967,15 @@ read_rtc: | |||
967 | ds1307->nvram_offset = chip->nvram_offset; | 967 | ds1307->nvram_offset = chip->nvram_offset; |
968 | err = sysfs_create_bin_file(&client->dev.kobj, ds1307->nvram); | 968 | err = sysfs_create_bin_file(&client->dev.kobj, ds1307->nvram); |
969 | if (err) | 969 | if (err) |
970 | goto exit; | 970 | goto err_irq; |
971 | set_bit(HAS_NVRAM, &ds1307->flags); | 971 | set_bit(HAS_NVRAM, &ds1307->flags); |
972 | dev_info(&client->dev, "%zu bytes nvram\n", ds1307->nvram->size); | 972 | dev_info(&client->dev, "%zu bytes nvram\n", ds1307->nvram->size); |
973 | } | 973 | } |
974 | 974 | ||
975 | return 0; | 975 | return 0; |
976 | 976 | ||
977 | err_irq: | ||
978 | free_irq(client->irq, client); | ||
977 | exit: | 979 | exit: |
978 | return err; | 980 | return err; |
979 | } | 981 | } |