mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-25 00:11:13 +00:00
8b52a8906b
As usual these patches were extracted and rebased from the raspberry pi repo: https://github.com/raspberrypi/linux/tree/rpi-4.4.y - led1 can't be controlled on rpi-3 for linux 4.4, remove it. - Fix modules.mk typos. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
152 lines
3.0 KiB
Diff
152 lines
3.0 KiB
Diff
From cdf6acdd6a6270538b0fdd08e79986d4a553062a Mon Sep 17 00:00:00 2001
|
|
From: gtrainavicius <gtrainavicius@users.noreply.github.com>
|
|
Date: Sat, 10 Dec 2016 16:05:25 +0200
|
|
Subject: [PATCH] Pisound dynamic overlay (#1760)
|
|
|
|
Restructuring pisound-overlay.dts, so it can be loaded and unloaded dynamically using dtoverlay.
|
|
|
|
Print a logline when the kernel module is removed.
|
|
---
|
|
arch/arm/boot/dts/overlays/pisound-overlay.dts | 94 ++++++++++++++------------
|
|
sound/soc/bcm/pisound.c | 2 +
|
|
2 files changed, 52 insertions(+), 44 deletions(-)
|
|
|
|
diff --git a/arch/arm/boot/dts/overlays/pisound-overlay.dts b/arch/arm/boot/dts/overlays/pisound-overlay.dts
|
|
index 7cdfc29..5197e65 100644
|
|
--- a/arch/arm/boot/dts/overlays/pisound-overlay.dts
|
|
+++ b/arch/arm/boot/dts/overlays/pisound-overlay.dts
|
|
@@ -26,6 +26,54 @@
|
|
compatible = "brcm,bcm2708";
|
|
|
|
fragment@0 {
|
|
+ target = <&spi0>;
|
|
+ __overlay__ {
|
|
+ status = "okay";
|
|
+ };
|
|
+ };
|
|
+
|
|
+ fragment@1 {
|
|
+ target = <&spidev0>;
|
|
+ __overlay__ {
|
|
+ status = "disabled";
|
|
+ };
|
|
+ };
|
|
+
|
|
+ fragment@2 {
|
|
+ target = <&spidev1>;
|
|
+ __overlay__ {
|
|
+ status = "okay";
|
|
+ };
|
|
+ };
|
|
+
|
|
+ fragment@3 {
|
|
+ target = <&spi0>;
|
|
+ __overlay__ {
|
|
+ #address-cells = <1>;
|
|
+ #size-cells = <0>;
|
|
+
|
|
+ pisound_spi: pisound_spi@0{
|
|
+ compatible = "blokaslabs,pisound-spi";
|
|
+ reg = <0>;
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&spi0_pins>;
|
|
+ spi-max-frequency = <1000000>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ fragment@4 {
|
|
+ target-path = "/";
|
|
+ __overlay__ {
|
|
+ pcm5102a-codec {
|
|
+ #sound-dai-cells = <0>;
|
|
+ compatible = "ti,pcm5102a";
|
|
+ status = "okay";
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ fragment@5 {
|
|
target = <&sound>;
|
|
__overlay__ {
|
|
compatible = "blokaslabs,pisound";
|
|
@@ -49,7 +97,7 @@
|
|
};
|
|
};
|
|
|
|
- fragment@1 {
|
|
+ fragment@6 {
|
|
target = <&gpio>;
|
|
__overlay__ {
|
|
pinctrl-names = "default";
|
|
@@ -63,52 +111,10 @@
|
|
};
|
|
};
|
|
|
|
- fragment@2 {
|
|
+ fragment@7 {
|
|
target = <&i2s>;
|
|
__overlay__ {
|
|
status = "okay";
|
|
};
|
|
};
|
|
-
|
|
- fragment@3 {
|
|
- target-path = "/";
|
|
- __overlay__ {
|
|
- pcm5102a-codec {
|
|
- #sound-dai-cells = <0>;
|
|
- compatible = "ti,pcm5102a";
|
|
- status = "okay";
|
|
- };
|
|
- };
|
|
- };
|
|
-
|
|
- fragment@4 {
|
|
- target = <&spi0>;
|
|
- __overlay__ {
|
|
- status = "okay";
|
|
-
|
|
- spidev@0{
|
|
- status = "disabled";
|
|
- };
|
|
-
|
|
- spidev@1{
|
|
- status = "okay";
|
|
- };
|
|
- };
|
|
- };
|
|
-
|
|
- fragment@5 {
|
|
- target = <&spi0>;
|
|
- __overlay__ {
|
|
- #address-cells = <1>;
|
|
- #size-cells = <0>;
|
|
-
|
|
- pisound_spi: pisound_spi@0{
|
|
- compatible = "blokaslabs,pisound-spi";
|
|
- reg = <0>;
|
|
- pinctrl-names = "default";
|
|
- pinctrl-0 = <&spi0_pins>;
|
|
- spi-max-frequency = <1000000>;
|
|
- };
|
|
- };
|
|
- };
|
|
};
|
|
diff --git a/sound/soc/bcm/pisound.c b/sound/soc/bcm/pisound.c
|
|
index a3cd089..30903fcf 100644
|
|
--- a/sound/soc/bcm/pisound.c
|
|
+++ b/sound/soc/bcm/pisound.c
|
|
@@ -954,6 +954,8 @@ static int pisnd_probe(struct platform_device *pdev)
|
|
|
|
static int pisnd_remove(struct platform_device *pdev)
|
|
{
|
|
+ printi("Unloading.\n");
|
|
+
|
|
if (pisnd_kobj) {
|
|
kobject_put(pisnd_kobj);
|
|
pisnd_kobj = NULL;
|
|
--
|
|
2.1.4
|
|
|