struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
        int rc, status, burstcnt;
        size_t count = 0;
-       bool itpm = priv->flags & TPM_TIS_ITPM_WORKAROUND;
+       bool itpm = test_bit(TPM_TIS_ITPM_WORKAROUND, &priv->flags);
 
        status = tpm_tis_status(chip);
        if ((status & TPM_STS_COMMAND_READY) == 0) {
        int rc, irq;
        struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
 
-       if (!(chip->flags & TPM_CHIP_FLAG_IRQ) || priv->irq_tested)
+       if (!(chip->flags & TPM_CHIP_FLAG_IRQ) ||
+            test_bit(TPM_TIS_IRQ_TESTED, &priv->flags))
                return tpm_tis_send_main(chip, buf, len);
 
        /* Verify receipt of the expected IRQ */
        rc = tpm_tis_send_main(chip, buf, len);
        priv->irq = irq;
        chip->flags |= TPM_CHIP_FLAG_IRQ;
-       if (!priv->irq_tested)
+       if (!test_bit(TPM_TIS_IRQ_TESTED, &priv->flags))
                tpm_msleep(1);
-       if (!priv->irq_tested)
+       if (!test_bit(TPM_TIS_IRQ_TESTED, &priv->flags))
                disable_interrupts(chip);
-       priv->irq_tested = true;
+       set_bit(TPM_TIS_IRQ_TESTED, &priv->flags);
        return rc;
 }
 
        size_t len = sizeof(cmd_getticks);
        u16 vendor;
 
-       if (priv->flags & TPM_TIS_ITPM_WORKAROUND)
+       if (test_bit(TPM_TIS_ITPM_WORKAROUND, &priv->flags))
                return 0;
 
        rc = tpm_tis_read16(priv, TPM_DID_VID(0), &vendor);
 
        tpm_tis_ready(chip);
 
-       priv->flags |= TPM_TIS_ITPM_WORKAROUND;
+       set_bit(TPM_TIS_ITPM_WORKAROUND, &priv->flags);
 
        rc = tpm_tis_send_data(chip, cmd_getticks, len);
        if (rc == 0)
                dev_info(&chip->dev, "Detected an iTPM.\n");
        else {
-               priv->flags &= ~TPM_TIS_ITPM_WORKAROUND;
+               clear_bit(TPM_TIS_ITPM_WORKAROUND, &priv->flags);
                rc = -EFAULT;
        }
 
        if (interrupt == 0)
                return IRQ_NONE;
 
-       priv->irq_tested = true;
+       set_bit(TPM_TIS_IRQ_TESTED, &priv->flags);
        if (interrupt & TPM_INTF_DATA_AVAIL_INT)
                wake_up_interruptible(&priv->read_queue);
        if (interrupt & TPM_INTF_LOCALITY_CHANGE_INT)
        if (rc < 0)
                return rc;
 
-       priv->irq_tested = false;
+       clear_bit(TPM_TIS_IRQ_TESTED, &priv->flags);
 
        /* Generate an interrupt by having the core call through to
         * tpm_tis_send