Advertisement
Guest User

Untitled

a guest
Oct 4th, 2011
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.90 KB | None | 0 0
  1. #include <linux/module.h>
  2. #include <linux/kernel.h>
  3.  
  4. #include <linux/types.h>
  5. #include <linux/list.h>
  6. #include <linux/err.h>
  7. #include <linux/platform_device.h>
  8. #include <linux/i2c.h>
  9. #include <linux/i2c-gpio.h>
  10. #include <linux/gpio_event.h>
  11. #include <linux/keyreset.h>
  12. #include <mach/gpio.h>
  13. #include <mach/vreg.h>
  14. #include <mach/board.h>
  15. #include <mach/board_lge.h>
  16. #include <mach/rpc_server_handset.h>
  17. #include <mach/pmic.h>
  18. #include "proc_comm.h"
  19.  
  20. #include "board-thunderg.h"
  21.  
  22. static struct i2c_board_info wm9090_i2c_bdinfo[] = {
  23.     [0] = {
  24.         I2C_BOARD_INFO("wm9090", 0x6e),//PROXI_I2C_ADDRESS),
  25.         .type = "wm9090",
  26.     //  .platform_data = &proxi_pdata,
  27.     },
  28. };
  29.  
  30. static struct gpio_i2c_pin wm9090_i2c_pin[] = {
  31.     [0] = {
  32.         .sda_pin    = 17,       //AUDIO&MOTION_I2C_SDA
  33.         .scl_pin    = 27,       //AUDIO&MOTION_I2C_SCL
  34.     //  .reset_pin  = 0,
  35.     //  .irq_pin    = PROXI_GPIO_DOUT,
  36.     },
  37. };
  38.  
  39. static struct i2c_gpio_platform_data wm9090_i2c_pdata = {
  40.     .sda_is_open_drain = 1, // 0
  41.     .scl_is_open_drain = 1, // 0
  42.     .udelay = 2,
  43. };
  44.  
  45. static struct platform_device wm9090_i2c_device = {
  46.         .name = "i2c-gpio",
  47.         .dev.platform_data = &wm9090_i2c_pdata,
  48. };
  49.  
  50. static void __init thunderg_init_i2c_wm9090(int bus_num)
  51. {
  52.     wm9090_i2c_device.id = bus_num;
  53.  
  54.     init_gpio_i2c_pin(&wm9090_i2c_pdata, wm9090_i2c_pin[0], &wm9090_i2c_bdinfo[0]);
  55.  
  56.     i2c_register_board_info(bus_num, &wm9090_i2c_bdinfo[0], 1);
  57.     platform_device_register(&wm9090_i2c_device);
  58.  
  59. }
  60.  
  61. static int __init i2c_wm9093_init(void)
  62. {
  63.     printk("I2C WM9093 Test");
  64.     thunderg_init_i2c_wm9090(6);
  65.     //lge_add_gpio_i2c_device(thunderg_init_i2c_wm9090);
  66.     //return platform_driver_register(&gpio_h2w_driver);
  67.     return 0;
  68. }
  69.  
  70. static void __exit i2c_wm9093_exit(void)
  71. {
  72.     //platform_driver_unregister(&gpio_h2w_driver);
  73. }
  74.  
  75. module_init(i2c_wm9093_init);
  76. module_exit(i2c_wm9093_exit);
  77.  
  78. MODULE_AUTHOR("test");
  79. MODULE_DESCRIPTION("Test");
  80. MODULE_LICENSE("GPL");
  81.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement