diff options
| author | David S. Miller <davem@nuts.davemloft.net> | 2004-04-13 08:53:43 -0700 |
|---|---|---|
| committer | David S. Miller <davem@nuts.davemloft.net> | 2004-04-13 08:53:43 -0700 |
| commit | 45f96af1e303ff666cb3c6ac2bf241e667c6f856 (patch) | |
| tree | 96091faf66c1ba8e5a2e5b4f517faffc5d196144 | |
| parent | 51af77dbb806a3df044de15301d51488202bdfce (diff) | |
| parent | 697a7d5de2b1465a7d6e83c8651921a301f27e42 (diff) | |
Merge nuts.davemloft.net:/disk1/BK/sparcwork-2.6
into nuts.davemloft.net:/disk1/BK/sparc-2.6
| -rw-r--r-- | arch/sparc/kernel/process.c | 8 | ||||
| -rw-r--r-- | arch/sparc64/Kconfig | 5 | ||||
| -rw-r--r-- | arch/sparc64/Makefile | 1 | ||||
| -rw-r--r-- | arch/sparc64/kernel/Makefile | 2 | ||||
| -rw-r--r-- | arch/sparc64/kernel/power.c | 8 | ||||
| -rw-r--r-- | arch/sparc64/lib/mcount.S | 3 | ||||
| -rw-r--r-- | arch/sparc64/mm/hugetlbpage.c | 1 | ||||
| -rw-r--r-- | drivers/video/bw2.c | 6 | ||||
| -rw-r--r-- | drivers/video/cg14.c | 93 | ||||
| -rw-r--r-- | drivers/video/cg3.c | 8 | ||||
| -rw-r--r-- | drivers/video/cg6.c | 50 | ||||
| -rw-r--r-- | drivers/video/ffb.c | 164 | ||||
| -rw-r--r-- | drivers/video/leo.c | 80 | ||||
| -rw-r--r-- | drivers/video/tcx.c | 67 | ||||
| -rw-r--r-- | include/linux/sysctl.h | 1 | ||||
| -rw-r--r-- | include/sound/sndmagic.h | 1 | ||||
| -rw-r--r-- | kernel/sysctl.c | 9 | ||||
| -rw-r--r-- | sound/core/Kconfig | 2 |
18 files changed, 417 insertions, 92 deletions
diff --git a/arch/sparc/kernel/process.c b/arch/sparc/kernel/process.c index 70261b211997..8f7c9429d7c0 100644 --- a/arch/sparc/kernel/process.c +++ b/arch/sparc/kernel/process.c @@ -56,6 +56,12 @@ void (*pm_idle)(void); */ void (*pm_power_off)(void); +/* + * sysctl - toggle power-off restriction for serial console + * systems in machine_power_off() + */ +int scons_pwroff = 1; + extern void fpsave(unsigned long *, unsigned long *, void *, unsigned long *); struct task_struct *last_task_used_math = NULL; @@ -187,7 +193,7 @@ EXPORT_SYMBOL(machine_restart); void machine_power_off(void) { #ifdef CONFIG_SUN_AUXIO - if (auxio_power_register && !serial_console) + if (auxio_power_register && (!serial_console || scons_pwroff)) *auxio_power_register |= AUXIO_POWER_OFF; #endif machine_halt(); diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig index fda940d84cd5..ff9718e102e6 100644 --- a/arch/sparc64/Kconfig +++ b/arch/sparc64/Kconfig @@ -700,6 +700,11 @@ config MCOUNT depends on STACK_DEBUG default y +config FRAME_POINTER + bool + depends on MCOUNT + default y + endmenu source "security/Kconfig" diff --git a/arch/sparc64/Makefile b/arch/sparc64/Makefile index 5055b55afffb..fab2d826b9a2 100644 --- a/arch/sparc64/Makefile +++ b/arch/sparc64/Makefile @@ -52,7 +52,6 @@ ifeq ($(INLINE_LIMIT),y) endif ifeq ($(CONFIG_MCOUNT),y) - CFLAGS := $(subst -fomit-frame-pointer,,$(CFLAGS)) CFLAGS := $(CFLAGS) -pg endif diff --git a/arch/sparc64/kernel/Makefile b/arch/sparc64/kernel/Makefile index 2caca47d8658..22113fd41185 100644 --- a/arch/sparc64/kernel/Makefile +++ b/arch/sparc64/kernel/Makefile @@ -3,7 +3,7 @@ # EXTRA_AFLAGS := -ansi -EXTRA_CFLAGS := -Werror +# EXTRA_CFLAGS := -Werror extra-y := head.o init_task.o vmlinux.lds.s diff --git a/arch/sparc64/kernel/power.c b/arch/sparc64/kernel/power.c index bebec2e39398..b501622f0318 100644 --- a/arch/sparc64/kernel/power.c +++ b/arch/sparc64/kernel/power.c @@ -20,6 +20,12 @@ #define __KERNEL_SYSCALLS__ #include <linux/unistd.h> +/* + * sysctl - toggle power-off restriction for serial console + * systems in machine_power_off() + */ +int scons_pwroff = 1; + #ifdef CONFIG_PCI static unsigned long power_reg = 0UL; @@ -44,7 +50,7 @@ static void (*poweroff_method)(void) = machine_alt_power_off; void machine_power_off(void) { - if (!serial_console) { + if (!serial_console || scons_pwroff) { #ifdef CONFIG_PCI if (power_reg != 0UL) { /* Both register bits seem to have the diff --git a/arch/sparc64/lib/mcount.S b/arch/sparc64/lib/mcount.S index db5ecf9aa1a4..4e8c7928c49f 100644 --- a/arch/sparc64/lib/mcount.S +++ b/arch/sparc64/lib/mcount.S @@ -30,8 +30,9 @@ ovstack: #endif .text .align 32 - .globl mcount + .globl mcount, _mcount mcount: +_mcount: #ifdef CONFIG_STACK_DEBUG /* * Check whether %sp is dangerously low. diff --git a/arch/sparc64/mm/hugetlbpage.c b/arch/sparc64/mm/hugetlbpage.c index b4e6dfa0833a..bf9d8c89df56 100644 --- a/arch/sparc64/mm/hugetlbpage.c +++ b/arch/sparc64/mm/hugetlbpage.c @@ -5,6 +5,7 @@ */ #include <linux/config.h> +#include <linux/module.h> #include <linux/init.h> #include <linux/fs.h> #include <linux/mm.h> diff --git a/drivers/video/bw2.c b/drivers/video/bw2.c index cf270f154144..b3ab23b0725b 100644 --- a/drivers/video/bw2.c +++ b/drivers/video/bw2.c @@ -162,8 +162,10 @@ bw2_blank(int blank, struct fb_info *info) } static struct sbus_mmap_map bw2_mmap_map[] = { - { 0, 0, SBUS_MMAP_FBSIZE(1) }, - { 0, 0, 0 } + { + .size = SBUS_MMAP_FBSIZE(1) + }, + { .size = 0 } }; static int bw2_mmap(struct fb_info *info, struct file *file, struct vm_area_struct *vma) diff --git a/drivers/video/cg14.c b/drivers/video/cg14.c index 375443707b3a..40d28baf46c2 100644 --- a/drivers/video/cg14.c +++ b/drivers/video/cg14.c @@ -367,23 +367,82 @@ static void cg14_init_fix(struct fb_info *info, int linebytes) } static struct sbus_mmap_map __cg14_mmap_map[CG14_MMAP_ENTRIES] __initdata = { - { CG14_REGS, 0x80000000, 0x1000 }, - { CG14_XLUT, 0x80003000, 0x1000 }, - { CG14_CLUT1, 0x80004000, 0x1000 }, - { CG14_CLUT2, 0x80005000, 0x1000 }, - { CG14_CLUT3, 0x80006000, 0x1000 }, - { CG3_MMAP_OFFSET - - 0x7000, 0x80000000, 0x7000 }, - { CG3_MMAP_OFFSET, 0x00000000, SBUS_MMAP_FBSIZE(1) }, - { MDI_CURSOR_MAP, 0x80001000, 0x1000 }, - { MDI_CHUNKY_BGR_MAP, 0x01000000, 0x400000 }, - { MDI_PLANAR_X16_MAP, 0x02000000, 0x200000 }, - { MDI_PLANAR_C16_MAP, 0x02800000, 0x200000 }, - { MDI_PLANAR_X32_MAP, 0x03000000, 0x100000 }, - { MDI_PLANAR_B32_MAP, 0x03400000, 0x100000 }, - { MDI_PLANAR_G32_MAP, 0x03800000, 0x100000 }, - { MDI_PLANAR_R32_MAP, 0x03c00000, 0x100000 }, - { 0, 0, 0 } + { + .voff = CG14_REGS, + .poff = 0x80000000, + .size = 0x1000 + }, + { + .voff = CG14_XLUT, + .poff = 0x80003000, + .size = 0x1000 + }, + { + .voff = CG14_CLUT1, + .poff = 0x80004000, + .size = 0x1000 + }, + { + .voff = CG14_CLUT2, + .poff = 0x80005000, + .size = 0x1000 + }, + { + .voff = CG14_CLUT3, + .poff = 0x80006000, + .size = 0x1000 + }, + { + .voff = CG3_MMAP_OFFSET - 0x7000, + .poff = 0x80000000, + .size = 0x7000 + }, + { + .voff = CG3_MMAP_OFFSET, + .poff = 0x00000000, + .size = SBUS_MMAP_FBSIZE(1) + }, + { + .voff = MDI_CURSOR_MAP, + .poff = 0x80001000, + .size = 0x1000 + }, + { + .voff = MDI_CHUNKY_BGR_MAP, + .poff = 0x01000000, + .size = 0x400000 + }, + { + .voff = MDI_PLANAR_X16_MAP, + .poff = 0x02000000, + .size = 0x200000 + }, + { + .voff = MDI_PLANAR_C16_MAP, + .poff = 0x02800000, + .size = 0x200000 + }, + { + .voff = MDI_PLANAR_X32_MAP, + .poff = 0x03000000, + .size = 0x100000 + }, + { + .voff = MDI_PLANAR_B32_MAP, + .poff = 0x03400000, + .size = 0x100000 + }, + { + .voff = MDI_PLANAR_G32_MAP, + .poff = 0x03800000, + .size = 0x100000 + }, + { + .voff = MDI_PLANAR_R32_MAP, + .poff = 0x03c00000, + .size = 0x100000 + }, + { .size = 0 } }; struct all_info { diff --git a/drivers/video/cg3.c b/drivers/video/cg3.c index 361f5f93942f..dd0163cc31cb 100644 --- a/drivers/video/cg3.c +++ b/drivers/video/cg3.c @@ -221,8 +221,12 @@ cg3_blank(int blank, struct fb_info *info) } static struct sbus_mmap_map cg3_mmap_map[] = { - { CG3_MMAP_OFFSET, CG3_RAM_OFFSET, SBUS_MMAP_FBSIZE(1) }, - { 0, 0, 0 } + { + .poff = CG3_MMAP_OFFSET, + .voff = CG3_RAM_OFFSET, + .size = SBUS_MMAP_FBSIZE(1) + }, + { .size = 0 } }; static int cg3_mmap(struct fb_info *info, struct file *file, struct vm_area_struct *vma) diff --git a/drivers/video/cg6.c b/drivers/video/cg6.c index b343355a13e1..469ac206081d 100644 --- a/drivers/video/cg6.c +++ b/drivers/video/cg6.c @@ -480,15 +480,47 @@ cg6_blank(int blank, struct fb_info *info) } static struct sbus_mmap_map cg6_mmap_map[] = { - { CG6_FBC, CG6_FBC_OFFSET, PAGE_SIZE }, - { CG6_TEC, CG6_TEC_OFFSET, PAGE_SIZE }, - { CG6_BTREGS, CG6_BROOKTREE_OFFSET, PAGE_SIZE }, - { CG6_FHC, CG6_FHC_OFFSET, PAGE_SIZE }, - { CG6_THC, CG6_THC_OFFSET, PAGE_SIZE }, - { CG6_ROM, CG6_ROM_OFFSET, 0x10000 }, - { CG6_RAM, CG6_RAM_OFFSET, SBUS_MMAP_FBSIZE(1) }, - { CG6_DHC, CG6_DHC_OFFSET, 0x40000 }, - { 0, 0, 0 } + { + .voff = CG6_FBC, + .poff = CG6_FBC_OFFSET, + .size = PAGE_SIZE + }, + { + .voff = CG6_TEC, + .poff = CG6_TEC_OFFSET, + .size = PAGE_SIZE + }, + { + .voff = CG6_BTREGS, + .poff = CG6_BROOKTREE_OFFSET, + .size = PAGE_SIZE + }, + { + .voff = CG6_FHC, + .poff = CG6_FHC_OFFSET, + .size = PAGE_SIZE + }, + { + .voff = CG6_THC, + .poff = CG6_THC_OFFSET, + .size = PAGE_SIZE + }, + { + .voff = CG6_ROM, + .poff = CG6_ROM_OFFSET, + .size = 0x10000 + }, + { + .voff = CG6_RAM, + .poff = CG6_RAM_OFFSET, + .size = SBUS_MMAP_FBSIZE(1) + }, + { + .voff = CG6_DHC, + .poff = CG6_DHC_OFFSET, + .size = 0x40000 + }, + { .size = 0 } }; static int cg6_mmap(struct fb_info *info, struct file *file, struct vm_area_struct *vma) diff --git a/drivers/video/ffb.c b/drivers/video/ffb.c index 3e2fb2bb088f..1f7613131932 100644 --- a/drivers/video/ffb.c +++ b/drivers/video/ffb.c @@ -769,34 +769,142 @@ ffb_blank(int blank, struct fb_info *info) } static struct sbus_mmap_map ffb_mmap_map[] = { - { FFB_SFB8R_VOFF, FFB_SFB8R_POFF, 0x0400000 }, - { FFB_SFB8G_VOFF, FFB_SFB8G_POFF, 0x0400000 }, - { FFB_SFB8B_VOFF, FFB_SFB8B_POFF, 0x0400000 }, - { FFB_SFB8X_VOFF, FFB_SFB8X_POFF, 0x0400000 }, - { FFB_SFB32_VOFF, FFB_SFB32_POFF, 0x1000000 }, - { FFB_SFB64_VOFF, FFB_SFB64_POFF, 0x2000000 }, - { FFB_FBC_REGS_VOFF, FFB_FBC_REGS_POFF, 0x0002000 }, - { FFB_BM_FBC_REGS_VOFF, FFB_BM_FBC_REGS_POFF, 0x0002000 }, - { FFB_DFB8R_VOFF, FFB_DFB8R_POFF, 0x0400000 }, - { FFB_DFB8G_VOFF, FFB_DFB8G_POFF, 0x0400000 }, - { FFB_DFB8B_VOFF, FFB_DFB8B_POFF, 0x0400000 }, - { FFB_DFB8X_VOFF, FFB_DFB8X_POFF, 0x0400000 }, - { FFB_DFB24_VOFF, FFB_DFB24_POFF, 0x1000000 }, - { FFB_DFB32_VOFF, FFB_DFB32_POFF, 0x1000000 }, - { FFB_FBC_KREGS_VOFF, FFB_FBC_KREGS_POFF, 0x0002000 }, - { FFB_DAC_VOFF, FFB_DAC_POFF, 0x0002000 }, - { FFB_PROM_VOFF, FFB_PROM_POFF, 0x0010000 }, - { FFB_EXP_VOFF, FFB_EXP_POFF, 0x0002000 }, - { FFB_DFB422A_VOFF, FFB_DFB422A_POFF, 0x0800000 }, - { FFB_DFB422AD_VOFF, FFB_DFB422AD_POFF, 0x0800000 }, - { FFB_DFB24B_VOFF, FFB_DFB24B_POFF, 0x1000000 }, - { FFB_DFB422B_VOFF, FFB_DFB422B_POFF, 0x0800000 }, - { FFB_DFB422BD_VOFF, FFB_DFB422BD_POFF, 0x0800000 }, - { FFB_SFB16Z_VOFF, FFB_SFB16Z_POFF, 0x0800000 }, - { FFB_SFB8Z_VOFF, FFB_SFB8Z_POFF, 0x0800000 }, - { FFB_SFB422_VOFF, FFB_SFB422_POFF, 0x0800000 }, - { FFB_SFB422D_VOFF, FFB_SFB422D_POFF, 0x0800000 }, - { 0, 0, 0 } + { + .voff = FFB_SFB8R_VOFF, + .poff = FFB_SFB8R_POFF, + .size = 0x0400000 + }, + { + .voff = FFB_SFB8G_VOFF, + .poff = FFB_SFB8G_POFF, + .size = 0x0400000 + }, + { + .voff = FFB_SFB8B_VOFF, + .poff = FFB_SFB8B_POFF, + .size = 0x0400000 + }, + { + .voff = FFB_SFB8X_VOFF, + .poff = FFB_SFB8X_POFF, + .size = 0x0400000 + }, + { + .voff = FFB_SFB32_VOFF, + .poff = FFB_SFB32_POFF, + .size = 0x1000000 + }, + { + .voff = FFB_SFB64_VOFF, + .poff = FFB_SFB64_POFF, + .size = 0x2000000 + }, + { + .voff = FFB_FBC_REGS_VOFF, + .poff = FFB_FBC_REGS_POFF, + .size = 0x0002000 + }, + { + .voff = FFB_BM_FBC_REGS_VOFF, + .poff = FFB_BM_FBC_REGS_POFF, + .size = 0x0002000 + }, + { + .voff = FFB_DFB8R_VOFF, + .poff = FFB_DFB8R_POFF, + .size = 0x0400000 + }, + { + .voff = FFB_DFB8G_VOFF, + .poff = FFB_DFB8G_POFF, + .size = 0x0400000 + }, + { + .voff = FFB_DFB8B_VOFF, + .poff = FFB_DFB8B_POFF, + .size = 0x0400000 + }, + { + .voff = FFB_DFB8X_VOFF, + .poff = FFB_DFB8X_POFF, + .size = 0x0400000 + }, + { + .voff = FFB_DFB24_VOFF, + .poff = FFB_DFB24_POFF, + .size = 0x1000000 + }, + { + .voff = FFB_DFB32_VOFF, + .poff = FFB_DFB32_POFF, + .size = 0x1000000 + }, + { + .voff = FFB_FBC_KREGS_VOFF, + .poff = FFB_FBC_KREGS_POFF, + .size = 0x0002000 + }, + { + .voff = FFB_DAC_VOFF, + .poff = FFB_DAC_POFF, + .size = 0x0002000 + }, + { + .voff = FFB_PROM_VOFF, + .poff = FFB_PROM_POFF, + .size = 0x0010000 + }, + { + .voff = FFB_EXP_VOFF, + .poff = FFB_EXP_POFF, + .size = 0x0002000 + }, + { + .voff = FFB_DFB422A_VOFF, + .poff = FFB_DFB422A_POFF, + .size = 0x0800000 + }, + { + .voff = FFB_DFB422AD_VOFF, + .poff = FFB_DFB422AD_POFF, + .size = 0x0800000 + }, + { + .voff = FFB_DFB24B_VOFF, + .poff = FFB_DFB24B_POFF, + .size = 0x1000000 + }, + { + .voff = FFB_DFB422B_VOFF, + .poff = FFB_DFB422B_POFF, + .size = 0x0800000 + }, + { + .voff = FFB_DFB422BD_VOFF, + .poff = FFB_DFB422BD_POFF, + .size = 0x0800000 + }, + { + .voff = FFB_SFB16Z_VOFF, + .poff = FFB_SFB16Z_POFF, + .size = 0x0800000 + }, + { + .voff = FFB_SFB8Z_VOFF, + .poff = FFB_SFB8Z_POFF, + .size = 0x0800000 + }, + { + .voff = FFB_SFB422_VOFF, + .poff = FFB_SFB422_POFF, + .size = 0x0800000 + }, + { + .voff = FFB_SFB422D_VOFF, + .poff = FFB_SFB422D_POFF, + .size = 0x0800000 + }, + { .size = 0 } }; static int ffb_mmap(struct fb_info *info, struct file *file, struct vm_area_struct *vma) diff --git a/drivers/video/leo.c b/drivers/video/leo.c index eb4f79a41455..7547e8936590 100644 --- a/drivers/video/leo.c +++ b/drivers/video/leo.c @@ -294,20 +294,72 @@ static int leo_blank(int blank, struct fb_info *info) } static struct sbus_mmap_map leo_mmap_map[] = { - { LEO_SS0_MAP, LEO_OFF_SS0, 0x800000 }, - { LEO_LC_SS0_USR_MAP, LEO_OFF_LC_SS0_USR, 0x1000 }, - { LEO_LD_SS0_MAP, LEO_OFF_LD_SS0, 0x1000 }, - { LEO_LX_CURSOR_MAP, LEO_OFF_LX_CURSOR, 0x1000 }, - { LEO_SS1_MAP, LEO_OFF_SS1, 0x800000 }, - { LEO_LC_SS1_USR_MAP, LEO_OFF_LC_SS1_USR, 0x1000 }, - { LEO_LD_SS1_MAP, LEO_OFF_LD_SS1, 0x1000 }, - { LEO_UNK_MAP, LEO_OFF_UNK, 0x1000 }, - { LEO_LX_KRN_MAP, LEO_OFF_LX_KRN, 0x1000 }, - { LEO_LC_SS0_KRN_MAP, LEO_OFF_LC_SS0_KRN, 0x1000 }, - { LEO_LC_SS1_KRN_MAP, LEO_OFF_LC_SS1_KRN, 0x1000 }, - { LEO_LD_GBL_MAP, LEO_OFF_LD_GBL, 0x1000 }, - { LEO_UNK2_MAP, LEO_OFF_UNK2, 0x100000 }, - { 0, 0, 0 } + { + .voff = LEO_SS0_MAP, + .poff = LEO_OFF_SS0, + .size = 0x800000 + }, + { + .voff = LEO_LC_SS0_USR_MAP, + .poff = LEO_OFF_LC_SS0_USR, + .size = 0x1000 + }, + { + .voff = LEO_LD_SS0_MAP, + .poff = LEO_OFF_LD_SS0, + .size = 0x1000 + }, + { + .voff = LEO_LX_CURSOR_MAP, + .poff = LEO_OFF_LX_CURSOR, + .size = 0x1000 + }, + { + .voff = LEO_SS1_MAP, + .poff = LEO_OFF_SS1, + .size = 0x800000 + }, + { + .voff = LEO_LC_SS1_USR_MAP, + .poff = LEO_OFF_LC_SS1_USR, + .size = 0x1000 + }, + { + .voff = LEO_LD_SS1_MAP, + .poff = LEO_OFF_LD_SS1, + .size = 0x1000 + }, + { + .voff = LEO_UNK_MAP, + .poff = LEO_OFF_UNK, + .size = 0x1000 + }, + { + .voff = LEO_LX_KRN_MAP, + .poff = LEO_OFF_LX_KRN, + .size = 0x1000 + }, + { + .voff = LEO_LC_SS0_KRN_MAP, + .poff = LEO_OFF_LC_SS0_KRN, + .size = 0x1000 + }, + { + .voff = LEO_LC_SS1_KRN_MAP, + .poff = LEO_OFF_LC_SS1_KRN, + .size = 0x1000 + }, + { + .voff = LEO_LD_GBL_MAP, + .poff = LEO_OFF_LD_GBL, + .size = 0x1000 + }, + { + .voff = LEO_UNK2_MAP, + .poff = LEO_OFF_UNK2, + .size = 0x100000 + }, + { .size = 0 } }; static int leo_mmap(struct fb_info *info, struct file *file, struct vm_area_struct *vma) diff --git a/drivers/video/tcx.c b/drivers/video/tcx.c index 6016879e5122..543711c99ded 100644 --- a/drivers/video/tcx.c +++ b/drivers/video/tcx.c @@ -238,20 +238,59 @@ tcx_blank(int blank, struct fb_info *info) } static struct sbus_mmap_map __tcx_mmap_map[TCX_MMAP_ENTRIES] = { - { TCX_RAM8BIT, 0, SBUS_MMAP_FBSIZE(1) }, - { TCX_RAM24BIT, 0, SBUS_MMAP_FBSIZE(4) }, - { TCX_UNK3, 0, SBUS_MMAP_FBSIZE(8) }, - { TCX_UNK4, 0, SBUS_MMAP_FBSIZE(8) }, - { TCX_CONTROLPLANE, 0, SBUS_MMAP_FBSIZE(4) }, - { TCX_UNK6, 0, SBUS_MMAP_FBSIZE(8) }, - { TCX_UNK7, 0, SBUS_MMAP_FBSIZE(8) }, - { TCX_TEC, 0, PAGE_SIZE }, - { TCX_BTREGS, 0, PAGE_SIZE }, - { TCX_THC, 0, PAGE_SIZE }, - { TCX_DHC, 0, PAGE_SIZE }, - { TCX_ALT, 0, PAGE_SIZE }, - { TCX_UNK2, 0, 0x20000 }, - { 0, 0, 0 } + { + .voff = TCX_RAM8BIT, + .size = SBUS_MMAP_FBSIZE(1) + }, + { + .voff = TCX_RAM24BIT, + .size = SBUS_MMAP_FBSIZE(4) + }, + { + .voff = TCX_UNK3, + .size = SBUS_MMAP_FBSIZE(8) + }, + { + .voff = TCX_UNK4, + .size = SBUS_MMAP_FBSIZE(8) + }, + { + .voff = TCX_CONTROLPLANE, + .size = SBUS_MMAP_FBSIZE(4) + }, + { + .voff = TCX_UNK6, + .size = SBUS_MMAP_FBSIZE(8) + }, + { + .voff = TCX_UNK7, + .size = SBUS_MMAP_FBSIZE(8) + }, + { + .voff = TCX_TEC, + .size = PAGE_SIZE + }, + { + .voff = TCX_BTREGS, + .size = PAGE_SIZE + }, + { + .voff = TCX_THC, + .size = PAGE_SIZE + }, + { + .voff = TCX_DHC, + .size = PAGE_SIZE + }, + { + .voff = TCX_ALT, + .size = PAGE_SIZE + }, + { + .voff = TCX_UNK2, + .size = 0x20000 + }, + { .size = 0 } }; static int tcx_mmap(struct fb_info *info, struct file *file, struct vm_area_struct *vma) diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h index d2224f6617f9..a098e6ab9e8d 100644 --- a/include/linux/sysctl.h +++ b/include/linux/sysctl.h @@ -131,6 +131,7 @@ enum KERN_PRINTK_RATELIMIT_BURST=61, /* int: tune printk ratelimiting */ KERN_PTY=62, /* dir: pty driver */ KERN_NGROUPS_MAX=63, /* int: NGROUPS_MAX */ + KERN_SPARC_SCONS_PWROFF=64, /* int: serial console power-off halt */ }; diff --git a/include/sound/sndmagic.h b/include/sound/sndmagic.h index 2efdac6d8ed5..bf1a62f83f9f 100644 --- a/include/sound/sndmagic.h +++ b/include/sound/sndmagic.h @@ -203,6 +203,7 @@ static inline int _snd_magic_bad(void *obj, unsigned long magic) #define pdacf_t_magic 0xa15a4500 #define vortex_t_magic 0xa15a4601 #define atiixp_t_magic 0xa15a4701 +#define amd7930_t_magic 0xa15a4801 #else diff --git a/kernel/sysctl.c b/kernel/sysctl.c index 69e9123cdd0f..073c13b21518 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -93,6 +93,7 @@ extern int sem_ctls[]; #ifdef __sparc__ extern char reboot_command []; extern int stop_a_enabled; +extern int scons_pwroff; #endif #ifdef __hppa__ @@ -325,6 +326,14 @@ static ctl_table kern_table[] = { .mode = 0644, .proc_handler = &proc_dointvec, }, + { + .ctl_name = KERN_SPARC_SCONS_PWROFF, + .procname = "scons-poweroff", + .data = &scons_pwroff, + .maxlen = sizeof (int), + .mode = 0644, + .proc_handler = &proc_dointvec, + }, #endif #ifdef __hppa__ { diff --git a/sound/core/Kconfig b/sound/core/Kconfig index 18ada7fb2590..4bf2288013b7 100644 --- a/sound/core/Kconfig +++ b/sound/core/Kconfig @@ -1,7 +1,7 @@ # ALSA soundcard-configuration config SND_BIT32_EMUL tristate "Emulation for 32-bit applications" - depends on SND && (SPARC64 || PPC64 || X86_64 && IA32_EMULATION) + depends on SND && SND_PCM && (SPARC64 || PPC64 || X86_64 && IA32_EMULATION) config SND_TIMER tristate |
