]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - arch/arm/mach-shmobile/regulator-quirk-rcar-gen2.c
Merge tag 'for-linus-20170812' of git://git.infradead.org/linux-mtd
[karo-tx-linux.git] / arch / arm / mach-shmobile / regulator-quirk-rcar-gen2.c
index 73e3adbc133096eca9cdf652d37ff110f5e35850..44438f344dc80f9c5073502fbe2019270d8df24a 100644 (file)
@@ -67,8 +67,12 @@ static int regulator_quirk_notify(struct notifier_block *nb,
 {
        struct device *dev = data;
        struct i2c_client *client;
+       static bool done;
        u32 mon;
 
+       if (done)
+               return 0;
+
        mon = ioread32(irqc + IRQC_MONITOR);
        dev_dbg(dev, "%s: %ld, IRQC_MONITOR = 0x%x\n", __func__, action, mon);
        if (mon & REGULATOR_IRQ_MASK)
@@ -99,7 +103,7 @@ static int regulator_quirk_notify(struct notifier_block *nb,
 remove:
        dev_info(dev, "IRQ2 is not asserted, removing quirk\n");
 
-       bus_unregister_notifier(&i2c_bus_type, nb);
+       done = true;
        iounmap(irqc);
        return 0;
 }