하드웨어 인터럽트를 통해 시스템 종료 또는 정전을 시작하는 방법

하드웨어 인터럽트를 통해 시스템 종료 또는 정전을 시작하는 방법

저는 작은 헤드리스 임베디드 Linux 상자(Debian 기반 사용자 공간을 갖춘 NXP i.MX6이지만 보다 일반적인 솔루션에 관심이 있습니다)를 가지고 있습니다.

여기에는 HID 입력도 없고 데스크톱 장치도 없으며 직렬 콘솔과 전원 차단을 시작하는 데 사용하려는 GPIO 인터럽트(버튼)만 있습니다. ACPI 버튼이 있는 머신과 같습니다.

linux/drivers/power/reset에 있는 모든 항목(POWER_RESET_GPIO, POWER_RESET_IMX...)은 실제로 도움이 되지 않습니다. 모두 물리적 종료 또는 재부팅을 수행하는 하위 수준 드라이버입니다.

누락된 링크는 "poweroff" 명령과 유사하게 GPIO 인터럽트로 인해 시스템이 종료되도록 처리하는 방법입니다.

구글링을 해보았지만 놀랍게도 준비된 내용을 찾을 수 없었습니다.

다음과 같은 방법을 통해 사용자 공간에 인터럽트를 가져올 수 있다고 가정합니다.UIO 드라이버"전원 끄기"를 수행합니까? 이것이 유일한 선택입니까? 나는 이것이 공통된 요구라고 생각하며 공통된 해결책이 있어야 합니까?

관련 정보