|
@@ -167,9 +167,13 @@ static irqreturn_t axp20x_pek_irq(int irq, void *pwr)
|
|
struct input_dev *idev = pwr;
|
|
struct input_dev *idev = pwr;
|
|
struct axp20x_pek *axp20x_pek = input_get_drvdata(idev);
|
|
struct axp20x_pek *axp20x_pek = input_get_drvdata(idev);
|
|
|
|
|
|
- if (irq == axp20x_pek->irq_dbr)
|
|
|
|
|
|
+ /*
|
|
|
|
+ * The power-button is connected to ground so a falling edge (dbf)
|
|
|
|
+ * means it is pressed.
|
|
|
|
+ */
|
|
|
|
+ if (irq == axp20x_pek->irq_dbf)
|
|
input_report_key(idev, KEY_POWER, true);
|
|
input_report_key(idev, KEY_POWER, true);
|
|
- else if (irq == axp20x_pek->irq_dbf)
|
|
|
|
|
|
+ else if (irq == axp20x_pek->irq_dbr)
|
|
input_report_key(idev, KEY_POWER, false);
|
|
input_report_key(idev, KEY_POWER, false);
|
|
|
|
|
|
input_sync(idev);
|
|
input_sync(idev);
|