From 1f93a7dfd1f8d5ff7a5c53246c7534fe2332d6f4 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Mon, 11 Dec 2023 02:46:07 +0000
Subject: [PATCH] add audio
---
kernel/drivers/pci/controller/pcie-rockchip.c | 57 +++++++++++++--------------------------------------------
1 files changed, 13 insertions(+), 44 deletions(-)
diff --git a/kernel/drivers/pci/controller/pcie-rockchip.c b/kernel/drivers/pci/controller/pcie-rockchip.c
index c4b0b79..92cced7 100644
--- a/kernel/drivers/pci/controller/pcie-rockchip.c
+++ b/kernel/drivers/pci/controller/pcie-rockchip.c
@@ -14,7 +14,7 @@
#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/gpio/consumer.h>
-#include <linux/of_address.h>
+#include <linux/module.h>
#include <linux/of_pci.h>
#include <linux/phy/phy.h>
#include <linux/platform_device.h>
@@ -28,8 +28,6 @@
struct device *dev = rockchip->dev;
struct platform_device *pdev = to_platform_device(dev);
struct device_node *node = dev->of_node;
- struct device_node *mem;
- struct resource reg;
struct resource *regs;
int err;
@@ -48,9 +46,8 @@
return -EINVAL;
}
- regs = platform_get_resource_byname(pdev, IORESOURCE_MEM,
- "apb-base");
- rockchip->apb_base = devm_ioremap_resource(dev, regs);
+ rockchip->apb_base =
+ devm_platform_ioremap_resource_byname(pdev, "apb-base");
if (IS_ERR(rockchip->apb_base))
return PTR_ERR(rockchip->apb_base);
@@ -86,7 +83,7 @@
}
rockchip->mgmt_sticky_rst = devm_reset_control_get_exclusive(dev,
- "mgmt-sticky");
+ "mgmt-sticky");
if (IS_ERR(rockchip->mgmt_sticky_rst)) {
if (PTR_ERR(rockchip->mgmt_sticky_rst) != -EPROBE_DEFER)
dev_err(dev, "missing mgmt-sticky reset property in node\n");
@@ -122,11 +119,11 @@
}
if (rockchip->is_rc) {
- rockchip->ep_gpio = devm_gpiod_get_optional(dev, "ep", GPIOD_OUT_HIGH);
- if (IS_ERR(rockchip->ep_gpio)) {
- dev_err(dev, "invalid ep-gpios property in node\n");
- return PTR_ERR(rockchip->ep_gpio);
- }
+ rockchip->ep_gpio = devm_gpiod_get_optional(dev, "ep",
+ GPIOD_OUT_HIGH);
+ if (IS_ERR(rockchip->ep_gpio))
+ return dev_err_probe(dev, PTR_ERR(rockchip->ep_gpio),
+ "failed to get ep GPIO\n");
}
rockchip->aclk_pcie = devm_clk_get(dev, "aclk");
@@ -151,38 +148,6 @@
if (IS_ERR(rockchip->clk_pcie_pm)) {
dev_err(dev, "pm clock not found\n");
return PTR_ERR(rockchip->clk_pcie_pm);
- }
-
- if (rockchip->is_rc) {
- mem = of_parse_phandle(node, "memory-region", 0);
- if (!mem) {
- dev_warn(dev, "missing \"memory-region\" property\n");
- return 0;
- }
-
- err = of_address_to_resource(mem, 0, ®);
- if (err < 0) {
- dev_warn(dev, "missing \"reg\" property\n");
- return 0;
- }
-
- rockchip->mem_reserve_start = reg.start;
- rockchip->mem_reserve_size = resource_size(®);
-
- err = of_property_read_u32(node, "rockchip,dma_trx_enabled",
- &rockchip->dma_trx_enabled);
- if (err < 0) {
- dev_warn(dev,
- "missing \"rockchip,dma_trx_enabled\" property\n");
- return 0;
- }
-
- err = of_property_read_u32(node, "rockchip,deferred",
- &rockchip->deferred);
- if (err < 0) {
- dev_warn(dev, "missing \"rockchip,deferred\" property\n");
- return 0;
- }
}
return 0;
@@ -457,3 +422,7 @@
rockchip_pcie_write(rockchip, 0x0, PCIE_CORE_OB_REGION_DESC1);
}
EXPORT_SYMBOL_GPL(rockchip_pcie_cfg_configuration_accesses);
+
+MODULE_AUTHOR("Rockchip Inc");
+MODULE_DESCRIPTION("Rockchip AXI PCIe driver");
+MODULE_LICENSE("GPL v2");
--
Gitblit v1.6.2