Merge branch 'unicore32' of git://github.com/gxt/linux
* 'unicore32' of git://github.com/gxt/linux: rtc-puv3: solve section mismatch in rtc-puv3.c rtc-puv3: using module_platform_driver() i2c-puv3: using module_platform_driver() rtc-puv3: irq: remove IRQF_DISABLED unicore32: Remove IRQF_DISABLED unicore32: Use set_current_blocked() unicore32: add ioremap_nocache definition unicore32: delete specified xlate_dev_mem_ptr of: add include asm/setup.h in drivers/of/fdt.c unicore32: standardize /proc/iomem "Kernel code" name
This commit is contained in:
commit
c2e08e7ce5
8 changed files with 17 additions and 53 deletions
|
@ -37,15 +37,9 @@ extern void __uc32_iounmap(volatile void __iomem *addr);
|
||||||
*/
|
*/
|
||||||
#define ioremap(cookie, size) __uc32_ioremap(cookie, size)
|
#define ioremap(cookie, size) __uc32_ioremap(cookie, size)
|
||||||
#define ioremap_cached(cookie, size) __uc32_ioremap_cached(cookie, size)
|
#define ioremap_cached(cookie, size) __uc32_ioremap_cached(cookie, size)
|
||||||
|
#define ioremap_nocache(cookie, size) __uc32_ioremap(cookie, size)
|
||||||
#define iounmap(cookie) __uc32_iounmap(cookie)
|
#define iounmap(cookie) __uc32_iounmap(cookie)
|
||||||
|
|
||||||
/*
|
|
||||||
* Convert a physical pointer to a virtual kernel pointer for /dev/mem
|
|
||||||
* access
|
|
||||||
*/
|
|
||||||
#undef xlate_dev_mem_ptr
|
|
||||||
#define xlate_dev_mem_ptr(p) __va(p)
|
|
||||||
|
|
||||||
#define HAVE_ARCH_PIO_SIZE
|
#define HAVE_ARCH_PIO_SIZE
|
||||||
#define PIO_OFFSET (unsigned int)(PCI_IOBASE)
|
#define PIO_OFFSET (unsigned int)(PCI_IOBASE)
|
||||||
#define PIO_MASK (unsigned int)(IO_SPACE_LIMIT)
|
#define PIO_MASK (unsigned int)(IO_SPACE_LIMIT)
|
||||||
|
|
|
@ -123,7 +123,7 @@ int __init mach_nb0916_init(void)
|
||||||
|
|
||||||
if (request_irq(gpio_to_irq(GPI_LCD_CASE_OFF),
|
if (request_irq(gpio_to_irq(GPI_LCD_CASE_OFF),
|
||||||
&nb0916_lcdcaseoff_handler,
|
&nb0916_lcdcaseoff_handler,
|
||||||
IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
|
IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
|
||||||
"NB0916 lcd case off", NULL) < 0) {
|
"NB0916 lcd case off", NULL) < 0) {
|
||||||
|
|
||||||
printk(KERN_DEBUG "LCD-Case-OFF IRQ %d not available\n",
|
printk(KERN_DEBUG "LCD-Case-OFF IRQ %d not available\n",
|
||||||
|
@ -131,7 +131,7 @@ int __init mach_nb0916_init(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (request_irq(gpio_to_irq(GPI_OTP_INT), &nb0916_overheat_handler,
|
if (request_irq(gpio_to_irq(GPI_OTP_INT), &nb0916_overheat_handler,
|
||||||
IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
|
IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
|
||||||
"NB0916 overheating protection", NULL) < 0) {
|
"NB0916 overheating protection", NULL) < 0) {
|
||||||
|
|
||||||
printk(KERN_DEBUG "Overheating Protection IRQ %d not available\n",
|
printk(KERN_DEBUG "Overheating Protection IRQ %d not available\n",
|
||||||
|
|
|
@ -65,7 +65,7 @@ static char default_command_line[COMMAND_LINE_SIZE] __initdata = CONFIG_CMDLINE;
|
||||||
*/
|
*/
|
||||||
static struct resource mem_res[] = {
|
static struct resource mem_res[] = {
|
||||||
{
|
{
|
||||||
.name = "Kernel text",
|
.name = "Kernel code",
|
||||||
.start = 0,
|
.start = 0,
|
||||||
.end = 0,
|
.end = 0,
|
||||||
.flags = IORESOURCE_MEM
|
.flags = IORESOURCE_MEM
|
||||||
|
|
|
@ -63,10 +63,7 @@ static int restore_sigframe(struct pt_regs *regs, struct sigframe __user *sf)
|
||||||
err = __copy_from_user(&set, &sf->uc.uc_sigmask, sizeof(set));
|
err = __copy_from_user(&set, &sf->uc.uc_sigmask, sizeof(set));
|
||||||
if (err == 0) {
|
if (err == 0) {
|
||||||
sigdelsetmask(&set, ~_BLOCKABLE);
|
sigdelsetmask(&set, ~_BLOCKABLE);
|
||||||
spin_lock_irq(¤t->sighand->siglock);
|
set_current_blocked(&set);
|
||||||
current->blocked = set;
|
|
||||||
recalc_sigpending();
|
|
||||||
spin_unlock_irq(¤t->sighand->siglock);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
err |= __get_user(regs->UCreg_00, &sf->uc.uc_mcontext.regs.UCreg_00);
|
err |= __get_user(regs->UCreg_00, &sf->uc.uc_mcontext.regs.UCreg_00);
|
||||||
|
@ -321,6 +318,7 @@ static int handle_signal(unsigned long sig, struct k_sigaction *ka,
|
||||||
{
|
{
|
||||||
struct thread_info *thread = current_thread_info();
|
struct thread_info *thread = current_thread_info();
|
||||||
struct task_struct *tsk = current;
|
struct task_struct *tsk = current;
|
||||||
|
sigset_t blocked;
|
||||||
int usig = sig;
|
int usig = sig;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
@ -372,13 +370,10 @@ static int handle_signal(unsigned long sig, struct k_sigaction *ka,
|
||||||
/*
|
/*
|
||||||
* Block the signal if we were successful.
|
* Block the signal if we were successful.
|
||||||
*/
|
*/
|
||||||
spin_lock_irq(&tsk->sighand->siglock);
|
sigorsets(&blocked, &tsk->blocked, &ka->sa.sa_mask);
|
||||||
sigorsets(&tsk->blocked, &tsk->blocked,
|
|
||||||
&ka->sa.sa_mask);
|
|
||||||
if (!(ka->sa.sa_flags & SA_NODEFER))
|
if (!(ka->sa.sa_flags & SA_NODEFER))
|
||||||
sigaddset(&tsk->blocked, sig);
|
sigaddset(&blocked, sig);
|
||||||
recalc_sigpending();
|
set_current_blocked(&blocked);
|
||||||
spin_unlock_irq(&tsk->sighand->siglock);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,7 +86,7 @@ static struct clocksource cksrc_puv3_oscr = {
|
||||||
|
|
||||||
static struct irqaction puv3_timer_irq = {
|
static struct irqaction puv3_timer_irq = {
|
||||||
.name = "ost0",
|
.name = "ost0",
|
||||||
.flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL,
|
.flags = IRQF_TIMER | IRQF_IRQPOLL,
|
||||||
.handler = puv3_ost0_interrupt,
|
.handler = puv3_ost0_interrupt,
|
||||||
.dev_id = &ckevt_puv3_osmr0,
|
.dev_id = &ckevt_puv3_osmr0,
|
||||||
};
|
};
|
||||||
|
|
|
@ -276,8 +276,6 @@ static int puv3_i2c_resume(struct platform_device *dev)
|
||||||
#define puv3_i2c_resume NULL
|
#define puv3_i2c_resume NULL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
MODULE_ALIAS("platform:puv3_i2c");
|
|
||||||
|
|
||||||
static struct platform_driver puv3_i2c_driver = {
|
static struct platform_driver puv3_i2c_driver = {
|
||||||
.probe = puv3_i2c_probe,
|
.probe = puv3_i2c_probe,
|
||||||
.remove = __devexit_p(puv3_i2c_remove),
|
.remove = __devexit_p(puv3_i2c_remove),
|
||||||
|
@ -289,18 +287,8 @@ static struct platform_driver puv3_i2c_driver = {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
static int __init puv3_i2c_init(void)
|
module_platform_driver(puv3_i2c_driver);
|
||||||
{
|
|
||||||
return platform_driver_register(&puv3_i2c_driver);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void __exit puv3_i2c_exit(void)
|
|
||||||
{
|
|
||||||
platform_driver_unregister(&puv3_i2c_driver);
|
|
||||||
}
|
|
||||||
|
|
||||||
module_init(puv3_i2c_init);
|
|
||||||
module_exit(puv3_i2c_exit);
|
|
||||||
|
|
||||||
MODULE_DESCRIPTION("PKUnity v3 I2C driver");
|
MODULE_DESCRIPTION("PKUnity v3 I2C driver");
|
||||||
MODULE_LICENSE("GPL v2");
|
MODULE_LICENSE("GPL v2");
|
||||||
|
MODULE_ALIAS("platform:puv3_i2c");
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
#include <asm/machdep.h>
|
#include <asm/machdep.h>
|
||||||
#endif /* CONFIG_PPC */
|
#endif /* CONFIG_PPC */
|
||||||
|
|
||||||
|
#include <asm/setup.h>
|
||||||
#include <asm/page.h>
|
#include <asm/page.h>
|
||||||
|
|
||||||
char *of_fdt_get_string(struct boot_param_header *blob, u32 offset)
|
char *of_fdt_get_string(struct boot_param_header *blob, u32 offset)
|
||||||
|
|
|
@ -164,7 +164,7 @@ static int puv3_rtc_open(struct device *dev)
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = request_irq(puv3_rtc_alarmno, puv3_rtc_alarmirq,
|
ret = request_irq(puv3_rtc_alarmno, puv3_rtc_alarmirq,
|
||||||
IRQF_DISABLED, "pkunity-rtc alarm", rtc_dev);
|
0, "pkunity-rtc alarm", rtc_dev);
|
||||||
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(dev, "IRQ%d error %d\n", puv3_rtc_alarmno, ret);
|
dev_err(dev, "IRQ%d error %d\n", puv3_rtc_alarmno, ret);
|
||||||
|
@ -172,7 +172,7 @@ static int puv3_rtc_open(struct device *dev)
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = request_irq(puv3_rtc_tickno, puv3_rtc_tickirq,
|
ret = request_irq(puv3_rtc_tickno, puv3_rtc_tickirq,
|
||||||
IRQF_DISABLED, "pkunity-rtc tick", rtc_dev);
|
0, "pkunity-rtc tick", rtc_dev);
|
||||||
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(dev, "IRQ%d error %d\n", puv3_rtc_tickno, ret);
|
dev_err(dev, "IRQ%d error %d\n", puv3_rtc_tickno, ret);
|
||||||
|
@ -326,7 +326,7 @@ static int puv3_rtc_resume(struct platform_device *pdev)
|
||||||
#define puv3_rtc_resume NULL
|
#define puv3_rtc_resume NULL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static struct platform_driver puv3_rtcdrv = {
|
static struct platform_driver puv3_rtc_driver = {
|
||||||
.probe = puv3_rtc_probe,
|
.probe = puv3_rtc_probe,
|
||||||
.remove = __devexit_p(puv3_rtc_remove),
|
.remove = __devexit_p(puv3_rtc_remove),
|
||||||
.suspend = puv3_rtc_suspend,
|
.suspend = puv3_rtc_suspend,
|
||||||
|
@ -337,21 +337,7 @@ static struct platform_driver puv3_rtcdrv = {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
static char __initdata banner[] = "PKUnity-v3 RTC, (c) 2009 PKUnity Co.\n";
|
module_platform_driver(puv3_rtc_driver);
|
||||||
|
|
||||||
static int __init puv3_rtc_init(void)
|
|
||||||
{
|
|
||||||
printk(banner);
|
|
||||||
return platform_driver_register(&puv3_rtcdrv);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void __exit puv3_rtc_exit(void)
|
|
||||||
{
|
|
||||||
platform_driver_unregister(&puv3_rtcdrv);
|
|
||||||
}
|
|
||||||
|
|
||||||
module_init(puv3_rtc_init);
|
|
||||||
module_exit(puv3_rtc_exit);
|
|
||||||
|
|
||||||
MODULE_DESCRIPTION("RTC Driver for the PKUnity v3 chip");
|
MODULE_DESCRIPTION("RTC Driver for the PKUnity v3 chip");
|
||||||
MODULE_AUTHOR("Hu Dongliang");
|
MODULE_AUTHOR("Hu Dongliang");
|
||||||
|
|
Loading…
Add table
Reference in a new issue