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

Commit 01fa90cb authored by Dave Kleikamp's avatar Dave Kleikamp
Browse files

Merge with /home/shaggy/git/linus-clean/

parents 686762c8 2ad56496
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -33,3 +33,6 @@ The result of the execution of this aml method is
attached to /proc/acpi/hotkey/poll_method, which is dnyamically
created.  Please use command "cat /proc/acpi/hotkey/polling_method" 
to retrieve it.

Note: Use cmdline "acpi_generic_hotkey" to over-ride
loading any platform specific drivers.
+5 −0
Original line number Diff line number Diff line
@@ -159,6 +159,11 @@ running once the system is up.

	acpi_fake_ecdt	[HW,ACPI] Workaround failure due to BIOS lacking ECDT

	acpi_generic_hotkey [HW,ACPI]
			Allow consolidated generic hotkey driver to
			over-ride platform specific driver.
			See also Documentation/acpi-hotkey.txt.

	ad1816=		[HW,OSS]
			Format: <io>,<irq>,<dma>,<dma2>
			See also Documentation/sound/oss/AD1816.
+0 −14
Original line number Diff line number Diff line
@@ -266,20 +266,6 @@ port an old driver to the new PCI interface. They are no longer present
in the kernel as they aren't compatible with hotplug or PCI domains or
having sane locking.

pcibios_present() and		Since ages, you don't need to test presence
pci_present()			of PCI subsystem when trying to talk to it.
				If it's not there, the list of PCI devices
				is empty and all functions for searching for
				devices just return NULL.
pcibios_(read|write)_*		Superseded by their pci_(read|write)_*
				counterparts.
pcibios_find_*			Superseded by their pci_get_* counterparts.
pci_for_each_dev()		Superseded by pci_get_device()
pci_for_each_dev_reverse()	Superseded by pci_find_device_reverse()
pci_for_each_bus()		Superseded by pci_find_next_bus()
pci_find_device()		Superseded by pci_get_device()
pci_find_subsys()		Superseded by pci_get_subsys()
pci_find_slot()			Superseded by pci_get_slot()
pcibios_find_class()		Superseded by pci_get_class()
pci_find_class()		Superseded by pci_get_class()
pci_(read|write)_*_nodev()	Superseded by pci_bus_(read|write)_*()
+12 −0
Original line number Diff line number Diff line
@@ -1825,6 +1825,12 @@ P: Greg Kroah-Hartman
M:	greg@kroah.com
S:	Maintained

PCIE HOTPLUG DRIVER
P:	Kristen Carlson Accardi
M:	kristen.c.accardi@intel.com
L:	pcihpd-discuss@lists.sourceforge.net
S:	Maintained

PCMCIA SUBSYSTEM
P:	Linux PCMCIA Team
L:	http://lists.infradead.org/mailman/listinfo/linux-pcmcia
@@ -2201,6 +2207,12 @@ W: http://projects.buici.com/arm
L:	linux-arm-kernel@lists.arm.linux.org.uk	(subscribers-only)
S:	Maintained

SHPC HOTPLUG DRIVER
P:	Kristen Carlson Accardi
M:	kristen.c.accardi@intel.com
L:	pcihpd-discuss@lists.sourceforge.net
S:	Maintained

SPARC (sparc32):
P:	William L. Irwin
M:	wli@holomorphy.com
+1 −78
Original line number Diff line number Diff line
@@ -32,32 +32,12 @@
/* The HvReleaseData is the root of the information shared between 
 * the hypervisor and Linux.  
 */

/*
 * WARNING - magic here
 *
 * Ok, this is a horrid hack below, but marginally better than the
 * alternatives.  What we really want is just to initialize
 * hvReleaseData in C as in the #if 0 section here.  However, gcc
 * refuses to believe that (u32)&x is a constant expression, so will
 * not allow the xMsNucDataOffset field to be properly initialized.
 * So, we declare hvReleaseData in inline asm instead.  We use inline
 * asm, rather than a .S file, because the assembler won't generate
 * the necessary relocation for the LparMap either, unless that symbol
 * is declared in the same source file.  Finally, we put the asm in a
 * dummy, attribute-used function, instead of at file scope, because
 * file scope asms don't allow contraints.  We want to use the "i"
 * constraints to put sizeof() and offsetof() expressions in there,
 * because including asm/offsets.h in C code then stringifying causes
 * all manner of warnings.
 */
#if 0
struct HvReleaseData hvReleaseData = {
	.xDesc = 0xc8a5d9c4,	/* "HvRD" ebcdic */
	.xSize = sizeof(struct HvReleaseData),
	.xVpdAreasPtrOffset = offsetof(struct naca_struct, xItVpdAreas),
	.xSlicNacaAddr = &naca,		/* 64-bit Naca address */
	.xMsNucDataOffset = (u32)((unsigned long)&xLparMap - KERNELBASE),
	.xMsNucDataOffset = LPARMAP_PHYS,
	.xFlags = HVREL_TAGSINACTIVE	/* tags inactive       */
					/* 64 bit              */
					/* shared processors   */
@@ -70,63 +50,6 @@ struct HvReleaseData hvReleaseData = {
		0xa7, 0x40, 0xf2, 0x4b,
		0xf4, 0x4b, 0xf6, 0xf4 },
};
#endif


extern struct HvReleaseData hvReleaseData;

static void __attribute_used__ hvReleaseData_wrapper(void)
{
	/* This doesn't appear to need any alignment (even 4 byte) */
	asm volatile (
		"	lparMapPhys = xLparMap - %3\n"
		"	.data\n"
		"	.globl	hvReleaseData\n"
		"hvReleaseData:\n"
		"	.long	0xc8a5d9c4\n"	/* xDesc */
						/* "HvRD" in ebcdic */
		"	.short	%0\n"		/* xSize */
		"	.short	%1\n"		/* xVpdAreasPtrOffset */
		"	.llong	naca\n"		/* xSlicNacaAddr */
		"	.long	lparMapPhys\n"	/* xMsNucDataOffset */
		"	.long	0\n"		/* xRsvd1 */
		"	.short	%2\n"		/* xFlags */
		"	.short	4\n"	/* xVrmIndex  - v5r2m0 */
		"	.short	3\n"	/* xMinSupportedPlicVrmIndex - v5r1m0 */
		"	.short	3\n"	/* xMinCompatablePlicVrmIndex - v5r1m0 */
		"	.long	0xd38995a4\n"	/* xVrmName */
		"	.long	0xa740f24b\n"	/*   "Linux 2.4.64" ebcdic */
		"	.long	0xf44bf6f4\n"
		"	. = hvReleaseData + %0\n"
		"	.previous\n"
		: : "i"(sizeof(hvReleaseData)),
		"i"(offsetof(struct naca_struct, xItVpdAreas)),
		"i"(HVREL_TAGSINACTIVE /* tags inactive, 64 bit, */
				       /* shared processors, HMT allowed */
		    | 6), /* TEMP: This allows non-GA drivers */
		"i"(KERNELBASE)
		);
}

struct LparMap __attribute__((aligned (16))) xLparMap = {
	.xNumberEsids = HvEsidsToMap,
	.xNumberRanges = HvRangesToMap,
	.xSegmentTableOffs = STAB0_PAGE,

	.xEsids = {
		{ .xKernelEsid = GET_ESID(KERNELBASE),
		  .xKernelVsid = KERNEL_VSID(KERNELBASE), },
		{ .xKernelEsid = GET_ESID(VMALLOCBASE),
		  .xKernelVsid = KERNEL_VSID(VMALLOCBASE), },
	},

	.xRanges = {
		{ .xPages = HvPagesToMap,
		  .xOffset = 0,
		  .xVPN = KERNEL_VSID(KERNELBASE) << (SID_SHIFT - PAGE_SHIFT),
		},
	},
};

extern void system_reset_iSeries(void);
extern void machine_check_iSeries(void);
Loading