提交 38a6fe8c 编写于 作者: R Russell King 提交者: Russell King

Merge branch 's3c-fixes-rc4-2' of git://aeryn.fluff.org.uk/bjdooks/linux

...@@ -246,6 +246,10 @@ int pwm_config(struct pwm_device *pwm, int duty_ns, int period_ns) ...@@ -246,6 +246,10 @@ int pwm_config(struct pwm_device *pwm, int duty_ns, int period_ns)
tcmp = duty_ns / tin_ns; tcmp = duty_ns / tin_ns;
tcmp = tcnt - tcmp; tcmp = tcnt - tcmp;
/* the pwm hw only checks the compare register after a decrement,
so the pin never toggles if tcmp = tcnt */
if (tcmp == tcnt)
tcmp--;
pwm_dbg(pwm, "tin_ns=%lu, tcmp=%ld/%lu\n", tin_ns, tcmp, tcnt); pwm_dbg(pwm, "tin_ns=%lu, tcmp=%ld/%lu\n", tin_ns, tcmp, tcnt);
......
...@@ -76,7 +76,7 @@ static int s3c2400_serial_probe(struct platform_device *dev) ...@@ -76,7 +76,7 @@ static int s3c2400_serial_probe(struct platform_device *dev)
return s3c24xx_serial_probe(dev, &s3c2400_uart_inf); return s3c24xx_serial_probe(dev, &s3c2400_uart_inf);
} }
static struct platform_driver s3c2400_serial_drv = { static struct platform_driver s3c2400_serial_driver = {
.probe = s3c2400_serial_probe, .probe = s3c2400_serial_probe,
.remove = __devexit_p(s3c24xx_serial_remove), .remove = __devexit_p(s3c24xx_serial_remove),
.driver = { .driver = {
...@@ -85,16 +85,16 @@ static struct platform_driver s3c2400_serial_drv = { ...@@ -85,16 +85,16 @@ static struct platform_driver s3c2400_serial_drv = {
}, },
}; };
s3c24xx_console_init(&s3c2400_serial_drv, &s3c2400_uart_inf); s3c24xx_console_init(&s3c2400_serial_driver, &s3c2400_uart_inf);
static inline int s3c2400_serial_init(void) static inline int s3c2400_serial_init(void)
{ {
return s3c24xx_serial_init(&s3c2400_serial_drv, &s3c2400_uart_inf); return s3c24xx_serial_init(&s3c2400_serial_driver, &s3c2400_uart_inf);
} }
static inline void s3c2400_serial_exit(void) static inline void s3c2400_serial_exit(void)
{ {
platform_driver_unregister(&s3c2400_serial_drv); platform_driver_unregister(&s3c2400_serial_driver);
} }
module_init(s3c2400_serial_init); module_init(s3c2400_serial_init);
......
...@@ -88,7 +88,7 @@ static int s3c2410_serial_probe(struct platform_device *dev) ...@@ -88,7 +88,7 @@ static int s3c2410_serial_probe(struct platform_device *dev)
return s3c24xx_serial_probe(dev, &s3c2410_uart_inf); return s3c24xx_serial_probe(dev, &s3c2410_uart_inf);
} }
static struct platform_driver s3c2410_serial_drv = { static struct platform_driver s3c2410_serial_driver = {
.probe = s3c2410_serial_probe, .probe = s3c2410_serial_probe,
.remove = __devexit_p(s3c24xx_serial_remove), .remove = __devexit_p(s3c24xx_serial_remove),
.driver = { .driver = {
...@@ -97,16 +97,16 @@ static struct platform_driver s3c2410_serial_drv = { ...@@ -97,16 +97,16 @@ static struct platform_driver s3c2410_serial_drv = {
}, },
}; };
s3c24xx_console_init(&s3c2410_serial_drv, &s3c2410_uart_inf); s3c24xx_console_init(&s3c2410_serial_driver, &s3c2410_uart_inf);
static int __init s3c2410_serial_init(void) static int __init s3c2410_serial_init(void)
{ {
return s3c24xx_serial_init(&s3c2410_serial_drv, &s3c2410_uart_inf); return s3c24xx_serial_init(&s3c2410_serial_driver, &s3c2410_uart_inf);
} }
static void __exit s3c2410_serial_exit(void) static void __exit s3c2410_serial_exit(void)
{ {
platform_driver_unregister(&s3c2410_serial_drv); platform_driver_unregister(&s3c2410_serial_driver);
} }
module_init(s3c2410_serial_init); module_init(s3c2410_serial_init);
......
...@@ -121,7 +121,7 @@ static int s3c2412_serial_probe(struct platform_device *dev) ...@@ -121,7 +121,7 @@ static int s3c2412_serial_probe(struct platform_device *dev)
return s3c24xx_serial_probe(dev, &s3c2412_uart_inf); return s3c24xx_serial_probe(dev, &s3c2412_uart_inf);
} }
static struct platform_driver s3c2412_serial_drv = { static struct platform_driver s3c2412_serial_driver = {
.probe = s3c2412_serial_probe, .probe = s3c2412_serial_probe,
.remove = __devexit_p(s3c24xx_serial_remove), .remove = __devexit_p(s3c24xx_serial_remove),
.driver = { .driver = {
...@@ -130,16 +130,16 @@ static struct platform_driver s3c2412_serial_drv = { ...@@ -130,16 +130,16 @@ static struct platform_driver s3c2412_serial_drv = {
}, },
}; };
s3c24xx_console_init(&s3c2412_serial_drv, &s3c2412_uart_inf); s3c24xx_console_init(&s3c2412_serial_driver, &s3c2412_uart_inf);
static inline int s3c2412_serial_init(void) static inline int s3c2412_serial_init(void)
{ {
return s3c24xx_serial_init(&s3c2412_serial_drv, &s3c2412_uart_inf); return s3c24xx_serial_init(&s3c2412_serial_driver, &s3c2412_uart_inf);
} }
static inline void s3c2412_serial_exit(void) static inline void s3c2412_serial_exit(void)
{ {
platform_driver_unregister(&s3c2412_serial_drv); platform_driver_unregister(&s3c2412_serial_driver);
} }
module_init(s3c2412_serial_init); module_init(s3c2412_serial_init);
......
...@@ -151,7 +151,7 @@ static int s3c2440_serial_probe(struct platform_device *dev) ...@@ -151,7 +151,7 @@ static int s3c2440_serial_probe(struct platform_device *dev)
return s3c24xx_serial_probe(dev, &s3c2440_uart_inf); return s3c24xx_serial_probe(dev, &s3c2440_uart_inf);
} }
static struct platform_driver s3c2440_serial_drv = { static struct platform_driver s3c2440_serial_driver = {
.probe = s3c2440_serial_probe, .probe = s3c2440_serial_probe,
.remove = __devexit_p(s3c24xx_serial_remove), .remove = __devexit_p(s3c24xx_serial_remove),
.driver = { .driver = {
...@@ -160,16 +160,16 @@ static struct platform_driver s3c2440_serial_drv = { ...@@ -160,16 +160,16 @@ static struct platform_driver s3c2440_serial_drv = {
}, },
}; };
s3c24xx_console_init(&s3c2440_serial_drv, &s3c2440_uart_inf); s3c24xx_console_init(&s3c2440_serial_driver, &s3c2440_uart_inf);
static int __init s3c2440_serial_init(void) static int __init s3c2440_serial_init(void)
{ {
return s3c24xx_serial_init(&s3c2440_serial_drv, &s3c2440_uart_inf); return s3c24xx_serial_init(&s3c2440_serial_driver, &s3c2440_uart_inf);
} }
static void __exit s3c2440_serial_exit(void) static void __exit s3c2440_serial_exit(void)
{ {
platform_driver_unregister(&s3c2440_serial_drv); platform_driver_unregister(&s3c2440_serial_driver);
} }
module_init(s3c2440_serial_init); module_init(s3c2440_serial_init);
......
...@@ -92,7 +92,7 @@ static int s3c24a0_serial_probe(struct platform_device *dev) ...@@ -92,7 +92,7 @@ static int s3c24a0_serial_probe(struct platform_device *dev)
return s3c24xx_serial_probe(dev, &s3c24a0_uart_inf); return s3c24xx_serial_probe(dev, &s3c24a0_uart_inf);
} }
static struct platform_driver s3c24a0_serial_drv = { static struct platform_driver s3c24a0_serial_driver = {
.probe = s3c24a0_serial_probe, .probe = s3c24a0_serial_probe,
.remove = __devexit_p(s3c24xx_serial_remove), .remove = __devexit_p(s3c24xx_serial_remove),
.driver = { .driver = {
...@@ -101,16 +101,16 @@ static struct platform_driver s3c24a0_serial_drv = { ...@@ -101,16 +101,16 @@ static struct platform_driver s3c24a0_serial_drv = {
}, },
}; };
s3c24xx_console_init(&s3c24a0_serial_drv, &s3c24a0_uart_inf); s3c24xx_console_init(&s3c24a0_serial_driver, &s3c24a0_uart_inf);
static int __init s3c24a0_serial_init(void) static int __init s3c24a0_serial_init(void)
{ {
return s3c24xx_serial_init(&s3c24a0_serial_drv, &s3c24a0_uart_inf); return s3c24xx_serial_init(&s3c24a0_serial_driver, &s3c24a0_uart_inf);
} }
static void __exit s3c24a0_serial_exit(void) static void __exit s3c24a0_serial_exit(void)
{ {
platform_driver_unregister(&s3c24a0_serial_drv); platform_driver_unregister(&s3c24a0_serial_driver);
} }
module_init(s3c24a0_serial_init); module_init(s3c24a0_serial_init);
......
...@@ -122,7 +122,7 @@ static int s3c6400_serial_probe(struct platform_device *dev) ...@@ -122,7 +122,7 @@ static int s3c6400_serial_probe(struct platform_device *dev)
return s3c24xx_serial_probe(dev, &s3c6400_uart_inf); return s3c24xx_serial_probe(dev, &s3c6400_uart_inf);
} }
static struct platform_driver s3c6400_serial_drv = { static struct platform_driver s3c6400_serial_driver = {
.probe = s3c6400_serial_probe, .probe = s3c6400_serial_probe,
.remove = __devexit_p(s3c24xx_serial_remove), .remove = __devexit_p(s3c24xx_serial_remove),
.driver = { .driver = {
...@@ -131,16 +131,16 @@ static struct platform_driver s3c6400_serial_drv = { ...@@ -131,16 +131,16 @@ static struct platform_driver s3c6400_serial_drv = {
}, },
}; };
s3c24xx_console_init(&s3c6400_serial_drv, &s3c6400_uart_inf); s3c24xx_console_init(&s3c6400_serial_driver, &s3c6400_uart_inf);
static int __init s3c6400_serial_init(void) static int __init s3c6400_serial_init(void)
{ {
return s3c24xx_serial_init(&s3c6400_serial_drv, &s3c6400_uart_inf); return s3c24xx_serial_init(&s3c6400_serial_driver, &s3c6400_uart_inf);
} }
static void __exit s3c6400_serial_exit(void) static void __exit s3c6400_serial_exit(void)
{ {
platform_driver_unregister(&s3c6400_serial_drv); platform_driver_unregister(&s3c6400_serial_driver);
} }
module_init(s3c6400_serial_init); module_init(s3c6400_serial_init);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册