Commit 0be3ff0c authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'edac_updates_for_v5.19_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras

Pull EDAC updates from Borislav Petkov:

 - Switch ghes_edac to use the CPER error reporting routines and
   simplify the code considerably this way

 - Rip out the silly edac_align_ptr() contraption which was computing
   the size of the private structures of each driver and thus allowing
   for a one-shot memory allocation. This was clearly unnecessary and
   confusing so switch to simple and boring kmalloc* calls.

 - Last but not least, the usual garden variety of fixes, cleanups and
   improvements all over EDAC land

* tag 'edac_updates_for_v5.19_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:
  EDAC/xgene: Fix typo processsors -> processors
  EDAC/i5100: Remove unused inline function i5100_nrecmema_dm_buf_id()
  EDAC: Use kcalloc()
  EDAC/ghes: Change ghes_hw from global to static
  EDAC/armada_xp: Use devm_platform_ioremap_resource()
  EDAC/synopsys: Add a SPDX identifier
  EDAC/synopsys: Add driver support for i.MX platforms
  EDAC/dmc520: Don't print an error for each unconfigured interrupt line
  EDAC/mc: Get rid of edac_align_ptr()
  EDAC/device: Sanitize edac_device_alloc_ctl_info() definition
  EDAC/device: Get rid of the silly one-shot memory allocation in edac_device_alloc_ctl_info()
  EDAC/pci: Get rid of the silly one-shot memory allocation in edac_pci_alloc_ctl_info()
  EDAC/mc: Get rid of silly one-shot struct allocation in edac_mc_alloc()
  efi/cper: Reformat CPER memory error location to more readable
  EDAC/ghes: Unify CPER memory error location reporting
  efi/cper: Add a cper_mem_err_status_str() to decode error description
  powerpc/85xx: Remove fsl,85... bindings
parents 03e1ccd4 be80a1ca
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -25,12 +25,6 @@ properties:
          - const: fsl,qoriq-memory-controller
      - enum:
          - fsl,bsc9132-memory-controller
          - fsl,8540-memory-controller
          - fsl,8541-memory-controller
          - fsl,8544-memory-controller
          - fsl,8548-memory-controller
          - fsl,8555-memory-controller
          - fsl,8568-memory-controller
          - fsl,mpc8536-memory-controller
          - fsl,mpc8540-memory-controller
          - fsl,mpc8541-memory-controller
+0 −6
Original line number Diff line number Diff line
@@ -6,12 +6,6 @@ The cache bindings explained below are Devicetree Specification compliant
Required Properties:

- compatible	: Should include one of the following:
		  "fsl,8540-l2-cache-controller"
		  "fsl,8541-l2-cache-controller"
		  "fsl,8544-l2-cache-controller"
		  "fsl,8548-l2-cache-controller"
		  "fsl,8555-l2-cache-controller"
		  "fsl,8568-l2-cache-controller"
		  "fsl,b4420-l2-cache-controller"
		  "fsl,b4860-l2-cache-controller"
		  "fsl,bsc9131-l2-cache-controller"
+2 −1
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ config EDAC_DECODE_MCE
config EDAC_GHES
	bool "Output ACPI APEI/GHES BIOS detected errors via EDAC"
	depends on ACPI_APEI_GHES && (EDAC=y)
	select UEFI_CPER
	help
	  Not all machines support hardware-driven error report. Some of those
	  provide a BIOS-driven error report mechanism via ACPI, using the
@@ -484,7 +485,7 @@ config EDAC_ARMADA_XP

config EDAC_SYNOPSYS
	tristate "Synopsys DDR Memory Controller"
	depends on ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_INTEL_SOCFPGA
	depends on ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_INTEL_SOCFPGA || ARCH_MXC
	help
	  Support for error detection and correction on the Synopsys DDR
	  memory controller.
+2 −16
Original line number Diff line number Diff line
@@ -286,17 +286,10 @@ static int axp_mc_probe(struct platform_device *pdev)
	struct edac_mc_layer layers[1];
	const struct of_device_id *id;
	struct mem_ctl_info *mci;
	struct resource *r;
	void __iomem *base;
	uint32_t config;

	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
	if (!r) {
		dev_err(&pdev->dev, "Unable to get mem resource\n");
		return -ENODEV;
	}

	base = devm_ioremap_resource(&pdev->dev, r);
	base = devm_platform_ioremap_resource(pdev, 0);
	if (IS_ERR(base)) {
		dev_err(&pdev->dev, "Unable to map regs\n");
		return PTR_ERR(base);
@@ -516,15 +509,8 @@ static int aurora_l2_probe(struct platform_device *pdev)
	const struct of_device_id *id;
	uint32_t l2x0_aux_ctrl;
	void __iomem *base;
	struct resource *r;

	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
	if (!r) {
		dev_err(&pdev->dev, "Unable to get mem resource\n");
		return -ENODEV;
	}

	base = devm_ioremap_resource(&pdev->dev, r);
	base = devm_platform_ioremap_resource(pdev, 0);
	if (IS_ERR(base)) {
		dev_err(&pdev->dev, "Unable to map regs\n");
		return PTR_ERR(base);
+1 −1
Original line number Diff line number Diff line
@@ -489,7 +489,7 @@ static int dmc520_edac_probe(struct platform_device *pdev)
	dev = &pdev->dev;

	for (idx = 0; idx < NUMBER_OF_IRQS; idx++) {
		irq = platform_get_irq_byname(pdev, dmc520_irq_configs[idx].name);
		irq = platform_get_irq_byname_optional(pdev, dmc520_irq_configs[idx].name);
		irqs[idx] = irq;
		masks[idx] = dmc520_irq_configs[idx].mask;
		if (irq >= 0) {
Loading