Re: [RFC PATCH 1/4] i2c: allow drivers to announce that they are IRQ safe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Sep 4, 2018 at 3:34 PM Wolfram Sang <wsa@xxxxxxxxxxxxx> wrote:
>
>
> > LGTM.
> > Though I would expect that call back optional, so, it means that I2C
> > core, perhaps, may put some generic one as a stub.
>
> Right, stupid me. After some many variations, I missed to add one
> condition to this version. It should have been something like the
> following:
>
> > > -               ret = adap->algo->master_xfer(adap, msgs, num);
> > > +               if (in_atomic() || irqs_disabled())
>
>         if (adap->algo->master_xfer_irqless && (in_atomic() || irqs_disabled()))

I think something like

  if (in_atomic() || irqs_disabled()) {
      if (adap->algo->master_xfer_irqless)
             ret = adap->algo->master_xfer_irqless(adap, msgs, num);
      else
             ret = -ENOTSUPP;
  }

>
> > > +                       ret = adap->algo->master_xfer_irqless(adap, msgs, num);
> > > +               else
> > > +                       ret = adap->algo->master_xfer(adap, msgs, num);
> > > +
> > >                 if (ret != -EAGAIN)
> > >                         break;



-- 
With Best Regards,
Andy Shevchenko



[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux