mirror of https://gitee.com/openkylin/linux.git
Merge branch 'cleanups' into boards
This commit is contained in:
commit
bc08969fe6
|
@ -287,23 +287,7 @@ static int __init atstk1002_init(void)
|
|||
* ATSTK1000 uses 32-bit SDRAM interface. Reserve the
|
||||
* SDRAM-specific pins so that nobody messes with them.
|
||||
*/
|
||||
at32_reserve_pin(GPIO_PIN_PE(0)); /* DATA[16] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(1)); /* DATA[17] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(2)); /* DATA[18] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(3)); /* DATA[19] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(4)); /* DATA[20] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(5)); /* DATA[21] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(6)); /* DATA[22] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(7)); /* DATA[23] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(8)); /* DATA[24] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(9)); /* DATA[25] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(10)); /* DATA[26] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(11)); /* DATA[27] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(12)); /* DATA[28] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(13)); /* DATA[29] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(14)); /* DATA[30] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(15)); /* DATA[31] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(26)); /* SDCS */
|
||||
at32_reserve_pin(GPIO_PIOE_BASE, ATMEL_EBI_PE_DATA_ALL);
|
||||
|
||||
#ifdef CONFIG_BOARD_ATSTK1006
|
||||
smc_set_timing(&nand_config, &nand_timing);
|
||||
|
|
|
@ -131,23 +131,7 @@ static int __init atstk1003_init(void)
|
|||
* ATSTK1000 uses 32-bit SDRAM interface. Reserve the
|
||||
* SDRAM-specific pins so that nobody messes with them.
|
||||
*/
|
||||
at32_reserve_pin(GPIO_PIN_PE(0)); /* DATA[16] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(1)); /* DATA[17] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(2)); /* DATA[18] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(3)); /* DATA[19] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(4)); /* DATA[20] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(5)); /* DATA[21] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(6)); /* DATA[22] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(7)); /* DATA[23] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(8)); /* DATA[24] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(9)); /* DATA[25] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(10)); /* DATA[26] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(11)); /* DATA[27] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(12)); /* DATA[28] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(13)); /* DATA[29] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(14)); /* DATA[30] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(15)); /* DATA[31] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(26)); /* SDCS */
|
||||
at32_reserve_pin(GPIO_PIOE_BASE, ATMEL_EBI_PE_DATA_ALL);
|
||||
|
||||
#ifdef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM
|
||||
at32_add_device_usart(1);
|
||||
|
|
|
@ -307,28 +307,10 @@ static int __init favr32_init(void)
|
|||
* Favr-32 uses 32-bit SDRAM interface. Reserve the SDRAM-specific
|
||||
* pins so that nobody messes with them.
|
||||
*/
|
||||
at32_reserve_pin(GPIO_PIN_PE(0)); /* DATA[16] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(1)); /* DATA[17] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(2)); /* DATA[18] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(3)); /* DATA[19] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(4)); /* DATA[20] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(5)); /* DATA[21] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(6)); /* DATA[22] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(7)); /* DATA[23] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(8)); /* DATA[24] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(9)); /* DATA[25] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(10)); /* DATA[26] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(11)); /* DATA[27] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(12)); /* DATA[28] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(13)); /* DATA[29] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(14)); /* DATA[30] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(15)); /* DATA[31] */
|
||||
at32_reserve_pin(GPIO_PIN_PE(26)); /* SDCS */
|
||||
at32_reserve_pin(GPIO_PIOE_BASE, ATMEL_EBI_PE_DATA_ALL);
|
||||
|
||||
at32_select_gpio(GPIO_PIN_PB(3), 0); /* IRQ from ADS7843 */
|
||||
|
||||
at32_add_system_devices();
|
||||
|
||||
at32_add_device_usart(0);
|
||||
|
||||
set_hw_addr(at32_add_device_eth(0, ð_data[0]));
|
||||
|
|
|
@ -207,8 +207,6 @@ static int __init mimc200_init(void)
|
|||
* reserve any pins for it.
|
||||
*/
|
||||
|
||||
at32_add_system_devices();
|
||||
|
||||
at32_add_device_usart(0);
|
||||
at32_add_device_usart(1);
|
||||
at32_add_device_usart(2);
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
|
||||
#include <asm/sysreg.h>
|
||||
#include <asm/ocd.h>
|
||||
#include <asm/syscalls.h>
|
||||
|
||||
#include <mach/pm.h>
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/ucontext.h>
|
||||
#include <asm/syscalls.h>
|
||||
|
||||
#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
|
||||
#include <asm/mman.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/syscalls.h>
|
||||
|
||||
asmlinkage long sys_mmap2(unsigned long addr, unsigned long len,
|
||||
unsigned long prot, unsigned long flags,
|
||||
|
|
|
@ -198,7 +198,7 @@ dump_clock(struct clk *parent, struct clkinf *r)
|
|||
unsigned i;
|
||||
|
||||
/* skip clocks coupled to devices that aren't registered */
|
||||
if (parent->dev && !parent->dev->bus_id[0] && !parent->users)
|
||||
if (parent->dev && !dev_name(parent->dev) && !parent->users)
|
||||
return;
|
||||
|
||||
/* <nest spaces> name <pad to end> */
|
||||
|
@ -214,7 +214,7 @@ dump_clock(struct clk *parent, struct clkinf *r)
|
|||
parent->users ? "on" : "off", /* NOTE: not-paranoid!! */
|
||||
clk_get_rate(parent));
|
||||
if (parent->dev)
|
||||
seq_printf(r->s, ", for %s", parent->dev->bus_id);
|
||||
seq_printf(r->s, ", for %s", dev_name(parent->dev));
|
||||
seq_printf(r->s, "\n");
|
||||
|
||||
/* cost of this scan is small, but not linear... */
|
||||
|
|
|
@ -211,4 +211,7 @@
|
|||
|
||||
#define ATMEL_LCDC_ALT_15BIT (ATMEL_LCDC_CONTROL | ATMEL_LCDC_ALT_15B_DATA)
|
||||
|
||||
/* Bitmask for all EBI data (D16..D31) pins on port E */
|
||||
#define ATMEL_EBI_PE_DATA_ALL (0x0000FFFF)
|
||||
|
||||
#endif /* __ASM_ARCH_AT32AP700X_H__ */
|
||||
|
|
|
@ -25,6 +25,6 @@ void at32_select_periph(unsigned int port, unsigned int pin,
|
|||
unsigned int periph, unsigned long flags);
|
||||
void at32_select_gpio(unsigned int pin, unsigned long flags);
|
||||
void at32_deselect_pin(unsigned int pin);
|
||||
void at32_reserve_pin(unsigned int pin);
|
||||
void at32_reserve_pin(unsigned int port, u32 pin_mask);
|
||||
|
||||
#endif /* __ASM_ARCH_PORTMUX_H__ */
|
||||
|
|
|
@ -167,22 +167,29 @@ void at32_deselect_pin(unsigned int pin)
|
|||
}
|
||||
|
||||
/* Reserve a pin, preventing anyone else from changing its configuration. */
|
||||
void __init at32_reserve_pin(unsigned int pin)
|
||||
void __init at32_reserve_pin(unsigned int port, u32 pin_mask)
|
||||
{
|
||||
struct pio_device *pio;
|
||||
unsigned int pin_index = pin & 0x1f;
|
||||
|
||||
pio = gpio_to_pio(pin);
|
||||
/* assign and verify pio */
|
||||
pio = gpio_to_pio(port);
|
||||
if (unlikely(!pio)) {
|
||||
printk("pio: invalid pin %u\n", pin);
|
||||
printk(KERN_WARNING "pio: invalid port %u\n", port);
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if (unlikely(test_and_set_bit(pin_index, &pio->pinmux_mask))) {
|
||||
printk("%s: pin %u is busy\n", pio->name, pin_index);
|
||||
/* Test if any of the requested pins is already muxed */
|
||||
spin_lock(&pio_lock);
|
||||
if (unlikely(pio->pinmux_mask & pin_mask)) {
|
||||
printk(KERN_WARNING "%s: pin(s) busy (req. 0x%x, busy 0x%x)\n",
|
||||
pio->name, pin_mask, pio->pinmux_mask & pin_mask);
|
||||
spin_unlock(&pio_lock);
|
||||
goto fail;
|
||||
}
|
||||
|
||||
/* Reserve pins */
|
||||
pio->pinmux_mask |= pin_mask;
|
||||
spin_unlock(&pio_lock);
|
||||
return;
|
||||
|
||||
fail:
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
#include <asm/cachectl.h>
|
||||
#include <asm/processor.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/syscalls.h>
|
||||
|
||||
/*
|
||||
* If you attempt to flush anything more than this, you need superuser
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
/*
|
||||
* syscalls.h - Linux syscall interfaces (arch-specific)
|
||||
*
|
||||
* Copyright (c) 2008 Jaswinder Singh
|
||||
*
|
||||
* This file is released under the GPLv2.
|
||||
* See the file COPYING for more details.
|
||||
*/
|
||||
|
||||
#ifndef _ASM_AVR32_SYSCALLS_H
|
||||
#define _ASM_AVR32_SYSCALLS_H
|
||||
|
||||
#include <linux/compiler.h>
|
||||
#include <linux/linkage.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/signal.h>
|
||||
|
||||
/* kernel/process.c */
|
||||
asmlinkage int sys_fork(struct pt_regs *);
|
||||
asmlinkage int sys_clone(unsigned long, unsigned long,
|
||||
unsigned long, unsigned long,
|
||||
struct pt_regs *);
|
||||
asmlinkage int sys_vfork(struct pt_regs *);
|
||||
asmlinkage int sys_execve(char __user *, char __user *__user *,
|
||||
char __user *__user *, struct pt_regs *);
|
||||
|
||||
/* kernel/signal.c */
|
||||
asmlinkage int sys_sigaltstack(const stack_t __user *, stack_t __user *,
|
||||
struct pt_regs *);
|
||||
asmlinkage int sys_rt_sigreturn(struct pt_regs *);
|
||||
|
||||
/* kernel/sys_avr32.c */
|
||||
asmlinkage long sys_mmap2(unsigned long, unsigned long, unsigned long,
|
||||
unsigned long, unsigned long, off_t);
|
||||
|
||||
/* mm/cache.c */
|
||||
asmlinkage int sys_cacheflush(int, void __user *, size_t);
|
||||
|
||||
#endif /* _ASM_AVR32_SYSCALLS_H */
|
Loading…
Reference in New Issue