Commit a219ee88 authored by Linus Torvalds's avatar Linus Torvalds

Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
  sparc: Hook up sys_preadv and sys_pwritev
  sparc64: add_node_ranges() must be __init
  serial: sunsu: sunsu_kbd_ms_init needs to be __devinit
  sparc: Fix section mismatch warnings in cs4231 sound driver.
  sparc64: Fix section mismatch warnings in PCI controller drivers.
  sparc64: Fix section mismatch warnings in power driver.
  sparc64: get_cells() can't be marked __init
parents a7b334de 018ef969
...@@ -392,8 +392,10 @@ ...@@ -392,8 +392,10 @@
#define __NR_pipe2 321 #define __NR_pipe2 321
#define __NR_inotify_init1 322 #define __NR_inotify_init1 322
#define __NR_accept4 323 #define __NR_accept4 323
#define __NR_preadv 324
#define __NR_pwritev 325
#define NR_SYSCALLS 324 #define NR_SYSCALLS 326
#ifdef __32bit_syscall_numbers__ #ifdef __32bit_syscall_numbers__
/* Sparc 32-bit only has the "setresuid32", "getresuid32" variants, /* Sparc 32-bit only has the "setresuid32", "getresuid32" variants,
......
...@@ -99,8 +99,7 @@ static inline u64 of_read_addr(const u32 *cell, int size) ...@@ -99,8 +99,7 @@ static inline u64 of_read_addr(const u32 *cell, int size)
return r; return r;
} }
static void __init get_cells(struct device_node *dp, static void get_cells(struct device_node *dp, int *addrc, int *sizec)
int *addrc, int *sizec)
{ {
if (addrc) if (addrc)
*addrc = of_n_addr_cells(dp); *addrc = of_n_addr_cells(dp);
......
...@@ -409,8 +409,8 @@ static void pci_fire_hw_init(struct pci_pbm_info *pbm) ...@@ -409,8 +409,8 @@ static void pci_fire_hw_init(struct pci_pbm_info *pbm)
upa_writeq(~(u64)0, pbm->pbm_regs + FIRE_PEC_IENAB); upa_writeq(~(u64)0, pbm->pbm_regs + FIRE_PEC_IENAB);
} }
static int __init pci_fire_pbm_init(struct pci_pbm_info *pbm, static int __devinit pci_fire_pbm_init(struct pci_pbm_info *pbm,
struct of_device *op, u32 portid) struct of_device *op, u32 portid)
{ {
const struct linux_prom64_registers *regs; const struct linux_prom64_registers *regs;
struct device_node *dp = op->node; struct device_node *dp = op->node;
......
...@@ -365,8 +365,8 @@ static void pbm_config_busmastering(struct pci_pbm_info *pbm) ...@@ -365,8 +365,8 @@ static void pbm_config_busmastering(struct pci_pbm_info *pbm)
pci_config_write8(addr, 64); pci_config_write8(addr, 64);
} }
static void __init psycho_scan_bus(struct pci_pbm_info *pbm, static void __devinit psycho_scan_bus(struct pci_pbm_info *pbm,
struct device *parent) struct device *parent)
{ {
pbm_config_busmastering(pbm); pbm_config_busmastering(pbm);
pbm->is_66mhz_capable = 0; pbm->is_66mhz_capable = 0;
...@@ -482,8 +482,8 @@ static void psycho_pbm_strbuf_init(struct pci_pbm_info *pbm, ...@@ -482,8 +482,8 @@ static void psycho_pbm_strbuf_init(struct pci_pbm_info *pbm,
#define PSYCHO_MEMSPACE_B 0x180000000UL #define PSYCHO_MEMSPACE_B 0x180000000UL
#define PSYCHO_MEMSPACE_SIZE 0x07fffffffUL #define PSYCHO_MEMSPACE_SIZE 0x07fffffffUL
static void __init psycho_pbm_init(struct pci_pbm_info *pbm, static void __devinit psycho_pbm_init(struct pci_pbm_info *pbm,
struct of_device *op, int is_pbm_a) struct of_device *op, int is_pbm_a)
{ {
psycho_pbm_init_common(pbm, op, "PSYCHO", PBM_CHIP_TYPE_PSYCHO); psycho_pbm_init_common(pbm, op, "PSYCHO", PBM_CHIP_TYPE_PSYCHO);
psycho_pbm_strbuf_init(pbm, is_pbm_a); psycho_pbm_strbuf_init(pbm, is_pbm_a);
......
...@@ -402,8 +402,8 @@ static void apb_init(struct pci_bus *sabre_bus) ...@@ -402,8 +402,8 @@ static void apb_init(struct pci_bus *sabre_bus)
} }
} }
static void __init sabre_scan_bus(struct pci_pbm_info *pbm, static void __devinit sabre_scan_bus(struct pci_pbm_info *pbm,
struct device *parent) struct device *parent)
{ {
static int once; static int once;
...@@ -442,8 +442,8 @@ static void __init sabre_scan_bus(struct pci_pbm_info *pbm, ...@@ -442,8 +442,8 @@ static void __init sabre_scan_bus(struct pci_pbm_info *pbm,
sabre_register_error_handlers(pbm); sabre_register_error_handlers(pbm);
} }
static void __init sabre_pbm_init(struct pci_pbm_info *pbm, static void __devinit sabre_pbm_init(struct pci_pbm_info *pbm,
struct of_device *op) struct of_device *op)
{ {
psycho_pbm_init_common(pbm, op, "SABRE", PBM_CHIP_TYPE_SABRE); psycho_pbm_init_common(pbm, op, "SABRE", PBM_CHIP_TYPE_SABRE);
pbm->pci_afsr = pbm->controller_regs + SABRE_PIOAFSR; pbm->pci_afsr = pbm->controller_regs + SABRE_PIOAFSR;
......
...@@ -545,8 +545,8 @@ static const struct dma_ops sun4v_dma_ops = { ...@@ -545,8 +545,8 @@ static const struct dma_ops sun4v_dma_ops = {
.sync_sg_for_cpu = dma_4v_sync_sg_for_cpu, .sync_sg_for_cpu = dma_4v_sync_sg_for_cpu,
}; };
static void __init pci_sun4v_scan_bus(struct pci_pbm_info *pbm, static void __devinit pci_sun4v_scan_bus(struct pci_pbm_info *pbm,
struct device *parent) struct device *parent)
{ {
struct property *prop; struct property *prop;
struct device_node *dp; struct device_node *dp;
...@@ -559,8 +559,8 @@ static void __init pci_sun4v_scan_bus(struct pci_pbm_info *pbm, ...@@ -559,8 +559,8 @@ static void __init pci_sun4v_scan_bus(struct pci_pbm_info *pbm,
/* XXX register error interrupt handlers XXX */ /* XXX register error interrupt handlers XXX */
} }
static unsigned long __init probe_existing_entries(struct pci_pbm_info *pbm, static unsigned long __devinit probe_existing_entries(struct pci_pbm_info *pbm,
struct iommu *iommu) struct iommu *iommu)
{ {
struct iommu_arena *arena = &iommu->arena; struct iommu_arena *arena = &iommu->arena;
unsigned long i, cnt = 0; unsigned long i, cnt = 0;
...@@ -587,7 +587,7 @@ static unsigned long __init probe_existing_entries(struct pci_pbm_info *pbm, ...@@ -587,7 +587,7 @@ static unsigned long __init probe_existing_entries(struct pci_pbm_info *pbm,
return cnt; return cnt;
} }
static int __init pci_sun4v_iommu_init(struct pci_pbm_info *pbm) static int __devinit pci_sun4v_iommu_init(struct pci_pbm_info *pbm)
{ {
static const u32 vdma_default[] = { 0x80000000, 0x80000000 }; static const u32 vdma_default[] = { 0x80000000, 0x80000000 };
struct iommu *iommu = pbm->iommu; struct iommu *iommu = pbm->iommu;
...@@ -889,8 +889,8 @@ static void pci_sun4v_msi_init(struct pci_pbm_info *pbm) ...@@ -889,8 +889,8 @@ static void pci_sun4v_msi_init(struct pci_pbm_info *pbm)
} }
#endif /* !(CONFIG_PCI_MSI) */ #endif /* !(CONFIG_PCI_MSI) */
static int __init pci_sun4v_pbm_init(struct pci_pbm_info *pbm, static int __devinit pci_sun4v_pbm_init(struct pci_pbm_info *pbm,
struct of_device *op, u32 devhandle) struct of_device *op, u32 devhandle)
{ {
struct device_node *dp = op->node; struct device_node *dp = op->node;
int err; int err;
......
...@@ -23,7 +23,7 @@ static irqreturn_t power_handler(int irq, void *dev_id) ...@@ -23,7 +23,7 @@ static irqreturn_t power_handler(int irq, void *dev_id)
return IRQ_HANDLED; return IRQ_HANDLED;
} }
static int __init has_button_interrupt(unsigned int irq, struct device_node *dp) static int __devinit has_button_interrupt(unsigned int irq, struct device_node *dp)
{ {
if (irq == 0xffffffff) if (irq == 0xffffffff)
return 0; return 0;
......
...@@ -81,4 +81,4 @@ sys_call_table: ...@@ -81,4 +81,4 @@ sys_call_table:
/*305*/ .long sys_set_mempolicy, sys_kexec_load, sys_move_pages, sys_getcpu, sys_epoll_pwait /*305*/ .long sys_set_mempolicy, sys_kexec_load, sys_move_pages, sys_getcpu, sys_epoll_pwait
/*310*/ .long sys_utimensat, sys_signalfd, sys_timerfd_create, sys_eventfd, sys_fallocate /*310*/ .long sys_utimensat, sys_signalfd, sys_timerfd_create, sys_eventfd, sys_fallocate
/*315*/ .long sys_timerfd_settime, sys_timerfd_gettime, sys_signalfd4, sys_eventfd2, sys_epoll_create1 /*315*/ .long sys_timerfd_settime, sys_timerfd_gettime, sys_signalfd4, sys_eventfd2, sys_epoll_create1
/*320*/ .long sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4 /*320*/ .long sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, sys_preadv, sys_pwritev
...@@ -82,7 +82,7 @@ sys_call_table32: ...@@ -82,7 +82,7 @@ sys_call_table32:
.word compat_sys_set_mempolicy, compat_sys_kexec_load, compat_sys_move_pages, sys_getcpu, compat_sys_epoll_pwait .word compat_sys_set_mempolicy, compat_sys_kexec_load, compat_sys_move_pages, sys_getcpu, compat_sys_epoll_pwait
/*310*/ .word compat_sys_utimensat, compat_sys_signalfd, sys_timerfd_create, sys_eventfd, compat_sys_fallocate /*310*/ .word compat_sys_utimensat, compat_sys_signalfd, sys_timerfd_create, sys_eventfd, compat_sys_fallocate
.word compat_sys_timerfd_settime, compat_sys_timerfd_gettime, compat_sys_signalfd4, sys_eventfd2, sys_epoll_create1 .word compat_sys_timerfd_settime, compat_sys_timerfd_gettime, compat_sys_signalfd4, sys_eventfd2, sys_epoll_create1
/*320*/ .word sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4 /*320*/ .word sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, compat_sys_preadv, compat_sys_pwritev
#endif /* CONFIG_COMPAT */ #endif /* CONFIG_COMPAT */
...@@ -156,4 +156,4 @@ sys_call_table: ...@@ -156,4 +156,4 @@ sys_call_table:
.word sys_set_mempolicy, sys_kexec_load, sys_move_pages, sys_getcpu, sys_epoll_pwait .word sys_set_mempolicy, sys_kexec_load, sys_move_pages, sys_getcpu, sys_epoll_pwait
/*310*/ .word sys_utimensat, sys_signalfd, sys_timerfd_create, sys_eventfd, sys_fallocate /*310*/ .word sys_utimensat, sys_signalfd, sys_timerfd_create, sys_eventfd, sys_fallocate
.word sys_timerfd_settime, sys_timerfd_gettime, sys_signalfd4, sys_eventfd2, sys_epoll_create1 .word sys_timerfd_settime, sys_timerfd_gettime, sys_signalfd4, sys_eventfd2, sys_epoll_create1
/*320*/ .word sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4 /*320*/ .word sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, sys_preadv, sys_pwritev
...@@ -70,8 +70,8 @@ extern struct tsb swapper_4m_tsb[KERNEL_TSB4M_NENTRIES]; ...@@ -70,8 +70,8 @@ extern struct tsb swapper_4m_tsb[KERNEL_TSB4M_NENTRIES];
#define MAX_BANKS 32 #define MAX_BANKS 32
static struct linux_prom64_registers pavail[MAX_BANKS] __initdata; static struct linux_prom64_registers pavail[MAX_BANKS] __devinitdata;
static int pavail_ents __initdata; static int pavail_ents __devinitdata;
static int cmp_p64(const void *a, const void *b) static int cmp_p64(const void *a, const void *b)
{ {
...@@ -968,7 +968,7 @@ int of_node_to_nid(struct device_node *dp) ...@@ -968,7 +968,7 @@ int of_node_to_nid(struct device_node *dp)
return nid; return nid;
} }
static void add_node_ranges(void) static void __init add_node_ranges(void)
{ {
int i; int i;
...@@ -1841,7 +1841,7 @@ void __init paging_init(void) ...@@ -1841,7 +1841,7 @@ void __init paging_init(void)
printk("Booting Linux...\n"); printk("Booting Linux...\n");
} }
int __init page_in_phys_avail(unsigned long paddr) int __devinit page_in_phys_avail(unsigned long paddr)
{ {
int i; int i;
......
...@@ -1178,7 +1178,7 @@ static struct uart_driver sunsu_reg = { ...@@ -1178,7 +1178,7 @@ static struct uart_driver sunsu_reg = {
.major = TTY_MAJOR, .major = TTY_MAJOR,
}; };
static int __init sunsu_kbd_ms_init(struct uart_sunsu_port *up) static int __devinit sunsu_kbd_ms_init(struct uart_sunsu_port *up)
{ {
int quot, baud; int quot, baud;
#ifdef CONFIG_SERIO #ifdef CONFIG_SERIO
......
...@@ -703,7 +703,7 @@ static int snd_cs4231_timer_stop(struct snd_timer *timer) ...@@ -703,7 +703,7 @@ static int snd_cs4231_timer_stop(struct snd_timer *timer)
return 0; return 0;
} }
static void __init snd_cs4231_init(struct snd_cs4231 *chip) static void __devinit snd_cs4231_init(struct snd_cs4231 *chip)
{ {
unsigned long flags; unsigned long flags;
...@@ -1020,7 +1020,7 @@ static snd_pcm_uframes_t snd_cs4231_capture_pointer( ...@@ -1020,7 +1020,7 @@ static snd_pcm_uframes_t snd_cs4231_capture_pointer(
return bytes_to_frames(substream->runtime, ptr); return bytes_to_frames(substream->runtime, ptr);
} }
static int __init snd_cs4231_probe(struct snd_cs4231 *chip) static int __devinit snd_cs4231_probe(struct snd_cs4231 *chip)
{ {
unsigned long flags; unsigned long flags;
int i; int i;
...@@ -1219,7 +1219,7 @@ static struct snd_pcm_ops snd_cs4231_capture_ops = { ...@@ -1219,7 +1219,7 @@ static struct snd_pcm_ops snd_cs4231_capture_ops = {
.pointer = snd_cs4231_capture_pointer, .pointer = snd_cs4231_capture_pointer,
}; };
static int __init snd_cs4231_pcm(struct snd_card *card) static int __devinit snd_cs4231_pcm(struct snd_card *card)
{ {
struct snd_cs4231 *chip = card->private_data; struct snd_cs4231 *chip = card->private_data;
struct snd_pcm *pcm; struct snd_pcm *pcm;
...@@ -1248,7 +1248,7 @@ static int __init snd_cs4231_pcm(struct snd_card *card) ...@@ -1248,7 +1248,7 @@ static int __init snd_cs4231_pcm(struct snd_card *card)
return 0; return 0;
} }
static int __init snd_cs4231_timer(struct snd_card *card) static int __devinit snd_cs4231_timer(struct snd_card *card)
{ {
struct snd_cs4231 *chip = card->private_data; struct snd_cs4231 *chip = card->private_data;
struct snd_timer *timer; struct snd_timer *timer;
...@@ -1499,7 +1499,7 @@ static int snd_cs4231_put_double(struct snd_kcontrol *kcontrol, ...@@ -1499,7 +1499,7 @@ static int snd_cs4231_put_double(struct snd_kcontrol *kcontrol,
.private_value = (left_reg) | ((right_reg) << 8) | ((shift_left) << 16) | \ .private_value = (left_reg) | ((right_reg) << 8) | ((shift_left) << 16) | \
((shift_right) << 19) | ((mask) << 24) | ((invert) << 22) } ((shift_right) << 19) | ((mask) << 24) | ((invert) << 22) }
static struct snd_kcontrol_new snd_cs4231_controls[] __initdata = { static struct snd_kcontrol_new snd_cs4231_controls[] __devinitdata = {
CS4231_DOUBLE("PCM Playback Switch", 0, CS4231_LEFT_OUTPUT, CS4231_DOUBLE("PCM Playback Switch", 0, CS4231_LEFT_OUTPUT,
CS4231_RIGHT_OUTPUT, 7, 7, 1, 1), CS4231_RIGHT_OUTPUT, 7, 7, 1, 1),
CS4231_DOUBLE("PCM Playback Volume", 0, CS4231_LEFT_OUTPUT, CS4231_DOUBLE("PCM Playback Volume", 0, CS4231_LEFT_OUTPUT,
...@@ -1538,7 +1538,7 @@ CS4231_SINGLE("Line Out Switch", 0, CS4231_PIN_CTRL, 6, 1, 1), ...@@ -1538,7 +1538,7 @@ CS4231_SINGLE("Line Out Switch", 0, CS4231_PIN_CTRL, 6, 1, 1),
CS4231_SINGLE("Headphone Out Switch", 0, CS4231_PIN_CTRL, 7, 1, 1) CS4231_SINGLE("Headphone Out Switch", 0, CS4231_PIN_CTRL, 7, 1, 1)
}; };
static int __init snd_cs4231_mixer(struct snd_card *card) static int __devinit snd_cs4231_mixer(struct snd_card *card)
{ {
struct snd_cs4231 *chip = card->private_data; struct snd_cs4231 *chip = card->private_data;
int err, idx; int err, idx;
...@@ -1559,7 +1559,7 @@ static int __init snd_cs4231_mixer(struct snd_card *card) ...@@ -1559,7 +1559,7 @@ static int __init snd_cs4231_mixer(struct snd_card *card)
static int dev; static int dev;
static int __init cs4231_attach_begin(struct snd_card **rcard) static int __devinit cs4231_attach_begin(struct snd_card **rcard)
{ {
struct snd_card *card; struct snd_card *card;
struct snd_cs4231 *chip; struct snd_cs4231 *chip;
...@@ -1590,7 +1590,7 @@ static int __init cs4231_attach_begin(struct snd_card **rcard) ...@@ -1590,7 +1590,7 @@ static int __init cs4231_attach_begin(struct snd_card **rcard)
return 0; return 0;
} }
static int __init cs4231_attach_finish(struct snd_card *card) static int __devinit cs4231_attach_finish(struct snd_card *card)
{ {
struct snd_cs4231 *chip = card->private_data; struct snd_cs4231 *chip = card->private_data;
int err; int err;
...@@ -1794,9 +1794,9 @@ static struct snd_device_ops snd_cs4231_sbus_dev_ops = { ...@@ -1794,9 +1794,9 @@ static struct snd_device_ops snd_cs4231_sbus_dev_ops = {
.dev_free = snd_cs4231_sbus_dev_free, .dev_free = snd_cs4231_sbus_dev_free,
}; };
static int __init snd_cs4231_sbus_create(struct snd_card *card, static int __devinit snd_cs4231_sbus_create(struct snd_card *card,
struct of_device *op, struct of_device *op,
int dev) int dev)
{ {
struct snd_cs4231 *chip = card->private_data; struct snd_cs4231 *chip = card->private_data;
int err; int err;
...@@ -1960,9 +1960,9 @@ static struct snd_device_ops snd_cs4231_ebus_dev_ops = { ...@@ -1960,9 +1960,9 @@ static struct snd_device_ops snd_cs4231_ebus_dev_ops = {
.dev_free = snd_cs4231_ebus_dev_free, .dev_free = snd_cs4231_ebus_dev_free,
}; };
static int __init snd_cs4231_ebus_create(struct snd_card *card, static int __devinit snd_cs4231_ebus_create(struct snd_card *card,
struct of_device *op, struct of_device *op,
int dev) int dev)
{ {
struct snd_cs4231 *chip = card->private_data; struct snd_cs4231 *chip = card->private_data;
int err; int err;
......
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