mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-15 00:34:10 +08:00
irqchip updates for v6.6
- Fix for Loongsoon eiointc init error handling - Fix a bunch of warning showing up when -Wmissing-prototypes is set - A set of fixes for drivers checking for 0 as a potential return value from platform_get_irq() - Another set of patches converting existing code to the use of helpers such as of_address_count() and devm_platform_get_and_ioremap_resource() - A tree-wide cleanup of drivers including of_*.h without discrimination - Added support for the Amlogic C3 SoCs -----BEGIN PGP SIGNATURE----- iQJDBAABCgAtFiEEn9UcU+C1Yxj9lZw9I9DQutE9ekMFAmTsY9gPHG1hekBrZXJu ZWwub3JnAAoJECPQ0LrRPXpDgt4QAMIn32L6LHskYwvhQIeonIoEfVk3JlLTIaA3 ARaeNlcx1WrkvZURU7IIevA1skK5sIARVzAJRBNpMewLJOlqzzcQtEnRpUePMUHs 3jmX24b/IBTM+XS3xBSBU13t0tu5CMscz8ox7/5OKl+INz0q/JLTpPeCdWN4w7ai 5+eNVdto4yPT2YNp5lP3rnfi5B0FDqZ0Iy6N/xAwL21nliicDI4ln2AKVnePyAwz ao1QURNtrSs4tlDxN78O8EcF75HHAZPlJKKquEVsSrgBgYnb7Q+mddT6uZmW5+9r dnUJDwnll3UNv20AymUWz+tgjHl9eRlImjoWrp4QaXa71n3BvaPqO91udXrgwdVa Qr2VqABCzbEaf576MqmLZdxlTYeWI9ZVdAeFLedE/7p18l68BPkbmfUy15fBmbZa zNEmweuhaH2OyHAsbeXC/+TW8BcmOWYzOdcDrgONIARROMp4xnjhP7Q2RXhP+7pI 2y0RV0N6ljhD8m3Q5Yf13cthPPTI35raemR24PA7HGn5frXGprX6j9ccCuXG/IX8 GkHZ/zYEWppfg5f29di4Z3oZVpdl50RdpC3iJCwRcDVwMNyCo7mcknCHd5UTBmjJ hb9/CUtc5vEwRgwczVhqvdctrbBxzXTv+3iHfb7iEyFubLeiGajV+G/4Os6LTLk9 JfOl/Sdg =0xKl -----END PGP SIGNATURE----- Merge tag 'irqchip-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into irq/core Pull irqchip updates from Marc Zyngier: - Fix for Loongsoon eiointc init error handling - Fix a bunch of warning showing up when -Wmissing-prototypes is set - A set of fixes for drivers checking for 0 as a potential return value from platform_get_irq() - Another set of patches converting existing code to the use of helpers such as of_address_count() and devm_platform_get_and_ioremap_resource() - A tree-wide cleanup of drivers including of_*.h without discrimination - Added support for the Amlogic C3 SoCs Link: https://lore.kernel.org/lkml/20230828091543.4001857-1-maz@kernel.org
This commit is contained in:
commit
02362c9a99
@ -35,6 +35,7 @@ properties:
|
||||
- amlogic,meson-sm1-gpio-intc
|
||||
- amlogic,meson-a1-gpio-intc
|
||||
- amlogic,meson-s4-gpio-intc
|
||||
- amlogic,c3-gpio-intc
|
||||
- const: amlogic,meson-gpio-intc
|
||||
|
||||
reg:
|
||||
|
@ -60,7 +60,6 @@
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/of_address.h>
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/smp.h>
|
||||
|
@ -20,7 +20,6 @@
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/of_address.h>
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/smp.h>
|
||||
|
@ -15,7 +15,6 @@
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/of_address.h>
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/io.h>
|
||||
|
@ -4,7 +4,7 @@
|
||||
*/
|
||||
#include <linux/module.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/of_device.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/irqchip/arm-gic.h>
|
||||
#include <linux/platform_device.h>
|
||||
|
@ -9,8 +9,6 @@
|
||||
|
||||
#include <linux/acpi.h>
|
||||
#include <linux/acpi_iort.h>
|
||||
#include <linux/of_device.h>
|
||||
#include <linux/of_address.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/msi.h>
|
||||
#include <linux/of.h>
|
||||
|
@ -340,7 +340,7 @@ static void i8259_irq_dispatch(struct irq_desc *desc)
|
||||
generic_handle_domain_irq(domain, hwirq);
|
||||
}
|
||||
|
||||
int __init i8259_of_init(struct device_node *node, struct device_node *parent)
|
||||
static int __init i8259_of_init(struct device_node *node, struct device_node *parent)
|
||||
{
|
||||
struct irq_domain *domain;
|
||||
unsigned int parent_irq;
|
||||
|
@ -50,8 +50,9 @@
|
||||
#include <linux/irqchip/chained_irq.h>
|
||||
#include <linux/irqdomain.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/mod_devicetable.h>
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/pm_runtime.h>
|
||||
|
||||
|
@ -10,8 +10,9 @@
|
||||
#include <linux/irqchip/chained_irq.h>
|
||||
#include <linux/irqdomain.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/pm_runtime.h>
|
||||
#include <linux/spinlock.h>
|
||||
|
||||
|
@ -339,8 +339,8 @@ static int __init imx_mu_of_init(struct device_node *dn,
|
||||
msi_data->msiir_addr = res->start + msi_data->cfg->xTR;
|
||||
|
||||
irq = platform_get_irq(pdev, 0);
|
||||
if (irq <= 0)
|
||||
return -ENODEV;
|
||||
if (irq < 0)
|
||||
return irq;
|
||||
|
||||
platform_set_drvdata(pdev, msi_data);
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
||||
#include <linux/irqdomain.h>
|
||||
#include <linux/irqchip.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/mfd/syscon.h>
|
||||
#include <linux/regmap.h>
|
||||
|
||||
|
@ -144,7 +144,7 @@ static int eiointc_router_init(unsigned int cpu)
|
||||
int i, bit;
|
||||
uint32_t data;
|
||||
uint32_t node = cpu_to_eio_node(cpu);
|
||||
uint32_t index = eiointc_index(node);
|
||||
int index = eiointc_index(node);
|
||||
|
||||
if (index < 0) {
|
||||
pr_err("Error: invalid nodemap!\n");
|
||||
|
@ -15,7 +15,6 @@
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/of_address.h>
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/syscore_ops.h>
|
||||
|
||||
/* Registers */
|
||||
|
@ -12,9 +12,9 @@
|
||||
#include <linux/irqdomain.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_address.h>
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/syscore_ops.h>
|
||||
|
||||
/* Registers */
|
||||
|
@ -349,8 +349,7 @@ static int ls_scfg_msi_probe(struct platform_device *pdev)
|
||||
|
||||
msi_data->cfg = (struct ls_scfg_msi_cfg *) match->data;
|
||||
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
msi_data->regs = devm_ioremap_resource(&pdev->dev, res);
|
||||
msi_data->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
|
||||
if (IS_ERR(msi_data->regs)) {
|
||||
dev_err(&pdev->dev, "failed to initialize 'regs'\n");
|
||||
return PTR_ERR(msi_data->regs);
|
||||
|
@ -10,12 +10,10 @@
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/irqdomain.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/pm_runtime.h>
|
||||
#include <linux/regmap.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_device.h>
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/irqchip/irq-madera.h>
|
||||
#include <linux/mfd/madera/core.h>
|
||||
#include <linux/mfd/madera/pdata.h>
|
||||
|
@ -150,6 +150,10 @@ static const struct meson_gpio_irq_params s4_params = {
|
||||
INIT_MESON_S4_COMMON_DATA(82)
|
||||
};
|
||||
|
||||
static const struct meson_gpio_irq_params c3_params = {
|
||||
INIT_MESON_S4_COMMON_DATA(55)
|
||||
};
|
||||
|
||||
static const struct of_device_id meson_irq_gpio_matches[] __maybe_unused = {
|
||||
{ .compatible = "amlogic,meson8-gpio-intc", .data = &meson8_params },
|
||||
{ .compatible = "amlogic,meson8b-gpio-intc", .data = &meson8b_params },
|
||||
@ -160,6 +164,7 @@ static const struct of_device_id meson_irq_gpio_matches[] __maybe_unused = {
|
||||
{ .compatible = "amlogic,meson-sm1-gpio-intc", .data = &sm1_params },
|
||||
{ .compatible = "amlogic,meson-a1-gpio-intc", .data = &a1_params },
|
||||
{ .compatible = "amlogic,meson-s4-gpio-intc", .data = &s4_params },
|
||||
{ .compatible = "amlogic,c3-gpio-intc", .data = &c3_params },
|
||||
{ }
|
||||
};
|
||||
|
||||
|
@ -557,7 +557,7 @@ static int gic_irq_domain_alloc(struct irq_domain *d, unsigned int virq,
|
||||
return gic_irq_domain_map(d, virq, hwirq);
|
||||
}
|
||||
|
||||
void gic_irq_domain_free(struct irq_domain *d, unsigned int virq,
|
||||
static void gic_irq_domain_free(struct irq_domain *d, unsigned int virq,
|
||||
unsigned int nr_irqs)
|
||||
{
|
||||
}
|
||||
|
@ -377,8 +377,7 @@ static int mvebu_sei_probe(struct platform_device *pdev)
|
||||
mutex_init(&sei->cp_msi_lock);
|
||||
raw_spin_lock_init(&sei->mask_lock);
|
||||
|
||||
sei->res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
sei->base = devm_ioremap_resource(sei->dev, sei->res);
|
||||
sei->base = devm_platform_get_and_ioremap_resource(pdev, 0, &sei->res);
|
||||
if (IS_ERR(sei->base))
|
||||
return PTR_ERR(sei->base);
|
||||
|
||||
|
@ -57,8 +57,7 @@ static int __init orion_irq_init(struct device_node *np,
|
||||
struct resource r;
|
||||
|
||||
/* count number of irq chips by valid reg addresses */
|
||||
while (of_address_to_resource(np, num_chips, &r) == 0)
|
||||
num_chips++;
|
||||
num_chips = of_address_count(np);
|
||||
|
||||
orion_irq_domain = irq_domain_add_linear(np,
|
||||
num_chips * ORION_IRQS_PER_CHIP,
|
||||
|
@ -17,7 +17,7 @@
|
||||
#include <linux/irqchip/chained_irq.h>
|
||||
#include <linux/irqdomain.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/of_device.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/platform_device.h>
|
||||
|
||||
/*
|
||||
@ -565,8 +565,8 @@ static int pruss_intc_probe(struct platform_device *pdev)
|
||||
continue;
|
||||
|
||||
irq = platform_get_irq_byname(pdev, irq_names[i]);
|
||||
if (irq <= 0) {
|
||||
ret = (irq == 0) ? -EINVAL : irq;
|
||||
if (irq < 0) {
|
||||
ret = irq;
|
||||
goto fail_irq;
|
||||
}
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
#include <linux/mailbox_client.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_device.h>
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/pm_domain.h>
|
||||
#include <linux/slab.h>
|
||||
|
@ -17,7 +17,6 @@
|
||||
#include <linux/err.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/of_device.h>
|
||||
#include <linux/pm_runtime.h>
|
||||
|
||||
#define INTC_IRQPIN_MAX 8 /* maximum 8 interrupts per driver instance */
|
||||
|
@ -10,7 +10,7 @@
|
||||
#include <dt-bindings/interrupt-controller/irq-st.h>
|
||||
#include <linux/err.h>
|
||||
#include <linux/mfd/syscon.h>
|
||||
#include <linux/of_device.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/regmap.h>
|
||||
#include <linux/slab.h>
|
||||
|
@ -14,10 +14,11 @@
|
||||
#include <linux/irqchip.h>
|
||||
#include <linux/irqchip/chained_irq.h>
|
||||
#include <linux/irqdomain.h>
|
||||
#include <linux/mod_devicetable.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/of_address.h>
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/syscore_ops.h>
|
||||
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
@ -19,7 +19,6 @@
|
||||
#include <linux/irqdomain.h>
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/of_address.h>
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/irqchip.h>
|
||||
#include <linux/irqchip/chained_irq.h>
|
||||
|
||||
|
@ -13,7 +13,6 @@
|
||||
#include <linux/irqchip.h>
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/of_address.h>
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/bitops.h>
|
||||
|
@ -15,9 +15,9 @@
|
||||
#include <linux/msi.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/moduleparam.h>
|
||||
#include <linux/of_address.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/irqchip/chained_irq.h>
|
||||
#include <linux/soc/ti/ti_sci_inta_msi.h>
|
||||
#include <linux/soc/ti/ti_sci_protocol.h>
|
||||
|
@ -12,9 +12,9 @@
|
||||
#include <linux/io.h>
|
||||
#include <linux/irqchip.h>
|
||||
#include <linux/irqdomain.h>
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/of_address.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/soc/ti/ti_sci_protocol.h>
|
||||
|
||||
/**
|
||||
|
@ -12,7 +12,6 @@
|
||||
#include <linux/irqdomain.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_device.h>
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/spinlock.h>
|
||||
|
@ -16,6 +16,7 @@
|
||||
#include <linux/irqdomain.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/irqchip.h>
|
||||
#include <linux/irqchip/xtensa-pic.h>
|
||||
#include <linux/of.h>
|
||||
|
||||
unsigned int cached_irq_mask;
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
#include <linux/acpi.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/of_device.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/irqchip.h>
|
||||
#include <linux/platform_device.h>
|
||||
|
@ -14,7 +14,6 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_address.h>
|
||||
#include <linux/of_device.h>
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/soc/qcom/irq.h>
|
||||
#include <linux/spinlock.h>
|
||||
|
Loading…
Reference in New Issue
Block a user