Skip to content

Commit

Permalink
Merge branch 'unicore32' of git://git.kernel.org/pub/scm/linux/kernel…
Browse files Browse the repository at this point in the history
…/git/epip/linux-2.6-unicore32

* 'unicore32' of git://git.kernel.org/pub/scm/linux/kernel/git/epip/linux-2.6-unicore32:
  unicore32: using generic-y format for one line asm-generic files
  unicore32: change PERCPU to PERCPU_SECTION
  unicore32: add KBUILD_DEFCONFIG with unicore32_defconfig (old debug_defconfig)
  unicore32: change zImage physical address, though it's PIC codes
  unicore32: move rtc-puv3.c to drivers/rtc directory
  • Loading branch information
torvalds committed Jun 9, 2011
2 parents 29cf519 + 62b62c5 commit 5ebe550
Show file tree
Hide file tree
Showing 11 changed files with 79 additions and 60 deletions.
1 change: 1 addition & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -4945,6 +4945,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/epip/linux-2.6-unicore32.gi
F: drivers/input/serio/i8042-unicore32io.h
F: drivers/i2c/busses/i2c-puv3.c
F: drivers/video/fb-puv3.c
F: drivers/rtc/rtc-puv3.c

PMC SIERRA MaxRAID DRIVER
M: Anil Ravindranath <[email protected]>
Expand Down
4 changes: 0 additions & 4 deletions arch/unicore32/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -231,10 +231,6 @@ config PUV3_PWM
help
Enable support for NB0916 PWM controllers

config PUV3_RTC
tristate "PKUnity v3 RTC Support"
depends on !ARCH_FPGA

if PUV3_NB0916

menu "PKUnity NetBook-0916 Features"
Expand Down
38 changes: 2 additions & 36 deletions arch/unicore32/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -40,51 +40,17 @@ core-y += arch/unicore32/mm/

libs-y += arch/unicore32/lib/

ASM_GENERATED_DIR := $(srctree)/arch/unicore32/include/generated
LINUXINCLUDE += -I$(ASM_GENERATED_DIR)

ASM_GENERIC_HEADERS := atomic.h auxvec.h
ASM_GENERIC_HEADERS += bitsperlong.h bug.h bugs.h
ASM_GENERIC_HEADERS += cputime.h current.h
ASM_GENERIC_HEADERS += device.h div64.h
ASM_GENERIC_HEADERS += emergency-restart.h errno.h
ASM_GENERIC_HEADERS += fb.h fcntl.h ftrace.h futex.h
ASM_GENERIC_HEADERS += hardirq.h hw_irq.h
ASM_GENERIC_HEADERS += ioctl.h ioctls.h ipcbuf.h irq_regs.h
ASM_GENERIC_HEADERS += kdebug.h kmap_types.h
ASM_GENERIC_HEADERS += local.h
ASM_GENERIC_HEADERS += mman.h module.h msgbuf.h
ASM_GENERIC_HEADERS += param.h parport.h percpu.h poll.h posix_types.h
ASM_GENERIC_HEADERS += resource.h
ASM_GENERIC_HEADERS += scatterlist.h sections.h segment.h sembuf.h serial.h
ASM_GENERIC_HEADERS += setup.h shmbuf.h shmparam.h
ASM_GENERIC_HEADERS += siginfo.h signal.h sizes.h
ASM_GENERIC_HEADERS += socket.h sockios.h stat.h statfs.h swab.h syscalls.h
ASM_GENERIC_HEADERS += termbits.h termios.h topology.h types.h
ASM_GENERIC_HEADERS += ucontext.h unaligned.h user.h
ASM_GENERIC_HEADERS += vga.h
ASM_GENERIC_HEADERS += xor.h

archprepare:
ifneq ($(ASM_GENERATED_DIR), $(wildcard $(ASM_GENERATED_DIR)))
$(Q)mkdir -p $(ASM_GENERATED_DIR)/asm
$(Q)$(foreach a, $(ASM_GENERIC_HEADERS), \
echo '#include <asm-generic/$a>' \
> $(ASM_GENERATED_DIR)/asm/$a; )
endif

boot := arch/unicore32/boot

# Default target when executing plain make
# Default defconfig and target when executing plain make
KBUILD_DEFCONFIG := $(ARCH)_defconfig
KBUILD_IMAGE := zImage

all: $(KBUILD_IMAGE)

zImage Image uImage: vmlinux
$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@

MRPROPER_DIRS += $(ASM_GENERATED_DIR)

archclean:
$(Q)$(MAKE) $(clean)=$(boot)

Expand Down
2 changes: 1 addition & 1 deletion arch/unicore32/boot/compressed/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ $(obj)/vmlinux: $(obj)/vmlinux.lds $(obj)/head.o $(obj)/piggy.o \
# We now have a PIC decompressor implementation. Decompressors running
# from RAM should not define ZTEXTADDR. Decompressors running directly
# from ROM or Flash must define ZTEXTADDR (preferably via the config)
ZTEXTADDR := 0
ZTEXTADDR := 0x03000000
ZBSSADDR := ALIGN(4)

SEDFLAGS_lds = s/TEXT_START/$(ZTEXTADDR)/;s/BSS_START/$(ZBSSADDR)/
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
### General setup
CONFIG_EXPERIMENTAL=y
CONFIG_LOCALVERSION="-debug"
CONFIG_LOCALVERSION="-unicore32"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
Expand Down Expand Up @@ -64,7 +64,6 @@ CONFIG_I2C_BATTERY_BQ27200=n
CONFIG_I2C_EEPROM_AT24=n
CONFIG_LCD_BACKLIGHT=n

CONFIG_PUV3_RTC=y
CONFIG_PUV3_UMAL=y
CONFIG_PUV3_MUSB=n
CONFIG_PUV3_AC97=n
Expand Down Expand Up @@ -167,8 +166,9 @@ CONFIG_LEDS_TRIGGER_IDE_DISK=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y

# Real Time Clock
CONFIG_RTC_LIB=m
CONFIG_RTC_CLASS=m
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_DRV_PUV3=y

### File systems
CONFIG_EXT2_FS=m
Expand Down
59 changes: 59 additions & 0 deletions arch/unicore32/include/asm/Kbuild
Original file line number Diff line number Diff line change
@@ -1,2 +1,61 @@
include include/asm-generic/Kbuild.asm

generic-y += atomic.h
generic-y += auxvec.h
generic-y += bitsperlong.h
generic-y += bug.h
generic-y += bugs.h
generic-y += cputime.h
generic-y += current.h
generic-y += device.h
generic-y += div64.h
generic-y += emergency-restart.h
generic-y += errno.h
generic-y += fb.h
generic-y += fcntl.h
generic-y += ftrace.h
generic-y += futex.h
generic-y += hardirq.h
generic-y += hw_irq.h
generic-y += ioctl.h
generic-y += ioctls.h
generic-y += ipcbuf.h
generic-y += irq_regs.h
generic-y += kdebug.h
generic-y += kmap_types.h
generic-y += local.h
generic-y += mman.h
generic-y += module.h
generic-y += msgbuf.h
generic-y += param.h
generic-y += parport.h
generic-y += percpu.h
generic-y += poll.h
generic-y += posix_types.h
generic-y += resource.h
generic-y += scatterlist.h
generic-y += sections.h
generic-y += segment.h
generic-y += sembuf.h
generic-y += serial.h
generic-y += setup.h
generic-y += shmbuf.h
generic-y += shmparam.h
generic-y += siginfo.h
generic-y += signal.h
generic-y += sizes.h
generic-y += socket.h
generic-y += sockios.h
generic-y += stat.h
generic-y += statfs.h
generic-y += swab.h
generic-y += syscalls.h
generic-y += termbits.h
generic-y += termios.h
generic-y += topology.h
generic-y += types.h
generic-y += ucontext.h
generic-y += unaligned.h
generic-y += user.h
generic-y += vga.h
generic-y += xor.h
1 change: 0 additions & 1 deletion arch/unicore32/kernel/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ obj-$(CONFIG_UNICORE_FPU_F64) += fpu-ucf64.o
obj-$(CONFIG_ARCH_PUV3) += clock.o irq.o time.o

obj-$(CONFIG_PUV3_GPIO) += gpio.o
obj-$(CONFIG_PUV3_RTC) += rtc.o
obj-$(CONFIG_PUV3_PWM) += pwm.o
obj-$(CONFIG_PUV3_PM) += pm.o sleep.o
obj-$(CONFIG_HIBERNATION) += hibernate.o hibernate_asm.o
Expand Down
2 changes: 1 addition & 1 deletion arch/unicore32/kernel/vmlinux.lds.S
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ SECTIONS
HEAD_TEXT_SECTION
INIT_TEXT_SECTION(PAGE_SIZE)
INIT_DATA_SECTION(16)
PERCPU(L1_CACHE_BYTES, PAGE_SIZE)
PERCPU_SECTION(L1_CACHE_BYTES)
__init_end = .;

_stext = .;
Expand Down
9 changes: 9 additions & 0 deletions drivers/rtc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1051,4 +1051,13 @@ config RTC_DRV_TILE
Enable support for the Linux driver side of the Tilera
hypervisor's real-time clock interface.

config RTC_DRV_PUV3
tristate "PKUnity v3 RTC support"
depends on ARCH_PUV3
help
This enables support for the RTC in the PKUnity-v3 SoCs.

This drive can also be built as a module. If so, the module
will be called rtc-puv3.

endif # RTC_CLASS
1 change: 1 addition & 0 deletions drivers/rtc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ obj-$(CONFIG_RTC_DRV_PCF50633) += rtc-pcf50633.o
obj-$(CONFIG_RTC_DRV_PL030) += rtc-pl030.o
obj-$(CONFIG_RTC_DRV_PL031) += rtc-pl031.o
obj-$(CONFIG_RTC_DRV_PS3) += rtc-ps3.o
obj-$(CONFIG_RTC_DRV_PUV3) += rtc-puv3.o
obj-$(CONFIG_RTC_DRV_PXA) += rtc-pxa.o
obj-$(CONFIG_RTC_DRV_R9701) += rtc-r9701.o
obj-$(CONFIG_RTC_DRV_RP5C01) += rtc-rp5c01.o
Expand Down
14 changes: 1 addition & 13 deletions arch/unicore32/kernel/rtc.c → drivers/rtc/rtc-puv3.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
/*
* linux/arch/unicore32/kernel/rtc.c
*
* Code specific to PKUnity SoC and UniCore ISA
* RTC driver code specific to PKUnity SoC and UniCore ISA
*
* Maintained by GUAN Xue-tao <[email protected]>
* Copyright (C) 2001-2010 Guan Xuetao
Expand Down Expand Up @@ -36,7 +34,6 @@ static int puv3_rtc_tickno = IRQ_RTC;
static DEFINE_SPINLOCK(puv3_rtc_pie_lock);

/* IRQ Handlers */

static irqreturn_t puv3_rtc_alarmirq(int irq, void *id)
{
struct rtc_device *rdev = id;
Expand Down Expand Up @@ -89,7 +86,6 @@ static int puv3_rtc_setpie(struct device *dev, int enabled)
}

/* Time read/write */

static int puv3_rtc_gettime(struct device *dev, struct rtc_time *rtc_tm)
{
rtc_time_to_tm(readl(RTC_RCNR), rtc_tm);
Expand Down Expand Up @@ -196,7 +192,6 @@ static void puv3_rtc_release(struct device *dev)
struct rtc_device *rtc_dev = platform_get_drvdata(pdev);

/* do not clear AIE here, it may be needed for wake */

puv3_rtc_setpie(dev, 0);
free_irq(puv3_rtc_alarmno, rtc_dev);
free_irq(puv3_rtc_tickno, rtc_dev);
Expand All @@ -218,7 +213,6 @@ static void puv3_rtc_enable(struct platform_device *pdev, int en)
writel(readl(RTC_RTSR) & ~RTC_RTSR_HZE, RTC_RTSR);
} else {
/* re-enable the device, and check it is ok */

if ((readl(RTC_RTSR) & RTC_RTSR_HZE) == 0) {
dev_info(&pdev->dev, "rtc disabled, re-enabling\n");
writel(readl(RTC_RTSR) | RTC_RTSR_HZE, RTC_RTSR);
Expand Down Expand Up @@ -251,7 +245,6 @@ static int puv3_rtc_probe(struct platform_device *pdev)
pr_debug("%s: probe=%p\n", __func__, pdev);

/* find the IRQs */

puv3_rtc_tickno = platform_get_irq(pdev, 1);
if (puv3_rtc_tickno < 0) {
dev_err(&pdev->dev, "no irq for rtc tick\n");
Expand All @@ -268,7 +261,6 @@ static int puv3_rtc_probe(struct platform_device *pdev)
puv3_rtc_tickno, puv3_rtc_alarmno);

/* get the memory region */

res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (res == NULL) {
dev_err(&pdev->dev, "failed to get memory region resource\n");
Expand All @@ -288,7 +280,6 @@ static int puv3_rtc_probe(struct platform_device *pdev)
puv3_rtc_enable(pdev, 1);

/* register RTC and exit */

rtc = rtc_device_register("pkunity", &pdev->dev, &puv3_rtcops,
THIS_MODULE);

Expand All @@ -315,8 +306,6 @@ static int puv3_rtc_probe(struct platform_device *pdev)

#ifdef CONFIG_PM

/* RTC Power management control */

static int ticnt_save;

static int puv3_rtc_suspend(struct platform_device *pdev, pm_message_t state)
Expand Down Expand Up @@ -368,4 +357,3 @@ module_exit(puv3_rtc_exit);
MODULE_DESCRIPTION("RTC Driver for the PKUnity v3 chip");
MODULE_AUTHOR("Hu Dongliang");
MODULE_LICENSE("GPL v2");

0 comments on commit 5ebe550

Please sign in to comment.