Commit 52712a65 authored by David S. Miller's avatar David S. Miller

Resolve conflicts with aviro changes.

parents 2829a935 c60d1fea
...@@ -161,17 +161,31 @@ int main(int argc,char **argv) ...@@ -161,17 +161,31 @@ int main(int argc,char **argv)
shift = nbase + 5; shift = nbase + 5;
if (buffer[nbase+4] == 's' && buffer[nbase+5] == '_') { if (buffer[nbase+4] == 's' && buffer[nbase+5] == '_') {
shift = nbase + 6; shift = nbase + 6;
if (strcmp (sect, ".text.init")) { if (strcmp (sect, ".init.text")) {
fprintf(stderr, "Wrong use of '%s' BTFIXUPSET.\nBTFIXUPSET_CALL can be used only in __init sections\n", buffer+shift); fprintf(stderr,
"Wrong use of '%s' BTFIXUPSET in '%s' section.\n"
"BTFIXUPSET_CALL can be used only in"
" __init sections\n",
buffer + shift, sect);
exit(1); exit(1);
} }
} else if (buffer[nbase+4] != '_') } else if (buffer[nbase+4] != '_')
continue; continue;
if (strcmp (sect, ".text") && strcmp (sect, ".text.init") && strcmp (sect, ".fixup") && (strcmp (sect, "__ksymtab") || buffer[nbase+3] != 'f')) { if (strcmp (sect, ".text") &&
strcmp (sect, ".init.text") &&
strcmp (sect, ".fixup") &&
(strcmp (sect, "__ksymtab") || buffer[nbase+3] != 'f')) {
if (buffer[nbase+3] == 'f') if (buffer[nbase+3] == 'f')
fprintf(stderr, "Wrong use of '%s' in '%s' section. It can be only used in .text, .text.init, .fixup and __ksymtab\n", buffer + shift, sect); fprintf(stderr,
"Wrong use of '%s' in '%s' section.\n"
" It can be used only in .text, .init.text,"
" .fixup and __ksymtab\n",
buffer + shift, sect);
else else
fprintf(stderr, "Wrong use of '%s' in '%s' section. It can be only used in .text, .fixup and .text.init\n", buffer + shift, sect); fprintf(stderr,
"Wrong use of '%s' in '%s' section.\n"
" It can be only used in .text, .init.text,"
" and .fixup\n", buffer + shift, sect);
exit(1); exit(1);
} }
p = strstr (buffer + shift, "__btset_"); p = strstr (buffer + shift, "__btset_");
...@@ -326,7 +340,7 @@ int main(int argc,char **argv) ...@@ -326,7 +340,7 @@ int main(int argc,char **argv)
for (r = f->rel, j--; r != NULL; j--, r = r->next) { for (r = f->rel, j--; r != NULL; j--, r = r->next) {
if (!strcmp (r->sect, ".text")) if (!strcmp (r->sect, ".text"))
printf ("_stext+0x%08lx", r->offset); printf ("_stext+0x%08lx", r->offset);
else if (!strcmp (r->sect, ".text.init")) else if (!strcmp (r->sect, ".init.text"))
printf ("__init_begin+0x%08lx", r->offset); printf ("__init_begin+0x%08lx", r->offset);
else if (!strcmp (r->sect, "__ksymtab")) else if (!strcmp (r->sect, "__ksymtab"))
printf ("__start___ksymtab+0x%08lx", r->offset); printf ("__start___ksymtab+0x%08lx", r->offset);
......
...@@ -226,6 +226,8 @@ source drivers/input/Config.in ...@@ -226,6 +226,8 @@ source drivers/input/Config.in
source fs/Config.in source fs/Config.in
mainmenu_option next_comment
comment 'Sound card support'
tristate 'Sound card support' CONFIG_SOUND tristate 'Sound card support' CONFIG_SOUND
if [ "$CONFIG_SOUND" != "n" ]; then if [ "$CONFIG_SOUND" != "n" ]; then
source sound/Config.in source sound/Config.in
......
...@@ -1031,6 +1031,6 @@ void insl(unsigned long addr, void *dst, unsigned long count) { ...@@ -1031,6 +1031,6 @@ void insl(unsigned long addr, void *dst, unsigned long count) {
} }
} }
#endif
subsys_initcall(pcic_init); subsys_initcall(pcic_init);
#endif
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include <asm/cprefix.h> #include <asm/cprefix.h>
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include <asm/asm_offsets.h>
#include <asm/errno.h> #include <asm/errno.h>
#include <asm/winmacro.h> #include <asm/winmacro.h>
#include <asm/thread_info.h> #include <asm/thread_info.h>
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include <asm/psr.h> #include <asm/psr.h>
#include <asm/asm_offsets.h>
#include <asm/asi.h> #include <asm/asi.h>
#include <asm/page.h> #include <asm/page.h>
#include <asm/pgtsrmmu.h> #include <asm/pgtsrmmu.h>
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#include <linux/config.h> #include <linux/config.h>
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include <asm/asm_offsets.h>
#include <asm/psr.h> #include <asm/psr.h>
#include <asm/asi.h> #include <asm/asi.h>
#include <asm/page.h> #include <asm/page.h>
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include <linux/config.h> #include <linux/config.h>
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include <asm/psr.h> #include <asm/psr.h>
#include <asm/asm_offsets.h>
#include <asm/asi.h> #include <asm/asi.h>
#include <asm/mxcc.h> #include <asm/mxcc.h>
#include <asm/page.h> #include <asm/page.h>
......
...@@ -89,5 +89,5 @@ SECTIONS ...@@ -89,5 +89,5 @@ SECTIONS
.debug_pubnames 0 : { *(.debug_pubnames) } .debug_pubnames 0 : { *(.debug_pubnames) }
.debug_sfnames 0 : { *(.debug_sfnames) } .debug_sfnames 0 : { *(.debug_sfnames) }
.line 0 : { *(.line) } .line 0 : { *(.line) }
/DISCARD/ : { *(.text.exit) *(.data.exit) *(.exitcall.exit) } /DISCARD/ : { *(.exit.text) *(.exit.data) *(.exitcall.exit) }
} }
...@@ -143,7 +143,6 @@ CONFIG_FONT_SUN8x16=y ...@@ -143,7 +143,6 @@ CONFIG_FONT_SUN8x16=y
# Non-8250 serial port support # Non-8250 serial port support
# #
CONFIG_SERIAL_SUNCORE=y CONFIG_SERIAL_SUNCORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_SUNZILOG=y CONFIG_SERIAL_SUNZILOG=y
CONFIG_SERIAL_SUNSU=y CONFIG_SERIAL_SUNSU=y
# CONFIG_SERIAL_SUNSAB is not set # CONFIG_SERIAL_SUNSAB is not set
...@@ -183,6 +182,7 @@ CONFIG_MD_RAID1=m ...@@ -183,6 +182,7 @@ CONFIG_MD_RAID1=m
# CONFIG_MD_RAID5 is not set # CONFIG_MD_RAID5 is not set
# CONFIG_MD_MULTIPATH is not set # CONFIG_MD_MULTIPATH is not set
# CONFIG_BLK_DEV_LVM is not set # CONFIG_BLK_DEV_LVM is not set
CONFIG_BLK_DEV_DM=m
# CONFIG_BLK_DEV_RAM is not set # CONFIG_BLK_DEV_RAM is not set
# CONFIG_BLK_DEV_INITRD is not set # CONFIG_BLK_DEV_INITRD is not set
...@@ -330,6 +330,7 @@ CONFIG_SCSI_FCAL=m ...@@ -330,6 +330,7 @@ CONFIG_SCSI_FCAL=m
# #
CONFIG_FUSION=m CONFIG_FUSION=m
# CONFIG_FUSION_BOOT is not set # CONFIG_FUSION_BOOT is not set
CONFIG_FUSION_MAX_SGE=40
CONFIG_FUSION_ISENSE=m CONFIG_FUSION_ISENSE=m
CONFIG_FUSION_CTL=m CONFIG_FUSION_CTL=m
CONFIG_FUSION_LAN=m CONFIG_FUSION_LAN=m
...@@ -684,6 +685,8 @@ CONFIG_AUTOFS4_FS=m ...@@ -684,6 +685,8 @@ CONFIG_AUTOFS4_FS=m
# CONFIG_ADFS_FS_RW is not set # CONFIG_ADFS_FS_RW is not set
CONFIG_AFFS_FS=m CONFIG_AFFS_FS=m
# CONFIG_HFS_FS is not set # CONFIG_HFS_FS is not set
CONFIG_BEFS_FS=m
# CONFIG_BEFS_DEBUG is not set
CONFIG_BFS_FS=m CONFIG_BFS_FS=m
CONFIG_EXT3_FS=m CONFIG_EXT3_FS=m
CONFIG_JBD=m CONFIG_JBD=m
...@@ -734,16 +737,19 @@ CONFIG_QUOTACTL=y ...@@ -734,16 +737,19 @@ CONFIG_QUOTACTL=y
# #
CONFIG_CODA_FS=m CONFIG_CODA_FS=m
# CONFIG_INTERMEZZO_FS is not set # CONFIG_INTERMEZZO_FS is not set
CONFIG_NFS_FS=y CONFIG_NFS_FS=m
CONFIG_NFS_V3=y CONFIG_NFS_V3=y
CONFIG_NFS_V4=y
# CONFIG_ROOT_NFS is not set # CONFIG_ROOT_NFS is not set
CONFIG_NFSD=m CONFIG_NFSD=m
CONFIG_NFSD_V3=y CONFIG_NFSD_V3=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_TCP=y CONFIG_NFSD_TCP=y
CONFIG_SUNRPC=y CONFIG_SUNRPC=m
CONFIG_LOCKD=y CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=m CONFIG_EXPORTFS=m
CONFIG_CIFS=m
# CONFIG_SMB_FS is not set # CONFIG_SMB_FS is not set
# CONFIG_NCP_FS is not set # CONFIG_NCP_FS is not set
# CONFIG_NCPFS_PACKET_SIGNING is not set # CONFIG_NCPFS_PACKET_SIGNING is not set
...@@ -754,6 +760,7 @@ CONFIG_EXPORTFS=m ...@@ -754,6 +760,7 @@ CONFIG_EXPORTFS=m
# CONFIG_NCPFS_SMALLDOS is not set # CONFIG_NCPFS_SMALLDOS is not set
# CONFIG_NCPFS_NLS is not set # CONFIG_NCPFS_NLS is not set
# CONFIG_NCPFS_EXTRAS is not set # CONFIG_NCPFS_EXTRAS is not set
# CONFIG_AFS_FS is not set
# CONFIG_ZISOFS_FS is not set # CONFIG_ZISOFS_FS is not set
# #
......
...@@ -868,10 +868,39 @@ static int hdio_getgeo(unsigned int fd, unsigned int cmd, unsigned long arg) ...@@ -868,10 +868,39 @@ static int hdio_getgeo(unsigned int fd, unsigned int cmd, unsigned long arg)
err = sys_ioctl(fd, HDIO_GETGEO, (unsigned long)&geo); err = sys_ioctl(fd, HDIO_GETGEO, (unsigned long)&geo);
set_fs (old_fs); set_fs (old_fs);
if (!err) { if (!err) {
err = copy_to_user ((struct hd_geometry32 *)arg, &geo, 4); if (copy_to_user ((struct hd_geometry32 *)arg, &geo, 4) ||
err |= __put_user (geo.start, &(((struct hd_geometry32 *)arg)->start)); __put_user (geo.start, &(((struct hd_geometry32 *)arg)->start)))
err = -EFAULT;
} }
return err ? -EFAULT : 0; return err;
}
struct hd_big_geometry32 {
unsigned char heads;
unsigned char sectors;
unsigned int cylinders;
u32 start;
};
static int hdio_getgeo_big(unsigned int fd, unsigned int cmd, unsigned long arg)
{
mm_segment_t old_fs = get_fs();
struct hd_big_geometry geo;
int err;
set_fs (KERNEL_DS);
err = sys_ioctl(fd, cmd, (unsigned long)&geo);
set_fs (old_fs);
if (!err) {
struct hd_big_geometry32 *up = (struct hd_big_geometry32 *) arg;
if (put_user(geo.heads, &up->heads) ||
__put_user(geo.sectors, &up->sectors) ||
__put_user(geo.cylinders, &up->cylinders) ||
__put_user(((u32) geo.start), &up->start))
err = -EFAULT;
}
return err;
} }
struct fbcmap32 { struct fbcmap32 {
...@@ -5030,6 +5059,7 @@ HANDLE_IOCTL(SIOCDELRT, routing_ioctl) ...@@ -5030,6 +5059,7 @@ HANDLE_IOCTL(SIOCDELRT, routing_ioctl)
HANDLE_IOCTL(SIOCRTMSG, ret_einval) HANDLE_IOCTL(SIOCRTMSG, ret_einval)
HANDLE_IOCTL(SIOCGSTAMP, do_siocgstamp) HANDLE_IOCTL(SIOCGSTAMP, do_siocgstamp)
HANDLE_IOCTL(HDIO_GETGEO, hdio_getgeo) HANDLE_IOCTL(HDIO_GETGEO, hdio_getgeo)
HANDLE_IOCTL(HDIO_GETGEO_BIG_RAW, hdio_getgeo_big)
HANDLE_IOCTL(BLKGETSIZE, w_long) HANDLE_IOCTL(BLKGETSIZE, w_long)
HANDLE_IOCTL(0x1260, broken_blkgetsize) HANDLE_IOCTL(0x1260, broken_blkgetsize)
HANDLE_IOCTL(BLKSECTGET, w_long) HANDLE_IOCTL(BLKSECTGET, w_long)
......
...@@ -10,6 +10,3 @@ obj-y := bootstr.o devops.o init.o memory.o misc.o \ ...@@ -10,6 +10,3 @@ obj-y := bootstr.o devops.o init.o memory.o misc.o \
tree.o console.o printf.o p1275.o map.o tree.o console.o printf.o p1275.o map.o
include $(TOPDIR)/Rules.make include $(TOPDIR)/Rules.make
%.o: %.c
$(CC) $(subst -pg,,$(CFLAGS)) -c $<
...@@ -89,5 +89,5 @@ SECTIONS ...@@ -89,5 +89,5 @@ SECTIONS
.debug_pubnames 0 : { *(.debug_pubnames) } .debug_pubnames 0 : { *(.debug_pubnames) }
.debug_sfnames 0 : { *(.debug_sfnames) } .debug_sfnames 0 : { *(.debug_sfnames) }
.line 0 : { *(.line) } .line 0 : { *(.line) }
/DISCARD/ : { *(.text.exit) *(.data.exit) *(.exitcall.exit) } /DISCARD/ : { *(.exit.text) *(.exit.data) *(.exitcall.exit) }
} }
...@@ -439,7 +439,7 @@ static spinlock_t bpp_open_lock = SPIN_LOCK_UNLOCKED; ...@@ -439,7 +439,7 @@ static spinlock_t bpp_open_lock = SPIN_LOCK_UNLOCKED;
*/ */
static int bpp_open(struct inode *inode, struct file *f) static int bpp_open(struct inode *inode, struct file *f)
{ {
unsigned minor = MINOR(inode->i_rdev); unsigned minor = minor(inode->i_rdev);
int ret; int ret;
spin_lock(&bpp_open_lock); spin_lock(&bpp_open_lock);
...@@ -469,7 +469,7 @@ static int bpp_open(struct inode *inode, struct file *f) ...@@ -469,7 +469,7 @@ static int bpp_open(struct inode *inode, struct file *f)
*/ */
static int bpp_release(struct inode *inode, struct file *f) static int bpp_release(struct inode *inode, struct file *f)
{ {
unsigned minor = MINOR(inode->i_rdev); unsigned minor = minor(inode->i_rdev);
spin_lock(&bpp_open_lock); spin_lock(&bpp_open_lock);
instances[minor].opened = 0; instances[minor].opened = 0;
...@@ -633,7 +633,7 @@ static long read_ecp(unsigned minor, char *c, unsigned long cnt) ...@@ -633,7 +633,7 @@ static long read_ecp(unsigned minor, char *c, unsigned long cnt)
static ssize_t bpp_read(struct file *f, char *c, size_t cnt, loff_t * ppos) static ssize_t bpp_read(struct file *f, char *c, size_t cnt, loff_t * ppos)
{ {
long rc; long rc;
const unsigned minor = MINOR(f->f_dentry->d_inode->i_rdev); const unsigned minor = minor(f->f_dentry->d_inode->i_rdev);
if (minor >= BPP_NO) return -ENODEV; if (minor >= BPP_NO) return -ENODEV;
if (!instances[minor].present) return -ENODEV; if (!instances[minor].present) return -ENODEV;
...@@ -786,7 +786,7 @@ static long write_ecp(unsigned minor, const char *c, unsigned long cnt) ...@@ -786,7 +786,7 @@ static long write_ecp(unsigned minor, const char *c, unsigned long cnt)
static ssize_t bpp_write(struct file *f, const char *c, size_t cnt, loff_t * ppos) static ssize_t bpp_write(struct file *f, const char *c, size_t cnt, loff_t * ppos)
{ {
long errno = 0; long errno = 0;
const unsigned minor = MINOR(f->f_dentry->d_inode->i_rdev); const unsigned minor = minor(f->f_dentry->d_inode->i_rdev);
if (minor >= BPP_NO) return -ENODEV; if (minor >= BPP_NO) return -ENODEV;
if (!instances[minor].present) return -ENODEV; if (!instances[minor].present) return -ENODEV;
...@@ -812,7 +812,7 @@ static int bpp_ioctl(struct inode *inode, struct file *f, unsigned int cmd, ...@@ -812,7 +812,7 @@ static int bpp_ioctl(struct inode *inode, struct file *f, unsigned int cmd,
{ {
int errno = 0; int errno = 0;
unsigned minor = MINOR(inode->i_rdev); unsigned minor = minor(inode->i_rdev);
if (minor >= BPP_NO) return -ENODEV; if (minor >= BPP_NO) return -ENODEV;
if (!instances[minor].present) return -ENODEV; if (!instances[minor].present) return -ENODEV;
......
...@@ -113,7 +113,7 @@ static void bw2_margins (struct fb_info_sbusfb *fb, struct display *p, ...@@ -113,7 +113,7 @@ static void bw2_margins (struct fb_info_sbusfb *fb, struct display *p,
int x_margin, int y_margin) int x_margin, int y_margin)
{ {
fb->info.screen_base += (y_margin - fb->y_margin) * fb->info.screen_base += (y_margin - fb->y_margin) *
p->line_length + ((x_margin - fb->x_margin) >> 3); p->fb_info->fix.line_length + ((x_margin - fb->x_margin) >> 3);
} }
static u8 bw2regs_1600[] __initdata = { static u8 bw2regs_1600[] __initdata = {
...@@ -155,7 +155,7 @@ static char idstring[60] __initdata = { 0 }; ...@@ -155,7 +155,7 @@ static char idstring[60] __initdata = { 0 };
char __init *bwtwofb_init(struct fb_info_sbusfb *fb) char __init *bwtwofb_init(struct fb_info_sbusfb *fb)
{ {
struct fb_fix_screeninfo *fix = &fb->fix; struct fb_fix_screeninfo *fix = &fb->info.fix;
struct display *disp = &fb->disp; struct display *disp = &fb->disp;
struct fbtype *type = &fb->type; struct fbtype *type = &fb->type;
#ifdef CONFIG_SUN4 #ifdef CONFIG_SUN4
...@@ -232,7 +232,7 @@ char __init *bwtwofb_init(struct fb_info_sbusfb *fb) ...@@ -232,7 +232,7 @@ char __init *bwtwofb_init(struct fb_info_sbusfb *fb)
strcpy(fb->info.modename, "BWtwo"); strcpy(fb->info.modename, "BWtwo");
strcpy(fix->id, "BWtwo"); strcpy(fix->id, "BWtwo");
fix->line_length = fb->var.xres_virtual >> 3; fix->line_length = fb->info.var.xres_virtual >> 3;
fix->accel = FB_ACCEL_SUN_BWTWO; fix->accel = FB_ACCEL_SUN_BWTWO;
disp->scrollmode = SCROLL_YREDRAW; disp->scrollmode = SCROLL_YREDRAW;
......
...@@ -258,7 +258,7 @@ static void leo_putc(struct vc_data *conp, struct display *p, int c, int yy, int ...@@ -258,7 +258,7 @@ static void leo_putc(struct vc_data *conp, struct display *p, int c, int yy, int
sbus_writel(attr_bgcol(p,c) << 24, &ss->bg); sbus_writel(attr_bgcol(p,c) << 24, &ss->bg);
sbus_writel(0xFFFFFFFF<<(32-fontwidth(p)), sbus_writel(0xFFFFFFFF<<(32-fontwidth(p)),
&us->fontmsk); &us->fontmsk);
u = ((u32 *)p->fb_info.screen_base) + y + x; u = ((u32 *)fb->info.screen_base) + y + x;
if (fontwidth(p) <= 8) { if (fontwidth(p) <= 8) {
for (i = 0; i < fontheight(p); i++, u += 2048) { for (i = 0; i < fontheight(p); i++, u += 2048) {
u32 val = *fd++ << 24; u32 val = *fd++ << 24;
...@@ -304,7 +304,7 @@ static void leo_putcs(struct vc_data *conp, struct display *p, const unsigned sh ...@@ -304,7 +304,7 @@ static void leo_putcs(struct vc_data *conp, struct display *p, const unsigned sh
y = yy << (fontheightlog(p) + 11); y = yy << (fontheightlog(p) + 11);
else else
y = (yy * fontheight(p)) << 11; y = (yy * fontheight(p)) << 11;
u = ((u32 *)p->fb_info.screen_base) + y + x; u = ((u32 *)fb->info.screen_base) + y + x;
if (fontwidth(p) <= 8) { if (fontwidth(p) <= 8) {
sbus_writel(0xFFFFFFFF<<(32-4*fontwidth(p)), &us->fontmsk); sbus_writel(0xFFFFFFFF<<(32-4*fontwidth(p)), &us->fontmsk);
x = 4*fontwidth(p) - fontheight(p)*2048; x = 4*fontwidth(p) - fontheight(p)*2048;
...@@ -594,7 +594,7 @@ leo_wid_put (struct fb_info_sbusfb *fb, struct fb_wid_list *wl) ...@@ -594,7 +594,7 @@ leo_wid_put (struct fb_info_sbusfb *fb, struct fb_wid_list *wl)
static void leo_margins (struct fb_info_sbusfb *fb, struct display *p, int x_margin, int y_margin) static void leo_margins (struct fb_info_sbusfb *fb, struct display *p, int x_margin, int y_margin)
{ {
fb->fb_info.screen_base += 8192 * (y_margin - fb->y_margin) + 4 * (x_margin - fb->x_margin); fb->info.screen_base += 8192 * (y_margin - fb->y_margin) + 4 * (x_margin - fb->x_margin);
} }
static void leo_switch_from_graph (struct fb_info_sbusfb *fb) static void leo_switch_from_graph (struct fb_info_sbusfb *fb)
...@@ -640,8 +640,8 @@ static char idstring[40] __initdata = { 0 }; ...@@ -640,8 +640,8 @@ static char idstring[40] __initdata = { 0 };
char * __init leofb_init(struct fb_info_sbusfb *fb) char * __init leofb_init(struct fb_info_sbusfb *fb)
{ {
struct fb_fix_screeninfo *fix = &fb->fix; struct fb_fix_screeninfo *fix = &fb->info.fix;
struct fb_var_screeninfo *var = &fb->var; struct fb_var_screeninfo *var = &fb->info.var;
struct display *disp = &fb->disp; struct display *disp = &fb->disp;
struct fbtype *type = &fb->type; struct fbtype *type = &fb->type;
struct sbus_dev *sdev = fb->sbdp; struct sbus_dev *sdev = fb->sbdp;
......
...@@ -253,14 +253,14 @@ static void tcx_reset (struct fb_info_sbusfb *fb) ...@@ -253,14 +253,14 @@ static void tcx_reset (struct fb_info_sbusfb *fb)
static void tcx_margins (struct fb_info_sbusfb *fb, struct display *p, int x_margin, int y_margin) static void tcx_margins (struct fb_info_sbusfb *fb, struct display *p, int x_margin, int y_margin)
{ {
fb->info.screen_base += (y_margin - fb->y_margin) * p->line_length + (x_margin - fb->x_margin); fb->info.screen_base += (y_margin - fb->y_margin) * p->fb_info->fix.line_length + (x_margin - fb->x_margin);
} }
static char idstring[60] __initdata = { 0 }; static char idstring[60] __initdata = { 0 };
char __init *tcxfb_init(struct fb_info_sbusfb *fb) char __init *tcxfb_init(struct fb_info_sbusfb *fb)
{ {
struct fb_fix_screeninfo *fix = &fb->fix; struct fb_fix_screeninfo *fix = &fb->info.fix;
struct display *disp = &fb->disp; struct display *disp = &fb->disp;
struct fbtype *type = &fb->type; struct fbtype *type = &fb->type;
struct sbus_dev *sdev = fb->sbdp; struct sbus_dev *sdev = fb->sbdp;
...@@ -280,7 +280,7 @@ char __init *tcxfb_init(struct fb_info_sbusfb *fb) ...@@ -280,7 +280,7 @@ char __init *tcxfb_init(struct fb_info_sbusfb *fb)
strcpy(fb->info.modename, "TCX24"); strcpy(fb->info.modename, "TCX24");
strcpy(fix->id, "TCX24"); strcpy(fix->id, "TCX24");
} }
fix->line_length = fb->var.xres_virtual; fix->line_length = fb->info.var.xres_virtual;
fix->accel = FB_ACCEL_SUN_TCX; fix->accel = FB_ACCEL_SUN_TCX;
disp->scrollmode = SCROLL_YREDRAW; disp->scrollmode = SCROLL_YREDRAW;
......
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