parisc architecture fixes for kernel v6.0-rc6:

* Allow to configure for 64-bit kernel with ARCH=parisc
 * Fix asm/errno.h includes in tools directory for parisc and xtensa
 * Clean up iosapic memory allocation
 * Minor typo and spelling fixes
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQS86RI+GtKfB8BJu973ErUQojoPXwUCYydbwQAKCRD3ErUQojoP
 X0JNAQD050ybcW5iTIs1Hns/20BmpPyI+ph75iNE5jRX/85i/wD8DdfUkI06sfzq
 vIshpSaXY5AuBNQsblXJpiFCjbU4/Q4=
 =TCpO
 -----END PGP SIGNATURE-----

Merge tag 'parisc-for-6.0-3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux

Pull parisc architecture fixes from Helge Deller:
 "Some small parisc architecture fixes for 6.0-rc6:

  One patch lightens up a previous commit and thus unbreaks building the
  debian kernel, which tries to configure a 64-bit kernel with the
  ARCH=parisc environment variable set.

  The other patches fixes asm/errno.h includes in the tools directory
  and cleans up memory allocation in the iosapic driver.

  Summary:

   - Allow configuring 64-bit kernel with ARCH=parisc

   - Fix asm/errno.h includes in tools directory for parisc and xtensa

   - Clean up iosapic memory allocation

   - Minor typo and spelling fixes"

* tag 'parisc-for-6.0-3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
  parisc: Allow CONFIG_64BIT with ARCH=parisc
  parisc: remove obsolete manual allocation aligning in iosapic
  tools/include/uapi: Fix <asm/errno.h> for parisc and xtensa
  Input: hp_sdc: fix spelling typo in comment
  parisc: ccio-dma: Add missing iounmap in error path in ccio_probe()
This commit is contained in:
Linus Torvalds 2022-09-18 13:26:59 -07:00
commit 7c18b453ef
5 changed files with 16 additions and 14 deletions

View File

@ -224,8 +224,18 @@ config MLONGCALLS
Enabling this option will probably slow down your kernel. Enabling this option will probably slow down your kernel.
config 64BIT config 64BIT
def_bool "$(ARCH)" = "parisc64" def_bool y if "$(ARCH)" = "parisc64"
bool "64-bit kernel" if "$(ARCH)" = "parisc"
depends on PA8X00 depends on PA8X00
help
Enable this if you want to support 64bit kernel on PA-RISC platform.
At the moment, only people willing to use more than 2GB of RAM,
or having a 64bit-only capable PA-RISC machine should say Y here.
Since there is no 64bit userland on PA-RISC, there is no point to
enable this option otherwise. The 64bit kernel is significantly bigger
and slower than the 32bit one.
choice choice
prompt "Kernel page size" prompt "Kernel page size"

View File

@ -1546,6 +1546,7 @@ static int __init ccio_probe(struct parisc_device *dev)
} }
ccio_ioc_init(ioc); ccio_ioc_init(ioc);
if (ccio_init_resources(ioc)) { if (ccio_init_resources(ioc)) {
iounmap(ioc->ioc_regs);
kfree(ioc); kfree(ioc);
return -ENOMEM; return -ENOMEM;
} }

View File

@ -221,16 +221,7 @@ static size_t irt_num_entry;
static struct irt_entry *iosapic_alloc_irt(int num_entries) static struct irt_entry *iosapic_alloc_irt(int num_entries)
{ {
unsigned long a; return kcalloc(num_entries, sizeof(struct irt_entry), GFP_KERNEL);
/* The IRT needs to be 8-byte aligned for the PDC call.
* Normally kmalloc would guarantee larger alignment, but
* if CONFIG_DEBUG_SLAB is enabled, then we can get only
* 4-byte alignment on 32-bit kernels
*/
a = (unsigned long)kmalloc(sizeof(struct irt_entry) * num_entries + 8, GFP_KERNEL);
a = (a + 7UL) & ~7UL;
return (struct irt_entry *)a;
} }
/** /**

View File

@ -180,7 +180,7 @@ switch (val) { \
#define HP_SDC_CMD_SET_IM 0x40 /* 010xxxxx == set irq mask */ #define HP_SDC_CMD_SET_IM 0x40 /* 010xxxxx == set irq mask */
/* The documents provided do not explicitly state that all registers betweem /* The documents provided do not explicitly state that all registers between
* 0x01 and 0x1f inclusive can be read by sending their register index as a * 0x01 and 0x1f inclusive can be read by sending their register index as a
* command, but this is implied and appears to be the case. * command, but this is implied and appears to be the case.
*/ */

View File

@ -9,8 +9,8 @@
#include "../../../arch/alpha/include/uapi/asm/errno.h" #include "../../../arch/alpha/include/uapi/asm/errno.h"
#elif defined(__mips__) #elif defined(__mips__)
#include "../../../arch/mips/include/uapi/asm/errno.h" #include "../../../arch/mips/include/uapi/asm/errno.h"
#elif defined(__xtensa__) #elif defined(__hppa__)
#include "../../../arch/xtensa/include/uapi/asm/errno.h" #include "../../../arch/parisc/include/uapi/asm/errno.h"
#else #else
#include <asm-generic/errno.h> #include <asm-generic/errno.h>
#endif #endif