sunxi-6.12: Switching to v6.12.16. Re-export megous patches
This commit is contained in:
parent
55c805ce9e
commit
7dad76f727
@ -36,7 +36,7 @@ case $BRANCH in
|
||||
|
||||
edge)
|
||||
declare -g KERNEL_MAJOR_MINOR="6.12" # Major and minor versions of this kernel.
|
||||
declare -g KERNELBRANCH="tag:v6.12.13"
|
||||
declare -g KERNELBRANCH="tag:v6.12.16"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
@ -37,7 +37,7 @@ case $BRANCH in
|
||||
|
||||
edge)
|
||||
declare -g KERNEL_MAJOR_MINOR="6.12" # Major and minor versions of this kernel.
|
||||
declare -g KERNELBRANCH="tag:v6.12.13"
|
||||
declare -g KERNELBRANCH="tag:v6.12.16"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From 657d4a240139087cf93d8880c9c87fd60cd0339d Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Tue, 7 May 2024 18:39:12 +0200
|
||||
Subject: Revert "usb: typec: tcpm: unregister existing source caps before
|
||||
@ -10,10 +10,10 @@ This reverts commit 230ecdf71a644c9c73e0e6735b33173074ae3f94.
|
||||
1 file changed, 1 insertion(+), 6 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c
|
||||
index 111111111111..222222222222 100644
|
||||
index 48ddf2770461..cd97f1118e08 100644
|
||||
--- a/drivers/usb/typec/tcpm/tcpm.c
|
||||
+++ b/drivers/usb/typec/tcpm/tcpm.c
|
||||
@@ -3005,7 +3005,7 @@ static int tcpm_register_source_caps(struct tcpm_port *port)
|
||||
@@ -3007,7 +3007,7 @@ static int tcpm_register_source_caps(struct tcpm_port *port)
|
||||
{
|
||||
struct usb_power_delivery_desc desc = { port->negotiated_rev };
|
||||
struct usb_power_delivery_capabilities_desc caps = { };
|
||||
@ -22,7 +22,7 @@ index 111111111111..222222222222 100644
|
||||
|
||||
if (!port->partner_pd)
|
||||
port->partner_pd = usb_power_delivery_register(NULL, &desc);
|
||||
@@ -3015,11 +3015,6 @@ static int tcpm_register_source_caps(struct tcpm_port *port)
|
||||
@@ -3017,11 +3017,6 @@ static int tcpm_register_source_caps(struct tcpm_port *port)
|
||||
memcpy(caps.pdo, port->source_caps, sizeof(u32) * port->nr_source_caps);
|
||||
caps.role = TYPEC_SOURCE;
|
||||
|
||||
@ -35,5 +35,5 @@ index 111111111111..222222222222 100644
|
||||
if (IS_ERR(cap))
|
||||
return PTR_ERR(cap);
|
||||
--
|
||||
Armbian
|
||||
2.35.3
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From f297df8dec806b120400d21b036681e8fe8f14aa Mon Sep 17 00:00:00 2001
|
||||
From: Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
Date: Sun, 9 May 2021 10:39:56 +0200
|
||||
Subject: arm64: dts: allwinner: a64: Add hdmi sound card
|
||||
@ -7,11 +7,11 @@ A64 supports HDMI audio. Add a sound card node for it.
|
||||
|
||||
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 15 ++++++++++
|
||||
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 15 +++++++++++++++
|
||||
1 file changed, 15 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
index 111111111111..222222222222 100644
|
||||
index 0fecf0abb204..9a43bcc2f489 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
@@ -196,6 +196,20 @@ link0_codec: codec {
|
||||
@ -35,7 +35,7 @@ index 111111111111..222222222222 100644
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
allwinner,erratum-unknown1;
|
||||
@@ -1259,6 +1273,7 @@ deinterlace: deinterlace@1e00000 {
|
||||
@@ -1261,6 +1275,7 @@ deinterlace: deinterlace@1e00000 {
|
||||
};
|
||||
|
||||
hdmi: hdmi@1ee0000 {
|
||||
@ -44,5 +44,5 @@ index 111111111111..222222222222 100644
|
||||
"allwinner,sun8i-a83t-dw-hdmi";
|
||||
reg = <0x01ee0000 0x10000>;
|
||||
--
|
||||
Armbian
|
||||
2.35.3
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From dc003fff9853d2fdd4b227fffa74c685f1245e41 Mon Sep 17 00:00:00 2001
|
||||
From: Icenowy Zheng <icenowy@aosc.io>
|
||||
Date: Sun, 30 Jun 2019 22:45:34 +0800
|
||||
Subject: arm64: dts: allwinner: a64: Fix LRADC compatible
|
||||
@ -15,10 +15,10 @@ Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
index 111111111111..222222222222 100644
|
||||
index d53a6f7e086a..c061387abe41 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
@@ -919,7 +919,7 @@ spdif: spdif@1c21000 {
|
||||
@@ -921,7 +921,7 @@ spdif: spdif@1c21000 {
|
||||
|
||||
lradc: lradc@1c21800 {
|
||||
compatible = "allwinner,sun50i-a64-lradc",
|
||||
@ -28,5 +28,5 @@ index 111111111111..222222222222 100644
|
||||
interrupt-parent = <&r_intc>;
|
||||
interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
|
||||
--
|
||||
Armbian
|
||||
2.35.3
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From b971f78b354d42ce6bd04a2cb0e624109d840832 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Sat, 1 Feb 2020 23:41:18 +0100
|
||||
Subject: arm64: dts: sun50i-a64: Set fifo-size for uarts
|
||||
@ -11,10 +11,10 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
index 111111111111..222222222222 100644
|
||||
index 9a43bcc2f489..d53a6f7e086a 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
@@ -1010,6 +1010,7 @@ uart0: serial@1c28000 {
|
||||
@@ -1012,6 +1012,7 @@ uart0: serial@1c28000 {
|
||||
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
@ -22,7 +22,7 @@ index 111111111111..222222222222 100644
|
||||
clocks = <&ccu CLK_BUS_UART0>;
|
||||
resets = <&ccu RST_BUS_UART0>;
|
||||
status = "disabled";
|
||||
@@ -1021,6 +1022,7 @@ uart1: serial@1c28400 {
|
||||
@@ -1023,6 +1024,7 @@ uart1: serial@1c28400 {
|
||||
interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
@ -30,7 +30,7 @@ index 111111111111..222222222222 100644
|
||||
clocks = <&ccu CLK_BUS_UART1>;
|
||||
resets = <&ccu RST_BUS_UART1>;
|
||||
status = "disabled";
|
||||
@@ -1032,6 +1034,7 @@ uart2: serial@1c28800 {
|
||||
@@ -1034,6 +1036,7 @@ uart2: serial@1c28800 {
|
||||
interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
@ -38,7 +38,7 @@ index 111111111111..222222222222 100644
|
||||
clocks = <&ccu CLK_BUS_UART2>;
|
||||
resets = <&ccu RST_BUS_UART2>;
|
||||
status = "disabled";
|
||||
@@ -1043,6 +1046,7 @@ uart3: serial@1c28c00 {
|
||||
@@ -1045,6 +1048,7 @@ uart3: serial@1c28c00 {
|
||||
interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
@ -46,7 +46,7 @@ index 111111111111..222222222222 100644
|
||||
clocks = <&ccu CLK_BUS_UART3>;
|
||||
resets = <&ccu RST_BUS_UART3>;
|
||||
status = "disabled";
|
||||
@@ -1054,6 +1058,7 @@ uart4: serial@1c29000 {
|
||||
@@ -1056,6 +1060,7 @@ uart4: serial@1c29000 {
|
||||
interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
@ -55,5 +55,5 @@ index 111111111111..222222222222 100644
|
||||
resets = <&ccu RST_BUS_UART4>;
|
||||
status = "disabled";
|
||||
--
|
||||
Armbian
|
||||
2.35.3
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From 759d82cec7e69f734d67f6b5dc7493875d871d12 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Mon, 14 Aug 2023 07:28:11 +0200
|
||||
Subject: clk: sunxi-ng: sun50i-a64: Switch parent of MIPI-DSI to periph0(1x)
|
||||
@ -9,11 +9,11 @@ and HDMI output at once.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
---
|
||||
drivers/clk/sunxi-ng/ccu-sun50i-a64.c | 10 +++++++++-
|
||||
1 file changed, 9 insertions(+), 1 deletion(-)
|
||||
drivers/clk/sunxi-ng/ccu-sun50i-a64.c | 13 ++++++++++++-
|
||||
1 file changed, 12 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-a64.c b/drivers/clk/sunxi-ng/ccu-sun50i-a64.c
|
||||
index 111111111111..222222222222 100644
|
||||
index 801a716d806d..f535c427fbad 100644
|
||||
--- a/drivers/clk/sunxi-ng/ccu-sun50i-a64.c
|
||||
+++ b/drivers/clk/sunxi-ng/ccu-sun50i-a64.c
|
||||
@@ -962,6 +962,8 @@ static struct ccu_mux_nb sun50i_a64_cpu_nb = {
|
||||
@ -44,5 +44,5 @@ index 111111111111..222222222222 100644
|
||||
ret = devm_sunxi_ccu_probe(&pdev->dev, reg, &sun50i_a64_ccu_desc);
|
||||
if (ret)
|
||||
--
|
||||
Armbian
|
||||
2.35.3
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From 9cecbf32cae8b640e7f338cfed6388471cb5e508 Mon Sep 17 00:00:00 2001
|
||||
From: Frank Oltmanns <frank@oltmanns.dev>
|
||||
Date: Sun, 10 Mar 2024 14:32:29 +0100
|
||||
Subject: drm/sun4i: tcon: Support keeping dclk rate upon ancestor clock
|
||||
@ -18,15 +18,15 @@ constraint.
|
||||
|
||||
Signed-off-by: Frank Oltmanns <frank@oltmanns.dev>
|
||||
---
|
||||
drivers/gpu/drm/sun4i/sun4i_tcon.c | 70 +++++++++-
|
||||
drivers/gpu/drm/sun4i/sun4i_tcon.h | 12 ++
|
||||
drivers/gpu/drm/sun4i/sun4i_tcon.c | 70 +++++++++++++++++++++++++++---
|
||||
drivers/gpu/drm/sun4i/sun4i_tcon.h | 12 +++++
|
||||
2 files changed, 76 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c b/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
index 111111111111..222222222222 100644
|
||||
index b78799dedf62..3675c87461e9 100644
|
||||
--- a/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
+++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
@@ -110,9 +110,11 @@ static void sun4i_tcon_channel_set_status(struct sun4i_tcon *tcon, int channel,
|
||||
@@ -108,9 +108,11 @@ static void sun4i_tcon_channel_set_status(struct sun4i_tcon *tcon, int channel,
|
||||
|
||||
if (enabled) {
|
||||
clk_prepare_enable(clk);
|
||||
@ -40,7 +40,7 @@ index 111111111111..222222222222 100644
|
||||
clk_disable_unprepare(clk);
|
||||
}
|
||||
}
|
||||
@@ -373,6 +375,53 @@ static void sun4i_tcon0_mode_set_dithering(struct sun4i_tcon *tcon,
|
||||
@@ -343,6 +345,53 @@ static void sun4i_tcon0_mode_set_dithering(struct sun4i_tcon *tcon,
|
||||
regmap_write(tcon->regs, SUN4I_TCON_FRM_CTL_REG, val);
|
||||
}
|
||||
|
||||
@ -94,7 +94,7 @@ index 111111111111..222222222222 100644
|
||||
static void sun4i_tcon0_mode_set_cpu(struct sun4i_tcon *tcon,
|
||||
const struct drm_encoder *encoder,
|
||||
const struct drm_display_mode *mode)
|
||||
@@ -390,8 +439,8 @@ static void sun4i_tcon0_mode_set_cpu(struct sun4i_tcon *tcon,
|
||||
@@ -360,8 +409,8 @@ static void sun4i_tcon0_mode_set_cpu(struct sun4i_tcon *tcon,
|
||||
*/
|
||||
tcon->dclk_min_div = SUN6I_DSI_TCON_DIV;
|
||||
tcon->dclk_max_div = SUN6I_DSI_TCON_DIV;
|
||||
@ -105,7 +105,7 @@ index 111111111111..222222222222 100644
|
||||
|
||||
/* Set the resolution */
|
||||
regmap_write(tcon->regs, SUN4I_TCON0_BASIC0_REG,
|
||||
@@ -464,7 +513,7 @@ static void sun4i_tcon0_mode_set_lvds(struct sun4i_tcon *tcon,
|
||||
@@ -434,7 +483,7 @@ static void sun4i_tcon0_mode_set_lvds(struct sun4i_tcon *tcon,
|
||||
|
||||
tcon->dclk_min_div = 7;
|
||||
tcon->dclk_max_div = 7;
|
||||
@ -114,7 +114,7 @@ index 111111111111..222222222222 100644
|
||||
|
||||
/* Set the resolution */
|
||||
regmap_write(tcon->regs, SUN4I_TCON0_BASIC0_REG,
|
||||
@@ -548,7 +597,7 @@ static void sun4i_tcon0_mode_set_rgb(struct sun4i_tcon *tcon,
|
||||
@@ -518,7 +567,7 @@ static void sun4i_tcon0_mode_set_rgb(struct sun4i_tcon *tcon,
|
||||
|
||||
tcon->dclk_min_div = tcon->quirks->dclk_min_div;
|
||||
tcon->dclk_max_div = 127;
|
||||
@ -123,7 +123,7 @@ index 111111111111..222222222222 100644
|
||||
|
||||
/* Set the resolution */
|
||||
regmap_write(tcon->regs, SUN4I_TCON0_BASIC0_REG,
|
||||
@@ -1561,6 +1610,14 @@ static const struct sun4i_tcon_quirks sun8i_a33_quirks = {
|
||||
@@ -1505,6 +1554,14 @@ static const struct sun4i_tcon_quirks sun8i_a33_quirks = {
|
||||
.supports_lvds = true,
|
||||
};
|
||||
|
||||
@ -138,7 +138,7 @@ index 111111111111..222222222222 100644
|
||||
static const struct sun4i_tcon_quirks sun8i_a83t_lcd_quirks = {
|
||||
.supports_lvds = true,
|
||||
.has_channel_0 = true,
|
||||
@@ -1619,6 +1676,7 @@ const struct of_device_id sun4i_tcon_of_table[] = {
|
||||
@@ -1563,6 +1620,7 @@ const struct of_device_id sun4i_tcon_of_table[] = {
|
||||
{ .compatible = "allwinner,sun9i-a80-tcon-tv", .data = &sun9i_a80_tcon_tv_quirks },
|
||||
{ .compatible = "allwinner,sun20i-d1-tcon-lcd", .data = &sun20i_d1_lcd_quirks },
|
||||
{ .compatible = "allwinner,sun20i-d1-tcon-tv", .data = &sun8i_r40_tv_quirks },
|
||||
@ -147,10 +147,10 @@ index 111111111111..222222222222 100644
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, sun4i_tcon_of_table);
|
||||
diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.h b/drivers/gpu/drm/sun4i/sun4i_tcon.h
|
||||
index 111111111111..222222222222 100644
|
||||
index fa23aa23fe4a..bd4abc90062b 100644
|
||||
--- a/drivers/gpu/drm/sun4i/sun4i_tcon.h
|
||||
+++ b/drivers/gpu/drm/sun4i/sun4i_tcon.h
|
||||
@@ -250,6 +250,7 @@ struct sun4i_tcon_quirks {
|
||||
@@ -243,6 +243,7 @@ struct sun4i_tcon_quirks {
|
||||
bool needs_edp_reset; /* a80 edp reset needed for tcon0 access */
|
||||
bool supports_lvds; /* Does the TCON support an LVDS output? */
|
||||
bool polarity_in_ch0; /* some tcon1 channels have polarity bits in tcon0 pol register */
|
||||
@ -158,7 +158,7 @@ index 111111111111..222222222222 100644
|
||||
u8 dclk_min_div; /* minimum divider for TCON0 DCLK */
|
||||
|
||||
/* callback to handle tcon muxing options */
|
||||
@@ -312,4 +313,15 @@ void sun4i_tcon_enable_gamma(struct sun4i_tcon *tcon, bool enable);
|
||||
@@ -300,4 +301,15 @@ void sun4i_tcon_set_status(struct sun4i_tcon *crtc,
|
||||
|
||||
extern const struct of_device_id sun4i_tcon_of_table[];
|
||||
|
||||
@ -175,5 +175,5 @@ index 111111111111..222222222222 100644
|
||||
+
|
||||
#endif /* __SUN4I_TCON_H__ */
|
||||
--
|
||||
Armbian
|
||||
2.35.3
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From 095327be94ec7f073433536d12a2fdd736bff74b Mon Sep 17 00:00:00 2001
|
||||
From: Adam Pigg <adam@piggz.co.uk>
|
||||
Date: Thu, 29 Dec 2022 11:10:41 +0000
|
||||
Subject: media: ov5640: Add read-only property for vblank
|
||||
@ -8,10 +8,10 @@ Subject: media: ov5640: Add read-only property for vblank
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c
|
||||
index 111111111111..222222222222 100644
|
||||
index c8027858dae1..f4978f01561b 100644
|
||||
--- a/drivers/media/i2c/ov5640.c
|
||||
+++ b/drivers/media/i2c/ov5640.c
|
||||
@@ -3845,6 +3845,7 @@ static int ov5640_init_controls(struct ov5640_dev *sensor)
|
||||
@@ -3846,6 +3846,7 @@ static int ov5640_init_controls(struct ov5640_dev *sensor)
|
||||
ctrls->pixel_rate->flags |= V4L2_CTRL_FLAG_READ_ONLY;
|
||||
ctrls->link_freq->flags |= V4L2_CTRL_FLAG_READ_ONLY;
|
||||
ctrls->hblank->flags |= V4L2_CTRL_FLAG_READ_ONLY;
|
||||
@ -20,5 +20,5 @@ index 111111111111..222222222222 100644
|
||||
ctrls->exposure->flags |= V4L2_CTRL_FLAG_VOLATILE;
|
||||
|
||||
--
|
||||
Armbian
|
||||
2.35.3
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From a9604f06f950f28d2bf39052c81c580ddbc59233 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Wed, 8 Nov 2023 19:13:37 +0100
|
||||
Subject: media: ov5640: Don't powerup the sensor during driver probe
|
||||
@ -9,14 +9,14 @@ pipeline via s_power callback, later on.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
---
|
||||
drivers/media/i2c/ov5640.c | 55 ++--------
|
||||
drivers/media/i2c/ov5640.c | 55 +++++++++-----------------------------
|
||||
1 file changed, 12 insertions(+), 43 deletions(-)
|
||||
|
||||
diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c
|
||||
index 111111111111..222222222222 100644
|
||||
index cf2241afe946..7e908f265840 100644
|
||||
--- a/drivers/media/i2c/ov5640.c
|
||||
+++ b/drivers/media/i2c/ov5640.c
|
||||
@@ -2496,6 +2496,7 @@ static void ov5640_powerup_sequence(struct ov5640_dev *sensor)
|
||||
@@ -2497,6 +2497,7 @@ static void ov5640_powerup_sequence(struct ov5640_dev *sensor)
|
||||
static int ov5640_set_power_on(struct ov5640_dev *sensor)
|
||||
{
|
||||
struct i2c_client *client = sensor->i2c_client;
|
||||
@ -24,7 +24,7 @@ index 111111111111..222222222222 100644
|
||||
int ret;
|
||||
|
||||
ret = clk_prepare_enable(sensor->xclk);
|
||||
@@ -2519,6 +2520,13 @@ static int ov5640_set_power_on(struct ov5640_dev *sensor)
|
||||
@@ -2520,6 +2521,13 @@ static int ov5640_set_power_on(struct ov5640_dev *sensor)
|
||||
if (ret)
|
||||
goto power_off;
|
||||
|
||||
@ -38,7 +38,7 @@ index 111111111111..222222222222 100644
|
||||
return 0;
|
||||
|
||||
power_off:
|
||||
@@ -3840,28 +3848,6 @@ static int ov5640_get_regulators(struct ov5640_dev *sensor)
|
||||
@@ -3841,28 +3849,6 @@ static int ov5640_get_regulators(struct ov5640_dev *sensor)
|
||||
sensor->supplies);
|
||||
}
|
||||
|
||||
@ -67,7 +67,7 @@ index 111111111111..222222222222 100644
|
||||
static int ov5640_probe(struct i2c_client *client)
|
||||
{
|
||||
struct device *dev = &client->dev;
|
||||
@@ -3962,35 +3948,16 @@ static int ov5640_probe(struct i2c_client *client)
|
||||
@@ -3963,35 +3949,16 @@ static int ov5640_probe(struct i2c_client *client)
|
||||
if (ret)
|
||||
goto entity_cleanup;
|
||||
|
||||
@ -105,7 +105,7 @@ index 111111111111..222222222222 100644
|
||||
free_ctrls:
|
||||
v4l2_ctrl_handler_free(&sensor->ctrls.handler);
|
||||
entity_cleanup:
|
||||
@@ -4005,6 +3972,8 @@ static void ov5640_remove(struct i2c_client *client)
|
||||
@@ -4006,6 +3973,8 @@ static void ov5640_remove(struct i2c_client *client)
|
||||
struct ov5640_dev *sensor = to_ov5640_dev(sd);
|
||||
struct device *dev = &client->dev;
|
||||
|
||||
@ -115,5 +115,5 @@ index 111111111111..222222222222 100644
|
||||
if (!pm_runtime_status_suspended(dev))
|
||||
ov5640_sensor_suspend(dev);
|
||||
--
|
||||
Armbian
|
||||
2.35.3
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From 498b47b5a0bbfbc0905c2176787753a77c3bea38 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Fri, 24 Jan 2020 18:25:59 +0100
|
||||
Subject: media: ov5640: [Experiment] Try to disable denoising/sharpening
|
||||
@ -7,14 +7,14 @@ Not sure how this works exactly. More tests are needed.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
---
|
||||
drivers/media/i2c/ov5640.c | 17 ++++++++++
|
||||
drivers/media/i2c/ov5640.c | 17 +++++++++++++++++
|
||||
1 file changed, 17 insertions(+)
|
||||
|
||||
diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c
|
||||
index 111111111111..222222222222 100644
|
||||
index 8566bc2edde9..91d23100175f 100644
|
||||
--- a/drivers/media/i2c/ov5640.c
|
||||
+++ b/drivers/media/i2c/ov5640.c
|
||||
@@ -2326,6 +2326,7 @@ static int ov5640_set_mode(struct ov5640_dev *sensor)
|
||||
@@ -2327,6 +2327,7 @@ static int ov5640_set_mode(struct ov5640_dev *sensor)
|
||||
bool auto_gain = sensor->ctrls.auto_gain->val == 1;
|
||||
bool auto_exp = sensor->ctrls.auto_exp->val == V4L2_EXPOSURE_AUTO;
|
||||
int ret;
|
||||
@ -22,7 +22,7 @@ index 111111111111..222222222222 100644
|
||||
|
||||
dn_mode = mode->dn_mode;
|
||||
orig_dn_mode = orig_mode->dn_mode;
|
||||
@@ -2389,6 +2390,22 @@ static int ov5640_set_mode(struct ov5640_dev *sensor)
|
||||
@@ -2390,6 +2391,22 @@ static int ov5640_set_mode(struct ov5640_dev *sensor)
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
@ -46,5 +46,5 @@ index 111111111111..222222222222 100644
|
||||
sensor->last_mode = mode;
|
||||
|
||||
--
|
||||
Armbian
|
||||
2.35.3
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From 2b1cc4e13f004fbaffa1c435f5f375b4b7bcefcc Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Schaaf <ben.schaaf@gmail.com>
|
||||
Date: Mon, 22 Nov 2021 23:38:26 +1100
|
||||
Subject: media: ov5640: Fix focus commands blocking until complete
|
||||
@ -6,14 +6,14 @@ Subject: media: ov5640: Fix focus commands blocking until complete
|
||||
Previously setting the focus controls would block until the sensor
|
||||
completed the focus routine.
|
||||
---
|
||||
drivers/media/i2c/ov5640.c | 67 +++-------
|
||||
drivers/media/i2c/ov5640.c | 67 ++++++++++----------------------------
|
||||
1 file changed, 18 insertions(+), 49 deletions(-)
|
||||
|
||||
diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c
|
||||
index 111111111111..222222222222 100644
|
||||
index 224e647b8d70..c8027858dae1 100644
|
||||
--- a/drivers/media/i2c/ov5640.c
|
||||
+++ b/drivers/media/i2c/ov5640.c
|
||||
@@ -2642,6 +2642,19 @@ static int ov5640_copy_fw_to_device(struct ov5640_dev *sensor,
|
||||
@@ -2643,6 +2643,19 @@ static int ov5640_copy_fw_to_device(struct ov5640_dev *sensor,
|
||||
return -ETIMEDOUT;
|
||||
}
|
||||
|
||||
@ -33,7 +33,7 @@ index 111111111111..222222222222 100644
|
||||
static int ov5640_af_init(struct ov5640_dev *sensor)
|
||||
{
|
||||
struct i2c_client *client = sensor->i2c_client;
|
||||
@@ -2679,6 +2692,11 @@ static int ov5640_af_init(struct ov5640_dev *sensor)
|
||||
@@ -2680,6 +2693,11 @@ static int ov5640_af_init(struct ov5640_dev *sensor)
|
||||
|
||||
// Set lens focus driver on
|
||||
ret = ov5640_write_reg(sensor, OV5640_REG_VCM_CONTROL4, 0x3f);
|
||||
@ -45,7 +45,7 @@ index 111111111111..222222222222 100644
|
||||
if (ret)
|
||||
return ret;
|
||||
return ret;
|
||||
@@ -3303,35 +3321,6 @@ static int ov5640_set_framefmt(struct ov5640_dev *sensor,
|
||||
@@ -3304,35 +3322,6 @@ static int ov5640_set_framefmt(struct ov5640_dev *sensor,
|
||||
is_jpeg ? (BIT(5) | BIT(3)) : 0);
|
||||
}
|
||||
|
||||
@ -81,7 +81,7 @@ index 111111111111..222222222222 100644
|
||||
/*
|
||||
* Sensor Controls.
|
||||
*/
|
||||
@@ -3467,26 +3456,6 @@ static int ov5640_set_ctrl_focus(struct ov5640_dev *sensor, int command)
|
||||
@@ -3468,26 +3457,6 @@ static int ov5640_set_ctrl_focus(struct ov5640_dev *sensor, int command)
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -109,5 +109,5 @@ index 111111111111..222222222222 100644
|
||||
}
|
||||
|
||||
--
|
||||
Armbian
|
||||
2.35.3
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From 2a5bd544eb813e6bb6ad9134f3212707f16ed160 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sun, 7 Aug 2022 15:17:09 +0200
|
||||
Subject: media: ov5640: Implement autofocus
|
||||
@ -11,11 +11,11 @@ this at least makes it possible to focus on the center of the sensor.
|
||||
|
||||
Signed-off-by: Martijn Braam <martijn@brixit.nl>
|
||||
---
|
||||
drivers/media/i2c/ov5640.c | 279 ++++++++++
|
||||
drivers/media/i2c/ov5640.c | 279 +++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 279 insertions(+)
|
||||
|
||||
diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c
|
||||
index 111111111111..222222222222 100644
|
||||
index 24f755e3ca56..eee2dbf70a0b 100644
|
||||
--- a/drivers/media/i2c/ov5640.c
|
||||
+++ b/drivers/media/i2c/ov5640.c
|
||||
@@ -9,6 +9,7 @@
|
||||
@ -87,7 +87,7 @@ index 111111111111..222222222222 100644
|
||||
};
|
||||
|
||||
static inline struct ov5640_dev *to_ov5640_dev(struct v4l2_subdev *sd)
|
||||
@@ -2493,6 +2534,118 @@ static void ov5640_powerup_sequence(struct ov5640_dev *sensor)
|
||||
@@ -2494,6 +2535,118 @@ static void ov5640_powerup_sequence(struct ov5640_dev *sensor)
|
||||
OV5640_REG_SYS_CTRL0_SW_PWDN);
|
||||
}
|
||||
|
||||
@ -206,7 +206,7 @@ index 111111111111..222222222222 100644
|
||||
static int ov5640_set_power_on(struct ov5640_dev *sensor)
|
||||
{
|
||||
struct i2c_client *client = sensor->i2c_client;
|
||||
@@ -2514,8 +2667,11 @@ static int ov5640_set_power_on(struct ov5640_dev *sensor)
|
||||
@@ -2515,8 +2668,11 @@ static int ov5640_set_power_on(struct ov5640_dev *sensor)
|
||||
goto xclk_off;
|
||||
}
|
||||
|
||||
@ -218,7 +218,7 @@ index 111111111111..222222222222 100644
|
||||
ret = ov5640_init_slave_id(sensor);
|
||||
if (ret)
|
||||
goto power_off;
|
||||
@@ -3109,6 +3265,35 @@ static int ov5640_set_framefmt(struct ov5640_dev *sensor,
|
||||
@@ -3110,6 +3266,35 @@ static int ov5640_set_framefmt(struct ov5640_dev *sensor,
|
||||
is_jpeg ? (BIT(5) | BIT(3)) : 0);
|
||||
}
|
||||
|
||||
@ -254,7 +254,7 @@ index 111111111111..222222222222 100644
|
||||
/*
|
||||
* Sensor Controls.
|
||||
*/
|
||||
@@ -3225,6 +3410,41 @@ static int ov5640_set_ctrl_exposure(struct ov5640_dev *sensor,
|
||||
@@ -3226,6 +3411,41 @@ static int ov5640_set_ctrl_exposure(struct ov5640_dev *sensor,
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -296,7 +296,7 @@ index 111111111111..222222222222 100644
|
||||
static int ov5640_set_ctrl_gain(struct ov5640_dev *sensor, bool auto_gain)
|
||||
{
|
||||
struct ov5640_ctrls *ctrls = &sensor->ctrls;
|
||||
@@ -3340,6 +3560,32 @@ static int ov5640_set_ctrl_vblank(struct ov5640_dev *sensor, int value)
|
||||
@@ -3341,6 +3561,32 @@ static int ov5640_set_ctrl_vblank(struct ov5640_dev *sensor, int value)
|
||||
mode->height + value);
|
||||
}
|
||||
|
||||
@ -329,7 +329,7 @@ index 111111111111..222222222222 100644
|
||||
static int ov5640_g_volatile_ctrl(struct v4l2_ctrl *ctrl)
|
||||
{
|
||||
struct v4l2_subdev *sd = ctrl_to_sd(ctrl);
|
||||
@@ -3364,6 +3610,12 @@ static int ov5640_g_volatile_ctrl(struct v4l2_ctrl *ctrl)
|
||||
@@ -3365,6 +3611,12 @@ static int ov5640_g_volatile_ctrl(struct v4l2_ctrl *ctrl)
|
||||
return val;
|
||||
sensor->ctrls.exposure->val = val;
|
||||
break;
|
||||
@ -342,7 +342,7 @@ index 111111111111..222222222222 100644
|
||||
}
|
||||
|
||||
pm_runtime_mark_last_busy(&sensor->i2c_client->dev);
|
||||
@@ -3413,6 +3665,18 @@ static int ov5640_s_ctrl(struct v4l2_ctrl *ctrl)
|
||||
@@ -3414,6 +3666,18 @@ static int ov5640_s_ctrl(struct v4l2_ctrl *ctrl)
|
||||
case V4L2_CID_AUTO_WHITE_BALANCE:
|
||||
ret = ov5640_set_ctrl_white_balance(sensor, ctrl->val);
|
||||
break;
|
||||
@ -361,7 +361,7 @@ index 111111111111..222222222222 100644
|
||||
case V4L2_CID_HUE:
|
||||
ret = ov5640_set_ctrl_hue(sensor, ctrl->val);
|
||||
break;
|
||||
@@ -3513,6 +3777,20 @@ static int ov5640_init_controls(struct ov5640_dev *sensor)
|
||||
@@ -3514,6 +3778,20 @@ static int ov5640_init_controls(struct ov5640_dev *sensor)
|
||||
ctrls->gain = v4l2_ctrl_new_std(hdl, ops, V4L2_CID_ANALOGUE_GAIN,
|
||||
0, 1023, 1, 0);
|
||||
|
||||
@ -382,7 +382,7 @@ index 111111111111..222222222222 100644
|
||||
ctrls->saturation = v4l2_ctrl_new_std(hdl, ops, V4L2_CID_SATURATION,
|
||||
0, 255, 1, 64);
|
||||
ctrls->hue = v4l2_ctrl_new_std(hdl, ops, V4L2_CID_HUE,
|
||||
@@ -3559,6 +3837,7 @@ static int ov5640_init_controls(struct ov5640_dev *sensor)
|
||||
@@ -3560,6 +3838,7 @@ static int ov5640_init_controls(struct ov5640_dev *sensor)
|
||||
v4l2_ctrl_auto_cluster(3, &ctrls->auto_wb, 0, false);
|
||||
v4l2_ctrl_auto_cluster(2, &ctrls->auto_gain, 0, true);
|
||||
v4l2_ctrl_auto_cluster(2, &ctrls->auto_exp, 1, true);
|
||||
@ -391,5 +391,5 @@ index 111111111111..222222222222 100644
|
||||
sensor->sd.ctrl_handler = hdl;
|
||||
return 0;
|
||||
--
|
||||
Armbian
|
||||
2.35.3
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From 9265f21865eb7172385d286593b5a8df93aa396c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Fri, 22 Oct 2021 19:52:49 +0200
|
||||
Subject: media: ov5640: Improve error reporting
|
||||
@ -11,10 +11,10 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c
|
||||
index 111111111111..222222222222 100644
|
||||
index cdab9b224117..24f755e3ca56 100644
|
||||
--- a/drivers/media/i2c/ov5640.c
|
||||
+++ b/drivers/media/i2c/ov5640.c
|
||||
@@ -3939,8 +3939,10 @@ static int ov5640_probe(struct i2c_client *client)
|
||||
@@ -3940,8 +3940,10 @@ static int ov5640_probe(struct i2c_client *client)
|
||||
return ret;
|
||||
|
||||
ret = ov5640_get_regulators(sensor);
|
||||
@ -26,7 +26,7 @@ index 111111111111..222222222222 100644
|
||||
|
||||
mutex_init(&sensor->lock);
|
||||
|
||||
@@ -3949,8 +3951,10 @@ static int ov5640_probe(struct i2c_client *client)
|
||||
@@ -3950,8 +3952,10 @@ static int ov5640_probe(struct i2c_client *client)
|
||||
goto entity_cleanup;
|
||||
|
||||
ret = v4l2_async_register_subdev_sensor(&sensor->sd);
|
||||
@ -39,5 +39,5 @@ index 111111111111..222222222222 100644
|
||||
pm_runtime_enable(dev);
|
||||
pm_runtime_set_autosuspend_delay(dev, 1000);
|
||||
--
|
||||
Armbian
|
||||
2.35.3
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From 08e78eb0f39b436ef8d214bfda27fa2e320d103d Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Schaaf <ben.schaaf@gmail.com>
|
||||
Date: Mon, 22 Nov 2021 23:38:26 +1100
|
||||
Subject: media: ov5640: Improve firmware load time
|
||||
@ -9,11 +9,11 @@ loading it, so there's no need for a long timeout or retry. The
|
||||
firmware can also not be loaded when the sensor isn't powered on, so
|
||||
don't bother trying.
|
||||
---
|
||||
drivers/media/i2c/ov5640.c | 97 +++++++---
|
||||
drivers/media/i2c/ov5640.c | 97 ++++++++++++++++++++++++++++----------
|
||||
1 file changed, 71 insertions(+), 26 deletions(-)
|
||||
|
||||
diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c
|
||||
index 111111111111..222222222222 100644
|
||||
index eee2dbf70a0b..224e647b8d70 100644
|
||||
--- a/drivers/media/i2c/ov5640.c
|
||||
+++ b/drivers/media/i2c/ov5640.c
|
||||
@@ -1232,6 +1232,8 @@ static int ov5640_write_reg(struct ov5640_dev *sensor, u16 reg, u8 val)
|
||||
@ -68,7 +68,7 @@ index 111111111111..222222222222 100644
|
||||
static int ov5640_read_reg(struct ov5640_dev *sensor, u16 reg, u8 *val)
|
||||
{
|
||||
struct i2c_client *client = sensor->i2c_client;
|
||||
@@ -2542,6 +2580,7 @@ static int ov5640_copy_fw_to_device(struct ov5640_dev *sensor,
|
||||
@@ -2543,6 +2581,7 @@ static int ov5640_copy_fw_to_device(struct ov5640_dev *sensor,
|
||||
u8 fw_status;
|
||||
int i;
|
||||
int ret;
|
||||
@ -76,7 +76,7 @@ index 111111111111..222222222222 100644
|
||||
|
||||
// Putting MCU in reset state
|
||||
ret = ov5640_write_reg(sensor, OV5640_REG_SYS_RESET00, 0x20);
|
||||
@@ -2549,10 +2588,24 @@ static int ov5640_copy_fw_to_device(struct ov5640_dev *sensor,
|
||||
@@ -2550,10 +2589,24 @@ static int ov5640_copy_fw_to_device(struct ov5640_dev *sensor,
|
||||
return ret;
|
||||
|
||||
// Write firmware
|
||||
@ -105,7 +105,7 @@ index 111111111111..222222222222 100644
|
||||
|
||||
// Reset MCU state
|
||||
ov5640_write_reg(sensor, OV5640_REG_FW_CMD_MAIN, 0x00);
|
||||
@@ -2574,31 +2627,17 @@ static int ov5640_copy_fw_to_device(struct ov5640_dev *sensor,
|
||||
@@ -2575,31 +2628,17 @@ static int ov5640_copy_fw_to_device(struct ov5640_dev *sensor,
|
||||
// Wait for firmware to be ready
|
||||
for (i = 0; i < 5; i++) {
|
||||
ret = ov5640_read_reg(sensor, OV5640_REG_FW_STATUS, &fw_status);
|
||||
@ -142,7 +142,7 @@ index 111111111111..222222222222 100644
|
||||
dev_err(&client->dev, "uploaded firmware didn't start, got to 0x%x\n", fw_status);
|
||||
return -ETIMEDOUT;
|
||||
}
|
||||
@@ -2639,10 +2678,9 @@ static int ov5640_af_init(struct ov5640_dev *sensor)
|
||||
@@ -2640,10 +2679,9 @@ static int ov5640_af_init(struct ov5640_dev *sensor)
|
||||
return ret;
|
||||
|
||||
// Set lens focus driver on
|
||||
@ -154,7 +154,7 @@ index 111111111111..222222222222 100644
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -3415,9 +3453,16 @@ static int ov5640_set_ctrl_focus(struct ov5640_dev *sensor, int command)
|
||||
@@ -3416,9 +3454,16 @@ static int ov5640_set_ctrl_focus(struct ov5640_dev *sensor, int command)
|
||||
struct i2c_client *client = sensor->i2c_client;
|
||||
int ret;
|
||||
|
||||
@ -173,5 +173,5 @@ index 111111111111..222222222222 100644
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
Armbian
|
||||
2.35.3
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From d407d2eef61a416de7c829285959086f168addaf Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Sun, 26 Jan 2020 00:19:40 +0100
|
||||
Subject: media: ov5640: Sleep after poweroff to ensure next poweron is not too
|
||||
@ -13,10 +13,10 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c
|
||||
index 111111111111..222222222222 100644
|
||||
index 91d23100175f..cf2241afe946 100644
|
||||
--- a/drivers/media/i2c/ov5640.c
|
||||
+++ b/drivers/media/i2c/ov5640.c
|
||||
@@ -2534,6 +2534,7 @@ static void ov5640_set_power_off(struct ov5640_dev *sensor)
|
||||
@@ -2535,6 +2535,7 @@ static void ov5640_set_power_off(struct ov5640_dev *sensor)
|
||||
ov5640_power(sensor, false);
|
||||
regulator_bulk_disable(OV5640_NUM_SUPPLIES, sensor->supplies);
|
||||
clk_disable_unprepare(sensor->xclk);
|
||||
@ -25,5 +25,5 @@ index 111111111111..222222222222 100644
|
||||
|
||||
static int ov5640_set_power_mipi(struct ov5640_dev *sensor, bool on)
|
||||
--
|
||||
Armbian
|
||||
2.35.3
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From 40e1749a62e323fb0fbd724bc864b0f18f5e956e Mon Sep 17 00:00:00 2001
|
||||
From: Martijn Braam <martijn@brixit.nl>
|
||||
Date: Wed, 7 Oct 2020 17:33:43 +0200
|
||||
Subject: media: ov5640: set default ae target lower
|
||||
@ -10,10 +10,10 @@ the exposure target one stop lower.
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c
|
||||
index 111111111111..222222222222 100644
|
||||
index 7e908f265840..cdab9b224117 100644
|
||||
--- a/drivers/media/i2c/ov5640.c
|
||||
+++ b/drivers/media/i2c/ov5640.c
|
||||
@@ -3874,7 +3874,7 @@ static int ov5640_probe(struct i2c_client *client)
|
||||
@@ -3875,7 +3875,7 @@ static int ov5640_probe(struct i2c_client *client)
|
||||
sensor->current_link_freq =
|
||||
ov5640_csi2_link_freqs[OV5640_DEFAULT_LINK_FREQ];
|
||||
|
||||
@ -23,5 +23,5 @@ index 111111111111..222222222222 100644
|
||||
endpoint = fwnode_graph_get_next_endpoint(dev_fwnode(&client->dev),
|
||||
NULL);
|
||||
--
|
||||
Armbian
|
||||
2.35.3
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From 2c90f6e4bd9028ef95251c3c096590a73c3af4a7 Mon Sep 17 00:00:00 2001
|
||||
From: Andrey Skvortsov <andrej.skvortzov@gmail.com>
|
||||
Date: Mon, 14 Aug 2023 13:25:07 +0300
|
||||
Subject: media: ov5640: use pm_runtime_force_suspend/resume for system suspend
|
||||
@ -14,10 +14,10 @@ Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c
|
||||
index 111111111111..222222222222 100644
|
||||
index f4978f01561b..208188bfbc2a 100644
|
||||
--- a/drivers/media/i2c/ov5640.c
|
||||
+++ b/drivers/media/i2c/ov5640.c
|
||||
@@ -4284,6 +4284,8 @@ static void ov5640_remove(struct i2c_client *client)
|
||||
@@ -4285,6 +4285,8 @@ static void ov5640_remove(struct i2c_client *client)
|
||||
}
|
||||
|
||||
static const struct dev_pm_ops ov5640_pm_ops = {
|
||||
@ -27,5 +27,5 @@ index 111111111111..222222222222 100644
|
||||
};
|
||||
|
||||
--
|
||||
Armbian
|
||||
2.35.3
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From efd23643c03f1cbc06617053b2557da4abf0986a Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sat, 29 Oct 2022 23:16:51 +0200
|
||||
Subject: opp: core: Avoid confusing error when no regulator is defined in DT
|
||||
@ -11,10 +11,10 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/drivers/opp/core.c b/drivers/opp/core.c
|
||||
index 111111111111..222222222222 100644
|
||||
index 5ac209472c0c..22b3eb5f920e 100644
|
||||
--- a/drivers/opp/core.c
|
||||
+++ b/drivers/opp/core.c
|
||||
@@ -2185,6 +2185,11 @@ static int _opp_set_regulators(struct opp_table *opp_table, struct device *dev,
|
||||
@@ -2208,6 +2208,11 @@ static int _opp_set_regulators(struct opp_table *opp_table, struct device *dev,
|
||||
for (i = 0; i < count; i++) {
|
||||
reg = regulator_get_optional(dev, names[i]);
|
||||
if (IS_ERR(reg)) {
|
||||
@ -27,5 +27,5 @@ index 111111111111..222222222222 100644
|
||||
"%s: no regulator (%s) found\n",
|
||||
__func__, names[i]);
|
||||
--
|
||||
Armbian
|
||||
2.35.3
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From 9a22ce84407bb36e04d83d0ea5d5f624b80e2f14 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Mon, 2 Sep 2019 14:51:17 +0200
|
||||
Subject: sunxi: Use dev_err_probe to handle EPROBE_DEFER errors
|
||||
@ -9,13 +9,13 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
---
|
||||
arch/arm/kernel/topology.c | 2 +-
|
||||
drivers/gpu/drm/panel/panel-sitronix-st7703.c | 2 +-
|
||||
drivers/i2c/busses/i2c-gpio.c | 11 +++++--
|
||||
drivers/phy/allwinner/phy-sun4i-usb.c | 16 ++++++----
|
||||
drivers/phy/allwinner/phy-sun6i-mipi-dphy.c | 6 ++--
|
||||
drivers/i2c/busses/i2c-gpio.c | 11 +++++++++--
|
||||
drivers/phy/allwinner/phy-sun4i-usb.c | 16 ++++++++++------
|
||||
drivers/phy/allwinner/phy-sun6i-mipi-dphy.c | 6 ++++--
|
||||
5 files changed, 25 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/kernel/topology.c b/arch/arm/kernel/topology.c
|
||||
index 111111111111..222222222222 100644
|
||||
index 2336ee2aa44a..20efde3cb1c2 100644
|
||||
--- a/arch/arm/kernel/topology.c
|
||||
+++ b/arch/arm/kernel/topology.c
|
||||
@@ -121,7 +121,7 @@ static void __init parse_dt_topology(void)
|
||||
@ -28,10 +28,10 @@ index 111111111111..222222222222 100644
|
||||
}
|
||||
|
||||
diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7703.c b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
|
||||
index 111111111111..222222222222 100644
|
||||
index 6d3ad83be141..18afc2aff29c 100644
|
||||
--- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c
|
||||
+++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
|
||||
@@ -904,7 +904,7 @@ static int st7703_probe(struct mipi_dsi_device *dsi)
|
||||
@@ -887,7 +887,7 @@ static int st7703_probe(struct mipi_dsi_device *dsi)
|
||||
|
||||
ret = mipi_dsi_attach(dsi);
|
||||
if (ret < 0) {
|
||||
@ -41,7 +41,7 @@ index 111111111111..222222222222 100644
|
||||
return ret;
|
||||
}
|
||||
diff --git a/drivers/i2c/busses/i2c-gpio.c b/drivers/i2c/busses/i2c-gpio.c
|
||||
index 111111111111..222222222222 100644
|
||||
index e0bd218e2f14..f8d53bf37944 100644
|
||||
--- a/drivers/i2c/busses/i2c-gpio.c
|
||||
+++ b/drivers/i2c/busses/i2c-gpio.c
|
||||
@@ -314,6 +314,13 @@ static struct gpio_desc *i2c_gpio_get_desc(struct device *dev,
|
||||
@ -70,7 +70,7 @@ index 111111111111..222222222222 100644
|
||||
return retdesc;
|
||||
}
|
||||
diff --git a/drivers/phy/allwinner/phy-sun4i-usb.c b/drivers/phy/allwinner/phy-sun4i-usb.c
|
||||
index 111111111111..222222222222 100644
|
||||
index 9b6b68eb00f8..be63d60ce738 100644
|
||||
--- a/drivers/phy/allwinner/phy-sun4i-usb.c
|
||||
+++ b/drivers/phy/allwinner/phy-sun4i-usb.c
|
||||
@@ -775,14 +775,16 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev)
|
||||
@ -124,10 +124,10 @@ index 111111111111..222222222222 100644
|
||||
}
|
||||
|
||||
diff --git a/drivers/phy/allwinner/phy-sun6i-mipi-dphy.c b/drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
|
||||
index 111111111111..222222222222 100644
|
||||
index 36eab95271b2..f83df7554aac 100644
|
||||
--- a/drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
|
||||
+++ b/drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
|
||||
@@ -584,13 +584,15 @@ static int sun6i_dphy_probe(struct platform_device *pdev)
|
||||
@@ -570,13 +570,15 @@ static int sun6i_dphy_probe(struct platform_device *pdev)
|
||||
dphy->regs = devm_regmap_init_mmio_clk(&pdev->dev, "bus",
|
||||
regs, &sun6i_dphy_regmap_config);
|
||||
if (IS_ERR(dphy->regs)) {
|
||||
@ -146,5 +146,5 @@ index 111111111111..222222222222 100644
|
||||
}
|
||||
|
||||
--
|
||||
Armbian
|
||||
2.35.3
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From c4b98967269c353f88e5544988bad6468febd286 Mon Sep 17 00:00:00 2001
|
||||
From e1f725426dfc3eb2d91a7f4eaf581933ae5e9108 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Thorne <Thomas.Thorne@Net2Edge.com>
|
||||
Date: Tue, 20 Sep 2022 20:34:57 -0400
|
||||
Subject: usb: serial: option: add 'reset_resume' callback for WWAN devices
|
||||
@ -17,10 +17,10 @@ However the rest of the patch is not needed/already upstreamed.
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
|
||||
index 1e2ae0c6c41c..8ab87dfae501 100644
|
||||
index 58bd54e8c483..09b9c19a5178 100644
|
||||
--- a/drivers/usb/serial/option.c
|
||||
+++ b/drivers/usb/serial/option.c
|
||||
@@ -2446,6 +2446,7 @@ static struct usb_serial_driver option_1port_device = {
|
||||
@@ -2455,6 +2455,7 @@ static struct usb_serial_driver option_1port_device = {
|
||||
#ifdef CONFIG_PM
|
||||
.suspend = usb_wwan_suspend,
|
||||
.resume = usb_wwan_resume,
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From 21a742946daac1bf85354aa3ca7591fddf02d4d3 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sat, 18 Feb 2023 00:38:44 +0100
|
||||
Subject: usb: typec: tcpm: Fix PD devices/capabilities registration
|
||||
@ -11,14 +11,14 @@ Fixes "sysfs: cannot create duplicate filename
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
---
|
||||
drivers/usb/typec/tcpm/tcpm.c | 37 ++++++++--
|
||||
drivers/usb/typec/tcpm/tcpm.c | 37 +++++++++++++++++++++++++++--------
|
||||
1 file changed, 29 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c
|
||||
index 111111111111..222222222222 100644
|
||||
index cd6ce4392490..7b8741dff63d 100644
|
||||
--- a/drivers/usb/typec/tcpm/tcpm.c
|
||||
+++ b/drivers/usb/typec/tcpm/tcpm.c
|
||||
@@ -3009,15 +3009,22 @@ static int tcpm_register_source_caps(struct tcpm_port *port)
|
||||
@@ -3011,15 +3011,22 @@ static int tcpm_register_source_caps(struct tcpm_port *port)
|
||||
struct usb_power_delivery_desc desc = { port->negotiated_rev };
|
||||
struct usb_power_delivery_capabilities_desc caps = { };
|
||||
struct usb_power_delivery_capabilities *cap;
|
||||
@ -45,7 +45,7 @@ index 111111111111..222222222222 100644
|
||||
cap = usb_power_delivery_register_capabilities(port->partner_pd, &caps);
|
||||
if (IS_ERR(cap))
|
||||
return PTR_ERR(cap);
|
||||
@@ -3032,15 +3039,22 @@ static int tcpm_register_sink_caps(struct tcpm_port *port)
|
||||
@@ -3034,15 +3041,22 @@ static int tcpm_register_sink_caps(struct tcpm_port *port)
|
||||
struct usb_power_delivery_desc desc = { port->negotiated_rev };
|
||||
struct usb_power_delivery_capabilities_desc caps = { };
|
||||
struct usb_power_delivery_capabilities *cap;
|
||||
@ -72,7 +72,7 @@ index 111111111111..222222222222 100644
|
||||
cap = usb_power_delivery_register_capabilities(port->partner_pd, &caps);
|
||||
if (IS_ERR(cap))
|
||||
return PTR_ERR(cap);
|
||||
@@ -7019,10 +7033,17 @@ static int tcpm_port_register_pd(struct tcpm_port *port)
|
||||
@@ -7021,10 +7035,17 @@ static int tcpm_port_register_pd(struct tcpm_port *port)
|
||||
port->pds[i] = usb_power_delivery_register(port->dev, &desc);
|
||||
if (IS_ERR(port->pds[i])) {
|
||||
ret = PTR_ERR(port->pds[i]);
|
||||
@ -91,5 +91,5 @@ index 111111111111..222222222222 100644
|
||||
cap = usb_power_delivery_register_capabilities(port->pds[i],
|
||||
&port->pd_list[i]->source_desc);
|
||||
--
|
||||
Armbian
|
||||
2.35.3
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From 8570cf87270150be076f51ab0868c082949182b7 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Tue, 23 Nov 2021 17:58:05 +0100
|
||||
Subject: usb: typec: tcpm: Improve logs
|
||||
@ -7,11 +7,11 @@ This adds clarity to debugging.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
---
|
||||
drivers/usb/typec/tcpm/tcpm.c | 15 +++++++---
|
||||
drivers/usb/typec/tcpm/tcpm.c | 15 +++++++++++----
|
||||
1 file changed, 11 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c
|
||||
index 111111111111..222222222222 100644
|
||||
index 7b8741dff63d..627f10469f80 100644
|
||||
--- a/drivers/usb/typec/tcpm/tcpm.c
|
||||
+++ b/drivers/usb/typec/tcpm/tcpm.c
|
||||
@@ -958,10 +958,13 @@ static int tcpm_pd_transmit(struct tcpm_port *port,
|
||||
@ -30,7 +30,7 @@ index 111111111111..222222222222 100644
|
||||
|
||||
reinit_completion(&port->tx_complete);
|
||||
ret = port->tcpc->pd_transmit(port->tcpc, tx_sop_type, msg, negotiated_rev);
|
||||
@@ -3681,6 +3684,10 @@ void tcpm_pd_receive(struct tcpm_port *port, const struct pd_message *msg,
|
||||
@@ -3683,6 +3686,10 @@ void tcpm_pd_receive(struct tcpm_port *port, const struct pd_message *msg,
|
||||
enum tcpm_transmit_type rx_sop_type)
|
||||
{
|
||||
struct pd_rx_event *event;
|
||||
@ -41,7 +41,7 @@ index 111111111111..222222222222 100644
|
||||
|
||||
event = kzalloc(sizeof(*event), GFP_ATOMIC);
|
||||
if (!event)
|
||||
@@ -5966,7 +5973,7 @@ static void _tcpm_cc_change(struct tcpm_port *port, enum typec_cc_status cc1,
|
||||
@@ -5968,7 +5975,7 @@ static void _tcpm_cc_change(struct tcpm_port *port, enum typec_cc_status cc1,
|
||||
|
||||
static void _tcpm_pd_vbus_on(struct tcpm_port *port)
|
||||
{
|
||||
@ -50,7 +50,7 @@ index 111111111111..222222222222 100644
|
||||
port->vbus_present = true;
|
||||
/*
|
||||
* When vbus_present is true i.e. Voltage at VBUS is greater than VSAFE5V implicitly
|
||||
@@ -6056,7 +6063,7 @@ static void _tcpm_pd_vbus_on(struct tcpm_port *port)
|
||||
@@ -6058,7 +6065,7 @@ static void _tcpm_pd_vbus_on(struct tcpm_port *port)
|
||||
|
||||
static void _tcpm_pd_vbus_off(struct tcpm_port *port)
|
||||
{
|
||||
@ -60,5 +60,5 @@ index 111111111111..222222222222 100644
|
||||
port->vbus_never_low = false;
|
||||
switch (port->state) {
|
||||
--
|
||||
Armbian
|
||||
2.35.3
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From c8980261ed458d058974d7966f5d058cc7be2dfe Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Mon, 7 Jun 2021 20:27:07 +0200
|
||||
Subject: video: pwm_bl: Allow to change lth_brightness via sysfs
|
||||
@ -21,11 +21,11 @@ Then make sure to restore this value after each boot by writing it to
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
---
|
||||
drivers/video/backlight/pwm_bl.c | 72 +++++++++-
|
||||
1 file changed, 70 insertions(+), 2 deletions(-)
|
||||
drivers/video/backlight/pwm_bl.c | 97 +++++++++++++++++++++++++++++++-
|
||||
1 file changed, 94 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c
|
||||
index 111111111111..222222222222 100644
|
||||
index e942908d1275..7a3ddc410c08 100644
|
||||
--- a/drivers/video/backlight/pwm_bl.c
|
||||
+++ b/drivers/video/backlight/pwm_bl.c
|
||||
@@ -437,6 +437,61 @@ static int pwm_backlight_initial_power_state(const struct pwm_bl_data *pb)
|
||||
@ -161,5 +161,5 @@ index 111111111111..222222222222 100644
|
||||
|
||||
platform_set_drvdata(pdev, bl);
|
||||
--
|
||||
Armbian
|
||||
2.35.3
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user