rtc: ds1307: simplify irq setup code
No need to have two seperate if-blocks for setting up the irq. Signed-off-by: Wolfram Sang <w.sang@pengutronix.de> Tested-by: David Anders <danders.dev@gmail.com> Cc: Austin Boyle <Austin.Boyle@aviatnet.com> Cc: Alessandro Zummo <alessandro.zummo@towertech.it> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
32d322bcb0
Коммит
b24a726770
|
@ -646,11 +646,6 @@ static int __devinit ds1307_probe(struct i2c_client *client,
|
|||
case ds_1337:
|
||||
case ds_1339:
|
||||
case ds_3231:
|
||||
/* has IRQ? */
|
||||
if (ds1307->client->irq > 0 && chip->alarm) {
|
||||
INIT_WORK(&ds1307->work, ds1307_work);
|
||||
want_irq = true;
|
||||
}
|
||||
/* get registers that the "rtc" read below won't read... */
|
||||
tmp = ds1307->read_block_data(ds1307->client,
|
||||
DS1337_REG_CONTROL, 2, buf);
|
||||
|
@ -668,10 +663,14 @@ static int __devinit ds1307_probe(struct i2c_client *client,
|
|||
* For some variants, be sure alarms can trigger when we're
|
||||
* running on Vbackup (BBSQI/BBSQW)
|
||||
*/
|
||||
if (want_irq) {
|
||||
if (ds1307->client->irq > 0 && chip->alarm) {
|
||||
INIT_WORK(&ds1307->work, ds1307_work);
|
||||
|
||||
ds1307->regs[0] |= DS1337_BIT_INTCN
|
||||
| bbsqi_bitpos[ds1307->type];
|
||||
ds1307->regs[0] &= ~(DS1337_BIT_A2IE | DS1337_BIT_A1IE);
|
||||
|
||||
want_irq = true;
|
||||
}
|
||||
|
||||
i2c_smbus_write_byte_data(client, DS1337_REG_CONTROL,
|
||||
|
|
Загрузка…
Ссылка в новой задаче