Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d870a9d5 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull EDAC updates from Borislav Petkov:

 - hide EDAC workqueue from users (Borislav Petkov)

 - edac_subsys init/teardown cleanup (Borislav Petkov)

 - make mpc85xx-pci-edac a platform device (Scott Wood)

 - sb_edac KNL gen2 support (Jim Snow)

 - other small cleanups all over the place

* tag 'edac_for_4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
  EDAC, i5100: Use to_delayed_work()
  MAINTAINERS: Fix EDAC repo URLs format
  EDAC, sb_edac: Set fixed DIMM width on Xeon Knights Landing
  EDAC: Rework workqueue handling
  EDAC: Make edac_device workqueue setup/teardown functions static
  EDAC: Remove edac_get_sysfs_subsys() error handling
  EDAC: Unexport and make edac_subsys static
  EDAC: Rip out the edac_subsys reference counting
  EDAC: Robustify workqueues destruction
  EDAC, mc_sysfs: Fix freeing bus' name
  EDAC, mpc85xx: Make mpc85xx-pci-edac a platform device
  EDAC, sb_edac: Add Knights Landing (Xeon Phi gen 2) support
  EDAC, sb_edac: Add support for duplicate device IDs
  EDAC, sb_edac: Virtualize several hard-coded functions
  EDAC, mv64x60: Use platform_register/unregister_drivers()
  EDAC, mpc85xx: Use platform_register/unregister_drivers()
  EDAC: Add DDR4 flag
  EDAC: Remove references to bluesmoke.sourceforge.net
  EDAC, pci: Remove old disabled code
parents 2634bf25 1cac5503
Loading
Loading
Loading
Loading
+7 −3
Original line number Original line Diff line number Diff line
EDAC - Error Detection And Correction
EDAC - Error Detection And Correction
=====================================
=====================================


"bluesmoke" was the name for this device driver when it was "out-of-tree"
"bluesmoke" was the name for this device driver when it
and maintained at sourceforge.net.  When it was pushed into 2.6.16 for the
was "out-of-tree" and maintained at sourceforge.net -
first time, it was renamed to 'EDAC'.
bluesmoke.sourceforge.net. That site is mostly archaic now and can be
used only for historical purposes.

When the subsystem was pushed into 2.6.16 for the first time, it was
renamed to 'EDAC'.


PURPOSE
PURPOSE
-------
-------
+2 −21
Original line number Original line Diff line number Diff line
@@ -3933,9 +3933,8 @@ M: Doug Thompson <dougthompson@xmission.com>
M:	Borislav Petkov <bp@alien8.de>
M:	Borislav Petkov <bp@alien8.de>
M:	Mauro Carvalho Chehab <mchehab@osg.samsung.com>
M:	Mauro Carvalho Chehab <mchehab@osg.samsung.com>
L:	linux-edac@vger.kernel.org
L:	linux-edac@vger.kernel.org
W:	bluesmoke.sourceforge.net
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp.git for-next
T:	git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp.git#for-next
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac.git linux_next
T:	git://git.kernel.org/pub/linux/kernel/git/mchehab/linux-edac.git#linux_next
S:	Supported
S:	Supported
F:	Documentation/edac.txt
F:	Documentation/edac.txt
F:	drivers/edac/
F:	drivers/edac/
@@ -3945,7 +3944,6 @@ EDAC-AMD64
M:	Doug Thompson <dougthompson@xmission.com>
M:	Doug Thompson <dougthompson@xmission.com>
M:	Borislav Petkov <bp@alien8.de>
M:	Borislav Petkov <bp@alien8.de>
L:	linux-edac@vger.kernel.org
L:	linux-edac@vger.kernel.org
W:	bluesmoke.sourceforge.net
S:	Maintained
S:	Maintained
F:	drivers/edac/amd64_edac*
F:	drivers/edac/amd64_edac*


@@ -3953,7 +3951,6 @@ EDAC-CALXEDA
M:	Doug Thompson <dougthompson@xmission.com>
M:	Doug Thompson <dougthompson@xmission.com>
M:	Robert Richter <rric@kernel.org>
M:	Robert Richter <rric@kernel.org>
L:	linux-edac@vger.kernel.org
L:	linux-edac@vger.kernel.org
W:	bluesmoke.sourceforge.net
S:	Maintained
S:	Maintained
F:	drivers/edac/highbank*
F:	drivers/edac/highbank*


@@ -3962,7 +3959,6 @@ M: Ralf Baechle <ralf@linux-mips.org>
M:	David Daney <david.daney@cavium.com>
M:	David Daney <david.daney@cavium.com>
L:	linux-edac@vger.kernel.org
L:	linux-edac@vger.kernel.org
L:	linux-mips@linux-mips.org
L:	linux-mips@linux-mips.org
W:	bluesmoke.sourceforge.net
S:	Supported
S:	Supported
F:	drivers/edac/octeon_edac*
F:	drivers/edac/octeon_edac*


@@ -3970,63 +3966,54 @@ EDAC-E752X
M:	Mark Gross <mark.gross@intel.com>
M:	Mark Gross <mark.gross@intel.com>
M:	Doug Thompson <dougthompson@xmission.com>
M:	Doug Thompson <dougthompson@xmission.com>
L:	linux-edac@vger.kernel.org
L:	linux-edac@vger.kernel.org
W:	bluesmoke.sourceforge.net
S:	Maintained
S:	Maintained
F:	drivers/edac/e752x_edac.c
F:	drivers/edac/e752x_edac.c


EDAC-E7XXX
EDAC-E7XXX
M:	Doug Thompson <dougthompson@xmission.com>
M:	Doug Thompson <dougthompson@xmission.com>
L:	linux-edac@vger.kernel.org
L:	linux-edac@vger.kernel.org
W:	bluesmoke.sourceforge.net
S:	Maintained
S:	Maintained
F:	drivers/edac/e7xxx_edac.c
F:	drivers/edac/e7xxx_edac.c


EDAC-GHES
EDAC-GHES
M:	Mauro Carvalho Chehab <mchehab@osg.samsung.com>
M:	Mauro Carvalho Chehab <mchehab@osg.samsung.com>
L:	linux-edac@vger.kernel.org
L:	linux-edac@vger.kernel.org
W:	bluesmoke.sourceforge.net
S:	Maintained
S:	Maintained
F:	drivers/edac/ghes_edac.c
F:	drivers/edac/ghes_edac.c


EDAC-I82443BXGX
EDAC-I82443BXGX
M:	Tim Small <tim@buttersideup.com>
M:	Tim Small <tim@buttersideup.com>
L:	linux-edac@vger.kernel.org
L:	linux-edac@vger.kernel.org
W:	bluesmoke.sourceforge.net
S:	Maintained
S:	Maintained
F:	drivers/edac/i82443bxgx_edac.c
F:	drivers/edac/i82443bxgx_edac.c


EDAC-I3000
EDAC-I3000
M:	Jason Uhlenkott <juhlenko@akamai.com>
M:	Jason Uhlenkott <juhlenko@akamai.com>
L:	linux-edac@vger.kernel.org
L:	linux-edac@vger.kernel.org
W:	bluesmoke.sourceforge.net
S:	Maintained
S:	Maintained
F:	drivers/edac/i3000_edac.c
F:	drivers/edac/i3000_edac.c


EDAC-I5000
EDAC-I5000
M:	Doug Thompson <dougthompson@xmission.com>
M:	Doug Thompson <dougthompson@xmission.com>
L:	linux-edac@vger.kernel.org
L:	linux-edac@vger.kernel.org
W:	bluesmoke.sourceforge.net
S:	Maintained
S:	Maintained
F:	drivers/edac/i5000_edac.c
F:	drivers/edac/i5000_edac.c


EDAC-I5400
EDAC-I5400
M:	Mauro Carvalho Chehab <mchehab@osg.samsung.com>
M:	Mauro Carvalho Chehab <mchehab@osg.samsung.com>
L:	linux-edac@vger.kernel.org
L:	linux-edac@vger.kernel.org
W:	bluesmoke.sourceforge.net
S:	Maintained
S:	Maintained
F:	drivers/edac/i5400_edac.c
F:	drivers/edac/i5400_edac.c


EDAC-I7300
EDAC-I7300
M:	Mauro Carvalho Chehab <mchehab@osg.samsung.com>
M:	Mauro Carvalho Chehab <mchehab@osg.samsung.com>
L:	linux-edac@vger.kernel.org
L:	linux-edac@vger.kernel.org
W:	bluesmoke.sourceforge.net
S:	Maintained
S:	Maintained
F:	drivers/edac/i7300_edac.c
F:	drivers/edac/i7300_edac.c


EDAC-I7CORE
EDAC-I7CORE
M:	Mauro Carvalho Chehab <mchehab@osg.samsung.com>
M:	Mauro Carvalho Chehab <mchehab@osg.samsung.com>
L:	linux-edac@vger.kernel.org
L:	linux-edac@vger.kernel.org
W:	bluesmoke.sourceforge.net
S:	Maintained
S:	Maintained
F:	drivers/edac/i7core_edac.c
F:	drivers/edac/i7core_edac.c


@@ -4034,42 +4021,36 @@ EDAC-I82975X
M:	Ranganathan Desikan <ravi@jetztechnologies.com>
M:	Ranganathan Desikan <ravi@jetztechnologies.com>
M:	"Arvind R." <arvino55@gmail.com>
M:	"Arvind R." <arvino55@gmail.com>
L:	linux-edac@vger.kernel.org
L:	linux-edac@vger.kernel.org
W:	bluesmoke.sourceforge.net
S:	Maintained
S:	Maintained
F:	drivers/edac/i82975x_edac.c
F:	drivers/edac/i82975x_edac.c


EDAC-IE31200
EDAC-IE31200
M:	Jason Baron <jbaron@akamai.com>
M:	Jason Baron <jbaron@akamai.com>
L:	linux-edac@vger.kernel.org
L:	linux-edac@vger.kernel.org
W:	bluesmoke.sourceforge.net
S:	Maintained
S:	Maintained
F:	drivers/edac/ie31200_edac.c
F:	drivers/edac/ie31200_edac.c


EDAC-MPC85XX
EDAC-MPC85XX
M:	Johannes Thumshirn <morbidrsa@gmail.com>
M:	Johannes Thumshirn <morbidrsa@gmail.com>
L:	linux-edac@vger.kernel.org
L:	linux-edac@vger.kernel.org
W:	bluesmoke.sourceforge.net
S:	Maintained
S:	Maintained
F:	drivers/edac/mpc85xx_edac.[ch]
F:	drivers/edac/mpc85xx_edac.[ch]


EDAC-PASEMI
EDAC-PASEMI
M:	Egor Martovetsky <egor@pasemi.com>
M:	Egor Martovetsky <egor@pasemi.com>
L:	linux-edac@vger.kernel.org
L:	linux-edac@vger.kernel.org
W:	bluesmoke.sourceforge.net
S:	Maintained
S:	Maintained
F:	drivers/edac/pasemi_edac.c
F:	drivers/edac/pasemi_edac.c


EDAC-R82600
EDAC-R82600
M:	Tim Small <tim@buttersideup.com>
M:	Tim Small <tim@buttersideup.com>
L:	linux-edac@vger.kernel.org
L:	linux-edac@vger.kernel.org
W:	bluesmoke.sourceforge.net
S:	Maintained
S:	Maintained
F:	drivers/edac/r82600_edac.c
F:	drivers/edac/r82600_edac.c


EDAC-SBRIDGE
EDAC-SBRIDGE
M:	Mauro Carvalho Chehab <mchehab@osg.samsung.com>
M:	Mauro Carvalho Chehab <mchehab@osg.samsung.com>
L:	linux-edac@vger.kernel.org
L:	linux-edac@vger.kernel.org
W:	bluesmoke.sourceforge.net
S:	Maintained
S:	Maintained
F:	drivers/edac/sb_edac.c
F:	drivers/edac/sb_edac.c


+27 −1
Original line number Original line Diff line number Diff line
@@ -21,10 +21,12 @@
#include <linux/pci.h>
#include <linux/pci.h>
#include <linux/delay.h>
#include <linux/delay.h>
#include <linux/string.h>
#include <linux/string.h>
#include <linux/fsl/edac.h>
#include <linux/init.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/interrupt.h>
#include <linux/memblock.h>
#include <linux/memblock.h>
#include <linux/log2.h>
#include <linux/log2.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/slab.h>
#include <linux/suspend.h>
#include <linux/suspend.h>
#include <linux/syscore_ops.h>
#include <linux/syscore_ops.h>
@@ -1255,6 +1257,25 @@ void fsl_pcibios_fixup_phb(struct pci_controller *phb)
#endif
#endif
}
}


static int add_err_dev(struct platform_device *pdev)
{
	struct platform_device *errdev;
	struct mpc85xx_edac_pci_plat_data pd = {
		.of_node = pdev->dev.of_node
	};

	errdev = platform_device_register_resndata(&pdev->dev,
						   "mpc85xx-pci-edac",
						   PLATFORM_DEVID_AUTO,
						   pdev->resource,
						   pdev->num_resources,
						   &pd, sizeof(pd));
	if (IS_ERR(errdev))
		return PTR_ERR(errdev);

	return 0;
}

static int fsl_pci_probe(struct platform_device *pdev)
static int fsl_pci_probe(struct platform_device *pdev)
{
{
	struct device_node *node;
	struct device_node *node;
@@ -1262,8 +1283,13 @@ static int fsl_pci_probe(struct platform_device *pdev)


	node = pdev->dev.of_node;
	node = pdev->dev.of_node;
	ret = fsl_add_bridge(pdev, fsl_pci_primary == node);
	ret = fsl_add_bridge(pdev, fsl_pci_primary == node);
	if (ret)
		return ret;


	mpc85xx_pci_err_probe(pdev);
	ret = add_err_dev(pdev);
	if (ret)
		dev_err(&pdev->dev, "couldn't register error device: %d\n",
			ret);


	return 0;
	return 0;
}
}
+0 −9
Original line number Original line Diff line number Diff line
@@ -130,15 +130,6 @@ void fsl_pci_assign_primary(void);
static inline void fsl_pci_assign_primary(void) {}
static inline void fsl_pci_assign_primary(void) {}
#endif
#endif


#ifdef CONFIG_EDAC_MPC85XX
int mpc85xx_pci_err_probe(struct platform_device *op);
#else
static inline int mpc85xx_pci_err_probe(struct platform_device *op)
{
	return -ENOTSUPP;
}
#endif

#ifdef CONFIG_FSL_PCI
#ifdef CONFIG_FSL_PCI
extern int fsl_pci_mcheck_exception(struct pt_regs *);
extern int fsl_pci_mcheck_exception(struct pt_regs *);
#else
#else
+1 −1
Original line number Original line Diff line number Diff line
@@ -10,7 +10,7 @@ obj-$(CONFIG_EDAC) := edac_stub.o
obj-$(CONFIG_EDAC_MM_EDAC)		+= edac_core.o
obj-$(CONFIG_EDAC_MM_EDAC)		+= edac_core.o


edac_core-y	:= edac_mc.o edac_device.o edac_mc_sysfs.o
edac_core-y	:= edac_mc.o edac_device.o edac_mc_sysfs.o
edac_core-y	+= edac_module.o edac_device_sysfs.o
edac_core-y	+= edac_module.o edac_device_sysfs.o wq.o


edac_core-$(CONFIG_EDAC_DEBUG)		+= debugfs.o
edac_core-$(CONFIG_EDAC_DEBUG)		+= debugfs.o


Loading