0

I have an external I2C device that signals when data is ready using a pin.

I want my Linux SBC to trigger I2C transfer routine after GPIO interrupt triggers. How would this be done within kernel space?

More generally we don't want the I2C transfer to block(I'm assuming there is an internal I2C device handling low level transfer) but we do want it started from within gpio ISR.

How would one do this?

1
  • Is "do it in kernelspace" important to you (and if so, why exactly)? Because you'd typically don't do that in kernel space, but open the appropriate GPIO pseudofile, select so to get woken up when the state changes, and then do your I²C transfer – in userspace. You can technically do the same in kernel land, if you want to, but it's less clean and not necessarily lower-overhead. That's why I ask for the reason you want to do that in kernel space – depending on the reason, you'd approach this differently. Commented 18 hours ago

0

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.