Many Blackfin files were missing proper copyright/license notifications,
so we audited the arch/blackfin/ tree and hopefully resolved all of that.
Get it in now to avoid thrashing later on.
Otherwise, we've got a few small bugfixes, board resource cleanups, and a
few arch improvements (fb, irq, time) that have been cooking for a while.
Barry Song (1):
Blackfin: BF51x: add PTP MMR defines
Graf Yang (1):
Blackfin: fix missed cache config renames
Jaswinder Singh Rajput (1):
Blackfin: includecheck fix: mach-bf548, ezkit.c
John Stultz (1):
Blackfin: convert to use arch_gettimeoffset()
Michael Hennerich (2):
Blackfin: convert adv7393 resources to new i2c framework
Blackfin: convert to GENERIC_HARDIRQS_NO__DO_IRQ
Mike Frysinger (5):
Blackfin: asm/irq.h: pull in mach/anomaly.h for anomaly defines
Blackfin: cplbinfo: drop d_path() hacks
Blackfin: bf533-ezkit: convert to physmap/jedec_probe
Blackfin: drop cs_change_per_word setting
Blackfin: drop all simple-gpio board resources
Robin Getz (1):
Blackfin: mass clean up of copyright/licensing info
Thomas Chou (1):
Blackfin: fix framebuffer mmap bug for nommu
arch/blackfin/ADI_BSD.txt | 41 ++++++
arch/blackfin/Kconfig | 13 ++-
arch/blackfin/include/asm/atomic.h | 6 +
arch/blackfin/include/asm/bfin-global.h | 26 +----
arch/blackfin/include/asm/bfin5xx_spi.h | 2 -
arch/blackfin/include/asm/bfin_rotary.h | 4 +
arch/blackfin/include/asm/bfin_simple_timer.h | 6 +
arch/blackfin/include/asm/bitops.h | 6 +
arch/blackfin/include/asm/blackfin.h | 5 +-
arch/blackfin/include/asm/bug.h | 6 +
arch/blackfin/include/asm/byteorder.h | 5 -
arch/blackfin/include/asm/cache.h | 9 +-
arch/blackfin/include/asm/cacheflush.h | 27 +----
arch/blackfin/include/asm/cdef_LPBlackfin.h | 32 +----
arch/blackfin/include/asm/checksum.h | 9 +-
arch/blackfin/include/asm/clocks.h | 27 +----
arch/blackfin/include/asm/context.S | 27 +----
arch/blackfin/include/asm/cplb.h | 27 +----
arch/blackfin/include/asm/cplbinit.h | 27 +----
arch/blackfin/include/asm/cpu.h | 21 +---
arch/blackfin/include/asm/def_LPBlackfin.h | 36 +-----
arch/blackfin/include/asm/dma-mapping.h | 6 +
arch/blackfin/include/asm/dpmc.h | 6 +-
arch/blackfin/include/asm/early_printk.h | 22 +---
arch/blackfin/include/asm/elf.h | 6 +-
arch/blackfin/include/asm/entry.h | 6 +
arch/blackfin/include/asm/fcntl.h | 6 +
arch/blackfin/include/asm/fixed_code.h | 10 ++-
arch/blackfin/include/asm/flat.h | 5 +-
arch/blackfin/include/asm/gpio.h | 27 +----
arch/blackfin/include/asm/hardirq.h | 6 +
arch/blackfin/include/asm/io.h | 6 +
arch/blackfin/include/asm/irq.h | 19 +--
arch/blackfin/include/asm/irq_handler.h | 6 +
arch/blackfin/include/asm/l1layout.h | 5 +-
arch/blackfin/include/asm/linkage.h | 6 +
arch/blackfin/include/asm/mmu.h | 9 +-
arch/blackfin/include/asm/mmu_context.h | 27 +----
arch/blackfin/include/asm/module.h | 6 +
arch/blackfin/include/asm/mutex.h | 4 +
arch/blackfin/include/asm/nand.h | 12 +--
arch/blackfin/include/asm/page.h | 6 +
arch/blackfin/include/asm/page_offset.h | 9 +-
arch/blackfin/include/asm/pda.h | 21 +---
arch/blackfin/include/asm/pgtable.h | 12 ++
arch/blackfin/include/asm/poll.h | 7 +
arch/blackfin/include/asm/portmux.h | 5 +-
arch/blackfin/include/asm/posix_types.h | 6 +
arch/blackfin/include/asm/processor.h | 6 +
arch/blackfin/include/asm/ptrace.h | 6 +
arch/blackfin/include/asm/sections.h | 6 +
arch/blackfin/include/asm/segment.h | 6 +
arch/blackfin/include/asm/sigcontext.h | 6 +
arch/blackfin/include/asm/siginfo.h | 6 +
arch/blackfin/include/asm/smp.h | 21 +---
arch/blackfin/include/asm/spinlock.h | 6 +
arch/blackfin/include/asm/spinlock_types.h | 6 +
arch/blackfin/include/asm/stat.h | 6 +
arch/blackfin/include/asm/string.h | 6 +
arch/blackfin/include/asm/swab.h | 6 +
arch/blackfin/include/asm/system.h | 32 +-----
arch/blackfin/include/asm/thread_info.h | 24 +----
arch/blackfin/include/asm/tlb.h | 6 +
arch/blackfin/include/asm/trace.h | 5 +-
arch/blackfin/include/asm/traps.h | 13 +--
arch/blackfin/include/asm/uaccess.h | 5 +-
arch/blackfin/include/asm/unistd.h | 6 +
arch/blackfin/kernel/asm-offsets.c | 27 +----
arch/blackfin/kernel/bfin_dma_5xx.c | 1 +
arch/blackfin/kernel/bfin_gpio.c | 27 +----
arch/blackfin/kernel/cplb-mpu/cplbinit.c | 20 +---
arch/blackfin/kernel/cplb-mpu/cplbmgr.c | 19 +---
arch/blackfin/kernel/cplb-nompu/cplbinit.c | 19 +---
arch/blackfin/kernel/cplb-nompu/cplbmgr.c | 16 +--
arch/blackfin/kernel/cplbinfo.c | 26 ++--
arch/blackfin/kernel/dma-mapping.c | 27 +----
arch/blackfin/kernel/early_printk.c | 23 +---
arch/blackfin/kernel/entry.S | 27 +----
arch/blackfin/kernel/fixed_code.S | 5 +
arch/blackfin/kernel/flat.c | 18 +---
arch/blackfin/kernel/init_task.c | 27 +----
arch/blackfin/kernel/irqchip.c | 27 +----
arch/blackfin/kernel/module.c | 27 +----
arch/blackfin/kernel/process.c | 27 +----
arch/blackfin/kernel/ptrace.c | 28 +----
arch/blackfin/kernel/setup.c | 6 +-
arch/blackfin/kernel/shadow_console.c | 2 -
arch/blackfin/kernel/signal.c | 27 +----
arch/blackfin/kernel/sys_bfin.c | 41 +++----
arch/blackfin/kernel/time-ts.c | 10 +-
arch/blackfin/kernel/time.c | 63 +---------
arch/blackfin/kernel/traps.c | 27 +----
arch/blackfin/kernel/vmlinux.lds.S | 27 +----
arch/blackfin/lib/ashldi3.c | 27 +----
arch/blackfin/lib/ashrdi3.c | 27 +----
arch/blackfin/lib/checksum.c | 30 +----
arch/blackfin/lib/divsi3.S | 28 +----
arch/blackfin/lib/gcclib.h | 27 +----
arch/blackfin/lib/lshrdi3.c | 27 +----
arch/blackfin/lib/memchr.S | 27 +----
arch/blackfin/lib/memcmp.S | 27 +----
arch/blackfin/lib/memcpy.S | 37 +-----
arch/blackfin/lib/memmove.S | 27 +----
arch/blackfin/lib/memset.S | 27 +----
arch/blackfin/lib/modsi3.S | 36 +-----
arch/blackfin/lib/muldi3.S | 6 +
arch/blackfin/lib/outs.S | 29 +----
arch/blackfin/lib/smulsi3_highpart.S | 6 +
arch/blackfin/lib/udivsi3.S | 27 +----
arch/blackfin/lib/umodsi3.S | 27 +----
arch/blackfin/lib/umulsi3_highpart.S | 6 +
arch/blackfin/mach-bf518/boards/ezbrd.c | 45 +------
arch/blackfin/mach-bf518/dma.c | 28 +----
arch/blackfin/mach-bf518/include/mach/bf518.h | 27 +----
.../mach-bf518/include/mach/bfin_serial_5xx.h | 29 +----
arch/blackfin/mach-bf518/include/mach/blackfin.h | 29 +----
arch/blackfin/mach-bf518/include/mach/cdefBF512.h | 29 +----
arch/blackfin/mach-bf518/include/mach/cdefBF514.h | 29 +----
arch/blackfin/mach-bf518/include/mach/cdefBF516.h | 29 +----
arch/blackfin/mach-bf518/include/mach/cdefBF518.h | 70 +++++++----
.../mach-bf518/include/mach/cdefBF51x_base.h | 28 +----
arch/blackfin/mach-bf518/include/mach/defBF512.h | 28 +----
arch/blackfin/mach-bf518/include/mach/defBF514.h | 28 +----
arch/blackfin/mach-bf518/include/mach/defBF516.h | 28 +----
arch/blackfin/mach-bf518/include/mach/defBF518.h | 56 +++++----
.../mach-bf518/include/mach/defBF51x_base.h | 28 +----
arch/blackfin/mach-bf518/include/mach/gpio.h | 3 -
arch/blackfin/mach-bf518/include/mach/irq.h | 29 +----
arch/blackfin/mach-bf518/include/mach/portmux.h | 6 +
arch/blackfin/mach-bf518/ints-priority.c | 27 +----
arch/blackfin/mach-bf527/boards/cm_bf527.c | 61 ++--------
arch/blackfin/mach-bf527/boards/ezbrd.c | 45 +------
arch/blackfin/mach-bf527/boards/ezkit.c | 60 ++--------
arch/blackfin/mach-bf527/dma.c | 28 +----
arch/blackfin/mach-bf527/include/mach/bf527.h | 27 +----
.../mach-bf527/include/mach/bfin_serial_5xx.h | 29 +----
arch/blackfin/mach-bf527/include/mach/blackfin.h | 29 +----
arch/blackfin/mach-bf527/include/mach/cdefBF522.h | 29 +----
arch/blackfin/mach-bf527/include/mach/cdefBF525.h | 29 +----
arch/blackfin/mach-bf527/include/mach/cdefBF527.h | 29 +----
.../mach-bf527/include/mach/cdefBF52x_base.h | 28 +----
arch/blackfin/mach-bf527/include/mach/defBF522.h | 28 +----
arch/blackfin/mach-bf527/include/mach/defBF525.h | 28 +----
arch/blackfin/mach-bf527/include/mach/defBF527.h | 28 +----
.../mach-bf527/include/mach/defBF52x_base.h | 28 +----
arch/blackfin/mach-bf527/include/mach/gpio.h | 3 -
arch/blackfin/mach-bf527/include/mach/irq.h | 29 +----
arch/blackfin/mach-bf527/include/mach/portmux.h | 6 +
arch/blackfin/mach-bf527/ints-priority.c | 27 +----
arch/blackfin/mach-bf533/boards/H8606.c | 33 +----
arch/blackfin/mach-bf533/boards/blackstamp.c | 29 +----
arch/blackfin/mach-bf533/boards/cm_bf533.c | 45 +------
arch/blackfin/mach-bf533/boards/ezkit.c | 132 ++++++++-----------
arch/blackfin/mach-bf533/boards/ip0x.c | 37 +-----
arch/blackfin/mach-bf533/boards/stamp.c | 60 ++--------
arch/blackfin/mach-bf533/dma.c | 28 +----
arch/blackfin/mach-bf533/include/mach/bf533.h | 27 +----
.../mach-bf533/include/mach/bfin_serial_5xx.h | 29 +----
arch/blackfin/mach-bf533/include/mach/blackfin.h | 28 +----
arch/blackfin/mach-bf533/include/mach/cdefBF532.h | 28 +----
arch/blackfin/mach-bf533/include/mach/defBF532.h | 44 +------
arch/blackfin/mach-bf533/include/mach/gpio.h | 3 -
arch/blackfin/mach-bf533/include/mach/irq.h | 28 +----
arch/blackfin/mach-bf533/include/mach/portmux.h | 6 +
arch/blackfin/mach-bf533/ints-priority.c | 27 +----
arch/blackfin/mach-bf537/boards/cm_bf537e.c | 46 +------
arch/blackfin/mach-bf537/boards/cm_bf537u.c | 46 +------
arch/blackfin/mach-bf537/boards/minotaur.c | 6 +
arch/blackfin/mach-bf537/boards/pnav10.c | 31 +----
arch/blackfin/mach-bf537/boards/stamp.c | 60 ++--------
arch/blackfin/mach-bf537/boards/tcm_bf537.c | 46 +------
arch/blackfin/mach-bf537/dma.c | 28 +----
arch/blackfin/mach-bf537/include/mach/bf537.h | 27 +----
.../mach-bf537/include/mach/bfin_serial_5xx.h | 29 +----
arch/blackfin/mach-bf537/include/mach/blackfin.h | 29 +----
arch/blackfin/mach-bf537/include/mach/cdefBF534.h | 29 +----
arch/blackfin/mach-bf537/include/mach/cdefBF537.h | 29 +----
arch/blackfin/mach-bf537/include/mach/defBF534.h | 28 +----
arch/blackfin/mach-bf537/include/mach/defBF537.h | 29 +----
arch/blackfin/mach-bf537/include/mach/gpio.h | 3 -
arch/blackfin/mach-bf537/include/mach/irq.h | 29 +----
arch/blackfin/mach-bf537/include/mach/portmux.h | 6 +
arch/blackfin/mach-bf537/ints-priority.c | 27 +----
arch/blackfin/mach-bf538/boards/ezkit.c | 46 +------
arch/blackfin/mach-bf538/dma.c | 28 +----
arch/blackfin/mach-bf538/include/mach/bf538.h | 27 +----
.../mach-bf538/include/mach/bfin_serial_5xx.h | 29 +----
arch/blackfin/mach-bf538/include/mach/blackfin.h | 29 +----
arch/blackfin/mach-bf538/include/mach/cdefBF538.h | 28 +----
arch/blackfin/mach-bf538/include/mach/defBF539.h | 44 +------
arch/blackfin/mach-bf538/include/mach/gpio.h | 3 -
arch/blackfin/mach-bf538/include/mach/irq.h | 29 +----
arch/blackfin/mach-bf538/include/mach/portmux.h | 6 +
arch/blackfin/mach-bf538/ints-priority.c | 27 +----
arch/blackfin/mach-bf548/boards/cm_bf548.c | 48 +-------
arch/blackfin/mach-bf548/boards/ezkit.c | 49 +-------
arch/blackfin/mach-bf548/dma.c | 27 +----
arch/blackfin/mach-bf548/include/mach/bf548.h | 27 +----
.../blackfin/mach-bf548/include/mach/bf54x-lq043.h | 6 +
arch/blackfin/mach-bf548/include/mach/bf54x_keys.h | 6 +
.../mach-bf548/include/mach/bfin_serial_5xx.h | 29 +----
arch/blackfin/mach-bf548/include/mach/blackfin.h | 29 +----
arch/blackfin/mach-bf548/include/mach/cdefBF542.h | 28 +----
arch/blackfin/mach-bf548/include/mach/cdefBF544.h | 28 +----
arch/blackfin/mach-bf548/include/mach/cdefBF547.h | 28 +----
arch/blackfin/mach-bf548/include/mach/cdefBF548.h | 28 +----
arch/blackfin/mach-bf548/include/mach/cdefBF549.h | 28 +----
.../mach-bf548/include/mach/cdefBF54x_base.h | 28 +----
arch/blackfin/mach-bf548/include/mach/defBF542.h | 28 +----
arch/blackfin/mach-bf548/include/mach/defBF544.h | 28 +----
arch/blackfin/mach-bf548/include/mach/defBF547.h | 28 +----
arch/blackfin/mach-bf548/include/mach/defBF548.h | 28 +----
arch/blackfin/mach-bf548/include/mach/defBF549.h | 28 +----
.../mach-bf548/include/mach/defBF54x_base.h | 28 +----
arch/blackfin/mach-bf548/include/mach/gpio.h | 30 +----
arch/blackfin/mach-bf548/include/mach/irq.h | 29 +----
arch/blackfin/mach-bf548/include/mach/portmux.h | 6 +
arch/blackfin/mach-bf548/ints-priority.c | 27 +----
arch/blackfin/mach-bf561/atomic.S | 21 +---
arch/blackfin/mach-bf561/boards/cm_bf561.c | 45 +------
arch/blackfin/mach-bf561/boards/ezkit.c | 44 +------
arch/blackfin/mach-bf561/boards/tepla.c | 14 +--
arch/blackfin/mach-bf561/dma.c | 28 +----
arch/blackfin/mach-bf561/include/mach/bf561.h | 27 +----
.../mach-bf561/include/mach/bfin_serial_5xx.h | 29 +----
arch/blackfin/mach-bf561/include/mach/blackfin.h | 28 +----
arch/blackfin/mach-bf561/include/mach/cdefBF561.h | 28 +----
arch/blackfin/mach-bf561/include/mach/defBF561.h | 29 +----
arch/blackfin/mach-bf561/include/mach/gpio.h | 3 -
arch/blackfin/mach-bf561/include/mach/irq.h | 29 +----
arch/blackfin/mach-bf561/include/mach/portmux.h | 6 +
arch/blackfin/mach-bf561/include/mach/smp.h | 6 +
arch/blackfin/mach-bf561/ints-priority.c | 27 +----
arch/blackfin/mach-bf561/secondary.S | 24 +---
arch/blackfin/mach-bf561/smp.c | 21 +---
arch/blackfin/mach-common/arch_checks.c | 27 +----
arch/blackfin/mach-common/cache-c.c | 2 -
arch/blackfin/mach-common/cache.S | 2 -
arch/blackfin/mach-common/cpufreq.c | 27 +----
arch/blackfin/mach-common/entry.S | 31 +----
arch/blackfin/mach-common/head.S | 2 -
arch/blackfin/mach-common/interrupt.S | 30 +----
arch/blackfin/mach-common/ints-priority.c | 35 ++----
arch/blackfin/mach-common/irqpanic.c | 27 +----
arch/blackfin/mach-common/pm.c | 34 +-----
arch/blackfin/mach-common/smp.c | 22 +---
arch/blackfin/mm/blackfin_sram.h | 27 +----
arch/blackfin/mm/init.c | 27 +----
arch/blackfin/mm/isram-driver.c | 14 +--
arch/blackfin/mm/sram-alloc.c | 27 +----
250 files changed, 1078 insertions(+), 4717 deletions(-)
create mode 100644 arch/blackfin/ADI_BSD.txt
From: John Stultz <[email protected]>
Convert Blackfin to use GENERIC_TIME via the arch_getoffset()
infrastructure, reducing the amount of arch specific code we need to
maintain.
I've taken my best swing at converting this, but I'm not 100% confident
I got it right. My cross-compiler is now out of date (gcc4.2) so I
wasn't able to check if it compiled. Any assistance from arch
maintainers or testers to get this merged would be great.
Signed-off-by: John Stultz <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Mike Frysinger <[email protected]>
---
arch/blackfin/Kconfig | 10 ++++---
arch/blackfin/kernel/time.c | 63 +-----------------------------------------
2 files changed, 8 insertions(+), 65 deletions(-)
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig
index 9a01d44..e519882 100644
--- a/arch/blackfin/Kconfig
+++ b/arch/blackfin/Kconfig
@@ -229,7 +229,7 @@ endchoice
config SMP
depends on BF561
- select GENERIC_TIME
+ select GENERIC_CLOCKEVENTS
bool "Symmetric multi-processing support"
---help---
This enables support for systems with more than one CPU,
@@ -613,12 +613,10 @@ comment "Kernel Timer/Scheduler"
source kernel/Kconfig.hz
config GENERIC_TIME
- bool "Generic time"
- default y
+ def_bool y
config GENERIC_CLOCKEVENTS
bool "Generic clock events"
- depends on GENERIC_TIME
default y
choice
@@ -653,6 +651,10 @@ config GPTMR0_CLOCKSOURCE
depends on GENERIC_CLOCKEVENTS
depends on !TICKSOURCE_GPTMR0
+config ARCH_USES_GETTIMEOFFSET
+ depends on !GENERIC_CLOCKEVENTS
+ def_bool y
+
source kernel/time/Kconfig
comment "Misc"
diff --git a/arch/blackfin/kernel/time.c b/arch/blackfin/kernel/time.c
index adb54aa..e5069fe 100644
--- a/arch/blackfin/kernel/time.c
+++ b/arch/blackfin/kernel/time.c
@@ -81,11 +81,11 @@ time_sched_init(irqreturn_t(*timer_routine) (int, void *))
#endif
}
+#ifdef CONFIG_ARCH_USES_GETTIMEOFFSET
/*
* Should return useconds since last timer tick
*/
-#ifndef CONFIG_GENERIC_TIME
-static unsigned long gettimeoffset(void)
+u32 arch_gettimeoffset(void)
{
unsigned long offset;
unsigned long clocks_per_jiffy;
@@ -184,65 +184,6 @@ void __init time_init(void)
time_sched_init(timer_interrupt);
}
-#ifndef CONFIG_GENERIC_TIME
-void do_gettimeofday(struct timeval *tv)
-{
- unsigned long flags;
- unsigned long seq;
- unsigned long usec, sec;
-
- do {
- seq = read_seqbegin_irqsave(&xtime_lock, flags);
- usec = gettimeoffset();
- sec = xtime.tv_sec;
- usec += (xtime.tv_nsec / NSEC_PER_USEC);
- }
- while (read_seqretry_irqrestore(&xtime_lock, seq, flags));
-
- while (usec >= USEC_PER_SEC) {
- usec -= USEC_PER_SEC;
- sec++;
- }
-
- tv->tv_sec = sec;
- tv->tv_usec = usec;
-}
-EXPORT_SYMBOL(do_gettimeofday);
-
-int do_settimeofday(struct timespec *tv)
-{
- time_t wtm_sec, sec = tv->tv_sec;
- long wtm_nsec, nsec = tv->tv_nsec;
-
- if ((unsigned long)tv->tv_nsec >= NSEC_PER_SEC)
- return -EINVAL;
-
- write_seqlock_irq(&xtime_lock);
- /*
- * This is revolting. We need to set the xtime.tv_usec
- * correctly. However, the value in this location is
- * is value at the last tick.
- * Discover what correction gettimeofday
- * would have done, and then undo it!
- */
- nsec -= (gettimeoffset() * NSEC_PER_USEC);
-
- wtm_sec = wall_to_monotonic.tv_sec + (xtime.tv_sec - sec);
- wtm_nsec = wall_to_monotonic.tv_nsec + (xtime.tv_nsec - nsec);
-
- set_normalized_timespec(&xtime, sec, nsec);
- set_normalized_timespec(&wall_to_monotonic, wtm_sec, wtm_nsec);
-
- ntp_clear();
-
- write_sequnlock_irq(&xtime_lock);
- clock_was_set();
-
- return 0;
-}
-EXPORT_SYMBOL(do_settimeofday);
-#endif /* !CONFIG_GENERIC_TIME */
-
/*
* Scheduler clock - returns current time in nanosec units.
*/
--
1.6.5.rc2
From: Robin Getz <[email protected]>
Bill Gatliff & David Brownell pointed out we were missing some
copyrights, and licensing terms in some of the files in
./arch/blackfin, so this fixes things, and cleans them up.
It also removes:
- verbose GPL text(refer to the top level ./COPYING file)
- file names (you are looking at the file)
- bug url (it's in the ./MAINTAINERS file)
- "or later" on GPL-2, when we did not have that right
It also allows some Blackfin-specific assembly files to be under a BSD
like license (for people to use them outside of Linux).
Signed-off-by: Robin Getz <[email protected]>
Signed-off-by: Mike Frysinger <[email protected]>
---
large noisy patch truncated; you can find it here:
http://git.kernel.org/?p=linux/kernel/git/vapier/blackfin.git;a=commit;h=96f1050d3df105c9ae6c6ac224f370199ea82fcd
arch/blackfin/ADI_BSD.txt | 41 ++++++++++++++++++
arch/blackfin/include/asm/atomic.h | 6 +++
arch/blackfin/include/asm/bfin-global.h | 26 +----------
arch/blackfin/include/asm/bfin5xx_spi.h | 2 -
arch/blackfin/include/asm/bfin_rotary.h | 4 ++
arch/blackfin/include/asm/bfin_simple_timer.h | 6 +++
arch/blackfin/include/asm/bitops.h | 6 +++
arch/blackfin/include/asm/blackfin.h | 5 ++-
arch/blackfin/include/asm/bug.h | 6 +++
arch/blackfin/include/asm/byteorder.h | 5 --
arch/blackfin/include/asm/cache.h | 5 ++-
arch/blackfin/include/asm/cacheflush.h | 27 +-----------
arch/blackfin/include/asm/cdef_LPBlackfin.h | 32 ++------------
arch/blackfin/include/asm/checksum.h | 9 +++-
arch/blackfin/include/asm/clocks.h | 27 +-----------
arch/blackfin/include/asm/context.S | 27 +-----------
arch/blackfin/include/asm/cplb.h | 27 +-----------
arch/blackfin/include/asm/cplbinit.h | 27 +-----------
arch/blackfin/include/asm/cpu.h | 21 +--------
arch/blackfin/include/asm/def_LPBlackfin.h | 36 +++-------------
arch/blackfin/include/asm/dma-mapping.h | 6 +++
arch/blackfin/include/asm/dpmc.h | 6 ++-
arch/blackfin/include/asm/early_printk.h | 22 +--------
arch/blackfin/include/asm/elf.h | 6 ++-
arch/blackfin/include/asm/entry.h | 6 +++
arch/blackfin/include/asm/fcntl.h | 6 +++
arch/blackfin/include/asm/fixed_code.h | 10 ++++-
arch/blackfin/include/asm/flat.h | 5 +-
arch/blackfin/include/asm/gpio.h | 27 +-----------
arch/blackfin/include/asm/hardirq.h | 6 +++
arch/blackfin/include/asm/io.h | 6 +++
arch/blackfin/include/asm/irq.h | 17 ++-----
arch/blackfin/include/asm/irq_handler.h | 6 +++
arch/blackfin/include/asm/l1layout.h | 5 ++-
arch/blackfin/include/asm/linkage.h | 6 +++
arch/blackfin/include/asm/mmu.h | 9 +++-
arch/blackfin/include/asm/mmu_context.h | 27 +-----------
arch/blackfin/include/asm/module.h | 6 +++
arch/blackfin/include/asm/mutex.h | 4 ++
arch/blackfin/include/asm/nand.h | 12 ++----
arch/blackfin/include/asm/page.h | 6 +++
arch/blackfin/include/asm/page_offset.h | 9 +++-
arch/blackfin/include/asm/pda.h | 21 +--------
arch/blackfin/include/asm/pgtable.h | 6 +++
arch/blackfin/include/asm/poll.h | 7 +++
arch/blackfin/include/asm/portmux.h | 5 ++-
arch/blackfin/include/asm/posix_types.h | 6 +++
arch/blackfin/include/asm/processor.h | 6 +++
arch/blackfin/include/asm/ptrace.h | 6 +++
arch/blackfin/include/asm/sections.h | 6 +++
arch/blackfin/include/asm/segment.h | 6 +++
arch/blackfin/include/asm/sigcontext.h | 6 +++
arch/blackfin/include/asm/siginfo.h | 6 +++
arch/blackfin/include/asm/smp.h | 21 +--------
arch/blackfin/include/asm/spinlock.h | 6 +++
arch/blackfin/include/asm/spinlock_types.h | 6 +++
arch/blackfin/include/asm/stat.h | 6 +++
arch/blackfin/include/asm/string.h | 6 +++
arch/blackfin/include/asm/swab.h | 6 +++
arch/blackfin/include/asm/system.h | 32 +-------------
arch/blackfin/include/asm/thread_info.h | 24 +----------
arch/blackfin/include/asm/tlb.h | 6 +++
arch/blackfin/include/asm/trace.h | 5 ++-
arch/blackfin/include/asm/traps.h | 13 ++----
arch/blackfin/include/asm/uaccess.h | 5 ++-
arch/blackfin/include/asm/unistd.h | 6 +++
arch/blackfin/kernel/asm-offsets.c | 27 +-----------
arch/blackfin/kernel/bfin_dma_5xx.c | 1 +
arch/blackfin/kernel/bfin_gpio.c | 27 +-----------
arch/blackfin/kernel/cplb-mpu/cplbinit.c | 20 +--------
arch/blackfin/kernel/cplb-mpu/cplbmgr.c | 19 ++-------
arch/blackfin/kernel/cplb-nompu/cplbinit.c | 19 +--------
arch/blackfin/kernel/cplb-nompu/cplbmgr.c | 16 +------
arch/blackfin/kernel/cplbinfo.c | 1 +
arch/blackfin/kernel/dma-mapping.c | 27 +-----------
arch/blackfin/kernel/early_printk.c | 23 ++--------
arch/blackfin/kernel/entry.S | 27 +-----------
arch/blackfin/kernel/fixed_code.S | 5 ++
arch/blackfin/kernel/flat.c | 18 +-------
arch/blackfin/kernel/init_task.c | 27 +-----------
arch/blackfin/kernel/irqchip.c | 27 +-----------
arch/blackfin/kernel/module.c | 27 +-----------
arch/blackfin/kernel/process.c | 27 +-----------
arch/blackfin/kernel/ptrace.c | 28 +-----------
arch/blackfin/kernel/setup.c | 6 +--
arch/blackfin/kernel/shadow_console.c | 2 -
arch/blackfin/kernel/signal.c | 27 +-----------
arch/blackfin/kernel/sys_bfin.c | 30 ++------------
arch/blackfin/kernel/time-ts.c | 10 ++--
arch/blackfin/kernel/traps.c | 27 +-----------
arch/blackfin/kernel/vmlinux.lds.S | 27 +-----------
arch/blackfin/lib/ashldi3.c | 27 +-----------
arch/blackfin/lib/ashrdi3.c | 27 +-----------
arch/blackfin/lib/checksum.c | 30 ++-----------
arch/blackfin/lib/divsi3.S | 28 ++-----------
arch/blackfin/lib/gcclib.h | 27 +-----------
arch/blackfin/lib/lshrdi3.c | 27 +-----------
arch/blackfin/lib/memchr.S | 27 +-----------
arch/blackfin/lib/memcmp.S | 27 +-----------
arch/blackfin/lib/memcpy.S | 37 +++-------------
arch/blackfin/lib/memmove.S | 27 +-----------
arch/blackfin/lib/memset.S | 27 +-----------
arch/blackfin/lib/modsi3.S | 36 +++-------------
arch/blackfin/lib/muldi3.S | 6 +++
arch/blackfin/lib/outs.S | 29 ++-----------
arch/blackfin/lib/smulsi3_highpart.S | 6 +++
arch/blackfin/lib/udivsi3.S | 27 +-----------
arch/blackfin/lib/umodsi3.S | 27 +-----------
arch/blackfin/lib/umulsi3_highpart.S | 6 +++
arch/blackfin/mach-bf518/boards/ezbrd.c | 30 ++------------
arch/blackfin/mach-bf518/dma.c | 28 ++-----------
arch/blackfin/mach-bf518/include/mach/bf518.h | 27 +-----------
.../mach-bf518/include/mach/bfin_serial_5xx.h | 29 +------------
arch/blackfin/mach-bf518/include/mach/blackfin.h | 29 +------------
arch/blackfin/mach-bf518/include/mach/cdefBF512.h | 29 +------------
arch/blackfin/mach-bf518/include/mach/cdefBF514.h | 29 +------------
arch/blackfin/mach-bf518/include/mach/cdefBF516.h | 29 +------------
arch/blackfin/mach-bf518/include/mach/cdefBF518.h | 29 +------------
.../mach-bf518/include/mach/cdefBF51x_base.h | 28 +------------
arch/blackfin/mach-bf518/include/mach/defBF512.h | 28 +------------
arch/blackfin/mach-bf518/include/mach/defBF514.h | 28 +------------
arch/blackfin/mach-bf518/include/mach/defBF516.h | 28 +------------
arch/blackfin/mach-bf518/include/mach/defBF518.h | 28 +------------
.../mach-bf518/include/mach/defBF51x_base.h | 28 +------------
arch/blackfin/mach-bf518/include/mach/gpio.h | 3 -
arch/blackfin/mach-bf518/include/mach/irq.h | 29 +------------
arch/blackfin/mach-bf518/include/mach/portmux.h | 6 +++
arch/blackfin/mach-bf518/ints-priority.c | 27 +-----------
arch/blackfin/mach-bf527/boards/cm_bf527.c | 31 ++------------
arch/blackfin/mach-bf527/boards/ezbrd.c | 30 ++------------
arch/blackfin/mach-bf527/boards/ezkit.c | 30 ++------------
arch/blackfin/mach-bf527/dma.c | 28 ++-----------
arch/blackfin/mach-bf527/include/mach/bf527.h | 27 +-----------
.../mach-bf527/include/mach/bfin_serial_5xx.h | 29 +------------
arch/blackfin/mach-bf527/include/mach/blackfin.h | 29 +------------
arch/blackfin/mach-bf527/include/mach/cdefBF522.h | 29 +------------
arch/blackfin/mach-bf527/include/mach/cdefBF525.h | 29 +------------
arch/blackfin/mach-bf527/include/mach/cdefBF527.h | 29 +------------
.../mach-bf527/include/mach/cdefBF52x_base.h | 28 +------------
arch/blackfin/mach-bf527/include/mach/defBF522.h | 28 +------------
arch/blackfin/mach-bf527/include/mach/defBF525.h | 28 +------------
arch/blackfin/mach-bf527/include/mach/defBF527.h | 28 +------------
.../mach-bf527/include/mach/defBF52x_base.h | 28 +------------
arch/blackfin/mach-bf527/include/mach/gpio.h | 3 -
arch/blackfin/mach-bf527/include/mach/irq.h | 29 +------------
arch/blackfin/mach-bf527/include/mach/portmux.h | 6 +++
arch/blackfin/mach-bf527/ints-priority.c | 27 +-----------
arch/blackfin/mach-bf533/boards/H8606.c | 33 +++------------
arch/blackfin/mach-bf533/boards/blackstamp.c | 14 ++----
arch/blackfin/mach-bf533/boards/cm_bf533.c | 30 ++-----------
arch/blackfin/mach-bf533/boards/ezkit.c | 30 ++------------
arch/blackfin/mach-bf533/boards/ip0x.c | 36 +++-------------
arch/blackfin/mach-bf533/boards/stamp.c | 30 ++------------
arch/blackfin/mach-bf533/dma.c | 28 ++-----------
arch/blackfin/mach-bf533/include/mach/bf533.h | 27 +-----------
.../mach-bf533/include/mach/bfin_serial_5xx.h | 29 +------------
arch/blackfin/mach-bf533/include/mach/blackfin.h | 28 +------------
arch/blackfin/mach-bf533/include/mach/cdefBF532.h | 28 +------------
arch/blackfin/mach-bf533/include/mach/defBF532.h | 44 +------------------
arch/blackfin/mach-bf533/include/mach/gpio.h | 3 -
arch/blackfin/mach-bf533/include/mach/irq.h | 28 +------------
arch/blackfin/mach-bf533/include/mach/portmux.h | 6 +++
arch/blackfin/mach-bf533/ints-priority.c | 27 +-----------
arch/blackfin/mach-bf537/boards/cm_bf537e.c | 31 ++------------
arch/blackfin/mach-bf537/boards/cm_bf537u.c | 31 ++------------
arch/blackfin/mach-bf537/boards/minotaur.c | 6 +++
arch/blackfin/mach-bf537/boards/pnav10.c | 30 ++------------
arch/blackfin/mach-bf537/boards/stamp.c | 30 ++------------
arch/blackfin/mach-bf537/boards/tcm_bf537.c | 31 ++------------
arch/blackfin/mach-bf537/dma.c | 28 ++-----------
arch/blackfin/mach-bf537/include/mach/bf537.h | 27 +-----------
.../mach-bf537/include/mach/bfin_serial_5xx.h | 29 +------------
arch/blackfin/mach-bf537/include/mach/blackfin.h | 29 +------------
arch/blackfin/mach-bf537/include/mach/cdefBF534.h | 29 +------------
arch/blackfin/mach-bf537/include/mach/cdefBF537.h | 29 +------------
arch/blackfin/mach-bf537/include/mach/defBF534.h | 28 +------------
arch/blackfin/mach-bf537/include/mach/defBF537.h | 29 +------------
arch/blackfin/mach-bf537/include/mach/gpio.h | 3 -
arch/blackfin/mach-bf537/include/mach/irq.h | 29 +------------
arch/blackfin/mach-bf537/include/mach/portmux.h | 6 +++
arch/blackfin/mach-bf537/ints-priority.c | 27 +-----------
arch/blackfin/mach-bf538/boards/ezkit.c | 30 ++------------
arch/blackfin/mach-bf538/dma.c | 28 ++-----------
arch/blackfin/mach-bf538/include/mach/bf538.h | 27 +-----------
.../mach-bf538/include/mach/bfin_serial_5xx.h | 29 +------------
arch/blackfin/mach-bf538/include/mach/blackfin.h | 29 +------------
arch/blackfin/mach-bf538/include/mach/cdefBF538.h | 28 +------------
arch/blackfin/mach-bf538/include/mach/defBF539.h | 44 +------------------
arch/blackfin/mach-bf538/include/mach/gpio.h | 3 -
arch/blackfin/mach-bf538/include/mach/irq.h | 29 +------------
arch/blackfin/mach-bf538/include/mach/portmux.h | 6 +++
arch/blackfin/mach-bf538/ints-priority.c | 27 +-----------
arch/blackfin/mach-bf548/boards/cm_bf548.c | 31 ++------------
arch/blackfin/mach-bf548/boards/ezkit.c | 30 ++------------
arch/blackfin/mach-bf548/dma.c | 27 +-----------
arch/blackfin/mach-bf548/include/mach/bf548.h | 27 +-----------
.../blackfin/mach-bf548/include/mach/bf54x-lq043.h | 6 +++
arch/blackfin/mach-bf548/include/mach/bf54x_keys.h | 6 +++
.../mach-bf548/include/mach/bfin_serial_5xx.h | 29 +------------
arch/blackfin/mach-bf548/include/mach/blackfin.h | 29 +------------
arch/blackfin/mach-bf548/include/mach/cdefBF542.h | 28 +------------
arch/blackfin/mach-bf548/include/mach/cdefBF544.h | 28 +------------
arch/blackfin/mach-bf548/include/mach/cdefBF547.h | 28 +------------
arch/blackfin/mach-bf548/include/mach/cdefBF548.h | 28 +------------
arch/blackfin/mach-bf548/include/mach/cdefBF549.h | 28 +------------
.../mach-bf548/include/mach/cdefBF54x_base.h | 28 +------------
arch/blackfin/mach-bf548/include/mach/defBF542.h | 28 +------------
arch/blackfin/mach-bf548/include/mach/defBF544.h | 28 +------------
arch/blackfin/mach-bf548/include/mach/defBF547.h | 28 +------------
arch/blackfin/mach-bf548/include/mach/defBF548.h | 28 +------------
arch/blackfin/mach-bf548/include/mach/defBF549.h | 28 +------------
.../mach-bf548/include/mach/defBF54x_base.h | 28 +------------
arch/blackfin/mach-bf548/include/mach/gpio.h | 30 +------------
arch/blackfin/mach-bf548/include/mach/irq.h | 29 +------------
arch/blackfin/mach-bf548/include/mach/portmux.h | 6 +++
arch/blackfin/mach-bf548/ints-priority.c | 27 +-----------
arch/blackfin/mach-bf561/atomic.S | 21 +--------
arch/blackfin/mach-bf561/boards/cm_bf561.c | 30 ++-----------
arch/blackfin/mach-bf561/boards/ezkit.c | 29 ++-----------
arch/blackfin/mach-bf561/boards/tepla.c | 14 +++----
arch/blackfin/mach-bf561/dma.c | 28 ++-----------
arch/blackfin/mach-bf561/include/mach/bf561.h | 27 +-----------
.../mach-bf561/include/mach/bfin_serial_5xx.h | 29 +------------
arch/blackfin/mach-bf561/include/mach/blackfin.h | 28 +------------
arch/blackfin/mach-bf561/include/mach/cdefBF561.h | 28 +------------
arch/blackfin/mach-bf561/include/mach/defBF561.h | 29 +------------
arch/blackfin/mach-bf561/include/mach/gpio.h | 3 -
arch/blackfin/mach-bf561/include/mach/irq.h | 29 +------------
arch/blackfin/mach-bf561/include/mach/portmux.h | 6 +++
arch/blackfin/mach-bf561/include/mach/smp.h | 6 +++
arch/blackfin/mach-bf561/ints-priority.c | 27 +-----------
arch/blackfin/mach-bf561/secondary.S | 24 ++---------
arch/blackfin/mach-bf561/smp.c | 21 +--------
arch/blackfin/mach-common/arch_checks.c | 27 +-----------
arch/blackfin/mach-common/cache-c.c | 2 -
arch/blackfin/mach-common/cache.S | 2 -
arch/blackfin/mach-common/cpufreq.c | 27 +-----------
arch/blackfin/mach-common/entry.S | 31 ++------------
arch/blackfin/mach-common/head.S | 2 -
arch/blackfin/mach-common/interrupt.S | 30 ++-----------
arch/blackfin/mach-common/ints-priority.c | 35 ++++------------
arch/blackfin/mach-common/irqpanic.c | 27 +-----------
arch/blackfin/mach-common/pm.c | 34 ++-------------
arch/blackfin/mach-common/smp.c | 22 ++--------
arch/blackfin/mm/blackfin_sram.h | 27 +-----------
arch/blackfin/mm/init.c | 27 +-----------
arch/blackfin/mm/isram-driver.c | 14 +-----
arch/blackfin/mm/sram-alloc.c | 27 +-----------
248 files changed, 893 insertions(+), 4298 deletions(-)
create mode 100644 arch/blackfin/ADI_BSD.txt
From: Barry Song <[email protected]>
---
arch/blackfin/mach-bf518/include/mach/cdefBF518.h | 41 +++++++++++++++++++++
arch/blackfin/mach-bf518/include/mach/defBF518.h | 28 ++++++++++++++
2 files changed, 69 insertions(+), 0 deletions(-)
diff --git a/arch/blackfin/mach-bf518/include/mach/cdefBF518.h b/arch/blackfin/mach-bf518/include/mach/cdefBF518.h
index fd92f6e..929b906 100644
--- a/arch/blackfin/mach-bf518/include/mach/cdefBF518.h
+++ b/arch/blackfin/mach-bf518/include/mach/cdefBF518.h
@@ -186,6 +186,47 @@
#define bfin_read_EMAC_TXC_ABORT() bfin_read32(EMAC_TXC_ABORT)
#define bfin_write_EMAC_TXC_ABORT(val) bfin_write32(EMAC_TXC_ABORT, val)
+#define bfin_read_EMAC_PTP_CTL() bfin_read16(EMAC_PTP_CTL)
+#define bfin_write_EMAC_PTP_CTL(val) bfin_write16(EMAC_PTP_CTL, val)
+#define bfin_read_EMAC_PTP_IE() bfin_read16(EMAC_PTP_IE)
+#define bfin_write_EMAC_PTP_IE(val) bfin_write16(EMAC_PTP_IE, val)
+#define bfin_read_EMAC_PTP_ISTAT() bfin_read16(EMAC_PTP_ISTAT)
+#define bfin_write_EMAC_PTP_ISTAT(val) bfin_write16(EMAC_PTP_ISTAT, val)
+#define bfin_read_EMAC_PTP_FOFF() bfin_read32(EMAC_PTP_FOFF)
+#define bfin_write_EMAC_PTP_FOFF(val) bfin_write32(EMAC_PTP_FOFF, val)
+#define bfin_read_EMAC_PTP_FV1() bfin_read32(EMAC_PTP_FV1)
+#define bfin_write_EMAC_PTP_FV1(val) bfin_write32(EMAC_PTP_FV1, val)
+#define bfin_read_EMAC_PTP_FV2() bfin_read32(EMAC_PTP_FV2)
+#define bfin_write_EMAC_PTP_FV2(val) bfin_write32(EMAC_PTP_FV2, val)
+#define bfin_read_EMAC_PTP_FV3() bfin_read32(EMAC_PTP_FV3)
+#define bfin_write_EMAC_PTP_FV3(val) bfin_write32(EMAC_PTP_FV3, val)
+#define bfin_read_EMAC_PTP_ADDEND() bfin_read32(EMAC_PTP_ADDEND)
+#define bfin_write_EMAC_PTP_ADDEND(val) bfin_write32(EMAC_PTP_ADDEND, val)
+#define bfin_read_EMAC_PTP_ACCR() bfin_read32(EMAC_PTP_ACCR)
+#define bfin_write_EMAC_PTP_ACCR(val) bfin_write32(EMAC_PTP_ACCR, val)
+#define bfin_read_EMAC_PTP_OFFSET() bfin_read32(EMAC_PTP_OFFSET)
+#define bfin_write_EMAC_PTP_OFFSET(val) bfin_write32(EMAC_PTP_OFFSET, val)
+#define bfin_read_EMAC_PTP_TIMELO() bfin_read32(EMAC_PTP_TIMELO)
+#define bfin_write_EMAC_PTP_TIMELO(val) bfin_write32(EMAC_PTP_TIMELO, val)
+#define bfin_read_EMAC_PTP_TIMEHI() bfin_read32(EMAC_PTP_TIMEHI)
+#define bfin_write_EMAC_PTP_TIMEHI(val) bfin_write32(EMAC_PTP_TIMEHI, val)
+#define bfin_read_EMAC_PTP_RXSNAPLO() bfin_read32(EMAC_PTP_RXSNAPLO)
+#define bfin_read_EMAC_PTP_RXSNAPHI() bfin_read32(EMAC_PTP_RXSNAPHI)
+#define bfin_read_EMAC_PTP_TXSNAPLO() bfin_read32(EMAC_PTP_TXSNAPLO)
+#define bfin_read_EMAC_PTP_TXSNAPHI() bfin_read32(EMAC_PTP_TXSNAPHI)
+#define bfin_read_EMAC_PTP_ALARMLO() bfin_read32(EMAC_PTP_ALARMLO)
+#define bfin_write_EMAC_PTP_ALARMLO(val) bfin_write32(EMAC_PTP_ALARMLO, val)
+#define bfin_read_EMAC_PTP_ALARMHI() bfin_read32(EMAC_PTP_ALARMHI)
+#define bfin_write_EMAC_PTP_ALARMHI(val) bfin_write32(EMAC_PTP_ALARMHI, val)
+#define bfin_read_EMAC_PTP_ID_OFF() bfin_read16(EMAC_PTP_ID_OFF)
+#define bfin_write_EMAC_PTP_ID_OFF(val) bfin_write16(EMAC_PTP_ID_OFF, val)
+#define bfin_read_EMAC_PTP_ID_SNAP() bfin_read32(EMAC_PTP_ID_SNAP)
+#define bfin_write_EMAC_PTP_ID_SNAP(val) bfin_write32(EMAC_PTP_ID_SNAP, val)
+#define bfin_read_EMAC_PTP_PPS_STARTHI() bfin_read32(EMAC_PTP_PPS_STARTHI)
+#define bfin_write_EMAC_PTP_PPS_STARTHI(val) bfin_write32(EMAC_PTP_PPS_STARTHI, val)
+#define bfin_read_EMAC_PTP_PPS_PERIOD() bfin_read32(EMAC_PTP_PPS_PERIOD)
+#define bfin_write_EMAC_PTP_PPS_PERIOD(val) bfin_write32(EMAC_PTP_PPS_PERIOD, val)
+
/* Removable Storage Interface Registers */
#define bfin_read_RSI_PWR_CTL() bfin_read16(RSI_PWR_CONTROL)
diff --git a/arch/blackfin/mach-bf518/include/mach/defBF518.h b/arch/blackfin/mach-bf518/include/mach/defBF518.h
index 16b7eef..794cf06 100644
--- a/arch/blackfin/mach-bf518/include/mach/defBF518.h
+++ b/arch/blackfin/mach-bf518/include/mach/defBF518.h
@@ -624,4 +624,32 @@
#define RWR 0x1 /* Read Wait Request */
+/* Bit masks for EMAC_PTP_CTL */
+
+#define PTP_EN 0x1 /* Enable the PTP_TSYNC module */
+#define TL 0x2 /* Timestamp lock control */
+#define ASEN 0x10 /* Auxiliary snapshot control */
+#define PPSEN 0x80 /* Pulse-per-second (PPS) control */
+#define CKOEN 0x2000 /* Clock output control */
+
+/* Bit masks for EMAC_PTP_IE */
+
+#define ALIE 0x1 /* Alarm interrupt enable */
+#define RXEIE 0x2 /* Receive event interrupt enable */
+#define RXGIE 0x4 /* Receive general interrupt enable */
+#define TXIE 0x8 /* Transmit interrupt enable */
+#define RXOVE 0x10 /* Receive overrun error interrupt enable */
+#define TXOVE 0x20 /* Transmit overrun error interrupt enable */
+#define ASIE 0x40 /* Auxiliary snapshot interrupt enable */
+
+/* Bit masks for EMAC_PTP_ISTAT */
+
+#define ALS 0x1 /* Alarm status */
+#define RXEL 0x2 /* Receive event interrupt status */
+#define RXGL 0x4 /* Receive general interrupt status */
+#define TXTL 0x8 /* Transmit snapshot status */
+#define RXOV 0x10 /* Receive snapshot overrun status */
+#define TXOV 0x20 /* Transmit snapshot overrun status */
+#define ASL 0x40 /* Auxiliary snapshot interrupt status */
+
#endif /* _DEF_BF518_H */
--
1.6.5.rc2
The asm/irq.h header uses anomaly defines, but doesn't make sure to
explicitly include the anomaly header for them.
Signed-off-by: Mike Frysinger <[email protected]>
---
arch/blackfin/include/asm/irq.h | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/arch/blackfin/include/asm/irq.h b/arch/blackfin/include/asm/irq.h
index 6ec2a07..e7c0623 100644
--- a/arch/blackfin/include/asm/irq.h
+++ b/arch/blackfin/include/asm/irq.h
@@ -12,6 +12,8 @@
#include <linux/irqflags.h>
+#include <mach/anomaly.h>
+
/* SYS_IRQS and NR_IRQS are defined in <mach-bf5xx/irq.h> */
#include <mach/irq.h>
--
1.6.5.rc2
The cplbinfo was using d_path() to figure out which cpu/cplb was being
parsed. As Al pointed out, this isn't exactly reliable as it assumes the
static VFS path to be unchanged, and it's just poor form. So use the
proc_create_data() to properly (and internally) pass the exact cpu/cplb
requested to the parser function.
Reported-by: Al Viro <[email protected]>
Signed-off-by: Mike Frysinger <[email protected]>
---
arch/blackfin/kernel/cplbinfo.c | 25 ++++++++++++-------------
1 files changed, 12 insertions(+), 13 deletions(-)
diff --git a/arch/blackfin/kernel/cplbinfo.c b/arch/blackfin/kernel/cplbinfo.c
index 26d1819..0bdaa51 100644
--- a/arch/blackfin/kernel/cplbinfo.c
+++ b/arch/blackfin/kernel/cplbinfo.c
@@ -112,24 +112,21 @@ static const struct seq_operations cplbinfo_sops = {
.show = cplbinfo_show,
};
+#define CPLBINFO_DCPLB_FLAG 0x80000000
+
static int cplbinfo_open(struct inode *inode, struct file *file)
{
- char buf[256], *path, *p;
+ struct proc_dir_entry *pde = PDE(file->f_path.dentry->d_inode);
+ char cplb_type;
unsigned int cpu;
- char *s_cpu, *s_cplb;
int ret;
struct seq_file *m;
struct cplbinfo_data *cdata;
- path = d_path(&file->f_path, buf, sizeof(buf));
- if (IS_ERR(path))
- return PTR_ERR(path);
- s_cpu = strstr(path, "/cpu");
- s_cplb = strrchr(path, '/');
- if (!s_cpu || !s_cplb)
- return -EINVAL;
+ cpu = (unsigned int)pde->data;
+ cplb_type = cpu & CPLBINFO_DCPLB_FLAG ? 'D' : 'I';
+ cpu &= ~CPLBINFO_DCPLB_FLAG;
- cpu = simple_strtoul(s_cpu + 4, &p, 10);
if (!cpu_online(cpu))
return -ENODEV;
@@ -140,7 +137,7 @@ static int cplbinfo_open(struct inode *inode, struct file *file)
cdata = m->private;
cdata->pos = 0;
- cdata->cplb_type = toupper(s_cplb[1]);
+ cdata->cplb_type = cplb_type;
cplbinfo_seq_init(cdata, cpu);
return 0;
@@ -169,8 +166,10 @@ static int __init cplbinfo_init(void)
if (!cpu_dir)
return -ENOMEM;
- proc_create("icplb", S_IRUGO, cpu_dir, &cplbinfo_fops);
- proc_create("dcplb", S_IRUGO, cpu_dir, &cplbinfo_fops);
+ proc_create_data("icplb", S_IRUGO, cpu_dir, &cplbinfo_fops,
+ (void *)cpu);
+ proc_create_data("dcplb", S_IRUGO, cpu_dir, &cplbinfo_fops,
+ (void *)(cpu | CPLBINFO_DCPLB_FLAG));
}
return 0;
--
1.6.5.rc2
From: Graf Yang <[email protected]>
Looks like the big Kconfig cache split/rename missed one spot in the SMP
cache lock headers.
Signed-off-by: Graf Yang <[email protected]>
Signed-off-by: Mike Frysinger <[email protected]>
---
arch/blackfin/include/asm/cache.h | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/blackfin/include/asm/cache.h b/arch/blackfin/include/asm/cache.h
index 7d829ea..8542bc3 100644
--- a/arch/blackfin/include/asm/cache.h
+++ b/arch/blackfin/include/asm/cache.h
@@ -38,10 +38,10 @@
#if defined(CONFIG_SMP) && \
!defined(CONFIG_BFIN_CACHE_COHERENT)
-# if defined(CONFIG_BFIN_ICACHEABLE) || defined(CONFIG_BFIN_L2_ICACHEABLE)
+# if defined(CONFIG_BFIN_EXTMEM_ICACHEABLE) || defined(CONFIG_BFIN_L2_ICACHEABLE)
# define __ARCH_SYNC_CORE_ICACHE
# endif
-# if defined(CONFIG_BFIN_DCACHEABLE) || defined(CONFIG_BFIN_L2_DCACHEABLE)
+# if defined(CONFIG_BFIN_EXTMEM_DCACHEABLE) || defined(CONFIG_BFIN_L2_DCACHEABLE)
# define __ARCH_SYNC_CORE_DCACHE
# endif
#ifndef __ASSEMBLY__
--
1.6.5.rc2
From: Michael Hennerich <[email protected]>
Now that the driver has been updated, convert the board resources to the
new i2c framework for managing slaves.
Signed-off-by: Michael Hennerich <[email protected]>
Signed-off-by: Mike Frysinger <[email protected]>
---
arch/blackfin/mach-bf527/boards/cm_bf527.c | 15 +++++----------
arch/blackfin/mach-bf527/boards/ezkit.c | 15 +++++----------
arch/blackfin/mach-bf533/boards/ezkit.c | 21 +++++++++++----------
arch/blackfin/mach-bf533/boards/stamp.c | 15 +++++----------
arch/blackfin/mach-bf537/boards/stamp.c | 15 +++++----------
5 files changed, 31 insertions(+), 50 deletions(-)
diff --git a/arch/blackfin/mach-bf527/boards/cm_bf527.c b/arch/blackfin/mach-bf527/boards/cm_bf527.c
index 0c6d292..1c4f9e2 100644
--- a/arch/blackfin/mach-bf527/boards/cm_bf527.c
+++ b/arch/blackfin/mach-bf527/boards/cm_bf527.c
@@ -595,12 +595,6 @@ static struct platform_device bfin_spi0_device = {
};
#endif /* spi master and devices */
-#if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE)
-static struct platform_device bfin_fb_adv7393_device = {
- .name = "bfin-adv7393",
-};
-#endif
-
#if defined(CONFIG_MTD_GPIO_ADDR) || defined(CONFIG_MTD_GPIO_ADDR_MODULE)
static struct mtd_partition cm_partitions[] = {
{
@@ -765,6 +759,11 @@ static struct i2c_board_info __initdata bfin_i2c_board_info[] = {
.irq = IRQ_PF8,
},
#endif
+#if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE)
+ {
+ I2C_BOARD_INFO("bfin-adv7393", 0x2B),
+ },
+#endif
};
#if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE)
@@ -888,10 +887,6 @@ static struct platform_device *cmbf527_devices[] __initdata = {
&bfin_spi0_device,
#endif
-#if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE)
- &bfin_fb_adv7393_device,
-#endif
-
#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE)
&bfin_uart_device,
#endif
diff --git a/arch/blackfin/mach-bf527/boards/ezkit.c b/arch/blackfin/mach-bf527/boards/ezkit.c
index b7574b4..9fbdebe 100644
--- a/arch/blackfin/mach-bf527/boards/ezkit.c
+++ b/arch/blackfin/mach-bf527/boards/ezkit.c
@@ -694,12 +694,6 @@ static struct platform_device bfin_fb_device = {
};
#endif
-#if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE)
-static struct platform_device bfin_fb_adv7393_device = {
- .name = "bfin-adv7393",
-};
-#endif
-
#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE)
static struct resource bfin_uart_resources[] = {
#ifdef CONFIG_SERIAL_BFIN_UART0
@@ -815,6 +809,11 @@ static struct i2c_board_info __initdata bfin_i2c_board_info[] = {
.irq = IRQ_PF8,
},
#endif
+#if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE)
+ {
+ I2C_BOARD_INFO("bfin-adv7393", 0x2B),
+ },
+#endif
};
#if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE)
@@ -979,10 +978,6 @@ static struct platform_device *stamp_devices[] __initdata = {
&bf52x_t350mcqb_device,
#endif
-#if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE)
- &bfin_fb_adv7393_device,
-#endif
-
#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE)
&bfin_uart_device,
#endif
diff --git a/arch/blackfin/mach-bf533/boards/ezkit.c b/arch/blackfin/mach-bf533/boards/ezkit.c
index 64816b0..9ffcd63 100644
--- a/arch/blackfin/mach-bf533/boards/ezkit.c
+++ b/arch/blackfin/mach-bf533/boards/ezkit.c
@@ -17,6 +17,7 @@
#include <linux/usb/isp1362.h>
#endif
#include <linux/irq.h>
+#include <linux/i2c.h>
#include <asm/dma.h>
#include <asm/bfin5xx_spi.h>
#include <asm/portmux.h>
@@ -34,12 +35,6 @@ static struct platform_device rtc_device = {
};
#endif
-#if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE)
-static struct platform_device bfin_fb_adv7393_device = {
- .name = "bfin-adv7393",
-};
-#endif
-
/*
* USB-LAN EzExtender board
* Driver needs to know address, irq and flag pin.
@@ -438,6 +433,14 @@ static struct platform_device bfin_dpmc = {
},
};
+static struct i2c_board_info __initdata bfin_i2c_board_info[] = {
+#if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE)
+ {
+ I2C_BOARD_INFO("bfin-adv7393", 0x2B),
+ },
+#endif
+};
+
static struct platform_device *ezkit_devices[] __initdata = {
&bfin_dpmc,
@@ -460,10 +463,6 @@ static struct platform_device *ezkit_devices[] __initdata = {
&bfin_spi0_device,
#endif
-#if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE)
- &bfin_fb_adv7393_device,
-#endif
-
#if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE)
&rtc_device,
#endif
@@ -494,6 +493,8 @@ static int __init ezkit_init(void)
printk(KERN_INFO "%s(): registering device resources\n", __func__);
platform_add_devices(ezkit_devices, ARRAY_SIZE(ezkit_devices));
spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info));
+ i2c_register_board_info(0, bfin_i2c_board_info,
+ ARRAY_SIZE(bfin_i2c_board_info));
return 0;
}
diff --git a/arch/blackfin/mach-bf533/boards/stamp.c b/arch/blackfin/mach-bf533/boards/stamp.c
index 1a995d1..ff1fd93 100644
--- a/arch/blackfin/mach-bf533/boards/stamp.c
+++ b/arch/blackfin/mach-bf533/boards/stamp.c
@@ -73,12 +73,6 @@ static struct platform_device smc91x_device = {
};
#endif
-#if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE)
-static struct platform_device bfin_fb_adv7393_device = {
- .name = "bfin-adv7393",
-};
-#endif
-
#if defined(CONFIG_USB_NET2272) || defined(CONFIG_USB_NET2272_MODULE)
static struct resource net2272_bfin_resources[] = {
{
@@ -465,6 +459,11 @@ static struct i2c_board_info __initdata bfin_i2c_board_info[] = {
.irq = 39,
},
#endif
+#if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE)
+ {
+ I2C_BOARD_INFO("bfin-adv7393", 0x2B),
+ },
+#endif
};
static const unsigned int cclk_vlev_datasheet[] =
@@ -506,10 +505,6 @@ static struct platform_device *stamp_devices[] __initdata = {
&smc91x_device,
#endif
-#if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE)
- &bfin_fb_adv7393_device,
-#endif
-
#if defined(CONFIG_USB_NET2272) || defined(CONFIG_USB_NET2272_MODULE)
&net2272_bfin_device,
#endif
diff --git a/arch/blackfin/mach-bf537/boards/stamp.c b/arch/blackfin/mach-bf537/boards/stamp.c
index 1cb72a8..3091a14 100644
--- a/arch/blackfin/mach-bf537/boards/stamp.c
+++ b/arch/blackfin/mach-bf537/boards/stamp.c
@@ -1056,12 +1056,6 @@ static struct platform_device bfin_fb_device = {
};
#endif
-#if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE)
-static struct platform_device bfin_fb_adv7393_device = {
- .name = "bfin-adv7393",
-};
-#endif
-
#if defined(CONFIG_FB_BFIN_LQ035Q1) || defined(CONFIG_FB_BFIN_LQ035Q1_MODULE)
#include <asm/bfin-lq035q1.h>
@@ -1476,6 +1470,11 @@ static struct i2c_board_info __initdata bfin_i2c_board_info[] = {
.platform_data = (void *)&adp5588_gpio_data,
},
#endif
+#if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE)
+ {
+ I2C_BOARD_INFO("bfin-adv7393", 0x2B),
+ },
+#endif
};
#if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE)
@@ -1646,10 +1645,6 @@ static struct platform_device *stamp_devices[] __initdata = {
&bfin_lq035q1_device,
#endif
-#if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE)
- &bfin_fb_adv7393_device,
-#endif
-
#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE)
&bfin_uart_device,
#endif
--
1.6.5.rc2
Now that the common jedec_probe supports the ST PSD4256G6V, no need to
use the custom stm_flash driver.
Signed-off-by: Mike Frysinger <[email protected]>
---
arch/blackfin/mach-bf533/boards/ezkit.c | 66 +++++++++++++++++++------------
1 files changed, 41 insertions(+), 25 deletions(-)
diff --git a/arch/blackfin/mach-bf533/boards/ezkit.c b/arch/blackfin/mach-bf533/boards/ezkit.c
index 9ffcd63..986fcdc 100644
--- a/arch/blackfin/mach-bf533/boards/ezkit.c
+++ b/arch/blackfin/mach-bf533/boards/ezkit.c
@@ -11,6 +11,7 @@
#include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h>
#include <linux/mtd/plat-ram.h>
+#include <linux/mtd/physmap.h>
#include <linux/spi/spi.h>
#include <linux/spi/flash.h>
#if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE)
@@ -71,54 +72,69 @@ static struct platform_device smc91x_device = {
};
#endif
-#if defined(CONFIG_MTD_PSD4256G) || defined(CONFIG_MTD_PSD4256G_MODULE)
-static const char *map_probes[] = {
- "stm_flash",
- NULL,
+#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
+static struct mtd_partition ezkit_partitions_a[] = {
+ {
+ .name = "bootloader(nor a)",
+ .size = 0x40000,
+ .offset = 0,
+ }, {
+ .name = "linux kernel(nor a)",
+ .size = MTDPART_SIZ_FULL,
+ .offset = MTDPART_OFS_APPEND,
+ },
};
-static struct platdata_mtd_ram stm_pri_data_a = {
- .mapname = "Flash A Primary",
- .map_probes = map_probes,
- .bankwidth = 2,
+static struct physmap_flash_data ezkit_flash_data_a = {
+ .width = 2,
+ .parts = ezkit_partitions_a,
+ .nr_parts = ARRAY_SIZE(ezkit_partitions_a),
};
-static struct resource stm_pri_resource_a = {
+static struct resource ezkit_flash_resource_a = {
.start = 0x20000000,
.end = 0x200fffff,
.flags = IORESOURCE_MEM,
};
-static struct platform_device stm_pri_device_a = {
- .name = "mtd-ram",
+static struct platform_device ezkit_flash_device_a = {
+ .name = "physmap-flash",
.id = 0,
.dev = {
- .platform_data = &stm_pri_data_a,
+ .platform_data = &ezkit_flash_data_a,
},
.num_resources = 1,
- .resource = &stm_pri_resource_a,
+ .resource = &ezkit_flash_resource_a,
+};
+
+static struct mtd_partition ezkit_partitions_b[] = {
+ {
+ .name = "file system(nor b)",
+ .size = MTDPART_SIZ_FULL,
+ .offset = MTDPART_OFS_APPEND,
+ },
};
-static struct platdata_mtd_ram stm_pri_data_b = {
- .mapname = "Flash B Primary",
- .map_probes = map_probes,
- .bankwidth = 2,
+static struct physmap_flash_data ezkit_flash_data_b = {
+ .width = 2,
+ .parts = ezkit_partitions_b,
+ .nr_parts = ARRAY_SIZE(ezkit_partitions_b),
};
-static struct resource stm_pri_resource_b = {
+static struct resource ezkit_flash_resource_b = {
.start = 0x20100000,
.end = 0x201fffff,
.flags = IORESOURCE_MEM,
};
-static struct platform_device stm_pri_device_b = {
- .name = "mtd-ram",
+static struct platform_device ezkit_flash_device_b = {
+ .name = "physmap-flash",
.id = 4,
.dev = {
- .platform_data = &stm_pri_data_b,
+ .platform_data = &ezkit_flash_data_b,
},
.num_resources = 1,
- .resource = &stm_pri_resource_b,
+ .resource = &ezkit_flash_resource_b,
};
#endif
@@ -445,9 +461,9 @@ static struct platform_device *ezkit_devices[] __initdata = {
&bfin_dpmc,
-#if defined(CONFIG_MTD_PSD4256G) || defined(CONFIG_MTD_PSD4256G_MODULE)
- &stm_pri_device_a,
- &stm_pri_device_b,
+#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
+ &ezkit_flash_device_a,
+ &ezkit_flash_device_b,
#endif
#if defined(CONFIG_MTD_PLATRAM) || defined(CONFIG_MTD_PLATRAM_MODULE)
--
1.6.5.rc2
Structs get initialized to 0 already, and we want to punt this field, so
scrub it from all of our boards.
Reported-by: David Brownell <[email protected]>
Signed-off-by: Mike Frysinger <[email protected]>
---
arch/blackfin/mach-bf533/boards/ip0x.c | 1 -
arch/blackfin/mach-bf537/boards/pnav10.c | 1 -
arch/blackfin/mach-bf538/boards/ezkit.c | 1 -
arch/blackfin/mach-bf548/boards/cm_bf548.c | 2 --
arch/blackfin/mach-bf548/boards/ezkit.c | 3 ---
5 files changed, 0 insertions(+), 8 deletions(-)
diff --git a/arch/blackfin/mach-bf533/boards/ip0x.c b/arch/blackfin/mach-bf533/boards/ip0x.c
index 284038d..644be5e 100644
--- a/arch/blackfin/mach-bf533/boards/ip0x.c
+++ b/arch/blackfin/mach-bf533/boards/ip0x.c
@@ -123,7 +123,6 @@ static struct bfin5xx_spi_chip mmc_spi_chip_info = {
.ctl_reg = 0x1000, /* CPOL=0,CPHA=0,Sandisk 1G work */
.enable_dma = 0, /* if 1 - block!!! */
.bits_per_word = 8,
- .cs_change_per_word = 0,
};
#endif
diff --git a/arch/blackfin/mach-bf537/boards/pnav10.c b/arch/blackfin/mach-bf537/boards/pnav10.c
index 29e38d5..9ba2904 100644
--- a/arch/blackfin/mach-bf537/boards/pnav10.c
+++ b/arch/blackfin/mach-bf537/boards/pnav10.c
@@ -280,7 +280,6 @@ static struct bfin5xx_spi_chip mmc_spi_chip_info = {
#if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE)
static struct bfin5xx_spi_chip spi_ad7877_chip_info = {
- .cs_change_per_word = 0,
.enable_dma = 0,
.bits_per_word = 16,
};
diff --git a/arch/blackfin/mach-bf538/boards/ezkit.c b/arch/blackfin/mach-bf538/boards/ezkit.c
index d084617..8d612e7 100644
--- a/arch/blackfin/mach-bf538/boards/ezkit.c
+++ b/arch/blackfin/mach-bf538/boards/ezkit.c
@@ -215,7 +215,6 @@ static struct flash_platform_data bfin_spi_flash_data = {
static struct bfin5xx_spi_chip spi_flash_chip_info = {
.enable_dma = 0, /* use dma transfer with this chip*/
.bits_per_word = 8,
- .cs_change_per_word = 0,
};
#endif
diff --git a/arch/blackfin/mach-bf548/boards/cm_bf548.c b/arch/blackfin/mach-bf548/boards/cm_bf548.c
index 0479d0c..283be63 100644
--- a/arch/blackfin/mach-bf548/boards/cm_bf548.c
+++ b/arch/blackfin/mach-bf548/boards/cm_bf548.c
@@ -525,13 +525,11 @@ static struct flash_platform_data bfin_spi_flash_data = {
static struct bfin5xx_spi_chip spi_flash_chip_info = {
.enable_dma = 0, /* use dma transfer with this chip*/
.bits_per_word = 8,
- .cs_change_per_word = 0,
};
#endif
#if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE)
static struct bfin5xx_spi_chip spi_ad7877_chip_info = {
- .cs_change_per_word = 0,
.enable_dma = 0,
.bits_per_word = 16,
};
diff --git a/arch/blackfin/mach-bf548/boards/ezkit.c b/arch/blackfin/mach-bf548/boards/ezkit.c
index dae6d0f..ba745c6 100644
--- a/arch/blackfin/mach-bf548/boards/ezkit.c
+++ b/arch/blackfin/mach-bf548/boards/ezkit.c
@@ -614,7 +614,6 @@ static struct flash_platform_data bfin_spi_flash_data = {
static struct bfin5xx_spi_chip spi_flash_chip_info = {
.enable_dma = 0, /* use dma transfer with this chip*/
.bits_per_word = 8,
- .cs_change_per_word = 0,
};
#endif
@@ -628,7 +627,6 @@ static struct bfin5xx_spi_chip ad1836_spi_chip_info = {
#if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE)
static struct bfin5xx_spi_chip spi_ad7877_chip_info = {
- .cs_change_per_word = 0,
.enable_dma = 0,
.bits_per_word = 16,
};
@@ -659,7 +657,6 @@ static struct bfin5xx_spi_chip spidev_chip_info = {
static struct bfin5xx_spi_chip spi_adxl34x_chip_info = {
.enable_dma = 0, /* use dma transfer with this chip*/
.bits_per_word = 8,
- .cs_change_per_word = 0,
};
#endif
--
1.6.5.rc2
From: Jaswinder Singh Rajput <[email protected]>
Fix the following 'make includecheck' warning:
arch/blackfin/mach-bf548/boards/ezkit.c: linux/input.h is included more than once.
Signed-off-by: Jaswinder Singh Rajput <[email protected]>
Signed-off-by: Mike Frysinger <[email protected]>
---
arch/blackfin/mach-bf548/boards/ezkit.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/arch/blackfin/mach-bf548/boards/ezkit.c b/arch/blackfin/mach-bf548/boards/ezkit.c
index ba745c6..8798831 100644
--- a/arch/blackfin/mach-bf548/boards/ezkit.c
+++ b/arch/blackfin/mach-bf548/boards/ezkit.c
@@ -186,7 +186,6 @@ static struct platform_device bfin_rotary_device = {
#endif
#if defined(CONFIG_INPUT_ADXL34X) || defined(CONFIG_INPUT_ADXL34X_MODULE)
-#include <linux/input.h>
#include <linux/spi/adxl34x.h>
static const struct adxl34x_platform_data adxl34x_info = {
.x_axis_offset = 0,
--
1.6.5.rc2
From: Thomas Chou <[email protected]>
The patch added a special get_unmapped_area for framebuffer which
was hooked to the file ops in drivers/video/fbmem.c.
This is needed since v2.6.29-rc1 where nommu vma management was
updated, and mmap of framebuffer caused kernel BUG panic. You may turn
on "Debug the global anon/private NOMMU mapping region tree" config to
such message.
As Documentation/nommu-mmap.txt said,
"To provide shareable character device support, a driver must provide
a file->f_op->get_unmapped_area() operation. The mmap() routines will
call this to get a proposed address for the mapping."
With this change, user space should call mmap for framebuffer using
shared map. Or it can try shared map first, then private map if
failed. This shared map usage is now consistent between mmu and nommu.
The sys_ file may not be a good place for this patch. But there is a
similar one for sparc. I tested a similar patch on nios2nommu, though
I don't have a blackfin board to test.
Signed-off-by: Thomas Chou <[email protected]>
Signed-off-by: Graf Yang <[email protected]>
Signed-off-by: Michael Hennerich <[email protected]>
Signed-off-by: Mike Frysinger <[email protected]>
---
arch/blackfin/include/asm/pgtable.h | 6 ++++++
arch/blackfin/kernel/sys_bfin.c | 11 +++++++++++
2 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/arch/blackfin/include/asm/pgtable.h b/arch/blackfin/include/asm/pgtable.h
index b54cbdd..821c699 100644
--- a/arch/blackfin/include/asm/pgtable.h
+++ b/arch/blackfin/include/asm/pgtable.h
@@ -98,6 +98,12 @@ extern unsigned int kobjsize(const void *objp);
#define VMALLOC_START 0
#define VMALLOC_END 0xffffffff
+/* provide a special get_unmapped_area for framebuffer mmaps of nommu */
+extern unsigned long get_fb_unmapped_area(struct file *filp, unsigned long,
+ unsigned long, unsigned long,
+ unsigned long);
+#define HAVE_ARCH_FB_UNMAPPED_AREA
+
#include <asm-generic/pgtable.h>
#endif /* _BLACKFIN_PGTABLE_H */
diff --git a/arch/blackfin/kernel/sys_bfin.c b/arch/blackfin/kernel/sys_bfin.c
index 8b294a1..afcef12 100644
--- a/arch/blackfin/kernel/sys_bfin.c
+++ b/arch/blackfin/kernel/sys_bfin.c
@@ -69,3 +69,14 @@ asmlinkage void *sys_dma_memcpy(void *dest, const void *src, size_t len)
{
return safe_dma_memcpy(dest, src, len);
}
+
+#if defined(CONFIG_FB) || defined(CONFIG_FB_MODULE)
+#include <linux/fb.h>
+unsigned long get_fb_unmapped_area(struct file *filp, unsigned long orig_addr,
+ unsigned long len, unsigned long pgoff, unsigned long flags)
+{
+ struct fb_info *info = filp->private_data;
+ return (unsigned long)info->screen_base;
+}
+EXPORT_SYMBOL(get_fb_unmapped_area);
+#endif
--
1.6.5.rc2
The simple-gpio has been replaced by the gpio sysfs interface, so drop the
unused simple-gpio resources from all Blackfin boards.
Signed-off-by: Mike Frysinger <[email protected]>
---
arch/blackfin/mach-bf518/boards/ezbrd.c | 15 ---------------
arch/blackfin/mach-bf527/boards/cm_bf527.c | 15 ---------------
arch/blackfin/mach-bf527/boards/ezbrd.c | 15 ---------------
arch/blackfin/mach-bf527/boards/ezkit.c | 15 ---------------
arch/blackfin/mach-bf533/boards/blackstamp.c | 15 ---------------
arch/blackfin/mach-bf533/boards/cm_bf533.c | 15 ---------------
arch/blackfin/mach-bf533/boards/ezkit.c | 15 ---------------
arch/blackfin/mach-bf533/boards/stamp.c | 15 ---------------
arch/blackfin/mach-bf537/boards/cm_bf537e.c | 15 ---------------
arch/blackfin/mach-bf537/boards/cm_bf537u.c | 15 ---------------
arch/blackfin/mach-bf537/boards/stamp.c | 15 ---------------
arch/blackfin/mach-bf537/boards/tcm_bf537.c | 15 ---------------
arch/blackfin/mach-bf538/boards/ezkit.c | 15 ---------------
arch/blackfin/mach-bf548/boards/cm_bf548.c | 15 ---------------
arch/blackfin/mach-bf548/boards/ezkit.c | 15 ---------------
arch/blackfin/mach-bf561/boards/cm_bf561.c | 15 ---------------
arch/blackfin/mach-bf561/boards/ezkit.c | 15 ---------------
17 files changed, 0 insertions(+), 255 deletions(-)
diff --git a/arch/blackfin/mach-bf518/boards/ezbrd.c b/arch/blackfin/mach-bf518/boards/ezbrd.c
index 4c5c805..01975c0 100644
--- a/arch/blackfin/mach-bf518/boards/ezbrd.c
+++ b/arch/blackfin/mach-bf518/boards/ezbrd.c
@@ -549,19 +549,6 @@ static struct platform_device bf51x_sdh_device = {
};
#endif
-static struct resource bfin_gpios_resources = {
- .start = 0,
- .end = MAX_BLACKFIN_GPIOS - 1,
- .flags = IORESOURCE_IRQ,
-};
-
-static struct platform_device bfin_gpios_device = {
- .name = "simple-gpio",
- .id = -1,
- .num_resources = 1,
- .resource = &bfin_gpios_resources,
-};
-
static const unsigned int cclk_vlev_datasheet[] =
{
VRPAIR(VLEV_100, 400000000),
@@ -638,8 +625,6 @@ static struct platform_device *stamp_devices[] __initdata = {
#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
&ezbrd_flash_device,
#endif
-
- &bfin_gpios_device,
};
static int __init ezbrd_init(void)
diff --git a/arch/blackfin/mach-bf527/boards/cm_bf527.c b/arch/blackfin/mach-bf527/boards/cm_bf527.c
index 1c4f9e2..f1996b1 100644
--- a/arch/blackfin/mach-bf527/boards/cm_bf527.c
+++ b/arch/blackfin/mach-bf527/boards/cm_bf527.c
@@ -799,19 +799,6 @@ static struct platform_device bfin_device_gpiokeys = {
};
#endif
-static struct resource bfin_gpios_resources = {
- .start = 0,
- .end = MAX_BLACKFIN_GPIOS - 1,
- .flags = IORESOURCE_IRQ,
-};
-
-static struct platform_device bfin_gpios_device = {
- .name = "simple-gpio",
- .id = -1,
- .num_resources = 1,
- .resource = &bfin_gpios_resources,
-};
-
static const unsigned int cclk_vlev_datasheet[] =
{
VRPAIR(VLEV_100, 400000000),
@@ -916,8 +903,6 @@ static struct platform_device *cmbf527_devices[] __initdata = {
#if defined(CONFIG_MTD_GPIO_ADDR) || defined(CONFIG_MTD_GPIO_ADDR_MODULE)
&cm_flash_device,
#endif
-
- &bfin_gpios_device,
};
static int __init cm_init(void)
diff --git a/arch/blackfin/mach-bf527/boards/ezbrd.c b/arch/blackfin/mach-bf527/boards/ezbrd.c
index db06703..cad23b1 100644
--- a/arch/blackfin/mach-bf527/boards/ezbrd.c
+++ b/arch/blackfin/mach-bf527/boards/ezbrd.c
@@ -589,19 +589,6 @@ static struct platform_device bfin_device_gpiokeys = {
};
#endif
-static struct resource bfin_gpios_resources = {
- .start = 0,
- .end = MAX_BLACKFIN_GPIOS - 1,
- .flags = IORESOURCE_IRQ,
-};
-
-static struct platform_device bfin_gpios_device = {
- .name = "simple-gpio",
- .id = -1,
- .num_resources = 1,
- .resource = &bfin_gpios_resources,
-};
-
static const unsigned int cclk_vlev_datasheet[] =
{
VRPAIR(VLEV_100, 400000000),
@@ -710,8 +697,6 @@ static struct platform_device *stamp_devices[] __initdata = {
#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
&ezbrd_flash_device,
#endif
-
- &bfin_gpios_device,
};
static int __init ezbrd_init(void)
diff --git a/arch/blackfin/mach-bf527/boards/ezkit.c b/arch/blackfin/mach-bf527/boards/ezkit.c
index 9fbdebe..f09665f 100644
--- a/arch/blackfin/mach-bf527/boards/ezkit.c
+++ b/arch/blackfin/mach-bf527/boards/ezkit.c
@@ -882,19 +882,6 @@ static struct platform_device bfin_rotary_device = {
};
#endif
-static struct resource bfin_gpios_resources = {
- .start = 0,
- .end = MAX_BLACKFIN_GPIOS - 1,
- .flags = IORESOURCE_IRQ,
-};
-
-static struct platform_device bfin_gpios_device = {
- .name = "simple-gpio",
- .id = -1,
- .num_resources = 1,
- .resource = &bfin_gpios_resources,
-};
-
static const unsigned int cclk_vlev_datasheet[] =
{
VRPAIR(VLEV_100, 400000000),
@@ -1011,8 +998,6 @@ static struct platform_device *stamp_devices[] __initdata = {
#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
&ezkit_flash_device,
#endif
-
- &bfin_gpios_device,
};
static int __init ezkit_init(void)
diff --git a/arch/blackfin/mach-bf533/boards/blackstamp.c b/arch/blackfin/mach-bf533/boards/blackstamp.c
index fc78a38..b580884 100644
--- a/arch/blackfin/mach-bf533/boards/blackstamp.c
+++ b/arch/blackfin/mach-bf533/boards/blackstamp.c
@@ -275,19 +275,6 @@ static struct platform_device bfin_device_gpiokeys = {
};
#endif
-static struct resource bfin_gpios_resources = {
- .start = 0,
- .end = MAX_BLACKFIN_GPIOS - 1,
- .flags = IORESOURCE_IRQ,
-};
-
-static struct platform_device bfin_gpios_device = {
- .name = "simple-gpio",
- .id = -1,
- .num_resources = 1,
- .resource = &bfin_gpios_resources,
-};
-
#if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE)
#include <linux/i2c-gpio.h>
@@ -378,8 +365,6 @@ static struct platform_device *stamp_devices[] __initdata = {
#if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE)
&i2c_gpio_device,
#endif
-
- &bfin_gpios_device,
};
static int __init blackstamp_init(void)
diff --git a/arch/blackfin/mach-bf533/boards/cm_bf533.c b/arch/blackfin/mach-bf533/boards/cm_bf533.c
index a3c20e0..7fc3b86 100644
--- a/arch/blackfin/mach-bf533/boards/cm_bf533.c
+++ b/arch/blackfin/mach-bf533/boards/cm_bf533.c
@@ -241,19 +241,6 @@ static struct platform_device smsc911x_device = {
};
#endif
-static struct resource bfin_gpios_resources = {
- .start = 0,
- .end = MAX_BLACKFIN_GPIOS - 1,
- .flags = IORESOURCE_IRQ,
-};
-
-static struct platform_device bfin_gpios_device = {
- .name = "simple-gpio",
- .id = -1,
- .num_resources = 1,
- .resource = &bfin_gpios_resources,
-};
-
#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE)
static struct resource bfin_uart_resources[] = {
{
@@ -486,8 +473,6 @@ static struct platform_device *cm_bf533_devices[] __initdata = {
#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
¶_flash_device,
#endif
-
- &bfin_gpios_device,
};
static int __init cm_bf533_init(void)
diff --git a/arch/blackfin/mach-bf533/boards/ezkit.c b/arch/blackfin/mach-bf533/boards/ezkit.c
index 986fcdc..d4689dc 100644
--- a/arch/blackfin/mach-bf533/boards/ezkit.c
+++ b/arch/blackfin/mach-bf533/boards/ezkit.c
@@ -389,19 +389,6 @@ static struct platform_device bfin_device_gpiokeys = {
};
#endif
-static struct resource bfin_gpios_resources = {
- .start = 0,
- .end = MAX_BLACKFIN_GPIOS - 1,
- .flags = IORESOURCE_IRQ,
-};
-
-static struct platform_device bfin_gpios_device = {
- .name = "simple-gpio",
- .id = -1,
- .num_resources = 1,
- .resource = &bfin_gpios_resources,
-};
-
#if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE)
#include <linux/i2c-gpio.h>
@@ -500,8 +487,6 @@ static struct platform_device *ezkit_devices[] __initdata = {
#if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE)
&i2c_gpio_device,
#endif
-
- &bfin_gpios_device,
};
static int __init ezkit_init(void)
diff --git a/arch/blackfin/mach-bf533/boards/stamp.c b/arch/blackfin/mach-bf533/boards/stamp.c
index ff1fd93..82f70ef 100644
--- a/arch/blackfin/mach-bf533/boards/stamp.c
+++ b/arch/blackfin/mach-bf533/boards/stamp.c
@@ -408,19 +408,6 @@ static struct platform_device bfin_device_gpiokeys = {
};
#endif
-static struct resource bfin_gpios_resources = {
- .start = 0,
- .end = MAX_BLACKFIN_GPIOS - 1,
- .flags = IORESOURCE_IRQ,
-};
-
-static struct platform_device bfin_gpios_device = {
- .name = "simple-gpio",
- .id = -1,
- .num_resources = 1,
- .resource = &bfin_gpios_resources,
-};
-
#if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE)
#include <linux/i2c-gpio.h>
@@ -536,8 +523,6 @@ static struct platform_device *stamp_devices[] __initdata = {
&i2c_gpio_device,
#endif
- &bfin_gpios_device,
-
#if defined(CONFIG_MTD_BFIN_ASYNC) || defined(CONFIG_MTD_BFIN_ASYNC_MODULE)
&stamp_flash_device,
#endif
diff --git a/arch/blackfin/mach-bf537/boards/cm_bf537e.c b/arch/blackfin/mach-bf537/boards/cm_bf537e.c
index e930638..c85f4d7 100644
--- a/arch/blackfin/mach-bf537/boards/cm_bf537e.c
+++ b/arch/blackfin/mach-bf537/boards/cm_bf537e.c
@@ -276,19 +276,6 @@ static struct platform_device net2272_bfin_device = {
};
#endif
-static struct resource bfin_gpios_resources = {
- .start = 0,
- .end = MAX_BLACKFIN_GPIOS - 1,
- .flags = IORESOURCE_IRQ,
-};
-
-static struct platform_device bfin_gpios_device = {
- .name = "simple-gpio",
- .id = -1,
- .num_resources = 1,
- .resource = &bfin_gpios_resources,
-};
-
#if defined(CONFIG_MTD_GPIO_ADDR) || defined(CONFIG_MTD_GPIO_ADDR_MODULE)
static struct mtd_partition cm_partitions[] = {
{
@@ -678,8 +665,6 @@ static struct platform_device *cm_bf537e_devices[] __initdata = {
#if defined(CONFIG_MTD_GPIO_ADDR) || defined(CONFIG_MTD_GPIO_ADDR_MODULE)
&cm_flash_device,
#endif
-
- &bfin_gpios_device,
};
static int __init cm_bf537e_init(void)
diff --git a/arch/blackfin/mach-bf537/boards/cm_bf537u.c b/arch/blackfin/mach-bf537/boards/cm_bf537u.c
index fb6835b..ea11aa8 100644
--- a/arch/blackfin/mach-bf537/boards/cm_bf537u.c
+++ b/arch/blackfin/mach-bf537/boards/cm_bf537u.c
@@ -277,19 +277,6 @@ static struct platform_device net2272_bfin_device = {
};
#endif
-static struct resource bfin_gpios_resources = {
- .start = 0,
- .end = MAX_BLACKFIN_GPIOS - 1,
- .flags = IORESOURCE_IRQ,
-};
-
-static struct platform_device bfin_gpios_device = {
- .name = "simple-gpio",
- .id = -1,
- .num_resources = 1,
- .resource = &bfin_gpios_resources,
-};
-
#if defined(CONFIG_MTD_GPIO_ADDR) || defined(CONFIG_MTD_GPIO_ADDR_MODULE)
static struct mtd_partition cm_partitions[] = {
{
@@ -584,8 +571,6 @@ static struct platform_device *cm_bf537u_devices[] __initdata = {
#if defined(CONFIG_MTD_GPIO_ADDR) || defined(CONFIG_MTD_GPIO_ADDR_MODULE)
&cm_flash_device,
#endif
-
- &bfin_gpios_device,
};
static int __init cm_bf537u_init(void)
diff --git a/arch/blackfin/mach-bf537/boards/stamp.c b/arch/blackfin/mach-bf537/boards/stamp.c
index 3091a14..c46baa5 100644
--- a/arch/blackfin/mach-bf537/boards/stamp.c
+++ b/arch/blackfin/mach-bf537/boards/stamp.c
@@ -99,19 +99,6 @@ static struct platform_device bfin_device_gpiokeys = {
};
#endif
-static struct resource bfin_gpios_resources = {
- .start = 0,
- .end = MAX_BLACKFIN_GPIOS - 1,
- .flags = IORESOURCE_IRQ,
-};
-
-static struct platform_device bfin_gpios_device = {
- .name = "simple-gpio",
- .id = -1,
- .num_resources = 1,
- .resource = &bfin_gpios_resources,
-};
-
#if defined(CONFIG_BFIN_CFPCMCIA) || defined(CONFIG_BFIN_CFPCMCIA_MODULE)
static struct resource bfin_pcmcia_cf_resources[] = {
{
@@ -1675,8 +1662,6 @@ static struct platform_device *stamp_devices[] __initdata = {
&bfin_device_gpiokeys,
#endif
- &bfin_gpios_device,
-
#if defined(CONFIG_MTD_NAND_PLATFORM) || defined(CONFIG_MTD_NAND_PLATFORM_MODULE)
&bfin_async_nand_device,
#endif
diff --git a/arch/blackfin/mach-bf537/boards/tcm_bf537.c b/arch/blackfin/mach-bf537/boards/tcm_bf537.c
index 72ff7f8..57163b6 100644
--- a/arch/blackfin/mach-bf537/boards/tcm_bf537.c
+++ b/arch/blackfin/mach-bf537/boards/tcm_bf537.c
@@ -277,19 +277,6 @@ static struct platform_device net2272_bfin_device = {
};
#endif
-static struct resource bfin_gpios_resources = {
- .start = 0,
- .end = MAX_BLACKFIN_GPIOS - 1,
- .flags = IORESOURCE_IRQ,
-};
-
-static struct platform_device bfin_gpios_device = {
- .name = "simple-gpio",
- .id = -1,
- .num_resources = 1,
- .resource = &bfin_gpios_resources,
-};
-
#if defined(CONFIG_MTD_GPIO_ADDR) || defined(CONFIG_MTD_GPIO_ADDR_MODULE)
static struct mtd_partition cm_partitions[] = {
{
@@ -586,8 +573,6 @@ static struct platform_device *cm_bf537_devices[] __initdata = {
#if defined(CONFIG_MTD_GPIO_ADDR) || defined(CONFIG_MTD_GPIO_ADDR_MODULE)
&cm_flash_device,
#endif
-
- &bfin_gpios_device,
};
static int __init tcm_bf537_init(void)
diff --git a/arch/blackfin/mach-bf538/boards/ezkit.c b/arch/blackfin/mach-bf538/boards/ezkit.c
index 8d612e7..14af5c2 100644
--- a/arch/blackfin/mach-bf538/boards/ezkit.c
+++ b/arch/blackfin/mach-bf538/boards/ezkit.c
@@ -483,19 +483,6 @@ static struct platform_device i2c_bfin_twi1_device = {
#endif
#endif
-static struct resource bfin_gpios_resources = {
- .start = 0,
- .end = MAX_BLACKFIN_GPIOS - 1,
- .flags = IORESOURCE_IRQ,
-};
-
-static struct platform_device bfin_gpios_device = {
- .name = "simple-gpio",
- .id = -1,
- .num_resources = 1,
- .resource = &bfin_gpios_resources,
-};
-
#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
#include <linux/gpio_keys.h>
@@ -635,8 +622,6 @@ static struct platform_device *cm_bf538_devices[] __initdata = {
&bfin_device_gpiokeys,
#endif
- &bfin_gpios_device,
-
#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
&ezkit_flash_device,
#endif
diff --git a/arch/blackfin/mach-bf548/boards/cm_bf548.c b/arch/blackfin/mach-bf548/boards/cm_bf548.c
index 283be63..ccdcd6d 100644
--- a/arch/blackfin/mach-bf548/boards/cm_bf548.c
+++ b/arch/blackfin/mach-bf548/boards/cm_bf548.c
@@ -359,19 +359,6 @@ static struct platform_device musb_device = {
};
#endif
-static struct resource bfin_gpios_resources = {
- .start = 0,
- .end = MAX_BLACKFIN_GPIOS - 1,
- .flags = IORESOURCE_IRQ,
-};
-
-static struct platform_device bfin_gpios_device = {
- .name = "simple-gpio",
- .id = -1,
- .num_resources = 1,
- .resource = &bfin_gpios_resources,
-};
-
#if defined(CONFIG_PATA_BF54X) || defined(CONFIG_PATA_BF54X_MODULE)
static struct resource bfin_atapi_resources[] = {
{
@@ -830,8 +817,6 @@ static struct platform_device *cm_bf548_devices[] __initdata = {
#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
¶_flash_device,
#endif
-
- &bfin_gpios_device,
};
static int __init cm_bf548_init(void)
diff --git a/arch/blackfin/mach-bf548/boards/ezkit.c b/arch/blackfin/mach-bf548/boards/ezkit.c
index 8798831..1a5286b 100644
--- a/arch/blackfin/mach-bf548/boards/ezkit.c
+++ b/arch/blackfin/mach-bf548/boards/ezkit.c
@@ -882,19 +882,6 @@ static struct platform_device bfin_device_gpiokeys = {
};
#endif
-static struct resource bfin_gpios_resources = {
- .start = 0,
- .end = MAX_BLACKFIN_GPIOS - 1,
- .flags = IORESOURCE_IRQ,
-};
-
-static struct platform_device bfin_gpios_device = {
- .name = "simple-gpio",
- .id = -1,
- .num_resources = 1,
- .resource = &bfin_gpios_resources,
-};
-
static const unsigned int cclk_vlev_datasheet[] =
{
/*
@@ -1002,8 +989,6 @@ static struct platform_device *ezkit_devices[] __initdata = {
&bfin_device_gpiokeys,
#endif
- &bfin_gpios_device,
-
#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
&ezkit_flash_device,
#endif
diff --git a/arch/blackfin/mach-bf561/boards/cm_bf561.c b/arch/blackfin/mach-bf561/boards/cm_bf561.c
index 3efeca7..dfc8d5b 100644
--- a/arch/blackfin/mach-bf561/boards/cm_bf561.c
+++ b/arch/blackfin/mach-bf561/boards/cm_bf561.c
@@ -265,19 +265,6 @@ static struct platform_device net2272_bfin_device = {
};
#endif
-static struct resource bfin_gpios_resources = {
- .start = 0,
- .end = MAX_BLACKFIN_GPIOS - 1,
- .flags = IORESOURCE_IRQ,
-};
-
-static struct platform_device bfin_gpios_device = {
- .name = "simple-gpio",
- .id = -1,
- .num_resources = 1,
- .resource = &bfin_gpios_resources,
-};
-
#if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE)
static struct resource isp1362_hcd_resources[] = {
{
@@ -512,8 +499,6 @@ static struct platform_device *cm_bf561_devices[] __initdata = {
#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
¶_flash_device,
#endif
-
- &bfin_gpios_device,
};
static int __init cm_bf561_init(void)
diff --git a/arch/blackfin/mach-bf561/boards/ezkit.c b/arch/blackfin/mach-bf561/boards/ezkit.c
index a8caa8a..9e2d8cf 100644
--- a/arch/blackfin/mach-bf561/boards/ezkit.c
+++ b/arch/blackfin/mach-bf561/boards/ezkit.c
@@ -366,19 +366,6 @@ static struct platform_device bfin_device_gpiokeys = {
};
#endif
-static struct resource bfin_gpios_resources = {
- .start = 0,
- .end = MAX_BLACKFIN_GPIOS - 1,
- .flags = IORESOURCE_IRQ,
-};
-
-static struct platform_device bfin_gpios_device = {
- .name = "simple-gpio",
- .id = -1,
- .num_resources = 1,
- .resource = &bfin_gpios_resources,
-};
-
#if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE)
#include <linux/i2c-gpio.h>
@@ -472,8 +459,6 @@ static struct platform_device *ezkit_devices[] __initdata = {
&isp1362_hcd_device,
#endif
- &bfin_gpios_device,
-
#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
&ezkit_flash_device,
#endif
--
1.6.5.rc2
From: Michael Hennerich <[email protected]>
Blackfin already sets proper flow handlers on all IRQs, and we don't rely
on __do_IRQ, therefore we can simply select GENERIC_HARDIRQS_NO__DO_IRQ.
Signed-off-by: Michael Hennerich <[email protected]>
Signed-off-by: Mike Frysinger <[email protected]>
---
arch/blackfin/Kconfig | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig
index e519882..ae6a60f 100644
--- a/arch/blackfin/Kconfig
+++ b/arch/blackfin/Kconfig
@@ -47,6 +47,9 @@ config GENERIC_HARDIRQS
config GENERIC_IRQ_PROBE
def_bool y
+config GENERIC_HARDIRQS_NO__DO_IRQ
+ def_bool y
+
config GENERIC_GPIO
def_bool y
--
1.6.5.rc2