Commit 496ba685 authored by David S. Miller's avatar David S. Miller

Merge nuts.davemloft.net:/disk1/BK/sparcwork-2.6

into nuts.davemloft.net:/disk1/BK/sparc-2.6
parents 547afde1 72d9f9d5
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
/* /*
* Power management idle function * Power management idle function
* Set in pm platform drivers * Set in pm platform drivers (apc.c and pmc.c)
*/ */
void (*pm_idle)(void); void (*pm_idle)(void);
...@@ -122,7 +122,7 @@ int cpu_idle(void) ...@@ -122,7 +122,7 @@ int cpu_idle(void)
} }
while((!need_resched()) && pm_idle) { while((!need_resched()) && pm_idle) {
(*pm_idle)(); /* XXX Huh? On sparc?! */ (*pm_idle)();
} }
schedule(); schedule();
......
# #
# Automatically generated make config: don't edit # Automatically generated make config: don't edit
# Linux kernel version: 2.6.10-rc1 # Linux kernel version: 2.6.10-rc1
# Sun Oct 31 13:19:19 2004 # Tue Nov 9 15:24:40 2004
# #
CONFIG_64BIT=y CONFIG_64BIT=y
CONFIG_MMU=y CONFIG_MMU=y
...@@ -503,6 +503,8 @@ CONFIG_INET_AH=y ...@@ -503,6 +503,8 @@ CONFIG_INET_AH=y
CONFIG_INET_ESP=y CONFIG_INET_ESP=y
CONFIG_INET_IPCOMP=y CONFIG_INET_IPCOMP=y
CONFIG_INET_TUNNEL=y CONFIG_INET_TUNNEL=y
CONFIG_IP_TCPDIAG=y
# CONFIG_IP_TCPDIAG_IPV6 is not set
# #
# IP: Virtual Server Configuration # IP: Virtual Server Configuration
...@@ -745,6 +747,7 @@ CONFIG_NET_ACT_POLICE=m ...@@ -745,6 +747,7 @@ CONFIG_NET_ACT_POLICE=m
CONFIG_NET_ACT_GACT=m CONFIG_NET_ACT_GACT=m
CONFIG_GACT_PROB=y CONFIG_GACT_PROB=y
CONFIG_NET_ACT_MIRRED=m CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_IPT=m
CONFIG_NET_ACT_PEDIT=m CONFIG_NET_ACT_PEDIT=m
# #
...@@ -1148,6 +1151,7 @@ CONFIG_I2C_ALI1535=m ...@@ -1148,6 +1151,7 @@ CONFIG_I2C_ALI1535=m
CONFIG_I2C_ALI1563=m CONFIG_I2C_ALI1563=m
CONFIG_I2C_ALI15X3=m CONFIG_I2C_ALI15X3=m
CONFIG_I2C_AMD756=m CONFIG_I2C_AMD756=m
CONFIG_I2C_AMD756_S4882=m
CONFIG_I2C_AMD8111=m CONFIG_I2C_AMD8111=m
CONFIG_I2C_I801=m CONFIG_I2C_I801=m
CONFIG_I2C_I810=m CONFIG_I2C_I810=m
...@@ -1179,6 +1183,7 @@ CONFIG_SENSORS_DS1621=m ...@@ -1179,6 +1183,7 @@ CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_FSCHER=m CONFIG_SENSORS_FSCHER=m
CONFIG_SENSORS_GL518SM=m CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_IT87=m CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_LM63=m
CONFIG_SENSORS_LM75=m CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM77=m CONFIG_SENSORS_LM77=m
CONFIG_SENSORS_LM78=m CONFIG_SENSORS_LM78=m
...@@ -1188,6 +1193,7 @@ CONFIG_SENSORS_LM85=m ...@@ -1188,6 +1193,7 @@ CONFIG_SENSORS_LM85=m
CONFIG_SENSORS_LM87=m CONFIG_SENSORS_LM87=m
CONFIG_SENSORS_LM90=m CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_MAX1619=m CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_PC87360=m
CONFIG_SENSORS_SMSC47M1=m CONFIG_SENSORS_SMSC47M1=m
CONFIG_SENSORS_VIA686A=m CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_W83781D=m CONFIG_SENSORS_W83781D=m
...@@ -1694,6 +1700,7 @@ CONFIG_USB_BELKIN=y ...@@ -1694,6 +1700,7 @@ CONFIG_USB_BELKIN=y
CONFIG_USB_GENESYS=y CONFIG_USB_GENESYS=y
CONFIG_USB_NET1080=y CONFIG_USB_NET1080=y
CONFIG_USB_PL2301=y CONFIG_USB_PL2301=y
CONFIG_USB_KC2190=y
# #
# Intelligent USB Devices/Gadgets # Intelligent USB Devices/Gadgets
...@@ -1720,6 +1727,7 @@ CONFIG_USB_SERIAL=m ...@@ -1720,6 +1727,7 @@ CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_GENERIC=y CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_BELKIN=m CONFIG_USB_SERIAL_BELKIN=m
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
CONFIG_USB_SERIAL_CYPRESS_M8=m
CONFIG_USB_SERIAL_EMPEG=m CONFIG_USB_SERIAL_EMPEG=m
CONFIG_USB_SERIAL_FTDI_SIO=m CONFIG_USB_SERIAL_FTDI_SIO=m
# CONFIG_USB_SERIAL_VISOR is not set # CONFIG_USB_SERIAL_VISOR is not set
...@@ -1858,6 +1866,7 @@ CONFIG_CRYPTO_CAST6=m ...@@ -1858,6 +1866,7 @@ CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_DEFLATE=y CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_MICHAEL_MIC=m CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_CRC32C=m CONFIG_CRYPTO_CRC32C=m
......
...@@ -974,6 +974,8 @@ sunzilog_set_termios(struct uart_port *port, struct termios *termios, ...@@ -974,6 +974,8 @@ sunzilog_set_termios(struct uart_port *port, struct termios *termios,
sunzilog_maybe_update_regs(up, ZILOG_CHANNEL_FROM_PORT(port)); sunzilog_maybe_update_regs(up, ZILOG_CHANNEL_FROM_PORT(port));
uart_update_timeout(port, termios->c_cflag, baud);
spin_unlock_irqrestore(&up->port.lock, flags); spin_unlock_irqrestore(&up->port.lock, flags);
} }
......
...@@ -255,6 +255,9 @@ static int cg14_setcolreg(unsigned regno, ...@@ -255,6 +255,9 @@ static int cg14_setcolreg(unsigned regno,
if (regno >= 256) if (regno >= 256)
return 1; return 1;
red >>= 8;
green >>= 8;
blue >>= 8;
val = (red | (green << 8) | (blue << 16)); val = (red | (green << 8) | (blue << 16));
spin_lock_irqsave(&par->lock, flags); spin_lock_irqsave(&par->lock, flags);
...@@ -322,7 +325,8 @@ static int cg14_ioctl(struct inode *inode, struct file *file, unsigned int cmd, ...@@ -322,7 +325,8 @@ static int cg14_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
break; break;
case MDI_16_PIX: case MDI_16_PIX:
cur_mode |= 0x20; cur_mode |= (CG14_MCR_PIXMODE_16 <<
CG14_MCR_PIXMODE_SHIFT);
break; break;
case MDI_8_PIX: case MDI_8_PIX:
...@@ -341,7 +345,7 @@ static int cg14_ioctl(struct inode *inode, struct file *file, unsigned int cmd, ...@@ -341,7 +345,7 @@ static int cg14_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
default: default:
ret = sbusfb_ioctl_helper(cmd, arg, info, ret = sbusfb_ioctl_helper(cmd, arg, info,
FBTYPE_MDICOLOR, 24, par->fbsize); FBTYPE_MDICOLOR, 8, par->fbsize);
break; break;
}; };
...@@ -355,11 +359,16 @@ static int cg14_ioctl(struct inode *inode, struct file *file, unsigned int cmd, ...@@ -355,11 +359,16 @@ static int cg14_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
static void cg14_init_fix(struct fb_info *info, int linebytes) static void cg14_init_fix(struct fb_info *info, int linebytes)
{ {
struct cg14_par *par = (struct cg14_par *)info->par; struct cg14_par *par = (struct cg14_par *)info->par;
const char *name;
name = "cgfourteen";
if (par->sdev)
name = par->sdev->prom_name;
strlcpy(info->fix.id, par->sdev->prom_name, sizeof(info->fix.id)); strlcpy(info->fix.id, name, sizeof(info->fix.id));
info->fix.type = FB_TYPE_PACKED_PIXELS; info->fix.type = FB_TYPE_PACKED_PIXELS;
info->fix.visual = FB_VISUAL_TRUECOLOR; info->fix.visual = FB_VISUAL_PSEUDOCOLOR;
info->fix.line_length = linebytes; info->fix.line_length = linebytes;
...@@ -484,8 +493,11 @@ static void cg14_init_one(struct sbus_dev *sdev, int node, int parent_node) ...@@ -484,8 +493,11 @@ static void cg14_init_one(struct sbus_dev *sdev, int node, int parent_node)
spin_lock_init(&all->par.lock); spin_lock_init(&all->par.lock);
sbusfb_fill_var(&all->info.var, node, 8); sbusfb_fill_var(&all->info.var, node, 8);
all->info.var.red.length = 8;
all->info.var.green.length = 8;
all->info.var.blue.length = 8;
linebytes = prom_getintdefault(sdev->prom_node, "linebytes", linebytes = prom_getintdefault(node, "linebytes",
all->info.var.xres); all->info.var.xres);
all->par.fbsize = PAGE_ALIGN(linebytes * all->info.var.yres); all->par.fbsize = PAGE_ALIGN(linebytes * all->info.var.yres);
...@@ -561,6 +573,7 @@ static void cg14_init_one(struct sbus_dev *sdev, int node, int parent_node) ...@@ -561,6 +573,7 @@ static void cg14_init_one(struct sbus_dev *sdev, int node, int parent_node)
kfree(all); kfree(all);
return; return;
} }
fb_set_cmap(&all->info.cmap, &all->info);
cg14_init_fix(&all->info, linebytes); cg14_init_fix(&all->info, linebytes);
...@@ -573,8 +586,8 @@ static void cg14_init_one(struct sbus_dev *sdev, int node, int parent_node) ...@@ -573,8 +586,8 @@ static void cg14_init_one(struct sbus_dev *sdev, int node, int parent_node)
list_add(&all->list, &cg14_list); list_add(&all->list, &cg14_list);
printk("cg14: cgfourteen at %lx:%lx\n", printk("cg14: cgfourteen at %lx:%lx, %dMB\n",
all->par.physbase, all->par.iospace); all->par.iospace, all->par.physbase, all->par.ramsize >> 20);
} }
......
...@@ -198,9 +198,9 @@ cg3_blank(int blank, struct fb_info *info) ...@@ -198,9 +198,9 @@ cg3_blank(int blank, struct fb_info *info)
switch (blank) { switch (blank) {
case FB_BLANK_UNBLANK: /* Unblanking */ case FB_BLANK_UNBLANK: /* Unblanking */
val = sbus_readl(&regs->control); val = sbus_readb(&regs->control);
val |= CG3_CR_ENABLE_VIDEO; val |= CG3_CR_ENABLE_VIDEO;
sbus_writel(val, &regs->control); sbus_writeb(val, &regs->control);
par->flags &= ~CG3_FLAG_BLANKED; par->flags &= ~CG3_FLAG_BLANKED;
break; break;
...@@ -208,9 +208,9 @@ cg3_blank(int blank, struct fb_info *info) ...@@ -208,9 +208,9 @@ cg3_blank(int blank, struct fb_info *info)
case FB_BLANK_VSYNC_SUSPEND: /* VESA blank (vsync off) */ case FB_BLANK_VSYNC_SUSPEND: /* VESA blank (vsync off) */
case FB_BLANK_HSYNC_SUSPEND: /* VESA blank (hsync off) */ case FB_BLANK_HSYNC_SUSPEND: /* VESA blank (hsync off) */
case FB_BLANK_POWERDOWN: /* Poweroff */ case FB_BLANK_POWERDOWN: /* Poweroff */
val = sbus_readl(&regs->control); val = sbus_readb(&regs->control);
val |= CG3_CR_ENABLE_VIDEO; val |= CG3_CR_ENABLE_VIDEO;
sbus_writel(val, &regs->control); sbus_writeb(val, &regs->control);
par->flags |= CG3_FLAG_BLANKED; par->flags |= CG3_FLAG_BLANKED;
break; break;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment