aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
authorMark Brown <broonie@kernel.org>2026-05-29 18:08:46 +0100
committerMark Brown <broonie@kernel.org>2026-05-29 18:08:46 +0100
commitedab04af1fb7cfb83d27ae39bbeb2c52c1c000be (patch)
tree6e42678a0681c7261ba055f19ada58320c4be0f2 /arch
parenta53a66dce0512c84542e0bda87b5af9f2aaaffc9 (diff)
parente28bf943a8c772c66cce977833607f4c7232edce (diff)
downloadlinux-next-history-edab04af1fb7cfb83d27ae39bbeb2c52c1c000be.tar.gz
Merge branch 'for-next' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap.git
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/boot/dts/ti/omap/am335x-sl50.dts4
-rw-r--r--arch/arm/boot/dts/ti/omap/dm8168-evm.dts4
-rw-r--r--arch/arm/boot/dts/ti/omap/motorola-cpcap-mapphone.dtsi6
-rw-r--r--arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts4
-rw-r--r--arch/arm/mach-omap2/omap_device.c29
-rw-r--r--arch/arm/mach-omap2/omap_device.h4
6 files changed, 25 insertions, 26 deletions
diff --git a/arch/arm/boot/dts/ti/omap/am335x-sl50.dts b/arch/arm/boot/dts/ti/omap/am335x-sl50.dts
index 1dc4e344efd63..c5259eb7d21c7 100644
--- a/arch/arm/boot/dts/ti/omap/am335x-sl50.dts
+++ b/arch/arm/boot/dts/ti/omap/am335x-sl50.dts
@@ -558,8 +558,8 @@
remote-endpoint = <&codec_endpoint>;
dai-format = "dsp_b";
- bitclock-master = <&codec_port>;
- frame-master = <&codec_port>;
+ bitclock-master = <&codec_endpoint>;
+ frame-master = <&codec_endpoint>;
bitclock-inversion;
clocks = <&audio_mclk>;
};
diff --git a/arch/arm/boot/dts/ti/omap/dm8168-evm.dts b/arch/arm/boot/dts/ti/omap/dm8168-evm.dts
index 6130b9a5f6606..81450e15b889c 100644
--- a/arch/arm/boot/dts/ti/omap/dm8168-evm.dts
+++ b/arch/arm/boot/dts/ti/omap/dm8168-evm.dts
@@ -8,6 +8,10 @@
model = "DM8168 EVM";
compatible = "ti,dm8168-evm", "ti,dm8168", "ti,dm816";
+ chosen {
+ stdout-path = &uart3;
+ };
+
memory@80000000 {
device_type = "memory";
reg = <0x80000000 0x40000000 /* 1 GB */
diff --git a/arch/arm/boot/dts/ti/omap/motorola-cpcap-mapphone.dtsi b/arch/arm/boot/dts/ti/omap/motorola-cpcap-mapphone.dtsi
index ea02fd403a9b4..73e27b95105e1 100644
--- a/arch/arm/boot/dts/ti/omap/motorola-cpcap-mapphone.dtsi
+++ b/arch/arm/boot/dts/ti/omap/motorola-cpcap-mapphone.dtsi
@@ -69,6 +69,8 @@
cpcap_audio: audio-codec {
#sound-dai-cells = <1>;
+ interrupts-extended = <&cpcap 9 0>, <&cpcap 10 0>;
+ interrupt-names = "hs", "mb2";
port@0 {
cpcap_audio_codec0: endpoint {
@@ -267,6 +269,8 @@
regulator-min-microvolt = <2775000>;
regulator-max-microvolt = <2775000>;
regulator-enable-ramp-delay = <1000>;
- regulator-initial-mode = <0x00>; /* NORMAL */
+ regulator-allowed-modes = <0x00>, <0x40>; /* ON, LOW_PWR */
+ regulator-initial-mode = <0x00>; /* ON */
+ regulator-always-on;
};
};
diff --git a/arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts b/arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts
index 673df1b693f28..e253e0775ea95 100644
--- a/arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts
+++ b/arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts
@@ -351,7 +351,7 @@
pinctrl-names = "default";
pinctrl-0 = <&mpu9150h_pins>;
interrupt-parent = <&gpio2>;
- interrupt = <19 IRQ_TYPE_LEVEL_HIGH>;
+ interrupts = <19 IRQ_TYPE_LEVEL_HIGH>;
};
};
@@ -413,7 +413,7 @@
pinctrl-names = "default";
pinctrl-0 = <&mpu9150_pins>;
interrupt-parent = <&gpio2>;
- interrupt = <7 IRQ_TYPE_LEVEL_HIGH>;
+ interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
vddio-supply = <&cb_v18>;
vdd-supply = <&cb_v33>;
invensense,level-shifter;
diff --git a/arch/arm/mach-omap2/omap_device.c b/arch/arm/mach-omap2/omap_device.c
index 79db4c49ffc9c..77a75b0b9ae69 100644
--- a/arch/arm/mach-omap2/omap_device.c
+++ b/arch/arm/mach-omap2/omap_device.c
@@ -307,35 +307,27 @@ static struct omap_device *omap_device_alloc(struct platform_device *pdev,
int ret = -ENOMEM;
struct omap_device *od;
int i;
- struct omap_hwmod **hwmods;
+ struct omap_hwmod *hwmod;
- od = kzalloc_obj(struct omap_device);
- if (!od)
- goto oda_exit1;
+ od = kzalloc_flex(*od, hwmods, oh_cnt);
+ if (!od) {
+ dev_err(&pdev->dev, "omap_device: build failed (%d)\n", ret);
+ return ERR_PTR(ret);
+ }
od->hwmods_cnt = oh_cnt;
+ memcpy(od->hwmods, ohs, oh_cnt * sizeof(*od->hwmods));
- hwmods = kmemdup_array(ohs, oh_cnt, sizeof(*hwmods), GFP_KERNEL);
- if (!hwmods)
- goto oda_exit2;
-
- od->hwmods = hwmods;
od->pdev = pdev;
pdev->archdata.od = od;
for (i = 0; i < oh_cnt; i++) {
- hwmods[i]->od = od;
- _add_hwmod_clocks_clkdev(od, hwmods[i]);
+ hwmod = od->hwmods[i];
+ hwmod->od = od;
+ _add_hwmod_clocks_clkdev(od, hwmod);
}
return od;
-
-oda_exit2:
- kfree(od);
-oda_exit1:
- dev_err(&pdev->dev, "omap_device: build failed (%d)\n", ret);
-
- return ERR_PTR(ret);
}
static void omap_device_delete(struct omap_device *od)
@@ -344,7 +336,6 @@ static void omap_device_delete(struct omap_device *od)
return;
od->pdev->archdata.od = NULL;
- kfree(od->hwmods);
kfree(od);
}
diff --git a/arch/arm/mach-omap2/omap_device.h b/arch/arm/mach-omap2/omap_device.h
index aa8096ecb23ca..fae09cfce137a 100644
--- a/arch/arm/mach-omap2/omap_device.h
+++ b/arch/arm/mach-omap2/omap_device.h
@@ -37,11 +37,11 @@
/**
* struct omap_device - omap_device wrapper for platform_devices
* @pdev: platform_device
- * @hwmods: (one .. many per omap_device)
* @hwmods_cnt: ARRAY_SIZE() of @hwmods
* @_state: one of OMAP_DEVICE_STATE_* (see above)
* @flags: device flags
* @_driver_status: one of BUS_NOTIFY_*_DRIVER from <linux/device.h>
+ * @hwmods: (one .. many per omap_device)
*
* Integrates omap_hwmod data into Linux platform_device.
*
@@ -51,11 +51,11 @@
*/
struct omap_device {
struct platform_device *pdev;
- struct omap_hwmod **hwmods;
unsigned long _driver_status;
u8 hwmods_cnt;
u8 _state;
u8 flags;
+ struct omap_hwmod *hwmods[] __counted_by(hwmods_cnt);
};
/* Device driver interface (call via platform_data fn ptrs) */