mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-31 22:47:51 +00:00
Merge pull request #4654 from jernejsk/aw-fix-ir-reg
Allwinner: Fix R40 boot and IR
This commit is contained in:
commit
e1d6509f14
37
projects/Allwinner/patches/linux/0009-ir-improvements.patch
Normal file
37
projects/Allwinner/patches/linux/0009-ir-improvements.patch
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
From: Sean Young <sean@mess.org>
|
||||||
|
Subject: [PATCH 1/2] media: sunxi-cir: ensure IR is handled when it is
|
||||||
|
continuous
|
||||||
|
Date: Tue, 10 Nov 2020 09:15:56 +0000
|
||||||
|
|
||||||
|
If a user holds a button down on a remote, then no ir idle interrupt will
|
||||||
|
be generated until the user releases the button, depending on how quickly
|
||||||
|
the remote repeats. No IR is processed until that point, which means that
|
||||||
|
holding down a button may not do anything.
|
||||||
|
|
||||||
|
This also resolves an issue on a Cubieboard 1 where the IR receiver is
|
||||||
|
picking up ambient infrared as IR and spews out endless
|
||||||
|
"rc rc0: IR event FIFO is full!" messages unless you choose to live in
|
||||||
|
the dark.
|
||||||
|
|
||||||
|
Cc: stable@vger.kernel.org
|
||||||
|
Reported-by: Hans Verkuil <hverkuil@xs4all.nl>
|
||||||
|
Signed-off-by: Sean Young <sean@mess.org>
|
||||||
|
Tested-by: Hans Verkuil <hverkuil@xs4all.nl>
|
||||||
|
---
|
||||||
|
drivers/media/rc/sunxi-cir.c | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/drivers/media/rc/sunxi-cir.c b/drivers/media/rc/sunxi-cir.c
|
||||||
|
index ddee6ee37bab1..4afc5895bee74 100644
|
||||||
|
--- a/drivers/media/rc/sunxi-cir.c
|
||||||
|
+++ b/drivers/media/rc/sunxi-cir.c
|
||||||
|
@@ -137,6 +137,8 @@ static irqreturn_t sunxi_ir_irq(int irqno, void *dev_id)
|
||||||
|
} else if (status & REG_RXSTA_RPE) {
|
||||||
|
ir_raw_event_set_idle(ir->rc, true);
|
||||||
|
ir_raw_event_handle(ir->rc);
|
||||||
|
+ } else {
|
||||||
|
+ ir_raw_event_handle(ir->rc);
|
||||||
|
}
|
||||||
|
|
||||||
|
spin_unlock(&ir->ir_lock);
|
||||||
|
|
16
projects/Allwinner/patches/linux/0010-regulator-fix.patch
Normal file
16
projects/Allwinner/patches/linux/0010-regulator-fix.patch
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
|
||||||
|
index a4ffd71696da..9ad091f5f1ab 100644
|
||||||
|
--- a/drivers/regulator/core.c
|
||||||
|
+++ b/drivers/regulator/core.c
|
||||||
|
@@ -1169,6 +1169,9 @@ static int machine_constraints_voltage(struct regulator_dev *rdev,
|
||||||
|
}
|
||||||
|
|
||||||
|
if (current_uV < 0) {
|
||||||
|
+ if (current_uV == -EINVAL && rdev->supply_name)
|
||||||
|
+ return -EPROBE_DEFER;
|
||||||
|
+
|
||||||
|
rdev_err(rdev,
|
||||||
|
"failed to get the current voltage: %pe\n",
|
||||||
|
ERR_PTR(current_uV));
|
||||||
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user