Implementing a driver that listen to a GPIO

Jinqiang Zeng jinqiangzeng at gmail.com
Thu Oct 2 20:33:11 EDT 2014


2014-10-02 10:01 GMT-07:00 Clemens Gruber <clemens.gruber at pqgruber.com>:
> Hi,
>
> I am just trying to solve a similar problem as Luca described. I have a
> TQMa28 board running Linux 3.17-rc7 though.
> The capacitors keep the system up for about 1500 more milliseconds after
> the power fails. A GPIO line is set to high as soon as the main power is
> lost.
>
> So I have not much time to quit an important user space process and to
> clean up the ext4 root filesystem before the power fails.
>
> At the moment I pass rootflags=data=journal,commit=1 in the kernel
> commandline to lower the risk of data loss.
> In the user space application I open important files using the O_SYNC flag.
>
> Is there something else I should do to avoid data loss?
>
> How would you implement the "emergency cleanup on power-failure" logic?
> Dedicated driver (similar to the mentioned gpio-event driver?),
> implement it with UIO, let a userspace application running as root
> select /dev/uioX and cleaning up?

how about  using netlink to notify the usersapce app on gpio interrupt .

>
> Or should I create a separate partition on my eMMC just for this user
> space application data and use a readonly rootfs for the rest?
>
> Thanks for your help!
>
> Best regards,
> Clemens
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



More information about the Kernelnewbies mailing list