Commit 863da955 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus

* 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus:
  MIPS: Set io_map_base for several PCI bridges lacking it
  MIPS: Alchemy: Define eth platform devices in the correct order
  MIPS: BCM63xx: Prevent second enet registration on BCM6338
  MIPS: Quit using undefined behavior of ADDU in 64-bit atomic operations.
  MIPS: N32: Define getdents64.
  MIPS: MTX-1: Fix PCI on the MeshCube and related boards
  MIPS: Make init_vdso a subsys_initcall.
  MIPS: "Fix" useless 'init_vdso successfully' message.
  MIPS: PowerTV: Move register setup to before reading registers.
  SOUND: Au1000: Fix section mismatch
  VIDEO: Au1100fb: Fix section mismatch
  VIDEO: PMAGB-B: Fix section mismatch
  VIDEO: PMAG-BA: Fix section mismatch
  NET: declance: Fix section mismatches
  VIDEO. gbefb: Fix section mismatches.
parents 5620ae29 8faf2e6c
...@@ -435,20 +435,21 @@ static struct platform_device *au1xxx_platform_devices[] __initdata = { ...@@ -435,20 +435,21 @@ static struct platform_device *au1xxx_platform_devices[] __initdata = {
static int __init au1xxx_platform_init(void) static int __init au1xxx_platform_init(void)
{ {
unsigned int uartclk = get_au1x00_uart_baud_base() * 16; unsigned int uartclk = get_au1x00_uart_baud_base() * 16;
int i; int err, i;
/* Fill up uartclk. */ /* Fill up uartclk. */
for (i = 0; au1x00_uart_data[i].flags; i++) for (i = 0; au1x00_uart_data[i].flags; i++)
au1x00_uart_data[i].uartclk = uartclk; au1x00_uart_data[i].uartclk = uartclk;
err = platform_add_devices(au1xxx_platform_devices,
ARRAY_SIZE(au1xxx_platform_devices));
#ifndef CONFIG_SOC_AU1100 #ifndef CONFIG_SOC_AU1100
/* Register second MAC if enabled in pinfunc */ /* Register second MAC if enabled in pinfunc */
if (!(au_readl(SYS_PINFUNC) & (u32)SYS_PF_NI2)) if (!err && !(au_readl(SYS_PINFUNC) & (u32)SYS_PF_NI2))
platform_device_register(&au1xxx_eth1_device); platform_device_register(&au1xxx_eth1_device);
#endif #endif
return platform_add_devices(au1xxx_platform_devices, return err;
ARRAY_SIZE(au1xxx_platform_devices));
} }
arch_initcall(au1xxx_platform_init); arch_initcall(au1xxx_platform_init);
...@@ -67,8 +67,6 @@ static void mtx1_power_off(void) ...@@ -67,8 +67,6 @@ static void mtx1_power_off(void)
void __init board_setup(void) void __init board_setup(void)
{ {
alchemy_gpio2_enable();
#if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE) #if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE)
/* Enable USB power switch */ /* Enable USB power switch */
alchemy_gpio_direction_output(204, 0); alchemy_gpio_direction_output(204, 0);
...@@ -117,11 +115,11 @@ mtx1_pci_idsel(unsigned int devsel, int assert) ...@@ -117,11 +115,11 @@ mtx1_pci_idsel(unsigned int devsel, int assert)
if (assert && devsel != 0) if (assert && devsel != 0)
/* Suppress signal to Cardbus */ /* Suppress signal to Cardbus */
gpio_set_value(1, 0); /* set EXT_IO3 OFF */ alchemy_gpio_set_value(1, 0); /* set EXT_IO3 OFF */
else else
gpio_set_value(1, 1); /* set EXT_IO3 ON */ alchemy_gpio_set_value(1, 1); /* set EXT_IO3 ON */
au_sync_udelay(1); udelay(1);
return 1; return 1;
} }
......
...@@ -104,6 +104,9 @@ int __init bcm63xx_enet_register(int unit, ...@@ -104,6 +104,9 @@ int __init bcm63xx_enet_register(int unit,
if (unit > 1) if (unit > 1)
return -ENODEV; return -ENODEV;
if (unit == 1 && BCMCPU_IS_6338())
return -ENODEV;
if (!shared_device_registered) { if (!shared_device_registered) {
shared_res[0].start = bcm63xx_regset_address(RSET_ENETDMA); shared_res[0].start = bcm63xx_regset_address(RSET_ENETDMA);
shared_res[0].end = shared_res[0].start; shared_res[0].end = shared_res[0].start;
......
...@@ -434,7 +434,7 @@ static __inline__ void atomic64_add(long i, atomic64_t * v) ...@@ -434,7 +434,7 @@ static __inline__ void atomic64_add(long i, atomic64_t * v)
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
"1: lld %0, %1 # atomic64_add \n" "1: lld %0, %1 # atomic64_add \n"
" addu %0, %2 \n" " daddu %0, %2 \n"
" scd %0, %1 \n" " scd %0, %1 \n"
" beqzl %0, 1b \n" " beqzl %0, 1b \n"
" .set mips0 \n" " .set mips0 \n"
...@@ -446,7 +446,7 @@ static __inline__ void atomic64_add(long i, atomic64_t * v) ...@@ -446,7 +446,7 @@ static __inline__ void atomic64_add(long i, atomic64_t * v)
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
"1: lld %0, %1 # atomic64_add \n" "1: lld %0, %1 # atomic64_add \n"
" addu %0, %2 \n" " daddu %0, %2 \n"
" scd %0, %1 \n" " scd %0, %1 \n"
" beqz %0, 2f \n" " beqz %0, 2f \n"
" .subsection 2 \n" " .subsection 2 \n"
...@@ -479,7 +479,7 @@ static __inline__ void atomic64_sub(long i, atomic64_t * v) ...@@ -479,7 +479,7 @@ static __inline__ void atomic64_sub(long i, atomic64_t * v)
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
"1: lld %0, %1 # atomic64_sub \n" "1: lld %0, %1 # atomic64_sub \n"
" subu %0, %2 \n" " dsubu %0, %2 \n"
" scd %0, %1 \n" " scd %0, %1 \n"
" beqzl %0, 1b \n" " beqzl %0, 1b \n"
" .set mips0 \n" " .set mips0 \n"
...@@ -491,7 +491,7 @@ static __inline__ void atomic64_sub(long i, atomic64_t * v) ...@@ -491,7 +491,7 @@ static __inline__ void atomic64_sub(long i, atomic64_t * v)
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
"1: lld %0, %1 # atomic64_sub \n" "1: lld %0, %1 # atomic64_sub \n"
" subu %0, %2 \n" " dsubu %0, %2 \n"
" scd %0, %1 \n" " scd %0, %1 \n"
" beqz %0, 2f \n" " beqz %0, 2f \n"
" .subsection 2 \n" " .subsection 2 \n"
...@@ -524,10 +524,10 @@ static __inline__ long atomic64_add_return(long i, atomic64_t * v) ...@@ -524,10 +524,10 @@ static __inline__ long atomic64_add_return(long i, atomic64_t * v)
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
"1: lld %1, %2 # atomic64_add_return \n" "1: lld %1, %2 # atomic64_add_return \n"
" addu %0, %1, %3 \n" " daddu %0, %1, %3 \n"
" scd %0, %2 \n" " scd %0, %2 \n"
" beqzl %0, 1b \n" " beqzl %0, 1b \n"
" addu %0, %1, %3 \n" " daddu %0, %1, %3 \n"
" .set mips0 \n" " .set mips0 \n"
: "=&r" (result), "=&r" (temp), "=m" (v->counter) : "=&r" (result), "=&r" (temp), "=m" (v->counter)
: "Ir" (i), "m" (v->counter) : "Ir" (i), "m" (v->counter)
...@@ -538,10 +538,10 @@ static __inline__ long atomic64_add_return(long i, atomic64_t * v) ...@@ -538,10 +538,10 @@ static __inline__ long atomic64_add_return(long i, atomic64_t * v)
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
"1: lld %1, %2 # atomic64_add_return \n" "1: lld %1, %2 # atomic64_add_return \n"
" addu %0, %1, %3 \n" " daddu %0, %1, %3 \n"
" scd %0, %2 \n" " scd %0, %2 \n"
" beqz %0, 2f \n" " beqz %0, 2f \n"
" addu %0, %1, %3 \n" " daddu %0, %1, %3 \n"
" .subsection 2 \n" " .subsection 2 \n"
"2: b 1b \n" "2: b 1b \n"
" .previous \n" " .previous \n"
...@@ -576,10 +576,10 @@ static __inline__ long atomic64_sub_return(long i, atomic64_t * v) ...@@ -576,10 +576,10 @@ static __inline__ long atomic64_sub_return(long i, atomic64_t * v)
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
"1: lld %1, %2 # atomic64_sub_return \n" "1: lld %1, %2 # atomic64_sub_return \n"
" subu %0, %1, %3 \n" " dsubu %0, %1, %3 \n"
" scd %0, %2 \n" " scd %0, %2 \n"
" beqzl %0, 1b \n" " beqzl %0, 1b \n"
" subu %0, %1, %3 \n" " dsubu %0, %1, %3 \n"
" .set mips0 \n" " .set mips0 \n"
: "=&r" (result), "=&r" (temp), "=m" (v->counter) : "=&r" (result), "=&r" (temp), "=m" (v->counter)
: "Ir" (i), "m" (v->counter) : "Ir" (i), "m" (v->counter)
...@@ -590,10 +590,10 @@ static __inline__ long atomic64_sub_return(long i, atomic64_t * v) ...@@ -590,10 +590,10 @@ static __inline__ long atomic64_sub_return(long i, atomic64_t * v)
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
"1: lld %1, %2 # atomic64_sub_return \n" "1: lld %1, %2 # atomic64_sub_return \n"
" subu %0, %1, %3 \n" " dsubu %0, %1, %3 \n"
" scd %0, %2 \n" " scd %0, %2 \n"
" beqz %0, 2f \n" " beqz %0, 2f \n"
" subu %0, %1, %3 \n" " dsubu %0, %1, %3 \n"
" .subsection 2 \n" " .subsection 2 \n"
"2: b 1b \n" "2: b 1b \n"
" .previous \n" " .previous \n"
......
...@@ -984,16 +984,17 @@ ...@@ -984,16 +984,17 @@
#define __NR_perf_event_open (__NR_Linux + 296) #define __NR_perf_event_open (__NR_Linux + 296)
#define __NR_accept4 (__NR_Linux + 297) #define __NR_accept4 (__NR_Linux + 297)
#define __NR_recvmmsg (__NR_Linux + 298) #define __NR_recvmmsg (__NR_Linux + 298)
#define __NR_getdents64 (__NR_Linux + 299)
/* /*
* Offset of the last N32 flavoured syscall * Offset of the last N32 flavoured syscall
*/ */
#define __NR_Linux_syscalls 298 #define __NR_Linux_syscalls 299
#endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */ #endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */
#define __NR_N32_Linux 6000 #define __NR_N32_Linux 6000
#define __NR_N32_Linux_syscalls 298 #define __NR_N32_Linux_syscalls 299
#ifdef __KERNEL__ #ifdef __KERNEL__
......
...@@ -419,4 +419,5 @@ EXPORT(sysn32_call_table) ...@@ -419,4 +419,5 @@ EXPORT(sysn32_call_table)
PTR sys_perf_event_open PTR sys_perf_event_open
PTR sys_accept4 PTR sys_accept4
PTR compat_sys_recvmmsg PTR compat_sys_recvmmsg
PTR sys_getdents
.size sysn32_call_table,.-sysn32_call_table .size sysn32_call_table,.-sysn32_call_table
...@@ -61,11 +61,9 @@ static int __init init_vdso(void) ...@@ -61,11 +61,9 @@ static int __init init_vdso(void)
vunmap(vdso); vunmap(vdso);
pr_notice("init_vdso successfull\n");
return 0; return 0;
} }
device_initcall(init_vdso); subsys_initcall(init_vdso);
static unsigned long vdso_addr(unsigned long start) static unsigned long vdso_addr(unsigned long start)
{ {
......
...@@ -247,6 +247,8 @@ void __init mips_pcibios_init(void) ...@@ -247,6 +247,8 @@ void __init mips_pcibios_init(void)
iomem_resource.end &= 0xfffffffffULL; /* 64 GB */ iomem_resource.end &= 0xfffffffffULL; /* 64 GB */
ioport_resource.end = controller->io_resource->end; ioport_resource.end = controller->io_resource->end;
controller->io_map_base = mips_io_port_base;
register_pci_controller(controller); register_pci_controller(controller);
} }
......
...@@ -44,6 +44,7 @@ extern struct pci_ops pnx8550_pci_ops; ...@@ -44,6 +44,7 @@ extern struct pci_ops pnx8550_pci_ops;
static struct pci_controller pnx8550_controller = { static struct pci_controller pnx8550_controller = {
.pci_ops = &pnx8550_pci_ops, .pci_ops = &pnx8550_pci_ops,
.io_map_base = PNX8550_PORT_BASE,
.io_resource = &pci_io_resource, .io_resource = &pci_io_resource,
.mem_resource = &pci_mem_resource, .mem_resource = &pci_mem_resource,
}; };
......
...@@ -113,7 +113,7 @@ void __init plat_mem_setup(void) ...@@ -113,7 +113,7 @@ void __init plat_mem_setup(void)
PNX8550_GLB2_ENAB_INTA_O = 0; PNX8550_GLB2_ENAB_INTA_O = 0;
/* IO/MEM resources. */ /* IO/MEM resources. */
set_io_port_base(KSEG1); set_io_port_base(PNX8550_PORT_BASE);
ioport_resource.start = 0; ioport_resource.start = 0;
ioport_resource.end = ~0; ioport_resource.end = ~0;
iomem_resource.start = 0; iomem_resource.start = 0;
......
...@@ -944,6 +944,7 @@ static struct pci_controller msp_pci_controller = { ...@@ -944,6 +944,7 @@ static struct pci_controller msp_pci_controller = {
.pci_ops = &msp_pci_ops, .pci_ops = &msp_pci_ops,
.mem_resource = &pci_mem_resource, .mem_resource = &pci_mem_resource,
.mem_offset = 0, .mem_offset = 0,
.io_map_base = MSP_PCI_IOSPACE_BASE,
.io_resource = &pci_io_resource, .io_resource = &pci_io_resource,
.io_offset = 0 .io_offset = 0
}; };
......
...@@ -54,6 +54,7 @@ static int __init pmc_yosemite_setup(void) ...@@ -54,6 +54,7 @@ static int __init pmc_yosemite_setup(void)
panic(ioremap_failed); panic(ioremap_failed);
set_io_port_base(io_v_base); set_io_port_base(io_v_base);
py_controller.io_map_base = io_v_base;
TITAN_WRITE(RM9000x2_OCD_LKM7, TITAN_READ(RM9000x2_OCD_LKM7) | 1); TITAN_WRITE(RM9000x2_OCD_LKM7, TITAN_READ(RM9000x2_OCD_LKM7) | 1);
ioport_resource.end = TITAN_IO_SIZE - 1; ioport_resource.end = TITAN_IO_SIZE - 1;
......
...@@ -472,6 +472,9 @@ void __init configure_platform(void) ...@@ -472,6 +472,9 @@ void __init configure_platform(void)
* it*/ * it*/
platform_features = FFS_CAPABLE | DISPLAY_CAPABLE; platform_features = FFS_CAPABLE | DISPLAY_CAPABLE;
/* Cronus and Cronus Lite have the same register map */
set_register_map(CRONUS_IO_BASE, &cronus_register_map);
/* ASIC version will determine if this is a real CronusLite or /* ASIC version will determine if this is a real CronusLite or
* Castrati(Cronus) */ * Castrati(Cronus) */
chipversion = asic_read(chipver3) << 24; chipversion = asic_read(chipver3) << 24;
...@@ -484,8 +487,6 @@ void __init configure_platform(void) ...@@ -484,8 +487,6 @@ void __init configure_platform(void)
else else
asic = ASIC_CRONUSLITE; asic = ASIC_CRONUSLITE;
/* Cronus and Cronus Lite have the same register map */
set_register_map(CRONUS_IO_BASE, &cronus_register_map);
gp_resources = non_dvr_cronuslite_resources; gp_resources = non_dvr_cronuslite_resources;
pr_info("Platform: 4600 - %s, NON_DVR_CAPABLE, " pr_info("Platform: 4600 - %s, NON_DVR_CAPABLE, "
"chipversion=0x%08X\n", "chipversion=0x%08X\n",
......
...@@ -1022,7 +1022,7 @@ static const struct net_device_ops lance_netdev_ops = { ...@@ -1022,7 +1022,7 @@ static const struct net_device_ops lance_netdev_ops = {
.ndo_set_mac_address = eth_mac_addr, .ndo_set_mac_address = eth_mac_addr,
}; };
static int __init dec_lance_probe(struct device *bdev, const int type) static int __devinit dec_lance_probe(struct device *bdev, const int type)
{ {
static unsigned version_printed; static unsigned version_printed;
static const char fmt[] = "declance%d"; static const char fmt[] = "declance%d";
...@@ -1326,7 +1326,7 @@ static void __exit dec_lance_platform_remove(void) ...@@ -1326,7 +1326,7 @@ static void __exit dec_lance_platform_remove(void)
} }
#ifdef CONFIG_TC #ifdef CONFIG_TC
static int __init dec_lance_tc_probe(struct device *dev); static int __devinit dec_lance_tc_probe(struct device *dev);
static int __exit dec_lance_tc_remove(struct device *dev); static int __exit dec_lance_tc_remove(struct device *dev);
static const struct tc_device_id dec_lance_tc_table[] = { static const struct tc_device_id dec_lance_tc_table[] = {
...@@ -1345,7 +1345,7 @@ static struct tc_driver dec_lance_tc_driver = { ...@@ -1345,7 +1345,7 @@ static struct tc_driver dec_lance_tc_driver = {
}, },
}; };
static int __init dec_lance_tc_probe(struct device *dev) static int __devinit dec_lance_tc_probe(struct device *dev)
{ {
int status = dec_lance_probe(dev, PMAD_LANCE); int status = dec_lance_probe(dev, PMAD_LANCE);
if (!status) if (!status)
......
...@@ -95,7 +95,7 @@ struct fb_bitfield rgb_bitfields[][4] = ...@@ -95,7 +95,7 @@ struct fb_bitfield rgb_bitfields[][4] =
{ { 8, 4, 0 }, { 4, 4, 0 }, { 0, 4, 0 }, { 0, 0, 0 } }, { { 8, 4, 0 }, { 4, 4, 0 }, { 0, 4, 0 }, { 0, 0, 0 } },
}; };
static struct fb_fix_screeninfo au1100fb_fix __initdata = { static struct fb_fix_screeninfo au1100fb_fix __devinitdata = {
.id = "AU1100 FB", .id = "AU1100 FB",
.xpanstep = 1, .xpanstep = 1,
.ypanstep = 1, .ypanstep = 1,
...@@ -103,7 +103,7 @@ static struct fb_fix_screeninfo au1100fb_fix __initdata = { ...@@ -103,7 +103,7 @@ static struct fb_fix_screeninfo au1100fb_fix __initdata = {
.accel = FB_ACCEL_NONE, .accel = FB_ACCEL_NONE,
}; };
static struct fb_var_screeninfo au1100fb_var __initdata = { static struct fb_var_screeninfo au1100fb_var __devinitdata = {
.activate = FB_ACTIVATE_NOW, .activate = FB_ACTIVATE_NOW,
.height = -1, .height = -1,
.width = -1, .width = -1,
...@@ -458,7 +458,7 @@ static struct fb_ops au1100fb_ops = ...@@ -458,7 +458,7 @@ static struct fb_ops au1100fb_ops =
/* AU1100 LCD controller device driver */ /* AU1100 LCD controller device driver */
static int __init au1100fb_drv_probe(struct platform_device *dev) static int __devinit au1100fb_drv_probe(struct platform_device *dev)
{ {
struct au1100fb_device *fbdev = NULL; struct au1100fb_device *fbdev = NULL;
struct resource *regs_res; struct resource *regs_res;
......
...@@ -91,10 +91,10 @@ static uint32_t pseudo_palette[16]; ...@@ -91,10 +91,10 @@ static uint32_t pseudo_palette[16];
static uint32_t gbe_cmap[256]; static uint32_t gbe_cmap[256];
static int gbe_turned_on; /* 0 turned off, 1 turned on */ static int gbe_turned_on; /* 0 turned off, 1 turned on */
static char *mode_option __initdata = NULL; static char *mode_option __devinitdata = NULL;
/* default CRT mode */ /* default CRT mode */
static struct fb_var_screeninfo default_var_CRT __initdata = { static struct fb_var_screeninfo default_var_CRT __devinitdata = {
/* 640x480, 60 Hz, Non-Interlaced (25.175 MHz dotclock) */ /* 640x480, 60 Hz, Non-Interlaced (25.175 MHz dotclock) */
.xres = 640, .xres = 640,
.yres = 480, .yres = 480,
...@@ -125,7 +125,7 @@ static struct fb_var_screeninfo default_var_CRT __initdata = { ...@@ -125,7 +125,7 @@ static struct fb_var_screeninfo default_var_CRT __initdata = {
}; };
/* default LCD mode */ /* default LCD mode */
static struct fb_var_screeninfo default_var_LCD __initdata = { static struct fb_var_screeninfo default_var_LCD __devinitdata = {
/* 1600x1024, 8 bpp */ /* 1600x1024, 8 bpp */
.xres = 1600, .xres = 1600,
.yres = 1024, .yres = 1024,
...@@ -157,7 +157,7 @@ static struct fb_var_screeninfo default_var_LCD __initdata = { ...@@ -157,7 +157,7 @@ static struct fb_var_screeninfo default_var_LCD __initdata = {
/* default modedb mode */ /* default modedb mode */
/* 640x480, 60 Hz, Non-Interlaced (25.172 MHz dotclock) */ /* 640x480, 60 Hz, Non-Interlaced (25.172 MHz dotclock) */
static struct fb_videomode default_mode_CRT __initdata = { static struct fb_videomode default_mode_CRT __devinitdata = {
.refresh = 60, .refresh = 60,
.xres = 640, .xres = 640,
.yres = 480, .yres = 480,
...@@ -172,7 +172,7 @@ static struct fb_videomode default_mode_CRT __initdata = { ...@@ -172,7 +172,7 @@ static struct fb_videomode default_mode_CRT __initdata = {
.vmode = FB_VMODE_NONINTERLACED, .vmode = FB_VMODE_NONINTERLACED,
}; };
/* 1600x1024 SGI flatpanel 1600sw */ /* 1600x1024 SGI flatpanel 1600sw */
static struct fb_videomode default_mode_LCD __initdata = { static struct fb_videomode default_mode_LCD __devinitdata = {
/* 1600x1024, 8 bpp */ /* 1600x1024, 8 bpp */
.xres = 1600, .xres = 1600,
.yres = 1024, .yres = 1024,
...@@ -186,8 +186,8 @@ static struct fb_videomode default_mode_LCD __initdata = { ...@@ -186,8 +186,8 @@ static struct fb_videomode default_mode_LCD __initdata = {
.vmode = FB_VMODE_NONINTERLACED, .vmode = FB_VMODE_NONINTERLACED,
}; };
static struct fb_videomode *default_mode __initdata = &default_mode_CRT; static struct fb_videomode *default_mode __devinitdata = &default_mode_CRT;
static struct fb_var_screeninfo *default_var __initdata = &default_var_CRT; static struct fb_var_screeninfo *default_var __devinitdata = &default_var_CRT;
static int flat_panel_enabled = 0; static int flat_panel_enabled = 0;
...@@ -1098,7 +1098,7 @@ static void gbefb_create_sysfs(struct device *dev) ...@@ -1098,7 +1098,7 @@ static void gbefb_create_sysfs(struct device *dev)
* Initialization * Initialization
*/ */
static int __init gbefb_setup(char *options) static int __devinit gbefb_setup(char *options)
{ {
char *this_opt; char *this_opt;
......
...@@ -44,7 +44,7 @@ struct pmagbafb_par { ...@@ -44,7 +44,7 @@ struct pmagbafb_par {
}; };
static struct fb_var_screeninfo pmagbafb_defined __initdata = { static struct fb_var_screeninfo pmagbafb_defined __devinitdata = {
.xres = 1024, .xres = 1024,
.yres = 864, .yres = 864,
.xres_virtual = 1024, .xres_virtual = 1024,
...@@ -68,7 +68,7 @@ static struct fb_var_screeninfo pmagbafb_defined __initdata = { ...@@ -68,7 +68,7 @@ static struct fb_var_screeninfo pmagbafb_defined __initdata = {
.vmode = FB_VMODE_NONINTERLACED, .vmode = FB_VMODE_NONINTERLACED,
}; };
static struct fb_fix_screeninfo pmagbafb_fix __initdata = { static struct fb_fix_screeninfo pmagbafb_fix __devinitdata = {
.id = "PMAG-BA", .id = "PMAG-BA",
.smem_len = (1024 * 1024), .smem_len = (1024 * 1024),
.type = FB_TYPE_PACKED_PIXELS, .type = FB_TYPE_PACKED_PIXELS,
...@@ -142,7 +142,7 @@ static void __init pmagbafb_erase_cursor(struct fb_info *info) ...@@ -142,7 +142,7 @@ static void __init pmagbafb_erase_cursor(struct fb_info *info)
} }
static int __init pmagbafb_probe(struct device *dev) static int __devinit pmagbafb_probe(struct device *dev)
{ {
struct tc_dev *tdev = to_tc_dev(dev); struct tc_dev *tdev = to_tc_dev(dev);
resource_size_t start, len; resource_size_t start, len;
......
...@@ -45,7 +45,7 @@ struct pmagbbfb_par { ...@@ -45,7 +45,7 @@ struct pmagbbfb_par {
}; };
static struct fb_var_screeninfo pmagbbfb_defined __initdata = { static struct fb_var_screeninfo pmagbbfb_defined __devinitdata = {
.bits_per_pixel = 8, .bits_per_pixel = 8,
.red.length = 8, .red.length = 8,
.green.length = 8, .green.length = 8,
...@@ -58,7 +58,7 @@ static struct fb_var_screeninfo pmagbbfb_defined __initdata = { ...@@ -58,7 +58,7 @@ static struct fb_var_screeninfo pmagbbfb_defined __initdata = {
.vmode = FB_VMODE_NONINTERLACED, .vmode = FB_VMODE_NONINTERLACED,
}; };
static struct fb_fix_screeninfo pmagbbfb_fix __initdata = { static struct fb_fix_screeninfo pmagbbfb_fix __devinitdata = {
.id = "PMAGB-BA", .id = "PMAGB-BA",
.smem_len = (2048 * 1024), .smem_len = (2048 * 1024),
.type = FB_TYPE_PACKED_PIXELS, .type = FB_TYPE_PACKED_PIXELS,
...@@ -148,7 +148,7 @@ static void __init pmagbbfb_erase_cursor(struct fb_info *info) ...@@ -148,7 +148,7 @@ static void __init pmagbbfb_erase_cursor(struct fb_info *info)
/* /*
* Set up screen parameters. * Set up screen parameters.
*/ */
static void __init pmagbbfb_screen_setup(struct fb_info *info) static void __devinit pmagbbfb_screen_setup(struct fb_info *info)
{ {
struct pmagbbfb_par *par = info->par; struct pmagbbfb_par *par = info->par;
...@@ -180,9 +180,9 @@ static void __init pmagbbfb_screen_setup(struct fb_info *info) ...@@ -180,9 +180,9 @@ static void __init pmagbbfb_screen_setup(struct fb_info *info)
/* /*
* Determine oscillator configuration. * Determine oscillator configuration.
*/ */
static void __init pmagbbfb_osc_setup(struct fb_info *info) static void __devinit pmagbbfb_osc_setup(struct fb_info *info)
{ {
static unsigned int pmagbbfb_freqs[] __initdata = { static unsigned int pmagbbfb_freqs[] __devinitdata = {
130808, 119843, 104000, 92980, 74370, 72800, 130808, 119843, 104000, 92980, 74370, 72800,
69197, 66000, 65000, 50350, 36000, 32000, 25175 69197, 66000, 65000, 50350, 36000, 32000, 25175
}; };
...@@ -247,7 +247,7 @@ static void __init pmagbbfb_osc_setup(struct fb_info *info) ...@@ -247,7 +247,7 @@ static void __init pmagbbfb_osc_setup(struct fb_info *info)
}; };
static int __init pmagbbfb_probe(struct device *dev) static int __devinit pmagbbfb_probe(struct device *dev)
{ {
struct tc_dev *tdev = to_tc_dev(dev); struct tc_dev *tdev = to_tc_dev(dev);
resource_size_t start, len; resource_size_t start, len;
......
...@@ -300,7 +300,7 @@ struct snd_soc_dai au1xpsc_i2s_dai = { ...@@ -300,7 +300,7 @@ struct snd_soc_dai au1xpsc_i2s_dai = {
}; };
EXPORT_SYMBOL(au1xpsc_i2s_dai); EXPORT_SYMBOL(au1xpsc_i2s_dai);
static int __init au1xpsc_i2s_drvprobe(struct platform_device *pdev) static int __devinit au1xpsc_i2s_drvprobe(struct platform_device *pdev)
{ {
struct resource *r; struct resource *r;
unsigned long sel; unsigned long sel;
......
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