Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 338367
b: refs/heads/master
c: 9511372
h: refs/heads/master
i:
  338365: a07a812
  338363: 7a4e559
  338359: 2829e0b
  338351: f0a7c0f
  338335: 4ba2bf5
  338303: 0b7b634
v: v3
  • Loading branch information
Alexander Shiyan authored and Greg Kroah-Hartman committed Oct 24, 2012
1 parent 04db116 commit c3036f4
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 7 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: e1a9c17969f0aa60cb00f1f777b33a07f4e84883
refs/heads/master: 95113728f03cc6775ae895133c7fc420221cc8a4
39 changes: 33 additions & 6 deletions trunk/drivers/tty/serial/clps711x.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,13 @@
#include <linux/serial_core.h>
#include <linux/serial.h>
#include <linux/io.h>
#include <linux/platform_device.h>

#include <mach/hardware.h>
#include <asm/irq.h>

#define UART_CLPS711X_NAME "uart-clps711x"

#define UART_NR 2

#define SERIAL_CLPS711X_MAJOR 204
Expand Down Expand Up @@ -543,7 +546,7 @@ static struct uart_driver clps711x_reg = {
.cons = CLPS711X_CONSOLE,
};

static int __init clps711xuart_init(void)
static int __devinit uart_clps711x_probe(struct platform_device *pdev)
{
int ret, i;

Expand All @@ -559,20 +562,44 @@ static int __init clps711xuart_init(void)
return 0;
}

static void __exit clps711xuart_exit(void)
static int __devexit uart_clps711x_remove(struct platform_device *pdev)
{
int i;

for (i = 0; i < UART_NR; i++)
uart_remove_one_port(&clps711x_reg, &clps711x_ports[i]);

uart_unregister_driver(&clps711x_reg);

return 0;
}

module_init(clps711xuart_init);
module_exit(clps711xuart_exit);
static struct platform_driver clps711x_uart_driver = {
.driver = {
.name = UART_CLPS711X_NAME,
.owner = THIS_MODULE,
},
.probe = uart_clps711x_probe,
.remove = __devexit_p(uart_clps711x_remove),
};
module_platform_driver(clps711x_uart_driver);

static struct platform_device clps711x_uart_device = {
.name = UART_CLPS711X_NAME,
};

static int __init uart_clps711x_init(void)
{
return platform_device_register(&clps711x_uart_device);
}
module_init(uart_clps711x_init);

static void __exit uart_clps711x_exit(void)
{
platform_device_unregister(&clps711x_uart_device);
}
module_exit(uart_clps711x_exit);

MODULE_AUTHOR("Deep Blue Solutions Ltd");
MODULE_DESCRIPTION("CLPS-711x generic serial driver");
MODULE_DESCRIPTION("CLPS711X serial driver");
MODULE_LICENSE("GPL");
MODULE_ALIAS_CHARDEV(SERIAL_CLPS711X_MAJOR, SERIAL_CLPS711X_MINOR);

0 comments on commit c3036f4

Please sign in to comment.