linux-hardened/drivers/irqchip
Paul Burton 93c5bba575 MIPS: CM: Use BIT/GENMASK for register fields, order & drop shifts
There's no reason for us not to use BIT() & GENMASK() in asm/mips-cm.h
when declaring macros corresponding to register fields. This patch
modifies our definitions to do so.

The *_SHF definitions are removed entirely - they duplicate information
found in the masks, are infrequently used & can be replaced with use of
__ffs() where needed.

The *_MSK definitions then lose their _MSK suffix which is now somewhat
redundant, and users are modified to match.

The field definitions are moved to follow the appropriate register's
accessor functions, which helps to keep the field definitions in order &
to find the appropriate fields for a given register. Whilst here a
comment is added describing each register & including its name, which is
helpful both for linking the register back to hardware documentation &
for grepping purposes.

This also cleans up a couple of issues that became obvious as a result
of making the changes described above:

  - We previously had definitions for GCR_Cx_RESET_EXT_BASE & a phony
    copy of that named GCR_RESET_EXT_BASE - a register which does not
    exist. The bad definitions were added by commit 497e803ebf ("MIPS:
    smp-cps: Ensure secondary cores start with EVA disabled") and made
    use of from boot_core(), which is now modified to use the
    GCR_Cx_RESET_EXT_BASE definitions.

  - We had a typo in CM_GCR_ERROR_CAUSE_ERRINGO_MSK - we now correctly
    define this as inFo rather than inGo.

Now that we don't duplicate field information between _SHF & _MSK
definitions, and keep the fields next to the register accessors, it will
be much easier to spot & prevent any similar oddities being introduced
in the future.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/17001/
Patchwork: https://patchwork.linux-mips.org/patch/17216/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2017-08-29 15:21:57 +02:00
..
alphascale_asm9260-icoll.h irqchip/mxs: Add Alphascale ASM9260 support 2015-10-14 09:37:47 +02:00
exynos-combiner.c irqchip/exynos-combiner: Fix usage of __raw IO 2016-06-23 18:26:42 +00:00
irq-alpine-msi.c irqchip/irq-alpine-msi: Don't use <asm-generic/msi.h> 2016-05-11 10:12:25 +01:00
irq-armada-370-xp.c irqchip updates for v4.13 2017-06-23 14:26:29 +02:00
irq-aspeed-i2c-ic.c irqchip/aspeed-i2c-ic: Add I2C IRQ controller for Aspeed 2017-06-22 14:15:00 +01:00
irq-aspeed-vic.c irqchip/aspeed-vic: Add AST2500 compatible string 2017-06-22 14:13:39 +01:00
irq-ath79-cpu.c irqchip/ath79-cpu: Move the CPU IRQ driver from arch/mips/ath79/ 2016-02-17 13:47:19 +00:00
irq-ath79-misc.c irqchip/ath79-misc: Move the MISC driver from arch/mips/ath79/ 2016-02-17 13:44:31 +00:00
irq-atmel-aic-common.c irqchip/atmel-aic: Remove root argument from ->fixup() prototype 2017-07-04 11:10:37 +01:00
irq-atmel-aic-common.h irqchip/atmel-aic: Remove root argument from ->fixup() prototype 2017-07-04 11:10:37 +01:00
irq-atmel-aic.c irqchip/atmel-aic: Remove root argument from ->fixup() prototype 2017-07-04 11:10:37 +01:00
irq-atmel-aic5.c irqchip/atmel-aic: Remove root argument from ->fixup() prototype 2017-07-04 11:10:37 +01:00
irq-bcm2835.c irqchip: bcm2835: Avoid arch/arm-specific handle_IRQ 2016-06-04 14:16:59 +00:00
irq-bcm2836.c cpu/hotplug: Cleanup state names 2016-12-25 10:47:44 +01:00
irq-bcm6345-l1.c treewide: remove redundant #include <linux/kconfig.h> 2016-10-11 15:06:33 -07:00
irq-bcm7038-l1.c irqchip/bcm7038-l1: Implement irq_cpu_offline() callback 2016-11-18 14:17:22 +01:00
irq-bcm7120-l2.c treewide: remove redundant #include <linux/kconfig.h> 2016-10-11 15:06:33 -07:00
irq-brcmstb-l2.c irqchip: brcmstb-l2: Define an irq_pm_shutdown function 2017-08-07 13:50:52 +01:00
irq-clps711x.c irqchip: clps711x: Changing the compatibility string to match with the smallest supported chip 2016-07-06 17:38:15 +02:00
irq-crossbar.c irqchip/irqdomain updates for 4.11-rc2 2017-03-09 12:06:41 +01:00
irq-digicolor.c irqchip/digicolor: Drop unnecessary static 2017-07-18 21:59:23 +02:00
irq-dw-apb-ictl.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
irq-eznps.c irqchip/eznps: Drop pointless static qualifier in nps400_of_init() 2016-10-19 14:24:36 +02:00
irq-ftintc010.c irqchip/faraday: Replace moxa with ftintc010 2017-04-07 10:36:30 +01:00
irq-gic-common.c irqchip/gic: Prepare for adding platform driver 2016-06-13 11:53:52 +01:00
irq-gic-common.h irqchip/gic-v2: Parse and export virtual GIC information 2016-05-03 12:54:21 +02:00
irq-gic-pm.c irqchip/gic-pm: Update driver to use of_pm_clk_add_clk 2016-09-12 19:46:28 +01:00
irq-gic-realview.c irqchip/gic/realview: Drop unnecessary static 2017-07-18 21:59:22 +02:00
irq-gic-v2m.c irqchip/MSI: Use irq_domain_update_bus_token instead of an open coded access 2017-06-22 18:29:17 +02:00
irq-gic-v3-its-pci-msi.c irqchip/gic-v3-its: Fix MSI alias accounting 2017-06-22 14:13:26 +01:00
irq-gic-v3-its-platform-msi.c irqchip/gic-v3-its-platform-msi: Fix msi-parent parsing loop 2017-08-10 16:26:54 +01:00
irq-gic-v3-its.c irqchip fixes for 4.13 2017-08-14 09:34:10 +02:00
irq-gic-v3.c irqchip/gic: Ensure we have an ISB between ack and ->handle_irq 2017-08-02 16:55:59 +01:00
irq-gic.c irqchip/gic: Ensure we have an ISB between ack and ->handle_irq 2017-08-02 16:55:59 +01:00
irq-hip04.c cpu/hotplug: Cleanup state names 2016-12-25 10:47:44 +01:00
irq-i8259.c irqchip/i8259: Constify irq_domain_ops 2017-06-22 14:12:49 +01:00
irq-imgpdc.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
irq-imx-gpcv2.c irqchip/irq-imx-gpcv2: Constify irq_domain_ops 2017-06-22 14:12:55 +01:00
irq-ingenic.c irqchip: Prepare for local stub header removal 2015-07-11 23:14:23 +02:00
irq-jcore-aic.c irqchip/jcore: Fix lost per-cpu interrupts 2016-10-14 14:26:55 +02:00
irq-keystone.c irqchip/keystone: Fix "scheduling while atomic" on rt 2016-12-31 18:41:45 +00:00
irq-lpc32xx.c irqchip: Add LPC32xx interrupt controller driver 2016-05-11 10:12:11 +01:00
irq-ls-scfg-msi.c irqchip: Add Layerscape SCFG MSI controller support 2016-05-04 09:58:04 +01:00
irq-mbigen.c irqchip/irq-mbigen: Constify irq_domain_ops 2017-06-22 14:13:00 +01:00
irq-metag-ext.c irqchip/metag-ext: Improve function-level documentation 2016-10-05 11:53:35 +02:00
irq-metag.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
irq-mips-cpu.c irqchip/mips-cpu: Drop unnecessary static 2017-07-18 21:59:22 +02:00
irq-mips-gic.c MIPS: CM: Use BIT/GENMASK for register fields, order & drop shifts 2017-08-29 15:21:57 +02:00
irq-mmp.c irqchip: Kill off set_irq_flags usage 2015-09-16 16:53:38 +02:00
irq-mtk-cirq.c irqchip: Add Mediatek mtk-cirq driver 2017-04-07 10:52:22 +01:00
irq-mtk-sysirq.c irqchip/mtk-sysirq: Remove unnecessary barrier when configuring trigger 2017-04-07 10:52:17 +01:00
irq-mvebu-gicp.c irqchip/irq-mvebu-gicp: Allocate enough memory for spi_bitmap 2017-06-30 15:32:46 +01:00
irq-mvebu-gicp.h irqchip/irq-mvebu-gicp: Add new driver for Marvell GICP 2017-06-23 09:14:57 +01:00
irq-mvebu-icu.c irqchip/irq-mvebu-icu: Add new driver for Marvell ICU 2017-06-23 09:14:57 +01:00
irq-mvebu-odmi.c irqchip/gic: Return IRQ_SET_MASK_OK_DONE in the set_affinity method 2016-02-19 15:42:29 +00:00
irq-mvebu-pic.c irqchip/mvebu-pic: New driver for Marvell Armada 7K/8K PIC 2016-08-22 22:58:27 +00:00
irq-mxs.c irqchip/mxs: Enable SKIP_SET_WAKE and MASK_ON_SUSPEND 2016-12-31 19:06:44 +00:00
irq-nvic.c irqchip: Convert all alloc/xlate users from of_node to fwnode 2015-10-13 19:01:23 +02:00
irq-omap-intc.c irqchip/omap-intc: Fix missing <linux/irqchip/irq-omap-intc.h> include 2016-06-13 00:57:23 +00:00
irq-or1k-pic.c irqchip/or1k-pic: Fix interrupt acknowledgement 2017-06-30 15:33:11 +01:00
irq-orion.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
irq-partition-percpu.c irqchip: Add per-cpu interrupt partitioning library 2016-05-02 13:42:51 +02:00
irq-pic32-evic.c irqchip/irq-pic32-evic: Fix bug with external interrupts. 2016-06-02 18:03:50 +01:00
irq-renesas-h8s.c irqchip/irq-renesas-h8s: Constify irq_domain_ops 2017-06-22 14:13:20 +01:00
irq-renesas-h8300h.c irqchip/irq-renesas-h8300h: Constify irq_domain_ops 2017-06-22 14:13:14 +01:00
irq-renesas-intc-irqpin.c irqchip/renesas-intc-irqpin: Improve clock error handling and reporting 2015-11-24 16:54:19 +00:00
irq-renesas-irqc.c irqchip/renesas-irqc: Move over to nested generic chip 2015-09-29 20:41:00 +02:00
irq-s3c24xx.c irqchip/s3c24xx: Fixup IO accessors for big endian 2016-06-23 18:28:00 +00:00
irq-sa11x0.c ARM: kill off set_irq_flags usage 2015-07-28 13:58:13 +02:00
irq-sirfsoc.c irqchip/sirfsoc: Fix sparse warnings on __iomem 2016-06-13 00:48:31 +00:00
irq-st.c irqchip/st: Mark st_irq_syscfg_resume() __maybe_unused 2016-12-19 10:55:43 +01:00
irq-stm32-exti.c drivers/irqchip: Add STM32 external interrupts support 2016-09-21 14:13:21 +02:00
irq-sun4i.c irqchip/sun4i: Fix compilation outside of arch/arm 2016-02-02 15:46:40 +01:00
irq-sunxi-nmi.c irqchip/sunxi-nmi: Support sun6i-a31-r-intc compatible 2017-06-22 14:08:17 +01:00
irq-tango.c irqchip/tango: Add support for Sigma Designs SMP86xx/SMP87xx interrupt controller 2016-02-18 01:18:14 +00:00
irq-tb10x.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
irq-tegra.c irqchip/tegra: Fix sparse warnings on __iomem 2016-06-13 00:49:39 +00:00
irq-ts4800.c irqchip/ts4800: Make ts4800_ic_ops static const 2016-02-18 02:09:18 +00:00
irq-versatile-fpga.c irqchip: versatile-fpga: add new compatible for OX810SE SoC 2016-04-26 09:50:51 +02:00
irq-vf610-mscm-ir.c irqchip: Convert all alloc/xlate users from of_node to fwnode 2015-10-13 19:01:23 +02:00
irq-vic.c irqchip/vic: Improve function-level documentation 2016-10-05 11:53:35 +02:00
irq-vt8500.c irqchip: Kill off set_irq_flags usage 2015-09-16 16:53:38 +02:00
irq-xilinx-intc.c powerpc/virtex: Use generic xilinx irqchip driver 2016-11-29 09:14:50 +00:00
irq-xtensa-mx.c xtensa: don't use linux IRQ #0 2017-06-05 16:53:10 -07:00
irq-xtensa-pic.c xtensa: don't use linux IRQ #0 2017-06-05 16:53:10 -07:00
irq-zevio.c irqchip/zevio: Use irq_data_get_chip_type() helper 2015-12-30 18:29:02 +01:00
irqchip.c irqchip / GIC: Convert the GIC driver to ACPI probing 2015-10-01 02:18:38 +02:00
Kconfig arm64 updates for 4.13: 2017-07-05 17:09:27 -07:00
Makefile irqchip/irq-mvebu-icu: Add new driver for Marvell ICU 2017-06-23 09:14:57 +01:00
qcom-irq-combiner.c irqchip/qcom: Use builtin_platform_driver to simplify the code 2017-06-22 14:15:00 +01:00
spear-shirq.c remove lots of IS_ERR_VALUE abuses 2016-05-27 15:26:11 -07:00